1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 pub const DEFAULT_WEIGHT: u32 = 1u32;
3 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4 #[repr(transparent)]
5 pub struct DISPIDSPRG(pub i32);
6 pub const DISPID_SRGId: DISPIDSPRG = DISPIDSPRG(1i32);
7 pub const DISPID_SRGRecoContext: DISPIDSPRG = DISPIDSPRG(2i32);
8 pub const DISPID_SRGState: DISPIDSPRG = DISPIDSPRG(3i32);
9 pub const DISPID_SRGRules: DISPIDSPRG = DISPIDSPRG(4i32);
10 pub const DISPID_SRGReset: DISPIDSPRG = DISPIDSPRG(5i32);
11 pub const DISPID_SRGCommit: DISPIDSPRG = DISPIDSPRG(6i32);
12 pub const DISPID_SRGCmdLoadFromFile: DISPIDSPRG = DISPIDSPRG(7i32);
13 pub const DISPID_SRGCmdLoadFromObject: DISPIDSPRG = DISPIDSPRG(8i32);
14 pub const DISPID_SRGCmdLoadFromResource: DISPIDSPRG = DISPIDSPRG(9i32);
15 pub const DISPID_SRGCmdLoadFromMemory: DISPIDSPRG = DISPIDSPRG(10i32);
16 pub const DISPID_SRGCmdLoadFromProprietaryGrammar: DISPIDSPRG = DISPIDSPRG(11i32);
17 pub const DISPID_SRGCmdSetRuleState: DISPIDSPRG = DISPIDSPRG(12i32);
18 pub const DISPID_SRGCmdSetRuleIdState: DISPIDSPRG = DISPIDSPRG(13i32);
19 pub const DISPID_SRGDictationLoad: DISPIDSPRG = DISPIDSPRG(14i32);
20 pub const DISPID_SRGDictationUnload: DISPIDSPRG = DISPIDSPRG(15i32);
21 pub const DISPID_SRGDictationSetState: DISPIDSPRG = DISPIDSPRG(16i32);
22 pub const DISPID_SRGSetWordSequenceData: DISPIDSPRG = DISPIDSPRG(17i32);
23 pub const DISPID_SRGSetTextSelection: DISPIDSPRG = DISPIDSPRG(18i32);
24 pub const DISPID_SRGIsPronounceable: DISPIDSPRG = DISPIDSPRG(19i32);
25 impl ::std::convert::From<i32> for DISPIDSPRG {
from(value: i32) -> Self26     fn from(value: i32) -> Self {
27         Self(value)
28     }
29 }
30 unsafe impl ::windows::runtime::Abi for DISPIDSPRG {
31     type Abi = Self;
32     type DefaultType = Self;
33 }
34 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
35 #[repr(transparent)]
36 pub struct DISPIDSPTSI(pub i32);
37 pub const DISPIDSPTSI_ActiveOffset: DISPIDSPTSI = DISPIDSPTSI(1i32);
38 pub const DISPIDSPTSI_ActiveLength: DISPIDSPTSI = DISPIDSPTSI(2i32);
39 pub const DISPIDSPTSI_SelectionOffset: DISPIDSPTSI = DISPIDSPTSI(3i32);
40 pub const DISPIDSPTSI_SelectionLength: DISPIDSPTSI = DISPIDSPTSI(4i32);
41 impl ::std::convert::From<i32> for DISPIDSPTSI {
from(value: i32) -> Self42     fn from(value: i32) -> Self {
43         Self(value)
44     }
45 }
46 unsafe impl ::windows::runtime::Abi for DISPIDSPTSI {
47     type Abi = Self;
48     type DefaultType = Self;
49 }
50 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
51 #[repr(transparent)]
52 pub struct DISPID_SpeechAudio(pub i32);
53 pub const DISPID_SAStatus: DISPID_SpeechAudio = DISPID_SpeechAudio(200i32);
54 pub const DISPID_SABufferInfo: DISPID_SpeechAudio = DISPID_SpeechAudio(201i32);
55 pub const DISPID_SADefaultFormat: DISPID_SpeechAudio = DISPID_SpeechAudio(202i32);
56 pub const DISPID_SAVolume: DISPID_SpeechAudio = DISPID_SpeechAudio(203i32);
57 pub const DISPID_SABufferNotifySize: DISPID_SpeechAudio = DISPID_SpeechAudio(204i32);
58 pub const DISPID_SAEventHandle: DISPID_SpeechAudio = DISPID_SpeechAudio(205i32);
59 pub const DISPID_SASetState: DISPID_SpeechAudio = DISPID_SpeechAudio(206i32);
60 impl ::std::convert::From<i32> for DISPID_SpeechAudio {
from(value: i32) -> Self61     fn from(value: i32) -> Self {
62         Self(value)
63     }
64 }
65 unsafe impl ::windows::runtime::Abi for DISPID_SpeechAudio {
66     type Abi = Self;
67     type DefaultType = Self;
68 }
69 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
70 #[repr(transparent)]
71 pub struct DISPID_SpeechAudioBufferInfo(pub i32);
72 pub const DISPID_SABIMinNotification: DISPID_SpeechAudioBufferInfo = DISPID_SpeechAudioBufferInfo(1i32);
73 pub const DISPID_SABIBufferSize: DISPID_SpeechAudioBufferInfo = DISPID_SpeechAudioBufferInfo(2i32);
74 pub const DISPID_SABIEventBias: DISPID_SpeechAudioBufferInfo = DISPID_SpeechAudioBufferInfo(3i32);
75 impl ::std::convert::From<i32> for DISPID_SpeechAudioBufferInfo {
from(value: i32) -> Self76     fn from(value: i32) -> Self {
77         Self(value)
78     }
79 }
80 unsafe impl ::windows::runtime::Abi for DISPID_SpeechAudioBufferInfo {
81     type Abi = Self;
82     type DefaultType = Self;
83 }
84 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
85 #[repr(transparent)]
86 pub struct DISPID_SpeechAudioFormat(pub i32);
87 pub const DISPID_SAFType: DISPID_SpeechAudioFormat = DISPID_SpeechAudioFormat(1i32);
88 pub const DISPID_SAFGuid: DISPID_SpeechAudioFormat = DISPID_SpeechAudioFormat(2i32);
89 pub const DISPID_SAFGetWaveFormatEx: DISPID_SpeechAudioFormat = DISPID_SpeechAudioFormat(3i32);
90 pub const DISPID_SAFSetWaveFormatEx: DISPID_SpeechAudioFormat = DISPID_SpeechAudioFormat(4i32);
91 impl ::std::convert::From<i32> for DISPID_SpeechAudioFormat {
from(value: i32) -> Self92     fn from(value: i32) -> Self {
93         Self(value)
94     }
95 }
96 unsafe impl ::windows::runtime::Abi for DISPID_SpeechAudioFormat {
97     type Abi = Self;
98     type DefaultType = Self;
99 }
100 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
101 #[repr(transparent)]
102 pub struct DISPID_SpeechAudioStatus(pub i32);
103 pub const DISPID_SASFreeBufferSpace: DISPID_SpeechAudioStatus = DISPID_SpeechAudioStatus(1i32);
104 pub const DISPID_SASNonBlockingIO: DISPID_SpeechAudioStatus = DISPID_SpeechAudioStatus(2i32);
105 pub const DISPID_SASState: DISPID_SpeechAudioStatus = DISPID_SpeechAudioStatus(3i32);
106 pub const DISPID_SASCurrentSeekPosition: DISPID_SpeechAudioStatus = DISPID_SpeechAudioStatus(4i32);
107 pub const DISPID_SASCurrentDevicePosition: DISPID_SpeechAudioStatus = DISPID_SpeechAudioStatus(5i32);
108 impl ::std::convert::From<i32> for DISPID_SpeechAudioStatus {
from(value: i32) -> Self109     fn from(value: i32) -> Self {
110         Self(value)
111     }
112 }
113 unsafe impl ::windows::runtime::Abi for DISPID_SpeechAudioStatus {
114     type Abi = Self;
115     type DefaultType = Self;
116 }
117 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
118 #[repr(transparent)]
119 pub struct DISPID_SpeechBaseStream(pub i32);
120 pub const DISPID_SBSFormat: DISPID_SpeechBaseStream = DISPID_SpeechBaseStream(1i32);
121 pub const DISPID_SBSRead: DISPID_SpeechBaseStream = DISPID_SpeechBaseStream(2i32);
122 pub const DISPID_SBSWrite: DISPID_SpeechBaseStream = DISPID_SpeechBaseStream(3i32);
123 pub const DISPID_SBSSeek: DISPID_SpeechBaseStream = DISPID_SpeechBaseStream(4i32);
124 impl ::std::convert::From<i32> for DISPID_SpeechBaseStream {
from(value: i32) -> Self125     fn from(value: i32) -> Self {
126         Self(value)
127     }
128 }
129 unsafe impl ::windows::runtime::Abi for DISPID_SpeechBaseStream {
130     type Abi = Self;
131     type DefaultType = Self;
132 }
133 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
134 #[repr(transparent)]
135 pub struct DISPID_SpeechCustomStream(pub i32);
136 pub const DISPID_SCSBaseStream: DISPID_SpeechCustomStream = DISPID_SpeechCustomStream(100i32);
137 impl ::std::convert::From<i32> for DISPID_SpeechCustomStream {
from(value: i32) -> Self138     fn from(value: i32) -> Self {
139         Self(value)
140     }
141 }
142 unsafe impl ::windows::runtime::Abi for DISPID_SpeechCustomStream {
143     type Abi = Self;
144     type DefaultType = Self;
145 }
146 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
147 #[repr(transparent)]
148 pub struct DISPID_SpeechDataKey(pub i32);
149 pub const DISPID_SDKSetBinaryValue: DISPID_SpeechDataKey = DISPID_SpeechDataKey(1i32);
150 pub const DISPID_SDKGetBinaryValue: DISPID_SpeechDataKey = DISPID_SpeechDataKey(2i32);
151 pub const DISPID_SDKSetStringValue: DISPID_SpeechDataKey = DISPID_SpeechDataKey(3i32);
152 pub const DISPID_SDKGetStringValue: DISPID_SpeechDataKey = DISPID_SpeechDataKey(4i32);
153 pub const DISPID_SDKSetLongValue: DISPID_SpeechDataKey = DISPID_SpeechDataKey(5i32);
154 pub const DISPID_SDKGetlongValue: DISPID_SpeechDataKey = DISPID_SpeechDataKey(6i32);
155 pub const DISPID_SDKOpenKey: DISPID_SpeechDataKey = DISPID_SpeechDataKey(7i32);
156 pub const DISPID_SDKCreateKey: DISPID_SpeechDataKey = DISPID_SpeechDataKey(8i32);
157 pub const DISPID_SDKDeleteKey: DISPID_SpeechDataKey = DISPID_SpeechDataKey(9i32);
158 pub const DISPID_SDKDeleteValue: DISPID_SpeechDataKey = DISPID_SpeechDataKey(10i32);
159 pub const DISPID_SDKEnumKeys: DISPID_SpeechDataKey = DISPID_SpeechDataKey(11i32);
160 pub const DISPID_SDKEnumValues: DISPID_SpeechDataKey = DISPID_SpeechDataKey(12i32);
161 impl ::std::convert::From<i32> for DISPID_SpeechDataKey {
from(value: i32) -> Self162     fn from(value: i32) -> Self {
163         Self(value)
164     }
165 }
166 unsafe impl ::windows::runtime::Abi for DISPID_SpeechDataKey {
167     type Abi = Self;
168     type DefaultType = Self;
169 }
170 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
171 #[repr(transparent)]
172 pub struct DISPID_SpeechFileStream(pub i32);
173 pub const DISPID_SFSOpen: DISPID_SpeechFileStream = DISPID_SpeechFileStream(100i32);
174 pub const DISPID_SFSClose: DISPID_SpeechFileStream = DISPID_SpeechFileStream(101i32);
175 impl ::std::convert::From<i32> for DISPID_SpeechFileStream {
from(value: i32) -> Self176     fn from(value: i32) -> Self {
177         Self(value)
178     }
179 }
180 unsafe impl ::windows::runtime::Abi for DISPID_SpeechFileStream {
181     type Abi = Self;
182     type DefaultType = Self;
183 }
184 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
185 #[repr(transparent)]
186 pub struct DISPID_SpeechGrammarRule(pub i32);
187 pub const DISPID_SGRAttributes: DISPID_SpeechGrammarRule = DISPID_SpeechGrammarRule(1i32);
188 pub const DISPID_SGRInitialState: DISPID_SpeechGrammarRule = DISPID_SpeechGrammarRule(2i32);
189 pub const DISPID_SGRName: DISPID_SpeechGrammarRule = DISPID_SpeechGrammarRule(3i32);
190 pub const DISPID_SGRId: DISPID_SpeechGrammarRule = DISPID_SpeechGrammarRule(4i32);
191 pub const DISPID_SGRClear: DISPID_SpeechGrammarRule = DISPID_SpeechGrammarRule(5i32);
192 pub const DISPID_SGRAddResource: DISPID_SpeechGrammarRule = DISPID_SpeechGrammarRule(6i32);
193 pub const DISPID_SGRAddState: DISPID_SpeechGrammarRule = DISPID_SpeechGrammarRule(7i32);
194 impl ::std::convert::From<i32> for DISPID_SpeechGrammarRule {
from(value: i32) -> Self195     fn from(value: i32) -> Self {
196         Self(value)
197     }
198 }
199 unsafe impl ::windows::runtime::Abi for DISPID_SpeechGrammarRule {
200     type Abi = Self;
201     type DefaultType = Self;
202 }
203 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
204 #[repr(transparent)]
205 pub struct DISPID_SpeechGrammarRuleState(pub i32);
206 pub const DISPID_SGRSRule: DISPID_SpeechGrammarRuleState = DISPID_SpeechGrammarRuleState(1i32);
207 pub const DISPID_SGRSTransitions: DISPID_SpeechGrammarRuleState = DISPID_SpeechGrammarRuleState(2i32);
208 pub const DISPID_SGRSAddWordTransition: DISPID_SpeechGrammarRuleState = DISPID_SpeechGrammarRuleState(3i32);
209 pub const DISPID_SGRSAddRuleTransition: DISPID_SpeechGrammarRuleState = DISPID_SpeechGrammarRuleState(4i32);
210 pub const DISPID_SGRSAddSpecialTransition: DISPID_SpeechGrammarRuleState = DISPID_SpeechGrammarRuleState(5i32);
211 impl ::std::convert::From<i32> for DISPID_SpeechGrammarRuleState {
from(value: i32) -> Self212     fn from(value: i32) -> Self {
213         Self(value)
214     }
215 }
216 unsafe impl ::windows::runtime::Abi for DISPID_SpeechGrammarRuleState {
217     type Abi = Self;
218     type DefaultType = Self;
219 }
220 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
221 #[repr(transparent)]
222 pub struct DISPID_SpeechGrammarRuleStateTransition(pub i32);
223 pub const DISPID_SGRSTType: DISPID_SpeechGrammarRuleStateTransition = DISPID_SpeechGrammarRuleStateTransition(1i32);
224 pub const DISPID_SGRSTText: DISPID_SpeechGrammarRuleStateTransition = DISPID_SpeechGrammarRuleStateTransition(2i32);
225 pub const DISPID_SGRSTRule: DISPID_SpeechGrammarRuleStateTransition = DISPID_SpeechGrammarRuleStateTransition(3i32);
226 pub const DISPID_SGRSTWeight: DISPID_SpeechGrammarRuleStateTransition = DISPID_SpeechGrammarRuleStateTransition(4i32);
227 pub const DISPID_SGRSTPropertyName: DISPID_SpeechGrammarRuleStateTransition = DISPID_SpeechGrammarRuleStateTransition(5i32);
228 pub const DISPID_SGRSTPropertyId: DISPID_SpeechGrammarRuleStateTransition = DISPID_SpeechGrammarRuleStateTransition(6i32);
229 pub const DISPID_SGRSTPropertyValue: DISPID_SpeechGrammarRuleStateTransition = DISPID_SpeechGrammarRuleStateTransition(7i32);
230 pub const DISPID_SGRSTNextState: DISPID_SpeechGrammarRuleStateTransition = DISPID_SpeechGrammarRuleStateTransition(8i32);
231 impl ::std::convert::From<i32> for DISPID_SpeechGrammarRuleStateTransition {
from(value: i32) -> Self232     fn from(value: i32) -> Self {
233         Self(value)
234     }
235 }
236 unsafe impl ::windows::runtime::Abi for DISPID_SpeechGrammarRuleStateTransition {
237     type Abi = Self;
238     type DefaultType = Self;
239 }
240 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
241 #[repr(transparent)]
242 pub struct DISPID_SpeechGrammarRuleStateTransitions(pub i32);
243 pub const DISPID_SGRSTsCount: DISPID_SpeechGrammarRuleStateTransitions = DISPID_SpeechGrammarRuleStateTransitions(1i32);
244 pub const DISPID_SGRSTsItem: DISPID_SpeechGrammarRuleStateTransitions = DISPID_SpeechGrammarRuleStateTransitions(0i32);
245 pub const DISPID_SGRSTs_NewEnum: DISPID_SpeechGrammarRuleStateTransitions = DISPID_SpeechGrammarRuleStateTransitions(-4i32);
246 impl ::std::convert::From<i32> for DISPID_SpeechGrammarRuleStateTransitions {
from(value: i32) -> Self247     fn from(value: i32) -> Self {
248         Self(value)
249     }
250 }
251 unsafe impl ::windows::runtime::Abi for DISPID_SpeechGrammarRuleStateTransitions {
252     type Abi = Self;
253     type DefaultType = Self;
254 }
255 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
256 #[repr(transparent)]
257 pub struct DISPID_SpeechGrammarRules(pub i32);
258 pub const DISPID_SGRsCount: DISPID_SpeechGrammarRules = DISPID_SpeechGrammarRules(1i32);
259 pub const DISPID_SGRsDynamic: DISPID_SpeechGrammarRules = DISPID_SpeechGrammarRules(2i32);
260 pub const DISPID_SGRsAdd: DISPID_SpeechGrammarRules = DISPID_SpeechGrammarRules(3i32);
261 pub const DISPID_SGRsCommit: DISPID_SpeechGrammarRules = DISPID_SpeechGrammarRules(4i32);
262 pub const DISPID_SGRsCommitAndSave: DISPID_SpeechGrammarRules = DISPID_SpeechGrammarRules(5i32);
263 pub const DISPID_SGRsFindRule: DISPID_SpeechGrammarRules = DISPID_SpeechGrammarRules(6i32);
264 pub const DISPID_SGRsItem: DISPID_SpeechGrammarRules = DISPID_SpeechGrammarRules(0i32);
265 pub const DISPID_SGRs_NewEnum: DISPID_SpeechGrammarRules = DISPID_SpeechGrammarRules(-4i32);
266 impl ::std::convert::From<i32> for DISPID_SpeechGrammarRules {
from(value: i32) -> Self267     fn from(value: i32) -> Self {
268         Self(value)
269     }
270 }
271 unsafe impl ::windows::runtime::Abi for DISPID_SpeechGrammarRules {
272     type Abi = Self;
273     type DefaultType = Self;
274 }
275 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
276 #[repr(transparent)]
277 pub struct DISPID_SpeechLexicon(pub i32);
278 pub const DISPID_SLGenerationId: DISPID_SpeechLexicon = DISPID_SpeechLexicon(1i32);
279 pub const DISPID_SLGetWords: DISPID_SpeechLexicon = DISPID_SpeechLexicon(2i32);
280 pub const DISPID_SLAddPronunciation: DISPID_SpeechLexicon = DISPID_SpeechLexicon(3i32);
281 pub const DISPID_SLAddPronunciationByPhoneIds: DISPID_SpeechLexicon = DISPID_SpeechLexicon(4i32);
282 pub const DISPID_SLRemovePronunciation: DISPID_SpeechLexicon = DISPID_SpeechLexicon(5i32);
283 pub const DISPID_SLRemovePronunciationByPhoneIds: DISPID_SpeechLexicon = DISPID_SpeechLexicon(6i32);
284 pub const DISPID_SLGetPronunciations: DISPID_SpeechLexicon = DISPID_SpeechLexicon(7i32);
285 pub const DISPID_SLGetGenerationChange: DISPID_SpeechLexicon = DISPID_SpeechLexicon(8i32);
286 impl ::std::convert::From<i32> for DISPID_SpeechLexicon {
from(value: i32) -> Self287     fn from(value: i32) -> Self {
288         Self(value)
289     }
290 }
291 unsafe impl ::windows::runtime::Abi for DISPID_SpeechLexicon {
292     type Abi = Self;
293     type DefaultType = Self;
294 }
295 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
296 #[repr(transparent)]
297 pub struct DISPID_SpeechLexiconProns(pub i32);
298 pub const DISPID_SLPsCount: DISPID_SpeechLexiconProns = DISPID_SpeechLexiconProns(1i32);
299 pub const DISPID_SLPsItem: DISPID_SpeechLexiconProns = DISPID_SpeechLexiconProns(0i32);
300 pub const DISPID_SLPs_NewEnum: DISPID_SpeechLexiconProns = DISPID_SpeechLexiconProns(-4i32);
301 impl ::std::convert::From<i32> for DISPID_SpeechLexiconProns {
from(value: i32) -> Self302     fn from(value: i32) -> Self {
303         Self(value)
304     }
305 }
306 unsafe impl ::windows::runtime::Abi for DISPID_SpeechLexiconProns {
307     type Abi = Self;
308     type DefaultType = Self;
309 }
310 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
311 #[repr(transparent)]
312 pub struct DISPID_SpeechLexiconPronunciation(pub i32);
313 pub const DISPID_SLPType: DISPID_SpeechLexiconPronunciation = DISPID_SpeechLexiconPronunciation(1i32);
314 pub const DISPID_SLPLangId: DISPID_SpeechLexiconPronunciation = DISPID_SpeechLexiconPronunciation(2i32);
315 pub const DISPID_SLPPartOfSpeech: DISPID_SpeechLexiconPronunciation = DISPID_SpeechLexiconPronunciation(3i32);
316 pub const DISPID_SLPPhoneIds: DISPID_SpeechLexiconPronunciation = DISPID_SpeechLexiconPronunciation(4i32);
317 pub const DISPID_SLPSymbolic: DISPID_SpeechLexiconPronunciation = DISPID_SpeechLexiconPronunciation(5i32);
318 impl ::std::convert::From<i32> for DISPID_SpeechLexiconPronunciation {
from(value: i32) -> Self319     fn from(value: i32) -> Self {
320         Self(value)
321     }
322 }
323 unsafe impl ::windows::runtime::Abi for DISPID_SpeechLexiconPronunciation {
324     type Abi = Self;
325     type DefaultType = Self;
326 }
327 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
328 #[repr(transparent)]
329 pub struct DISPID_SpeechLexiconWord(pub i32);
330 pub const DISPID_SLWLangId: DISPID_SpeechLexiconWord = DISPID_SpeechLexiconWord(1i32);
331 pub const DISPID_SLWType: DISPID_SpeechLexiconWord = DISPID_SpeechLexiconWord(2i32);
332 pub const DISPID_SLWWord: DISPID_SpeechLexiconWord = DISPID_SpeechLexiconWord(3i32);
333 pub const DISPID_SLWPronunciations: DISPID_SpeechLexiconWord = DISPID_SpeechLexiconWord(4i32);
334 impl ::std::convert::From<i32> for DISPID_SpeechLexiconWord {
from(value: i32) -> Self335     fn from(value: i32) -> Self {
336         Self(value)
337     }
338 }
339 unsafe impl ::windows::runtime::Abi for DISPID_SpeechLexiconWord {
340     type Abi = Self;
341     type DefaultType = Self;
342 }
343 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
344 #[repr(transparent)]
345 pub struct DISPID_SpeechLexiconWords(pub i32);
346 pub const DISPID_SLWsCount: DISPID_SpeechLexiconWords = DISPID_SpeechLexiconWords(1i32);
347 pub const DISPID_SLWsItem: DISPID_SpeechLexiconWords = DISPID_SpeechLexiconWords(0i32);
348 pub const DISPID_SLWs_NewEnum: DISPID_SpeechLexiconWords = DISPID_SpeechLexiconWords(-4i32);
349 impl ::std::convert::From<i32> for DISPID_SpeechLexiconWords {
from(value: i32) -> Self350     fn from(value: i32) -> Self {
351         Self(value)
352     }
353 }
354 unsafe impl ::windows::runtime::Abi for DISPID_SpeechLexiconWords {
355     type Abi = Self;
356     type DefaultType = Self;
357 }
358 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
359 #[repr(transparent)]
360 pub struct DISPID_SpeechMMSysAudio(pub i32);
361 pub const DISPID_SMSADeviceId: DISPID_SpeechMMSysAudio = DISPID_SpeechMMSysAudio(300i32);
362 pub const DISPID_SMSALineId: DISPID_SpeechMMSysAudio = DISPID_SpeechMMSysAudio(301i32);
363 pub const DISPID_SMSAMMHandle: DISPID_SpeechMMSysAudio = DISPID_SpeechMMSysAudio(302i32);
364 impl ::std::convert::From<i32> for DISPID_SpeechMMSysAudio {
from(value: i32) -> Self365     fn from(value: i32) -> Self {
366         Self(value)
367     }
368 }
369 unsafe impl ::windows::runtime::Abi for DISPID_SpeechMMSysAudio {
370     type Abi = Self;
371     type DefaultType = Self;
372 }
373 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
374 #[repr(transparent)]
375 pub struct DISPID_SpeechMemoryStream(pub i32);
376 pub const DISPID_SMSSetData: DISPID_SpeechMemoryStream = DISPID_SpeechMemoryStream(100i32);
377 pub const DISPID_SMSGetData: DISPID_SpeechMemoryStream = DISPID_SpeechMemoryStream(101i32);
378 impl ::std::convert::From<i32> for DISPID_SpeechMemoryStream {
from(value: i32) -> Self379     fn from(value: i32) -> Self {
380         Self(value)
381     }
382 }
383 unsafe impl ::windows::runtime::Abi for DISPID_SpeechMemoryStream {
384     type Abi = Self;
385     type DefaultType = Self;
386 }
387 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
388 #[repr(transparent)]
389 pub struct DISPID_SpeechObjectToken(pub i32);
390 pub const DISPID_SOTId: DISPID_SpeechObjectToken = DISPID_SpeechObjectToken(1i32);
391 pub const DISPID_SOTDataKey: DISPID_SpeechObjectToken = DISPID_SpeechObjectToken(2i32);
392 pub const DISPID_SOTCategory: DISPID_SpeechObjectToken = DISPID_SpeechObjectToken(3i32);
393 pub const DISPID_SOTGetDescription: DISPID_SpeechObjectToken = DISPID_SpeechObjectToken(4i32);
394 pub const DISPID_SOTSetId: DISPID_SpeechObjectToken = DISPID_SpeechObjectToken(5i32);
395 pub const DISPID_SOTGetAttribute: DISPID_SpeechObjectToken = DISPID_SpeechObjectToken(6i32);
396 pub const DISPID_SOTCreateInstance: DISPID_SpeechObjectToken = DISPID_SpeechObjectToken(7i32);
397 pub const DISPID_SOTRemove: DISPID_SpeechObjectToken = DISPID_SpeechObjectToken(8i32);
398 pub const DISPID_SOTGetStorageFileName: DISPID_SpeechObjectToken = DISPID_SpeechObjectToken(9i32);
399 pub const DISPID_SOTRemoveStorageFileName: DISPID_SpeechObjectToken = DISPID_SpeechObjectToken(10i32);
400 pub const DISPID_SOTIsUISupported: DISPID_SpeechObjectToken = DISPID_SpeechObjectToken(11i32);
401 pub const DISPID_SOTDisplayUI: DISPID_SpeechObjectToken = DISPID_SpeechObjectToken(12i32);
402 pub const DISPID_SOTMatchesAttributes: DISPID_SpeechObjectToken = DISPID_SpeechObjectToken(13i32);
403 impl ::std::convert::From<i32> for DISPID_SpeechObjectToken {
from(value: i32) -> Self404     fn from(value: i32) -> Self {
405         Self(value)
406     }
407 }
408 unsafe impl ::windows::runtime::Abi for DISPID_SpeechObjectToken {
409     type Abi = Self;
410     type DefaultType = Self;
411 }
412 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
413 #[repr(transparent)]
414 pub struct DISPID_SpeechObjectTokenCategory(pub i32);
415 pub const DISPID_SOTCId: DISPID_SpeechObjectTokenCategory = DISPID_SpeechObjectTokenCategory(1i32);
416 pub const DISPID_SOTCDefault: DISPID_SpeechObjectTokenCategory = DISPID_SpeechObjectTokenCategory(2i32);
417 pub const DISPID_SOTCSetId: DISPID_SpeechObjectTokenCategory = DISPID_SpeechObjectTokenCategory(3i32);
418 pub const DISPID_SOTCGetDataKey: DISPID_SpeechObjectTokenCategory = DISPID_SpeechObjectTokenCategory(4i32);
419 pub const DISPID_SOTCEnumerateTokens: DISPID_SpeechObjectTokenCategory = DISPID_SpeechObjectTokenCategory(5i32);
420 impl ::std::convert::From<i32> for DISPID_SpeechObjectTokenCategory {
from(value: i32) -> Self421     fn from(value: i32) -> Self {
422         Self(value)
423     }
424 }
425 unsafe impl ::windows::runtime::Abi for DISPID_SpeechObjectTokenCategory {
426     type Abi = Self;
427     type DefaultType = Self;
428 }
429 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
430 #[repr(transparent)]
431 pub struct DISPID_SpeechObjectTokens(pub i32);
432 pub const DISPID_SOTsCount: DISPID_SpeechObjectTokens = DISPID_SpeechObjectTokens(1i32);
433 pub const DISPID_SOTsItem: DISPID_SpeechObjectTokens = DISPID_SpeechObjectTokens(0i32);
434 pub const DISPID_SOTs_NewEnum: DISPID_SpeechObjectTokens = DISPID_SpeechObjectTokens(-4i32);
435 impl ::std::convert::From<i32> for DISPID_SpeechObjectTokens {
from(value: i32) -> Self436     fn from(value: i32) -> Self {
437         Self(value)
438     }
439 }
440 unsafe impl ::windows::runtime::Abi for DISPID_SpeechObjectTokens {
441     type Abi = Self;
442     type DefaultType = Self;
443 }
444 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
445 #[repr(transparent)]
446 pub struct DISPID_SpeechPhoneConverter(pub i32);
447 pub const DISPID_SPCLangId: DISPID_SpeechPhoneConverter = DISPID_SpeechPhoneConverter(1i32);
448 pub const DISPID_SPCPhoneToId: DISPID_SpeechPhoneConverter = DISPID_SpeechPhoneConverter(2i32);
449 pub const DISPID_SPCIdToPhone: DISPID_SpeechPhoneConverter = DISPID_SpeechPhoneConverter(3i32);
450 impl ::std::convert::From<i32> for DISPID_SpeechPhoneConverter {
from(value: i32) -> Self451     fn from(value: i32) -> Self {
452         Self(value)
453     }
454 }
455 unsafe impl ::windows::runtime::Abi for DISPID_SpeechPhoneConverter {
456     type Abi = Self;
457     type DefaultType = Self;
458 }
459 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
460 #[repr(transparent)]
461 pub struct DISPID_SpeechPhraseAlternate(pub i32);
462 pub const DISPID_SPARecoResult: DISPID_SpeechPhraseAlternate = DISPID_SpeechPhraseAlternate(1i32);
463 pub const DISPID_SPAStartElementInResult: DISPID_SpeechPhraseAlternate = DISPID_SpeechPhraseAlternate(2i32);
464 pub const DISPID_SPANumberOfElementsInResult: DISPID_SpeechPhraseAlternate = DISPID_SpeechPhraseAlternate(3i32);
465 pub const DISPID_SPAPhraseInfo: DISPID_SpeechPhraseAlternate = DISPID_SpeechPhraseAlternate(4i32);
466 pub const DISPID_SPACommit: DISPID_SpeechPhraseAlternate = DISPID_SpeechPhraseAlternate(5i32);
467 impl ::std::convert::From<i32> for DISPID_SpeechPhraseAlternate {
from(value: i32) -> Self468     fn from(value: i32) -> Self {
469         Self(value)
470     }
471 }
472 unsafe impl ::windows::runtime::Abi for DISPID_SpeechPhraseAlternate {
473     type Abi = Self;
474     type DefaultType = Self;
475 }
476 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
477 #[repr(transparent)]
478 pub struct DISPID_SpeechPhraseAlternates(pub i32);
479 pub const DISPID_SPAsCount: DISPID_SpeechPhraseAlternates = DISPID_SpeechPhraseAlternates(1i32);
480 pub const DISPID_SPAsItem: DISPID_SpeechPhraseAlternates = DISPID_SpeechPhraseAlternates(0i32);
481 pub const DISPID_SPAs_NewEnum: DISPID_SpeechPhraseAlternates = DISPID_SpeechPhraseAlternates(-4i32);
482 impl ::std::convert::From<i32> for DISPID_SpeechPhraseAlternates {
from(value: i32) -> Self483     fn from(value: i32) -> Self {
484         Self(value)
485     }
486 }
487 unsafe impl ::windows::runtime::Abi for DISPID_SpeechPhraseAlternates {
488     type Abi = Self;
489     type DefaultType = Self;
490 }
491 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
492 #[repr(transparent)]
493 pub struct DISPID_SpeechPhraseBuilder(pub i32);
494 pub const DISPID_SPPBRestorePhraseFromMemory: DISPID_SpeechPhraseBuilder = DISPID_SpeechPhraseBuilder(1i32);
495 impl ::std::convert::From<i32> for DISPID_SpeechPhraseBuilder {
from(value: i32) -> Self496     fn from(value: i32) -> Self {
497         Self(value)
498     }
499 }
500 unsafe impl ::windows::runtime::Abi for DISPID_SpeechPhraseBuilder {
501     type Abi = Self;
502     type DefaultType = Self;
503 }
504 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
505 #[repr(transparent)]
506 pub struct DISPID_SpeechPhraseElement(pub i32);
507 pub const DISPID_SPEAudioTimeOffset: DISPID_SpeechPhraseElement = DISPID_SpeechPhraseElement(1i32);
508 pub const DISPID_SPEAudioSizeTime: DISPID_SpeechPhraseElement = DISPID_SpeechPhraseElement(2i32);
509 pub const DISPID_SPEAudioStreamOffset: DISPID_SpeechPhraseElement = DISPID_SpeechPhraseElement(3i32);
510 pub const DISPID_SPEAudioSizeBytes: DISPID_SpeechPhraseElement = DISPID_SpeechPhraseElement(4i32);
511 pub const DISPID_SPERetainedStreamOffset: DISPID_SpeechPhraseElement = DISPID_SpeechPhraseElement(5i32);
512 pub const DISPID_SPERetainedSizeBytes: DISPID_SpeechPhraseElement = DISPID_SpeechPhraseElement(6i32);
513 pub const DISPID_SPEDisplayText: DISPID_SpeechPhraseElement = DISPID_SpeechPhraseElement(7i32);
514 pub const DISPID_SPELexicalForm: DISPID_SpeechPhraseElement = DISPID_SpeechPhraseElement(8i32);
515 pub const DISPID_SPEPronunciation: DISPID_SpeechPhraseElement = DISPID_SpeechPhraseElement(9i32);
516 pub const DISPID_SPEDisplayAttributes: DISPID_SpeechPhraseElement = DISPID_SpeechPhraseElement(10i32);
517 pub const DISPID_SPERequiredConfidence: DISPID_SpeechPhraseElement = DISPID_SpeechPhraseElement(11i32);
518 pub const DISPID_SPEActualConfidence: DISPID_SpeechPhraseElement = DISPID_SpeechPhraseElement(12i32);
519 pub const DISPID_SPEEngineConfidence: DISPID_SpeechPhraseElement = DISPID_SpeechPhraseElement(13i32);
520 impl ::std::convert::From<i32> for DISPID_SpeechPhraseElement {
from(value: i32) -> Self521     fn from(value: i32) -> Self {
522         Self(value)
523     }
524 }
525 unsafe impl ::windows::runtime::Abi for DISPID_SpeechPhraseElement {
526     type Abi = Self;
527     type DefaultType = Self;
528 }
529 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
530 #[repr(transparent)]
531 pub struct DISPID_SpeechPhraseElements(pub i32);
532 pub const DISPID_SPEsCount: DISPID_SpeechPhraseElements = DISPID_SpeechPhraseElements(1i32);
533 pub const DISPID_SPEsItem: DISPID_SpeechPhraseElements = DISPID_SpeechPhraseElements(0i32);
534 pub const DISPID_SPEs_NewEnum: DISPID_SpeechPhraseElements = DISPID_SpeechPhraseElements(-4i32);
535 impl ::std::convert::From<i32> for DISPID_SpeechPhraseElements {
from(value: i32) -> Self536     fn from(value: i32) -> Self {
537         Self(value)
538     }
539 }
540 unsafe impl ::windows::runtime::Abi for DISPID_SpeechPhraseElements {
541     type Abi = Self;
542     type DefaultType = Self;
543 }
544 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
545 #[repr(transparent)]
546 pub struct DISPID_SpeechPhraseInfo(pub i32);
547 pub const DISPID_SPILanguageId: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(1i32);
548 pub const DISPID_SPIGrammarId: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(2i32);
549 pub const DISPID_SPIStartTime: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(3i32);
550 pub const DISPID_SPIAudioStreamPosition: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(4i32);
551 pub const DISPID_SPIAudioSizeBytes: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(5i32);
552 pub const DISPID_SPIRetainedSizeBytes: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(6i32);
553 pub const DISPID_SPIAudioSizeTime: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(7i32);
554 pub const DISPID_SPIRule: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(8i32);
555 pub const DISPID_SPIProperties: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(9i32);
556 pub const DISPID_SPIElements: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(10i32);
557 pub const DISPID_SPIReplacements: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(11i32);
558 pub const DISPID_SPIEngineId: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(12i32);
559 pub const DISPID_SPIEnginePrivateData: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(13i32);
560 pub const DISPID_SPISaveToMemory: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(14i32);
561 pub const DISPID_SPIGetText: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(15i32);
562 pub const DISPID_SPIGetDisplayAttributes: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(16i32);
563 impl ::std::convert::From<i32> for DISPID_SpeechPhraseInfo {
from(value: i32) -> Self564     fn from(value: i32) -> Self {
565         Self(value)
566     }
567 }
568 unsafe impl ::windows::runtime::Abi for DISPID_SpeechPhraseInfo {
569     type Abi = Self;
570     type DefaultType = Self;
571 }
572 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
573 #[repr(transparent)]
574 pub struct DISPID_SpeechPhraseProperties(pub i32);
575 pub const DISPID_SPPsCount: DISPID_SpeechPhraseProperties = DISPID_SpeechPhraseProperties(1i32);
576 pub const DISPID_SPPsItem: DISPID_SpeechPhraseProperties = DISPID_SpeechPhraseProperties(0i32);
577 pub const DISPID_SPPs_NewEnum: DISPID_SpeechPhraseProperties = DISPID_SpeechPhraseProperties(-4i32);
578 impl ::std::convert::From<i32> for DISPID_SpeechPhraseProperties {
from(value: i32) -> Self579     fn from(value: i32) -> Self {
580         Self(value)
581     }
582 }
583 unsafe impl ::windows::runtime::Abi for DISPID_SpeechPhraseProperties {
584     type Abi = Self;
585     type DefaultType = Self;
586 }
587 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
588 #[repr(transparent)]
589 pub struct DISPID_SpeechPhraseProperty(pub i32);
590 pub const DISPID_SPPName: DISPID_SpeechPhraseProperty = DISPID_SpeechPhraseProperty(1i32);
591 pub const DISPID_SPPId: DISPID_SpeechPhraseProperty = DISPID_SpeechPhraseProperty(2i32);
592 pub const DISPID_SPPValue: DISPID_SpeechPhraseProperty = DISPID_SpeechPhraseProperty(3i32);
593 pub const DISPID_SPPFirstElement: DISPID_SpeechPhraseProperty = DISPID_SpeechPhraseProperty(4i32);
594 pub const DISPID_SPPNumberOfElements: DISPID_SpeechPhraseProperty = DISPID_SpeechPhraseProperty(5i32);
595 pub const DISPID_SPPEngineConfidence: DISPID_SpeechPhraseProperty = DISPID_SpeechPhraseProperty(6i32);
596 pub const DISPID_SPPConfidence: DISPID_SpeechPhraseProperty = DISPID_SpeechPhraseProperty(7i32);
597 pub const DISPID_SPPParent: DISPID_SpeechPhraseProperty = DISPID_SpeechPhraseProperty(8i32);
598 pub const DISPID_SPPChildren: DISPID_SpeechPhraseProperty = DISPID_SpeechPhraseProperty(9i32);
599 impl ::std::convert::From<i32> for DISPID_SpeechPhraseProperty {
from(value: i32) -> Self600     fn from(value: i32) -> Self {
601         Self(value)
602     }
603 }
604 unsafe impl ::windows::runtime::Abi for DISPID_SpeechPhraseProperty {
605     type Abi = Self;
606     type DefaultType = Self;
607 }
608 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
609 #[repr(transparent)]
610 pub struct DISPID_SpeechPhraseReplacement(pub i32);
611 pub const DISPID_SPRDisplayAttributes: DISPID_SpeechPhraseReplacement = DISPID_SpeechPhraseReplacement(1i32);
612 pub const DISPID_SPRText: DISPID_SpeechPhraseReplacement = DISPID_SpeechPhraseReplacement(2i32);
613 pub const DISPID_SPRFirstElement: DISPID_SpeechPhraseReplacement = DISPID_SpeechPhraseReplacement(3i32);
614 pub const DISPID_SPRNumberOfElements: DISPID_SpeechPhraseReplacement = DISPID_SpeechPhraseReplacement(4i32);
615 impl ::std::convert::From<i32> for DISPID_SpeechPhraseReplacement {
from(value: i32) -> Self616     fn from(value: i32) -> Self {
617         Self(value)
618     }
619 }
620 unsafe impl ::windows::runtime::Abi for DISPID_SpeechPhraseReplacement {
621     type Abi = Self;
622     type DefaultType = Self;
623 }
624 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
625 #[repr(transparent)]
626 pub struct DISPID_SpeechPhraseReplacements(pub i32);
627 pub const DISPID_SPRsCount: DISPID_SpeechPhraseReplacements = DISPID_SpeechPhraseReplacements(1i32);
628 pub const DISPID_SPRsItem: DISPID_SpeechPhraseReplacements = DISPID_SpeechPhraseReplacements(0i32);
629 pub const DISPID_SPRs_NewEnum: DISPID_SpeechPhraseReplacements = DISPID_SpeechPhraseReplacements(-4i32);
630 impl ::std::convert::From<i32> for DISPID_SpeechPhraseReplacements {
from(value: i32) -> Self631     fn from(value: i32) -> Self {
632         Self(value)
633     }
634 }
635 unsafe impl ::windows::runtime::Abi for DISPID_SpeechPhraseReplacements {
636     type Abi = Self;
637     type DefaultType = Self;
638 }
639 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
640 #[repr(transparent)]
641 pub struct DISPID_SpeechPhraseRule(pub i32);
642 pub const DISPID_SPRuleName: DISPID_SpeechPhraseRule = DISPID_SpeechPhraseRule(1i32);
643 pub const DISPID_SPRuleId: DISPID_SpeechPhraseRule = DISPID_SpeechPhraseRule(2i32);
644 pub const DISPID_SPRuleFirstElement: DISPID_SpeechPhraseRule = DISPID_SpeechPhraseRule(3i32);
645 pub const DISPID_SPRuleNumberOfElements: DISPID_SpeechPhraseRule = DISPID_SpeechPhraseRule(4i32);
646 pub const DISPID_SPRuleParent: DISPID_SpeechPhraseRule = DISPID_SpeechPhraseRule(5i32);
647 pub const DISPID_SPRuleChildren: DISPID_SpeechPhraseRule = DISPID_SpeechPhraseRule(6i32);
648 pub const DISPID_SPRuleConfidence: DISPID_SpeechPhraseRule = DISPID_SpeechPhraseRule(7i32);
649 pub const DISPID_SPRuleEngineConfidence: DISPID_SpeechPhraseRule = DISPID_SpeechPhraseRule(8i32);
650 impl ::std::convert::From<i32> for DISPID_SpeechPhraseRule {
from(value: i32) -> Self651     fn from(value: i32) -> Self {
652         Self(value)
653     }
654 }
655 unsafe impl ::windows::runtime::Abi for DISPID_SpeechPhraseRule {
656     type Abi = Self;
657     type DefaultType = Self;
658 }
659 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
660 #[repr(transparent)]
661 pub struct DISPID_SpeechPhraseRules(pub i32);
662 pub const DISPID_SPRulesCount: DISPID_SpeechPhraseRules = DISPID_SpeechPhraseRules(1i32);
663 pub const DISPID_SPRulesItem: DISPID_SpeechPhraseRules = DISPID_SpeechPhraseRules(0i32);
664 pub const DISPID_SPRules_NewEnum: DISPID_SpeechPhraseRules = DISPID_SpeechPhraseRules(-4i32);
665 impl ::std::convert::From<i32> for DISPID_SpeechPhraseRules {
from(value: i32) -> Self666     fn from(value: i32) -> Self {
667         Self(value)
668     }
669 }
670 unsafe impl ::windows::runtime::Abi for DISPID_SpeechPhraseRules {
671     type Abi = Self;
672     type DefaultType = Self;
673 }
674 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
675 #[repr(transparent)]
676 pub struct DISPID_SpeechRecoContext(pub i32);
677 pub const DISPID_SRCRecognizer: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(1i32);
678 pub const DISPID_SRCAudioInInterferenceStatus: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(2i32);
679 pub const DISPID_SRCRequestedUIType: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(3i32);
680 pub const DISPID_SRCVoice: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(4i32);
681 pub const DISPID_SRAllowVoiceFormatMatchingOnNextSet: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(5i32);
682 pub const DISPID_SRCVoicePurgeEvent: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(6i32);
683 pub const DISPID_SRCEventInterests: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(7i32);
684 pub const DISPID_SRCCmdMaxAlternates: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(8i32);
685 pub const DISPID_SRCState: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(9i32);
686 pub const DISPID_SRCRetainedAudio: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(10i32);
687 pub const DISPID_SRCRetainedAudioFormat: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(11i32);
688 pub const DISPID_SRCPause: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(12i32);
689 pub const DISPID_SRCResume: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(13i32);
690 pub const DISPID_SRCCreateGrammar: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(14i32);
691 pub const DISPID_SRCCreateResultFromMemory: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(15i32);
692 pub const DISPID_SRCBookmark: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(16i32);
693 pub const DISPID_SRCSetAdaptationData: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(17i32);
694 impl ::std::convert::From<i32> for DISPID_SpeechRecoContext {
from(value: i32) -> Self695     fn from(value: i32) -> Self {
696         Self(value)
697     }
698 }
699 unsafe impl ::windows::runtime::Abi for DISPID_SpeechRecoContext {
700     type Abi = Self;
701     type DefaultType = Self;
702 }
703 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
704 #[repr(transparent)]
705 pub struct DISPID_SpeechRecoContextEvents(pub i32);
706 pub const DISPID_SRCEStartStream: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(1i32);
707 pub const DISPID_SRCEEndStream: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(2i32);
708 pub const DISPID_SRCEBookmark: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(3i32);
709 pub const DISPID_SRCESoundStart: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(4i32);
710 pub const DISPID_SRCESoundEnd: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(5i32);
711 pub const DISPID_SRCEPhraseStart: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(6i32);
712 pub const DISPID_SRCERecognition: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(7i32);
713 pub const DISPID_SRCEHypothesis: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(8i32);
714 pub const DISPID_SRCEPropertyNumberChange: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(9i32);
715 pub const DISPID_SRCEPropertyStringChange: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(10i32);
716 pub const DISPID_SRCEFalseRecognition: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(11i32);
717 pub const DISPID_SRCEInterference: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(12i32);
718 pub const DISPID_SRCERequestUI: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(13i32);
719 pub const DISPID_SRCERecognizerStateChange: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(14i32);
720 pub const DISPID_SRCEAdaptation: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(15i32);
721 pub const DISPID_SRCERecognitionForOtherContext: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(16i32);
722 pub const DISPID_SRCEAudioLevel: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(17i32);
723 pub const DISPID_SRCEEnginePrivate: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(18i32);
724 impl ::std::convert::From<i32> for DISPID_SpeechRecoContextEvents {
from(value: i32) -> Self725     fn from(value: i32) -> Self {
726         Self(value)
727     }
728 }
729 unsafe impl ::windows::runtime::Abi for DISPID_SpeechRecoContextEvents {
730     type Abi = Self;
731     type DefaultType = Self;
732 }
733 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
734 #[repr(transparent)]
735 pub struct DISPID_SpeechRecoResult(pub i32);
736 pub const DISPID_SRRRecoContext: DISPID_SpeechRecoResult = DISPID_SpeechRecoResult(1i32);
737 pub const DISPID_SRRTimes: DISPID_SpeechRecoResult = DISPID_SpeechRecoResult(2i32);
738 pub const DISPID_SRRAudioFormat: DISPID_SpeechRecoResult = DISPID_SpeechRecoResult(3i32);
739 pub const DISPID_SRRPhraseInfo: DISPID_SpeechRecoResult = DISPID_SpeechRecoResult(4i32);
740 pub const DISPID_SRRAlternates: DISPID_SpeechRecoResult = DISPID_SpeechRecoResult(5i32);
741 pub const DISPID_SRRAudio: DISPID_SpeechRecoResult = DISPID_SpeechRecoResult(6i32);
742 pub const DISPID_SRRSpeakAudio: DISPID_SpeechRecoResult = DISPID_SpeechRecoResult(7i32);
743 pub const DISPID_SRRSaveToMemory: DISPID_SpeechRecoResult = DISPID_SpeechRecoResult(8i32);
744 pub const DISPID_SRRDiscardResultInfo: DISPID_SpeechRecoResult = DISPID_SpeechRecoResult(9i32);
745 impl ::std::convert::From<i32> for DISPID_SpeechRecoResult {
from(value: i32) -> Self746     fn from(value: i32) -> Self {
747         Self(value)
748     }
749 }
750 unsafe impl ::windows::runtime::Abi for DISPID_SpeechRecoResult {
751     type Abi = Self;
752     type DefaultType = Self;
753 }
754 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
755 #[repr(transparent)]
756 pub struct DISPID_SpeechRecoResult2(pub i32);
757 pub const DISPID_SRRSetTextFeedback: DISPID_SpeechRecoResult2 = DISPID_SpeechRecoResult2(12i32);
758 impl ::std::convert::From<i32> for DISPID_SpeechRecoResult2 {
from(value: i32) -> Self759     fn from(value: i32) -> Self {
760         Self(value)
761     }
762 }
763 unsafe impl ::windows::runtime::Abi for DISPID_SpeechRecoResult2 {
764     type Abi = Self;
765     type DefaultType = Self;
766 }
767 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
768 #[repr(transparent)]
769 pub struct DISPID_SpeechRecoResultTimes(pub i32);
770 pub const DISPID_SRRTStreamTime: DISPID_SpeechRecoResultTimes = DISPID_SpeechRecoResultTimes(1i32);
771 pub const DISPID_SRRTLength: DISPID_SpeechRecoResultTimes = DISPID_SpeechRecoResultTimes(2i32);
772 pub const DISPID_SRRTTickCount: DISPID_SpeechRecoResultTimes = DISPID_SpeechRecoResultTimes(3i32);
773 pub const DISPID_SRRTOffsetFromStart: DISPID_SpeechRecoResultTimes = DISPID_SpeechRecoResultTimes(4i32);
774 impl ::std::convert::From<i32> for DISPID_SpeechRecoResultTimes {
from(value: i32) -> Self775     fn from(value: i32) -> Self {
776         Self(value)
777     }
778 }
779 unsafe impl ::windows::runtime::Abi for DISPID_SpeechRecoResultTimes {
780     type Abi = Self;
781     type DefaultType = Self;
782 }
783 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
784 #[repr(transparent)]
785 pub struct DISPID_SpeechRecognizer(pub i32);
786 pub const DISPID_SRRecognizer: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(1i32);
787 pub const DISPID_SRAllowAudioInputFormatChangesOnNextSet: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(2i32);
788 pub const DISPID_SRAudioInput: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(3i32);
789 pub const DISPID_SRAudioInputStream: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(4i32);
790 pub const DISPID_SRIsShared: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(5i32);
791 pub const DISPID_SRState: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(6i32);
792 pub const DISPID_SRStatus: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(7i32);
793 pub const DISPID_SRProfile: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(8i32);
794 pub const DISPID_SREmulateRecognition: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(9i32);
795 pub const DISPID_SRCreateRecoContext: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(10i32);
796 pub const DISPID_SRGetFormat: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(11i32);
797 pub const DISPID_SRSetPropertyNumber: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(12i32);
798 pub const DISPID_SRGetPropertyNumber: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(13i32);
799 pub const DISPID_SRSetPropertyString: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(14i32);
800 pub const DISPID_SRGetPropertyString: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(15i32);
801 pub const DISPID_SRIsUISupported: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(16i32);
802 pub const DISPID_SRDisplayUI: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(17i32);
803 pub const DISPID_SRGetRecognizers: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(18i32);
804 pub const DISPID_SVGetAudioInputs: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(19i32);
805 pub const DISPID_SVGetProfiles: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(20i32);
806 impl ::std::convert::From<i32> for DISPID_SpeechRecognizer {
from(value: i32) -> Self807     fn from(value: i32) -> Self {
808         Self(value)
809     }
810 }
811 unsafe impl ::windows::runtime::Abi for DISPID_SpeechRecognizer {
812     type Abi = Self;
813     type DefaultType = Self;
814 }
815 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
816 #[repr(transparent)]
817 pub struct DISPID_SpeechRecognizerStatus(pub i32);
818 pub const DISPID_SRSAudioStatus: DISPID_SpeechRecognizerStatus = DISPID_SpeechRecognizerStatus(1i32);
819 pub const DISPID_SRSCurrentStreamPosition: DISPID_SpeechRecognizerStatus = DISPID_SpeechRecognizerStatus(2i32);
820 pub const DISPID_SRSCurrentStreamNumber: DISPID_SpeechRecognizerStatus = DISPID_SpeechRecognizerStatus(3i32);
821 pub const DISPID_SRSNumberOfActiveRules: DISPID_SpeechRecognizerStatus = DISPID_SpeechRecognizerStatus(4i32);
822 pub const DISPID_SRSClsidEngine: DISPID_SpeechRecognizerStatus = DISPID_SpeechRecognizerStatus(5i32);
823 pub const DISPID_SRSSupportedLanguages: DISPID_SpeechRecognizerStatus = DISPID_SpeechRecognizerStatus(6i32);
824 impl ::std::convert::From<i32> for DISPID_SpeechRecognizerStatus {
from(value: i32) -> Self825     fn from(value: i32) -> Self {
826         Self(value)
827     }
828 }
829 unsafe impl ::windows::runtime::Abi for DISPID_SpeechRecognizerStatus {
830     type Abi = Self;
831     type DefaultType = Self;
832 }
833 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
834 #[repr(transparent)]
835 pub struct DISPID_SpeechVoice(pub i32);
836 pub const DISPID_SVStatus: DISPID_SpeechVoice = DISPID_SpeechVoice(1i32);
837 pub const DISPID_SVVoice: DISPID_SpeechVoice = DISPID_SpeechVoice(2i32);
838 pub const DISPID_SVAudioOutput: DISPID_SpeechVoice = DISPID_SpeechVoice(3i32);
839 pub const DISPID_SVAudioOutputStream: DISPID_SpeechVoice = DISPID_SpeechVoice(4i32);
840 pub const DISPID_SVRate: DISPID_SpeechVoice = DISPID_SpeechVoice(5i32);
841 pub const DISPID_SVVolume: DISPID_SpeechVoice = DISPID_SpeechVoice(6i32);
842 pub const DISPID_SVAllowAudioOuputFormatChangesOnNextSet: DISPID_SpeechVoice = DISPID_SpeechVoice(7i32);
843 pub const DISPID_SVEventInterests: DISPID_SpeechVoice = DISPID_SpeechVoice(8i32);
844 pub const DISPID_SVPriority: DISPID_SpeechVoice = DISPID_SpeechVoice(9i32);
845 pub const DISPID_SVAlertBoundary: DISPID_SpeechVoice = DISPID_SpeechVoice(10i32);
846 pub const DISPID_SVSyncronousSpeakTimeout: DISPID_SpeechVoice = DISPID_SpeechVoice(11i32);
847 pub const DISPID_SVSpeak: DISPID_SpeechVoice = DISPID_SpeechVoice(12i32);
848 pub const DISPID_SVSpeakStream: DISPID_SpeechVoice = DISPID_SpeechVoice(13i32);
849 pub const DISPID_SVPause: DISPID_SpeechVoice = DISPID_SpeechVoice(14i32);
850 pub const DISPID_SVResume: DISPID_SpeechVoice = DISPID_SpeechVoice(15i32);
851 pub const DISPID_SVSkip: DISPID_SpeechVoice = DISPID_SpeechVoice(16i32);
852 pub const DISPID_SVGetVoices: DISPID_SpeechVoice = DISPID_SpeechVoice(17i32);
853 pub const DISPID_SVGetAudioOutputs: DISPID_SpeechVoice = DISPID_SpeechVoice(18i32);
854 pub const DISPID_SVWaitUntilDone: DISPID_SpeechVoice = DISPID_SpeechVoice(19i32);
855 pub const DISPID_SVSpeakCompleteEvent: DISPID_SpeechVoice = DISPID_SpeechVoice(20i32);
856 pub const DISPID_SVIsUISupported: DISPID_SpeechVoice = DISPID_SpeechVoice(21i32);
857 pub const DISPID_SVDisplayUI: DISPID_SpeechVoice = DISPID_SpeechVoice(22i32);
858 impl ::std::convert::From<i32> for DISPID_SpeechVoice {
from(value: i32) -> Self859     fn from(value: i32) -> Self {
860         Self(value)
861     }
862 }
863 unsafe impl ::windows::runtime::Abi for DISPID_SpeechVoice {
864     type Abi = Self;
865     type DefaultType = Self;
866 }
867 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
868 #[repr(transparent)]
869 pub struct DISPID_SpeechVoiceEvent(pub i32);
870 pub const DISPID_SVEStreamStart: DISPID_SpeechVoiceEvent = DISPID_SpeechVoiceEvent(1i32);
871 pub const DISPID_SVEStreamEnd: DISPID_SpeechVoiceEvent = DISPID_SpeechVoiceEvent(2i32);
872 pub const DISPID_SVEVoiceChange: DISPID_SpeechVoiceEvent = DISPID_SpeechVoiceEvent(3i32);
873 pub const DISPID_SVEBookmark: DISPID_SpeechVoiceEvent = DISPID_SpeechVoiceEvent(4i32);
874 pub const DISPID_SVEWord: DISPID_SpeechVoiceEvent = DISPID_SpeechVoiceEvent(5i32);
875 pub const DISPID_SVEPhoneme: DISPID_SpeechVoiceEvent = DISPID_SpeechVoiceEvent(6i32);
876 pub const DISPID_SVESentenceBoundary: DISPID_SpeechVoiceEvent = DISPID_SpeechVoiceEvent(7i32);
877 pub const DISPID_SVEViseme: DISPID_SpeechVoiceEvent = DISPID_SpeechVoiceEvent(8i32);
878 pub const DISPID_SVEAudioLevel: DISPID_SpeechVoiceEvent = DISPID_SpeechVoiceEvent(9i32);
879 pub const DISPID_SVEEnginePrivate: DISPID_SpeechVoiceEvent = DISPID_SpeechVoiceEvent(10i32);
880 impl ::std::convert::From<i32> for DISPID_SpeechVoiceEvent {
from(value: i32) -> Self881     fn from(value: i32) -> Self {
882         Self(value)
883     }
884 }
885 unsafe impl ::windows::runtime::Abi for DISPID_SpeechVoiceEvent {
886     type Abi = Self;
887     type DefaultType = Self;
888 }
889 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
890 #[repr(transparent)]
891 pub struct DISPID_SpeechVoiceStatus(pub i32);
892 pub const DISPID_SVSCurrentStreamNumber: DISPID_SpeechVoiceStatus = DISPID_SpeechVoiceStatus(1i32);
893 pub const DISPID_SVSLastStreamNumberQueued: DISPID_SpeechVoiceStatus = DISPID_SpeechVoiceStatus(2i32);
894 pub const DISPID_SVSLastResult: DISPID_SpeechVoiceStatus = DISPID_SpeechVoiceStatus(3i32);
895 pub const DISPID_SVSRunningState: DISPID_SpeechVoiceStatus = DISPID_SpeechVoiceStatus(4i32);
896 pub const DISPID_SVSInputWordPosition: DISPID_SpeechVoiceStatus = DISPID_SpeechVoiceStatus(5i32);
897 pub const DISPID_SVSInputWordLength: DISPID_SpeechVoiceStatus = DISPID_SpeechVoiceStatus(6i32);
898 pub const DISPID_SVSInputSentencePosition: DISPID_SpeechVoiceStatus = DISPID_SpeechVoiceStatus(7i32);
899 pub const DISPID_SVSInputSentenceLength: DISPID_SpeechVoiceStatus = DISPID_SpeechVoiceStatus(8i32);
900 pub const DISPID_SVSLastBookmark: DISPID_SpeechVoiceStatus = DISPID_SpeechVoiceStatus(9i32);
901 pub const DISPID_SVSLastBookmarkId: DISPID_SpeechVoiceStatus = DISPID_SpeechVoiceStatus(10i32);
902 pub const DISPID_SVSPhonemeId: DISPID_SpeechVoiceStatus = DISPID_SpeechVoiceStatus(11i32);
903 pub const DISPID_SVSVisemeId: DISPID_SpeechVoiceStatus = DISPID_SpeechVoiceStatus(12i32);
904 impl ::std::convert::From<i32> for DISPID_SpeechVoiceStatus {
from(value: i32) -> Self905     fn from(value: i32) -> Self {
906         Self(value)
907     }
908 }
909 unsafe impl ::windows::runtime::Abi for DISPID_SpeechVoiceStatus {
910     type Abi = Self;
911     type DefaultType = Self;
912 }
913 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
914 #[repr(transparent)]
915 pub struct DISPID_SpeechWaveFormatEx(pub i32);
916 pub const DISPID_SWFEFormatTag: DISPID_SpeechWaveFormatEx = DISPID_SpeechWaveFormatEx(1i32);
917 pub const DISPID_SWFEChannels: DISPID_SpeechWaveFormatEx = DISPID_SpeechWaveFormatEx(2i32);
918 pub const DISPID_SWFESamplesPerSec: DISPID_SpeechWaveFormatEx = DISPID_SpeechWaveFormatEx(3i32);
919 pub const DISPID_SWFEAvgBytesPerSec: DISPID_SpeechWaveFormatEx = DISPID_SpeechWaveFormatEx(4i32);
920 pub const DISPID_SWFEBlockAlign: DISPID_SpeechWaveFormatEx = DISPID_SpeechWaveFormatEx(5i32);
921 pub const DISPID_SWFEBitsPerSample: DISPID_SpeechWaveFormatEx = DISPID_SpeechWaveFormatEx(6i32);
922 pub const DISPID_SWFEExtraData: DISPID_SpeechWaveFormatEx = DISPID_SpeechWaveFormatEx(7i32);
923 impl ::std::convert::From<i32> for DISPID_SpeechWaveFormatEx {
from(value: i32) -> Self924     fn from(value: i32) -> Self {
925         Self(value)
926     }
927 }
928 unsafe impl ::windows::runtime::Abi for DISPID_SpeechWaveFormatEx {
929     type Abi = Self;
930     type DefaultType = Self;
931 }
932 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
933 #[repr(transparent)]
934 pub struct DISPID_SpeechXMLRecoResult(pub i32);
935 pub const DISPID_SRRGetXMLResult: DISPID_SpeechXMLRecoResult = DISPID_SpeechXMLRecoResult(10i32);
936 pub const DISPID_SRRGetXMLErrorInfo: DISPID_SpeechXMLRecoResult = DISPID_SpeechXMLRecoResult(11i32);
937 impl ::std::convert::From<i32> for DISPID_SpeechXMLRecoResult {
from(value: i32) -> Self938     fn from(value: i32) -> Self {
939         Self(value)
940     }
941 }
942 unsafe impl ::windows::runtime::Abi for DISPID_SpeechXMLRecoResult {
943     type Abi = Self;
944     type DefaultType = Self;
945 }
946 #[repr(transparent)]
947 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
948 pub struct IEnumSpObjectTokens(::windows::runtime::IUnknown);
949 impl IEnumSpObjectTokens {
Next(&self, celt: u32, pelt: *mut ::std::option::Option<ISpObjectToken>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()>950     pub unsafe fn Next(&self, celt: u32, pelt: *mut ::std::option::Option<ISpObjectToken>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
951         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(pelt), ::std::mem::transmute(pceltfetched)).ok()
952     }
Skip(&self, celt: u32) -> ::windows::runtime::Result<()>953     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
954         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
955     }
Reset(&self) -> ::windows::runtime::Result<()>956     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
957         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
958     }
Clone(&self) -> ::windows::runtime::Result<IEnumSpObjectTokens>959     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumSpObjectTokens> {
960         let mut result__: <IEnumSpObjectTokens as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
961         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumSpObjectTokens>(result__)
962     }
Item(&self, index: u32) -> ::windows::runtime::Result<ISpObjectToken>963     pub unsafe fn Item(&self, index: u32) -> ::windows::runtime::Result<ISpObjectToken> {
964         let mut result__: <ISpObjectToken as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
965         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<ISpObjectToken>(result__)
966     }
GetCount(&self, pcount: *mut u32) -> ::windows::runtime::Result<()>967     pub unsafe fn GetCount(&self, pcount: *mut u32) -> ::windows::runtime::Result<()> {
968         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(pcount)).ok()
969     }
970 }
971 unsafe impl ::windows::runtime::Interface for IEnumSpObjectTokens {
972     type Vtable = IEnumSpObjectTokens_abi;
973     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(112611230, 32730, 4562, [180, 242, 0, 192, 79, 121, 115, 150]);
974 }
975 impl ::std::convert::From<IEnumSpObjectTokens> for ::windows::runtime::IUnknown {
from(value: IEnumSpObjectTokens) -> Self976     fn from(value: IEnumSpObjectTokens) -> Self {
977         unsafe { ::std::mem::transmute(value) }
978     }
979 }
980 impl ::std::convert::From<&IEnumSpObjectTokens> for ::windows::runtime::IUnknown {
from(value: &IEnumSpObjectTokens) -> Self981     fn from(value: &IEnumSpObjectTokens) -> Self {
982         ::std::convert::From::from(::std::clone::Clone::clone(value))
983     }
984 }
985 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumSpObjectTokens {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>986     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
987         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
988     }
989 }
990 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumSpObjectTokens {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>991     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
992         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
993     }
994 }
995 #[repr(C)]
996 #[doc(hidden)]
997 pub struct IEnumSpObjectTokens_abi(
998     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
999     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1000     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1001     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, pelt: *mut ::windows::runtime::RawPtr, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
1002     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
1003     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1004     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1005     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: u32, pptoken: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1006     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcount: *mut u32) -> ::windows::runtime::HRESULT,
1007 );
1008 #[repr(transparent)]
1009 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1010 pub struct ISpAudio(::windows::runtime::IUnknown);
1011 impl ISpAudio {
Read(&self, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::Result<()>1012     pub unsafe fn Read(&self, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::Result<()> {
1013         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pv), ::std::mem::transmute(cb), ::std::mem::transmute(pcbread)).ok()
1014     }
Write(&self, pv: *const ::std::ffi::c_void, cb: u32) -> ::windows::runtime::Result<u32>1015     pub unsafe fn Write(&self, pv: *const ::std::ffi::c_void, cb: u32) -> ::windows::runtime::Result<u32> {
1016         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1017         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pv), ::std::mem::transmute(cb), &mut result__).from_abi::<u32>(result__)
1018     }
1019     #[cfg(feature = "Win32_System_Com")]
Seek(&self, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK) -> ::windows::runtime::Result<u64>1020     pub unsafe fn Seek(&self, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK) -> ::windows::runtime::Result<u64> {
1021         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1022         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(dlibmove), ::std::mem::transmute(dworigin), &mut result__).from_abi::<u64>(result__)
1023     }
SetSize(&self, libnewsize: u64) -> ::windows::runtime::Result<()>1024     pub unsafe fn SetSize(&self, libnewsize: u64) -> ::windows::runtime::Result<()> {
1025         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(libnewsize)).ok()
1026     }
1027     #[cfg(feature = "Win32_System_Com")]
CopyTo<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pstm: Param0, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows::runtime::Result<()>1028     pub unsafe fn CopyTo<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pstm: Param0, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows::runtime::Result<()> {
1029         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pstm.into_param().abi(), ::std::mem::transmute(cb), ::std::mem::transmute(pcbread), ::std::mem::transmute(pcbwritten)).ok()
1030     }
Commit(&self, grfcommitflags: u32) -> ::windows::runtime::Result<()>1031     pub unsafe fn Commit(&self, grfcommitflags: u32) -> ::windows::runtime::Result<()> {
1032         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(grfcommitflags)).ok()
1033     }
Revert(&self) -> ::windows::runtime::Result<()>1034     pub unsafe fn Revert(&self) -> ::windows::runtime::Result<()> {
1035         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
1036     }
LockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()>1037     pub unsafe fn LockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()> {
1038         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(liboffset), ::std::mem::transmute(cb), ::std::mem::transmute(dwlocktype)).ok()
1039     }
UnlockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()>1040     pub unsafe fn UnlockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()> {
1041         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(liboffset), ::std::mem::transmute(cb), ::std::mem::transmute(dwlocktype)).ok()
1042     }
1043     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
Stat(&self, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: u32) -> ::windows::runtime::Result<()>1044     pub unsafe fn Stat(&self, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: u32) -> ::windows::runtime::Result<()> {
1045         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(pstatstg), ::std::mem::transmute(grfstatflag)).ok()
1046     }
1047     #[cfg(feature = "Win32_System_Com")]
Clone(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream>1048     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream> {
1049         let mut result__: <super::super::System::Com::IStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1050         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::IStream>(result__)
1051     }
1052     #[cfg(feature = "Win32_Media_Multimedia")]
GetFormat(&self, pguidformatid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<*mut super::Multimedia::WAVEFORMATEX>1053     pub unsafe fn GetFormat(&self, pguidformatid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<*mut super::Multimedia::WAVEFORMATEX> {
1054         let mut result__: <*mut super::Multimedia::WAVEFORMATEX as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1055         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(pguidformatid), &mut result__).from_abi::<*mut super::Multimedia::WAVEFORMATEX>(result__)
1056     }
SetState(&self, newstate: SPAUDIOSTATE, ullreserved: u64) -> ::windows::runtime::Result<()>1057     pub unsafe fn SetState(&self, newstate: SPAUDIOSTATE, ullreserved: u64) -> ::windows::runtime::Result<()> {
1058         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(newstate), ::std::mem::transmute(ullreserved)).ok()
1059     }
1060     #[cfg(feature = "Win32_Media_Multimedia")]
SetFormat(&self, rguidfmtid: *const ::windows::runtime::GUID, pwaveformatex: *const super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()>1061     pub unsafe fn SetFormat(&self, rguidfmtid: *const ::windows::runtime::GUID, pwaveformatex: *const super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()> {
1062         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(rguidfmtid), ::std::mem::transmute(pwaveformatex)).ok()
1063     }
GetStatus(&self, pstatus: *mut SPAUDIOSTATUS) -> ::windows::runtime::Result<()>1064     pub unsafe fn GetStatus(&self, pstatus: *mut SPAUDIOSTATUS) -> ::windows::runtime::Result<()> {
1065         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(pstatus)).ok()
1066     }
SetBufferInfo(&self, pbuffinfo: *const SPAUDIOBUFFERINFO) -> ::windows::runtime::Result<()>1067     pub unsafe fn SetBufferInfo(&self, pbuffinfo: *const SPAUDIOBUFFERINFO) -> ::windows::runtime::Result<()> {
1068         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(pbuffinfo)).ok()
1069     }
GetBufferInfo(&self, pbuffinfo: *mut SPAUDIOBUFFERINFO) -> ::windows::runtime::Result<()>1070     pub unsafe fn GetBufferInfo(&self, pbuffinfo: *mut SPAUDIOBUFFERINFO) -> ::windows::runtime::Result<()> {
1071         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(pbuffinfo)).ok()
1072     }
1073     #[cfg(feature = "Win32_Media_Multimedia")]
GetDefaultFormat(&self, pformatid: *mut ::windows::runtime::GUID, ppcomemwaveformatex: *mut *mut super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()>1074     pub unsafe fn GetDefaultFormat(&self, pformatid: *mut ::windows::runtime::GUID, ppcomemwaveformatex: *mut *mut super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()> {
1075         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(pformatid), ::std::mem::transmute(ppcomemwaveformatex)).ok()
1076     }
1077     #[cfg(feature = "Win32_Foundation")]
EventHandle(&self) -> super::super::Foundation::HANDLE1078     pub unsafe fn EventHandle(&self) -> super::super::Foundation::HANDLE {
1079         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self)))
1080     }
GetVolumeLevel(&self, plevel: *mut u32) -> ::windows::runtime::Result<()>1081     pub unsafe fn GetVolumeLevel(&self, plevel: *mut u32) -> ::windows::runtime::Result<()> {
1082         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(plevel)).ok()
1083     }
SetVolumeLevel(&self, level: u32) -> ::windows::runtime::Result<()>1084     pub unsafe fn SetVolumeLevel(&self, level: u32) -> ::windows::runtime::Result<()> {
1085         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(level)).ok()
1086     }
GetBufferNotifySize(&self, pcbsize: *mut u32) -> ::windows::runtime::Result<()>1087     pub unsafe fn GetBufferNotifySize(&self, pcbsize: *mut u32) -> ::windows::runtime::Result<()> {
1088         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(pcbsize)).ok()
1089     }
SetBufferNotifySize(&self, cbsize: u32) -> ::windows::runtime::Result<()>1090     pub unsafe fn SetBufferNotifySize(&self, cbsize: u32) -> ::windows::runtime::Result<()> {
1091         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbsize)).ok()
1092     }
1093 }
1094 unsafe impl ::windows::runtime::Interface for ISpAudio {
1095     type Vtable = ISpAudio_abi;
1096     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3227285135, 64232, 20162, [142, 7, 51, 131, 33, 193, 36, 82]);
1097 }
1098 impl ::std::convert::From<ISpAudio> for ::windows::runtime::IUnknown {
from(value: ISpAudio) -> Self1099     fn from(value: ISpAudio) -> Self {
1100         unsafe { ::std::mem::transmute(value) }
1101     }
1102 }
1103 impl ::std::convert::From<&ISpAudio> for ::windows::runtime::IUnknown {
from(value: &ISpAudio) -> Self1104     fn from(value: &ISpAudio) -> Self {
1105         ::std::convert::From::from(::std::clone::Clone::clone(value))
1106     }
1107 }
1108 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpAudio {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1109     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1110         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1111     }
1112 }
1113 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpAudio {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1114     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1115         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1116     }
1117 }
1118 impl ::std::convert::From<ISpAudio> for ISpStreamFormat {
from(value: ISpAudio) -> Self1119     fn from(value: ISpAudio) -> Self {
1120         unsafe { ::std::mem::transmute(value) }
1121     }
1122 }
1123 impl ::std::convert::From<&ISpAudio> for ISpStreamFormat {
from(value: &ISpAudio) -> Self1124     fn from(value: &ISpAudio) -> Self {
1125         ::std::convert::From::from(::std::clone::Clone::clone(value))
1126     }
1127 }
1128 impl<'a> ::windows::runtime::IntoParam<'a, ISpStreamFormat> for ISpAudio {
into_param(self) -> ::windows::runtime::Param<'a, ISpStreamFormat>1129     fn into_param(self) -> ::windows::runtime::Param<'a, ISpStreamFormat> {
1130         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpStreamFormat>::into(self))
1131     }
1132 }
1133 impl<'a> ::windows::runtime::IntoParam<'a, ISpStreamFormat> for &ISpAudio {
into_param(self) -> ::windows::runtime::Param<'a, ISpStreamFormat>1134     fn into_param(self) -> ::windows::runtime::Param<'a, ISpStreamFormat> {
1135         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpStreamFormat>::into(::std::clone::Clone::clone(self)))
1136     }
1137 }
1138 #[cfg(feature = "Win32_System_Com")]
1139 impl ::std::convert::From<ISpAudio> for super::super::System::Com::IStream {
from(value: ISpAudio) -> Self1140     fn from(value: ISpAudio) -> Self {
1141         unsafe { ::std::mem::transmute(value) }
1142     }
1143 }
1144 #[cfg(feature = "Win32_System_Com")]
1145 impl ::std::convert::From<&ISpAudio> for super::super::System::Com::IStream {
from(value: &ISpAudio) -> Self1146     fn from(value: &ISpAudio) -> Self {
1147         ::std::convert::From::from(::std::clone::Clone::clone(value))
1148     }
1149 }
1150 #[cfg(feature = "Win32_System_Com")]
1151 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream> for ISpAudio {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream>1152     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream> {
1153         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::IStream>::into(self))
1154     }
1155 }
1156 #[cfg(feature = "Win32_System_Com")]
1157 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream> for &ISpAudio {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream>1158     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream> {
1159         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::IStream>::into(::std::clone::Clone::clone(self)))
1160     }
1161 }
1162 #[cfg(feature = "Win32_System_Com")]
1163 impl ::std::convert::From<ISpAudio> for super::super::System::Com::ISequentialStream {
from(value: ISpAudio) -> Self1164     fn from(value: ISpAudio) -> Self {
1165         unsafe { ::std::mem::transmute(value) }
1166     }
1167 }
1168 #[cfg(feature = "Win32_System_Com")]
1169 impl ::std::convert::From<&ISpAudio> for super::super::System::Com::ISequentialStream {
from(value: &ISpAudio) -> Self1170     fn from(value: &ISpAudio) -> Self {
1171         ::std::convert::From::from(::std::clone::Clone::clone(value))
1172     }
1173 }
1174 #[cfg(feature = "Win32_System_Com")]
1175 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::ISequentialStream> for ISpAudio {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream>1176     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream> {
1177         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::ISequentialStream>::into(self))
1178     }
1179 }
1180 #[cfg(feature = "Win32_System_Com")]
1181 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::ISequentialStream> for &ISpAudio {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream>1182     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream> {
1183         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::ISequentialStream>::into(::std::clone::Clone::clone(self)))
1184     }
1185 }
1186 #[repr(C)]
1187 #[doc(hidden)]
1188 pub struct ISpAudio_abi(
1189     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1190     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1191     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1192     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::HRESULT,
1193     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pv: *const ::std::ffi::c_void, cb: u32, pcbwritten: *mut u32) -> ::windows::runtime::HRESULT,
1194     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK, plibnewposition: *mut u64) -> ::windows::runtime::HRESULT,
1195     #[cfg(not(feature = "Win32_System_Com"))] usize,
1196     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, libnewsize: u64) -> ::windows::runtime::HRESULT,
1197     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstm: ::windows::runtime::RawPtr, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows::runtime::HRESULT,
1198     #[cfg(not(feature = "Win32_System_Com"))] usize,
1199     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, grfcommitflags: u32) -> ::windows::runtime::HRESULT,
1200     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1201     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::HRESULT,
1202     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::HRESULT,
1203     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: u32) -> ::windows::runtime::HRESULT,
1204     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
1205     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppstm: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1206     #[cfg(not(feature = "Win32_System_Com"))] usize,
1207     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidformatid: *const ::windows::runtime::GUID, ppcomemwaveformatex: *mut *mut super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::HRESULT,
1208     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
1209     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newstate: SPAUDIOSTATE, ullreserved: u64) -> ::windows::runtime::HRESULT,
1210     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rguidfmtid: *const ::windows::runtime::GUID, pwaveformatex: *const super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::HRESULT,
1211     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
1212     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstatus: *mut SPAUDIOSTATUS) -> ::windows::runtime::HRESULT,
1213     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbuffinfo: *const SPAUDIOBUFFERINFO) -> ::windows::runtime::HRESULT,
1214     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbuffinfo: *mut SPAUDIOBUFFERINFO) -> ::windows::runtime::HRESULT,
1215     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pformatid: *mut ::windows::runtime::GUID, ppcomemwaveformatex: *mut *mut super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::HRESULT,
1216     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
1217     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::HANDLE,
1218     #[cfg(not(feature = "Win32_Foundation"))] usize,
1219     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plevel: *mut u32) -> ::windows::runtime::HRESULT,
1220     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, level: u32) -> ::windows::runtime::HRESULT,
1221     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcbsize: *mut u32) -> ::windows::runtime::HRESULT,
1222     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbsize: u32) -> ::windows::runtime::HRESULT,
1223 );
1224 #[repr(transparent)]
1225 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1226 pub struct ISpContainerLexicon(::windows::runtime::IUnknown);
1227 impl ISpContainerLexicon {
1228     #[cfg(feature = "Win32_Foundation")]
GetPronunciations<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszword: Param0, langid: u16, dwflags: u32, pwordpronunciationlist: *mut SPWORDPRONUNCIATIONLIST) -> ::windows::runtime::Result<()>1229     pub unsafe fn GetPronunciations<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszword: Param0, langid: u16, dwflags: u32, pwordpronunciationlist: *mut SPWORDPRONUNCIATIONLIST) -> ::windows::runtime::Result<()> {
1230         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pszword.into_param().abi(), ::std::mem::transmute(langid), ::std::mem::transmute(dwflags), ::std::mem::transmute(pwordpronunciationlist)).ok()
1231     }
1232     #[cfg(feature = "Win32_Foundation")]
AddPronunciation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszword: Param0, langid: u16, epartofspeech: SPPARTOFSPEECH, pszpronunciation: *const u16) -> ::windows::runtime::Result<()>1233     pub unsafe fn AddPronunciation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszword: Param0, langid: u16, epartofspeech: SPPARTOFSPEECH, pszpronunciation: *const u16) -> ::windows::runtime::Result<()> {
1234         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pszword.into_param().abi(), ::std::mem::transmute(langid), ::std::mem::transmute(epartofspeech), ::std::mem::transmute(pszpronunciation)).ok()
1235     }
1236     #[cfg(feature = "Win32_Foundation")]
RemovePronunciation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszword: Param0, langid: u16, epartofspeech: SPPARTOFSPEECH, pszpronunciation: *const u16) -> ::windows::runtime::Result<()>1237     pub unsafe fn RemovePronunciation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszword: Param0, langid: u16, epartofspeech: SPPARTOFSPEECH, pszpronunciation: *const u16) -> ::windows::runtime::Result<()> {
1238         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pszword.into_param().abi(), ::std::mem::transmute(langid), ::std::mem::transmute(epartofspeech), ::std::mem::transmute(pszpronunciation)).ok()
1239     }
GetGeneration(&self, pdwgeneration: *mut u32) -> ::windows::runtime::Result<()>1240     pub unsafe fn GetGeneration(&self, pdwgeneration: *mut u32) -> ::windows::runtime::Result<()> {
1241         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdwgeneration)).ok()
1242     }
1243     #[cfg(feature = "Win32_Foundation")]
GetGenerationChange(&self, dwflags: u32, pdwgeneration: *mut u32, pwordlist: *mut SPWORDLIST) -> ::windows::runtime::Result<()>1244     pub unsafe fn GetGenerationChange(&self, dwflags: u32, pdwgeneration: *mut u32, pwordlist: *mut SPWORDLIST) -> ::windows::runtime::Result<()> {
1245         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwflags), ::std::mem::transmute(pdwgeneration), ::std::mem::transmute(pwordlist)).ok()
1246     }
1247     #[cfg(feature = "Win32_Foundation")]
GetWords(&self, dwflags: u32, pdwgeneration: *mut u32, pdwcookie: *mut u32, pwordlist: *mut SPWORDLIST) -> ::windows::runtime::Result<()>1248     pub unsafe fn GetWords(&self, dwflags: u32, pdwgeneration: *mut u32, pdwcookie: *mut u32, pwordlist: *mut SPWORDLIST) -> ::windows::runtime::Result<()> {
1249         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwflags), ::std::mem::transmute(pdwgeneration), ::std::mem::transmute(pdwcookie), ::std::mem::transmute(pwordlist)).ok()
1250     }
AddLexicon<'a, Param0: ::windows::runtime::IntoParam<'a, ISpLexicon>>(&self, paddlexicon: Param0, dwflags: u32) -> ::windows::runtime::Result<()>1251     pub unsafe fn AddLexicon<'a, Param0: ::windows::runtime::IntoParam<'a, ISpLexicon>>(&self, paddlexicon: Param0, dwflags: u32) -> ::windows::runtime::Result<()> {
1252         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), paddlexicon.into_param().abi(), ::std::mem::transmute(dwflags)).ok()
1253     }
1254 }
1255 unsafe impl ::windows::runtime::Interface for ISpContainerLexicon {
1256     type Vtable = ISpContainerLexicon_abi;
1257     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2238011183, 49300, 16844, [181, 110, 16, 189, 156, 63, 240, 68]);
1258 }
1259 impl ::std::convert::From<ISpContainerLexicon> for ::windows::runtime::IUnknown {
from(value: ISpContainerLexicon) -> Self1260     fn from(value: ISpContainerLexicon) -> Self {
1261         unsafe { ::std::mem::transmute(value) }
1262     }
1263 }
1264 impl ::std::convert::From<&ISpContainerLexicon> for ::windows::runtime::IUnknown {
from(value: &ISpContainerLexicon) -> Self1265     fn from(value: &ISpContainerLexicon) -> Self {
1266         ::std::convert::From::from(::std::clone::Clone::clone(value))
1267     }
1268 }
1269 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpContainerLexicon {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1270     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1271         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1272     }
1273 }
1274 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpContainerLexicon {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1275     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1276         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1277     }
1278 }
1279 impl ::std::convert::From<ISpContainerLexicon> for ISpLexicon {
from(value: ISpContainerLexicon) -> Self1280     fn from(value: ISpContainerLexicon) -> Self {
1281         unsafe { ::std::mem::transmute(value) }
1282     }
1283 }
1284 impl ::std::convert::From<&ISpContainerLexicon> for ISpLexicon {
from(value: &ISpContainerLexicon) -> Self1285     fn from(value: &ISpContainerLexicon) -> Self {
1286         ::std::convert::From::from(::std::clone::Clone::clone(value))
1287     }
1288 }
1289 impl<'a> ::windows::runtime::IntoParam<'a, ISpLexicon> for ISpContainerLexicon {
into_param(self) -> ::windows::runtime::Param<'a, ISpLexicon>1290     fn into_param(self) -> ::windows::runtime::Param<'a, ISpLexicon> {
1291         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpLexicon>::into(self))
1292     }
1293 }
1294 impl<'a> ::windows::runtime::IntoParam<'a, ISpLexicon> for &ISpContainerLexicon {
into_param(self) -> ::windows::runtime::Param<'a, ISpLexicon>1295     fn into_param(self) -> ::windows::runtime::Param<'a, ISpLexicon> {
1296         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpLexicon>::into(::std::clone::Clone::clone(self)))
1297     }
1298 }
1299 #[repr(C)]
1300 #[doc(hidden)]
1301 pub struct ISpContainerLexicon_abi(
1302     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1303     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1304     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1305     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszword: super::super::Foundation::PWSTR, langid: u16, dwflags: u32, pwordpronunciationlist: *mut SPWORDPRONUNCIATIONLIST) -> ::windows::runtime::HRESULT,
1306     #[cfg(not(feature = "Win32_Foundation"))] usize,
1307     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszword: super::super::Foundation::PWSTR, langid: u16, epartofspeech: SPPARTOFSPEECH, pszpronunciation: *const u16) -> ::windows::runtime::HRESULT,
1308     #[cfg(not(feature = "Win32_Foundation"))] usize,
1309     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszword: super::super::Foundation::PWSTR, langid: u16, epartofspeech: SPPARTOFSPEECH, pszpronunciation: *const u16) -> ::windows::runtime::HRESULT,
1310     #[cfg(not(feature = "Win32_Foundation"))] usize,
1311     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwgeneration: *mut u32) -> ::windows::runtime::HRESULT,
1312     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwflags: u32, pdwgeneration: *mut u32, pwordlist: *mut SPWORDLIST) -> ::windows::runtime::HRESULT,
1313     #[cfg(not(feature = "Win32_Foundation"))] usize,
1314     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwflags: u32, pdwgeneration: *mut u32, pdwcookie: *mut u32, pwordlist: *mut SPWORDLIST) -> ::windows::runtime::HRESULT,
1315     #[cfg(not(feature = "Win32_Foundation"))] usize,
1316     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paddlexicon: ::windows::runtime::RawPtr, dwflags: u32) -> ::windows::runtime::HRESULT,
1317 );
1318 #[repr(transparent)]
1319 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1320 pub struct ISpDataKey(::windows::runtime::IUnknown);
1321 impl ISpDataKey {
1322     #[cfg(feature = "Win32_Foundation")]
SetData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, cbdata: u32, pdata: *const u8) -> ::windows::runtime::Result<()>1323     pub unsafe fn SetData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, cbdata: u32, pdata: *const u8) -> ::windows::runtime::Result<()> {
1324         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi(), ::std::mem::transmute(cbdata), ::std::mem::transmute(pdata)).ok()
1325     }
1326     #[cfg(feature = "Win32_Foundation")]
GetData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, pcbdata: *mut u32, pdata: *mut u8) -> ::windows::runtime::Result<()>1327     pub unsafe fn GetData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, pcbdata: *mut u32, pdata: *mut u8) -> ::windows::runtime::Result<()> {
1328         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi(), ::std::mem::transmute(pcbdata), ::std::mem::transmute(pdata)).ok()
1329     }
1330     #[cfg(feature = "Win32_Foundation")]
SetStringValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, pszvalue: Param1) -> ::windows::runtime::Result<()>1331     pub unsafe fn SetStringValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, pszvalue: Param1) -> ::windows::runtime::Result<()> {
1332         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi(), pszvalue.into_param().abi()).ok()
1333     }
1334     #[cfg(feature = "Win32_Foundation")]
GetStringValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>1335     pub unsafe fn GetStringValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
1336         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1337         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
1338     }
1339     #[cfg(feature = "Win32_Foundation")]
SetDWORD<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, dwvalue: u32) -> ::windows::runtime::Result<()>1340     pub unsafe fn SetDWORD<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, dwvalue: u32) -> ::windows::runtime::Result<()> {
1341         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi(), ::std::mem::transmute(dwvalue)).ok()
1342     }
1343     #[cfg(feature = "Win32_Foundation")]
GetDWORD<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, pdwvalue: *mut u32) -> ::windows::runtime::Result<()>1344     pub unsafe fn GetDWORD<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, pdwvalue: *mut u32) -> ::windows::runtime::Result<()> {
1345         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi(), ::std::mem::transmute(pdwvalue)).ok()
1346     }
1347     #[cfg(feature = "Win32_Foundation")]
OpenKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszsubkeyname: Param0) -> ::windows::runtime::Result<ISpDataKey>1348     pub unsafe fn OpenKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszsubkeyname: Param0) -> ::windows::runtime::Result<ISpDataKey> {
1349         let mut result__: <ISpDataKey as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1350         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), pszsubkeyname.into_param().abi(), &mut result__).from_abi::<ISpDataKey>(result__)
1351     }
1352     #[cfg(feature = "Win32_Foundation")]
CreateKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszsubkey: Param0) -> ::windows::runtime::Result<ISpDataKey>1353     pub unsafe fn CreateKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszsubkey: Param0) -> ::windows::runtime::Result<ISpDataKey> {
1354         let mut result__: <ISpDataKey as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1355         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), pszsubkey.into_param().abi(), &mut result__).from_abi::<ISpDataKey>(result__)
1356     }
1357     #[cfg(feature = "Win32_Foundation")]
DeleteKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszsubkey: Param0) -> ::windows::runtime::Result<()>1358     pub unsafe fn DeleteKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszsubkey: Param0) -> ::windows::runtime::Result<()> {
1359         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), pszsubkey.into_param().abi()).ok()
1360     }
1361     #[cfg(feature = "Win32_Foundation")]
DeleteValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0) -> ::windows::runtime::Result<()>1362     pub unsafe fn DeleteValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0) -> ::windows::runtime::Result<()> {
1363         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi()).ok()
1364     }
1365     #[cfg(feature = "Win32_Foundation")]
EnumKeys(&self, index: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>1366     pub unsafe fn EnumKeys(&self, index: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
1367         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1368         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
1369     }
1370     #[cfg(feature = "Win32_Foundation")]
EnumValues(&self, index: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>1371     pub unsafe fn EnumValues(&self, index: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
1372         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1373         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
1374     }
1375 }
1376 unsafe impl ::windows::runtime::Interface for ISpDataKey {
1377     type Vtable = ISpDataKey_abi;
1378     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(335897985, 57708, 4562, [187, 144, 0, 192, 79, 142, 230, 192]);
1379 }
1380 impl ::std::convert::From<ISpDataKey> for ::windows::runtime::IUnknown {
from(value: ISpDataKey) -> Self1381     fn from(value: ISpDataKey) -> Self {
1382         unsafe { ::std::mem::transmute(value) }
1383     }
1384 }
1385 impl ::std::convert::From<&ISpDataKey> for ::windows::runtime::IUnknown {
from(value: &ISpDataKey) -> Self1386     fn from(value: &ISpDataKey) -> Self {
1387         ::std::convert::From::from(::std::clone::Clone::clone(value))
1388     }
1389 }
1390 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpDataKey {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1391     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1392         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1393     }
1394 }
1395 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpDataKey {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1396     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1397         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1398     }
1399 }
1400 #[repr(C)]
1401 #[doc(hidden)]
1402 pub struct ISpDataKey_abi(
1403     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1404     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1405     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1406     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR, cbdata: u32, pdata: *const u8) -> ::windows::runtime::HRESULT,
1407     #[cfg(not(feature = "Win32_Foundation"))] usize,
1408     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR, pcbdata: *mut u32, pdata: *mut u8) -> ::windows::runtime::HRESULT,
1409     #[cfg(not(feature = "Win32_Foundation"))] usize,
1410     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR, pszvalue: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1411     #[cfg(not(feature = "Win32_Foundation"))] usize,
1412     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR, ppszvalue: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1413     #[cfg(not(feature = "Win32_Foundation"))] usize,
1414     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR, dwvalue: u32) -> ::windows::runtime::HRESULT,
1415     #[cfg(not(feature = "Win32_Foundation"))] usize,
1416     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR, pdwvalue: *mut u32) -> ::windows::runtime::HRESULT,
1417     #[cfg(not(feature = "Win32_Foundation"))] usize,
1418     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszsubkeyname: super::super::Foundation::PWSTR, ppsubkey: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1419     #[cfg(not(feature = "Win32_Foundation"))] usize,
1420     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszsubkey: super::super::Foundation::PWSTR, ppsubkey: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1421     #[cfg(not(feature = "Win32_Foundation"))] usize,
1422     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszsubkey: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1423     #[cfg(not(feature = "Win32_Foundation"))] usize,
1424     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1425     #[cfg(not(feature = "Win32_Foundation"))] usize,
1426     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: u32, ppszsubkeyname: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1427     #[cfg(not(feature = "Win32_Foundation"))] usize,
1428     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: u32, ppszvaluename: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1429     #[cfg(not(feature = "Win32_Foundation"))] usize,
1430 );
1431 #[repr(transparent)]
1432 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1433 pub struct ISpDisplayAlternates(::windows::runtime::IUnknown);
1434 impl ISpDisplayAlternates {
1435     #[cfg(feature = "Win32_Foundation")]
GetDisplayAlternates(&self, pphrase: *const SPDISPLAYPHRASE, crequestcount: u32, ppcomemphrases: *mut *mut SPDISPLAYPHRASE, pcphrasesreturned: *mut u32) -> ::windows::runtime::Result<()>1436     pub unsafe fn GetDisplayAlternates(&self, pphrase: *const SPDISPLAYPHRASE, crequestcount: u32, ppcomemphrases: *mut *mut SPDISPLAYPHRASE, pcphrasesreturned: *mut u32) -> ::windows::runtime::Result<()> {
1437         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pphrase), ::std::mem::transmute(crequestcount), ::std::mem::transmute(ppcomemphrases), ::std::mem::transmute(pcphrasesreturned)).ok()
1438     }
SetFullStopTrailSpace(&self, ultrailspace: u32) -> ::windows::runtime::Result<()>1439     pub unsafe fn SetFullStopTrailSpace(&self, ultrailspace: u32) -> ::windows::runtime::Result<()> {
1440         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(ultrailspace)).ok()
1441     }
1442 }
1443 unsafe impl ::windows::runtime::Interface for ISpDisplayAlternates {
1444     type Vtable = ISpDisplayAlternates_abi;
1445     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3369584610, 3550, 17591, [175, 227, 176, 201, 145, 251, 235, 94]);
1446 }
1447 impl ::std::convert::From<ISpDisplayAlternates> for ::windows::runtime::IUnknown {
from(value: ISpDisplayAlternates) -> Self1448     fn from(value: ISpDisplayAlternates) -> Self {
1449         unsafe { ::std::mem::transmute(value) }
1450     }
1451 }
1452 impl ::std::convert::From<&ISpDisplayAlternates> for ::windows::runtime::IUnknown {
from(value: &ISpDisplayAlternates) -> Self1453     fn from(value: &ISpDisplayAlternates) -> Self {
1454         ::std::convert::From::from(::std::clone::Clone::clone(value))
1455     }
1456 }
1457 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpDisplayAlternates {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1458     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1459         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1460     }
1461 }
1462 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpDisplayAlternates {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1463     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1464         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1465     }
1466 }
1467 #[repr(C)]
1468 #[doc(hidden)]
1469 pub struct ISpDisplayAlternates_abi(
1470     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1471     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1472     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1473     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pphrase: *const SPDISPLAYPHRASE, crequestcount: u32, ppcomemphrases: *mut *mut SPDISPLAYPHRASE, pcphrasesreturned: *mut u32) -> ::windows::runtime::HRESULT,
1474     #[cfg(not(feature = "Win32_Foundation"))] usize,
1475     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ultrailspace: u32) -> ::windows::runtime::HRESULT,
1476 );
1477 #[repr(transparent)]
1478 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1479 pub struct ISpEnginePronunciation(::windows::runtime::IUnknown);
1480 impl ISpEnginePronunciation {
1481     #[cfg(feature = "Win32_Foundation")]
Normalize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszword: Param0, pszleftcontext: Param1, pszrightcontext: Param2, langid: u16, pnormalizationlist: *mut SPNORMALIZATIONLIST) -> ::windows::runtime::Result<()>1482     pub unsafe fn Normalize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszword: Param0, pszleftcontext: Param1, pszrightcontext: Param2, langid: u16, pnormalizationlist: *mut SPNORMALIZATIONLIST) -> ::windows::runtime::Result<()> {
1483         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pszword.into_param().abi(), pszleftcontext.into_param().abi(), pszrightcontext.into_param().abi(), ::std::mem::transmute(langid), ::std::mem::transmute(pnormalizationlist)).ok()
1484     }
1485     #[cfg(feature = "Win32_Foundation")]
GetPronunciations<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszword: Param0, pszleftcontext: Param1, pszrightcontext: Param2, langid: u16, penginepronunciationlist: *mut SPWORDPRONUNCIATIONLIST) -> ::windows::runtime::Result<()>1486     pub unsafe fn GetPronunciations<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszword: Param0, pszleftcontext: Param1, pszrightcontext: Param2, langid: u16, penginepronunciationlist: *mut SPWORDPRONUNCIATIONLIST) -> ::windows::runtime::Result<()> {
1487         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pszword.into_param().abi(), pszleftcontext.into_param().abi(), pszrightcontext.into_param().abi(), ::std::mem::transmute(langid), ::std::mem::transmute(penginepronunciationlist)).ok()
1488     }
1489 }
1490 unsafe impl ::windows::runtime::Interface for ISpEnginePronunciation {
1491     type Vtable = ISpEnginePronunciation_abi;
1492     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3277901387, 30417, 16916, [173, 104, 82, 101, 125, 80, 131, 218]);
1493 }
1494 impl ::std::convert::From<ISpEnginePronunciation> for ::windows::runtime::IUnknown {
from(value: ISpEnginePronunciation) -> Self1495     fn from(value: ISpEnginePronunciation) -> Self {
1496         unsafe { ::std::mem::transmute(value) }
1497     }
1498 }
1499 impl ::std::convert::From<&ISpEnginePronunciation> for ::windows::runtime::IUnknown {
from(value: &ISpEnginePronunciation) -> Self1500     fn from(value: &ISpEnginePronunciation) -> Self {
1501         ::std::convert::From::from(::std::clone::Clone::clone(value))
1502     }
1503 }
1504 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpEnginePronunciation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1505     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1506         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1507     }
1508 }
1509 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpEnginePronunciation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1510     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1511         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1512     }
1513 }
1514 #[repr(C)]
1515 #[doc(hidden)]
1516 pub struct ISpEnginePronunciation_abi(
1517     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1518     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1519     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1520     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszword: super::super::Foundation::PWSTR, pszleftcontext: super::super::Foundation::PWSTR, pszrightcontext: super::super::Foundation::PWSTR, langid: u16, pnormalizationlist: *mut SPNORMALIZATIONLIST) -> ::windows::runtime::HRESULT,
1521     #[cfg(not(feature = "Win32_Foundation"))] usize,
1522     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszword: super::super::Foundation::PWSTR, pszleftcontext: super::super::Foundation::PWSTR, pszrightcontext: super::super::Foundation::PWSTR, langid: u16, penginepronunciationlist: *mut SPWORDPRONUNCIATIONLIST) -> ::windows::runtime::HRESULT,
1523     #[cfg(not(feature = "Win32_Foundation"))] usize,
1524 );
1525 #[repr(transparent)]
1526 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1527 pub struct ISpEventSink(::windows::runtime::IUnknown);
1528 impl ISpEventSink {
1529     #[cfg(feature = "Win32_Foundation")]
AddEvents(&self, peventarray: *const SPEVENT, ulcount: u32) -> ::windows::runtime::Result<()>1530     pub unsafe fn AddEvents(&self, peventarray: *const SPEVENT, ulcount: u32) -> ::windows::runtime::Result<()> {
1531         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(peventarray), ::std::mem::transmute(ulcount)).ok()
1532     }
GetEventInterest(&self, pulleventinterest: *mut u64) -> ::windows::runtime::Result<()>1533     pub unsafe fn GetEventInterest(&self, pulleventinterest: *mut u64) -> ::windows::runtime::Result<()> {
1534         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pulleventinterest)).ok()
1535     }
1536 }
1537 unsafe impl ::windows::runtime::Interface for ISpEventSink {
1538     type Vtable = ISpEventSink_abi;
1539     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3195706569, 24478, 4562, [150, 15, 0, 192, 79, 142, 230, 40]);
1540 }
1541 impl ::std::convert::From<ISpEventSink> for ::windows::runtime::IUnknown {
from(value: ISpEventSink) -> Self1542     fn from(value: ISpEventSink) -> Self {
1543         unsafe { ::std::mem::transmute(value) }
1544     }
1545 }
1546 impl ::std::convert::From<&ISpEventSink> for ::windows::runtime::IUnknown {
from(value: &ISpEventSink) -> Self1547     fn from(value: &ISpEventSink) -> Self {
1548         ::std::convert::From::from(::std::clone::Clone::clone(value))
1549     }
1550 }
1551 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpEventSink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1552     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1553         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1554     }
1555 }
1556 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpEventSink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1557     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1558         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1559     }
1560 }
1561 #[repr(C)]
1562 #[doc(hidden)]
1563 pub struct ISpEventSink_abi(
1564     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1565     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1566     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1567     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, peventarray: *const SPEVENT, ulcount: u32) -> ::windows::runtime::HRESULT,
1568     #[cfg(not(feature = "Win32_Foundation"))] usize,
1569     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pulleventinterest: *mut u64) -> ::windows::runtime::HRESULT,
1570 );
1571 #[repr(transparent)]
1572 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1573 pub struct ISpEventSource(::windows::runtime::IUnknown);
1574 impl ISpEventSource {
SetNotifySink<'a, Param0: ::windows::runtime::IntoParam<'a, ISpNotifySink>>(&self, pnotifysink: Param0) -> ::windows::runtime::Result<()>1575     pub unsafe fn SetNotifySink<'a, Param0: ::windows::runtime::IntoParam<'a, ISpNotifySink>>(&self, pnotifysink: Param0) -> ::windows::runtime::Result<()> {
1576         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pnotifysink.into_param().abi()).ok()
1577     }
1578     #[cfg(feature = "Win32_Foundation")]
SetNotifyWindowMessage<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, hwnd: Param0, msg: u32, wparam: Param2, lparam: Param3) -> ::windows::runtime::Result<()>1579     pub unsafe fn SetNotifyWindowMessage<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, hwnd: Param0, msg: u32, wparam: Param2, lparam: Param3) -> ::windows::runtime::Result<()> {
1580         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), hwnd.into_param().abi(), ::std::mem::transmute(msg), wparam.into_param().abi(), lparam.into_param().abi()).ok()
1581     }
1582     #[cfg(feature = "Win32_Foundation")]
SetNotifyCallbackFunction<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, pfncallback: *mut ::std::option::Option<SPNOTIFYCALLBACK>, wparam: Param1, lparam: Param2) -> ::windows::runtime::Result<()>1583     pub unsafe fn SetNotifyCallbackFunction<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, pfncallback: *mut ::std::option::Option<SPNOTIFYCALLBACK>, wparam: Param1, lparam: Param2) -> ::windows::runtime::Result<()> {
1584         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pfncallback), wparam.into_param().abi(), lparam.into_param().abi()).ok()
1585     }
1586     #[cfg(feature = "Win32_Foundation")]
SetNotifyCallbackInterface<'a, Param0: ::windows::runtime::IntoParam<'a, ISpNotifyCallback>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, pspcallback: Param0, wparam: Param1, lparam: Param2) -> ::windows::runtime::Result<()>1587     pub unsafe fn SetNotifyCallbackInterface<'a, Param0: ::windows::runtime::IntoParam<'a, ISpNotifyCallback>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, pspcallback: Param0, wparam: Param1, lparam: Param2) -> ::windows::runtime::Result<()> {
1588         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pspcallback.into_param().abi(), wparam.into_param().abi(), lparam.into_param().abi()).ok()
1589     }
SetNotifyWin32Event(&self) -> ::windows::runtime::Result<()>1590     pub unsafe fn SetNotifyWin32Event(&self) -> ::windows::runtime::Result<()> {
1591         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
1592     }
WaitForNotifyEvent(&self, dwmilliseconds: u32) -> ::windows::runtime::Result<()>1593     pub unsafe fn WaitForNotifyEvent(&self, dwmilliseconds: u32) -> ::windows::runtime::Result<()> {
1594         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwmilliseconds)).ok()
1595     }
1596     #[cfg(feature = "Win32_Foundation")]
GetNotifyEventHandle(&self) -> super::super::Foundation::HANDLE1597     pub unsafe fn GetNotifyEventHandle(&self) -> super::super::Foundation::HANDLE {
1598         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)))
1599     }
SetInterest(&self, ulleventinterest: u64, ullqueuedinterest: u64) -> ::windows::runtime::Result<()>1600     pub unsafe fn SetInterest(&self, ulleventinterest: u64, ullqueuedinterest: u64) -> ::windows::runtime::Result<()> {
1601         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulleventinterest), ::std::mem::transmute(ullqueuedinterest)).ok()
1602     }
1603     #[cfg(feature = "Win32_Foundation")]
GetEvents(&self, ulcount: u32, peventarray: *mut SPEVENT, pulfetched: *mut u32) -> ::windows::runtime::Result<()>1604     pub unsafe fn GetEvents(&self, ulcount: u32, peventarray: *mut SPEVENT, pulfetched: *mut u32) -> ::windows::runtime::Result<()> {
1605         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulcount), ::std::mem::transmute(peventarray), ::std::mem::transmute(pulfetched)).ok()
1606     }
GetInfo(&self, pinfo: *mut SPEVENTSOURCEINFO) -> ::windows::runtime::Result<()>1607     pub unsafe fn GetInfo(&self, pinfo: *mut SPEVENTSOURCEINFO) -> ::windows::runtime::Result<()> {
1608         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(pinfo)).ok()
1609     }
1610 }
1611 unsafe impl ::windows::runtime::Interface for ISpEventSource {
1612     type Vtable = ISpEventSource_abi;
1613     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3195706574, 24478, 4562, [150, 15, 0, 192, 79, 142, 230, 40]);
1614 }
1615 impl ::std::convert::From<ISpEventSource> for ::windows::runtime::IUnknown {
from(value: ISpEventSource) -> Self1616     fn from(value: ISpEventSource) -> Self {
1617         unsafe { ::std::mem::transmute(value) }
1618     }
1619 }
1620 impl ::std::convert::From<&ISpEventSource> for ::windows::runtime::IUnknown {
from(value: &ISpEventSource) -> Self1621     fn from(value: &ISpEventSource) -> Self {
1622         ::std::convert::From::from(::std::clone::Clone::clone(value))
1623     }
1624 }
1625 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpEventSource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1626     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1627         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1628     }
1629 }
1630 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpEventSource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1631     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1632         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1633     }
1634 }
1635 impl ::std::convert::From<ISpEventSource> for ISpNotifySource {
from(value: ISpEventSource) -> Self1636     fn from(value: ISpEventSource) -> Self {
1637         unsafe { ::std::mem::transmute(value) }
1638     }
1639 }
1640 impl ::std::convert::From<&ISpEventSource> for ISpNotifySource {
from(value: &ISpEventSource) -> Self1641     fn from(value: &ISpEventSource) -> Self {
1642         ::std::convert::From::from(::std::clone::Clone::clone(value))
1643     }
1644 }
1645 impl<'a> ::windows::runtime::IntoParam<'a, ISpNotifySource> for ISpEventSource {
into_param(self) -> ::windows::runtime::Param<'a, ISpNotifySource>1646     fn into_param(self) -> ::windows::runtime::Param<'a, ISpNotifySource> {
1647         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpNotifySource>::into(self))
1648     }
1649 }
1650 impl<'a> ::windows::runtime::IntoParam<'a, ISpNotifySource> for &ISpEventSource {
into_param(self) -> ::windows::runtime::Param<'a, ISpNotifySource>1651     fn into_param(self) -> ::windows::runtime::Param<'a, ISpNotifySource> {
1652         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpNotifySource>::into(::std::clone::Clone::clone(self)))
1653     }
1654 }
1655 #[repr(C)]
1656 #[doc(hidden)]
1657 pub struct ISpEventSource_abi(
1658     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1659     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1660     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1661     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnotifysink: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1662     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, msg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> ::windows::runtime::HRESULT,
1663     #[cfg(not(feature = "Win32_Foundation"))] usize,
1664     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfncallback: *mut ::windows::runtime::RawPtr, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> ::windows::runtime::HRESULT,
1665     #[cfg(not(feature = "Win32_Foundation"))] usize,
1666     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pspcallback: ::windows::runtime::RawPtr, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> ::windows::runtime::HRESULT,
1667     #[cfg(not(feature = "Win32_Foundation"))] usize,
1668     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1669     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwmilliseconds: u32) -> ::windows::runtime::HRESULT,
1670     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::HANDLE,
1671     #[cfg(not(feature = "Win32_Foundation"))] usize,
1672     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulleventinterest: u64, ullqueuedinterest: u64) -> ::windows::runtime::HRESULT,
1673     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulcount: u32, peventarray: *mut SPEVENT, pulfetched: *mut u32) -> ::windows::runtime::HRESULT,
1674     #[cfg(not(feature = "Win32_Foundation"))] usize,
1675     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pinfo: *mut SPEVENTSOURCEINFO) -> ::windows::runtime::HRESULT,
1676 );
1677 #[repr(transparent)]
1678 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1679 pub struct ISpEventSource2(::windows::runtime::IUnknown);
1680 impl ISpEventSource2 {
SetNotifySink<'a, Param0: ::windows::runtime::IntoParam<'a, ISpNotifySink>>(&self, pnotifysink: Param0) -> ::windows::runtime::Result<()>1681     pub unsafe fn SetNotifySink<'a, Param0: ::windows::runtime::IntoParam<'a, ISpNotifySink>>(&self, pnotifysink: Param0) -> ::windows::runtime::Result<()> {
1682         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pnotifysink.into_param().abi()).ok()
1683     }
1684     #[cfg(feature = "Win32_Foundation")]
SetNotifyWindowMessage<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, hwnd: Param0, msg: u32, wparam: Param2, lparam: Param3) -> ::windows::runtime::Result<()>1685     pub unsafe fn SetNotifyWindowMessage<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, hwnd: Param0, msg: u32, wparam: Param2, lparam: Param3) -> ::windows::runtime::Result<()> {
1686         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), hwnd.into_param().abi(), ::std::mem::transmute(msg), wparam.into_param().abi(), lparam.into_param().abi()).ok()
1687     }
1688     #[cfg(feature = "Win32_Foundation")]
SetNotifyCallbackFunction<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, pfncallback: *mut ::std::option::Option<SPNOTIFYCALLBACK>, wparam: Param1, lparam: Param2) -> ::windows::runtime::Result<()>1689     pub unsafe fn SetNotifyCallbackFunction<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, pfncallback: *mut ::std::option::Option<SPNOTIFYCALLBACK>, wparam: Param1, lparam: Param2) -> ::windows::runtime::Result<()> {
1690         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pfncallback), wparam.into_param().abi(), lparam.into_param().abi()).ok()
1691     }
1692     #[cfg(feature = "Win32_Foundation")]
SetNotifyCallbackInterface<'a, Param0: ::windows::runtime::IntoParam<'a, ISpNotifyCallback>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, pspcallback: Param0, wparam: Param1, lparam: Param2) -> ::windows::runtime::Result<()>1693     pub unsafe fn SetNotifyCallbackInterface<'a, Param0: ::windows::runtime::IntoParam<'a, ISpNotifyCallback>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, pspcallback: Param0, wparam: Param1, lparam: Param2) -> ::windows::runtime::Result<()> {
1694         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pspcallback.into_param().abi(), wparam.into_param().abi(), lparam.into_param().abi()).ok()
1695     }
SetNotifyWin32Event(&self) -> ::windows::runtime::Result<()>1696     pub unsafe fn SetNotifyWin32Event(&self) -> ::windows::runtime::Result<()> {
1697         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
1698     }
WaitForNotifyEvent(&self, dwmilliseconds: u32) -> ::windows::runtime::Result<()>1699     pub unsafe fn WaitForNotifyEvent(&self, dwmilliseconds: u32) -> ::windows::runtime::Result<()> {
1700         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwmilliseconds)).ok()
1701     }
1702     #[cfg(feature = "Win32_Foundation")]
GetNotifyEventHandle(&self) -> super::super::Foundation::HANDLE1703     pub unsafe fn GetNotifyEventHandle(&self) -> super::super::Foundation::HANDLE {
1704         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)))
1705     }
SetInterest(&self, ulleventinterest: u64, ullqueuedinterest: u64) -> ::windows::runtime::Result<()>1706     pub unsafe fn SetInterest(&self, ulleventinterest: u64, ullqueuedinterest: u64) -> ::windows::runtime::Result<()> {
1707         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulleventinterest), ::std::mem::transmute(ullqueuedinterest)).ok()
1708     }
1709     #[cfg(feature = "Win32_Foundation")]
GetEvents(&self, ulcount: u32, peventarray: *mut SPEVENT, pulfetched: *mut u32) -> ::windows::runtime::Result<()>1710     pub unsafe fn GetEvents(&self, ulcount: u32, peventarray: *mut SPEVENT, pulfetched: *mut u32) -> ::windows::runtime::Result<()> {
1711         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulcount), ::std::mem::transmute(peventarray), ::std::mem::transmute(pulfetched)).ok()
1712     }
GetInfo(&self, pinfo: *mut SPEVENTSOURCEINFO) -> ::windows::runtime::Result<()>1713     pub unsafe fn GetInfo(&self, pinfo: *mut SPEVENTSOURCEINFO) -> ::windows::runtime::Result<()> {
1714         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(pinfo)).ok()
1715     }
1716     #[cfg(feature = "Win32_Foundation")]
GetEventsEx(&self, ulcount: u32, peventarray: *mut SPEVENTEX, pulfetched: *mut u32) -> ::windows::runtime::Result<()>1717     pub unsafe fn GetEventsEx(&self, ulcount: u32, peventarray: *mut SPEVENTEX, pulfetched: *mut u32) -> ::windows::runtime::Result<()> {
1718         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulcount), ::std::mem::transmute(peventarray), ::std::mem::transmute(pulfetched)).ok()
1719     }
1720 }
1721 unsafe impl ::windows::runtime::Interface for ISpEventSource2 {
1722     type Vtable = ISpEventSource2_abi;
1723     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(594781237, 27211, 17054, [166, 172, 212, 35, 26, 97, 151, 91]);
1724 }
1725 impl ::std::convert::From<ISpEventSource2> for ::windows::runtime::IUnknown {
from(value: ISpEventSource2) -> Self1726     fn from(value: ISpEventSource2) -> Self {
1727         unsafe { ::std::mem::transmute(value) }
1728     }
1729 }
1730 impl ::std::convert::From<&ISpEventSource2> for ::windows::runtime::IUnknown {
from(value: &ISpEventSource2) -> Self1731     fn from(value: &ISpEventSource2) -> Self {
1732         ::std::convert::From::from(::std::clone::Clone::clone(value))
1733     }
1734 }
1735 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpEventSource2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1736     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1737         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1738     }
1739 }
1740 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpEventSource2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1741     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1742         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1743     }
1744 }
1745 impl ::std::convert::From<ISpEventSource2> for ISpEventSource {
from(value: ISpEventSource2) -> Self1746     fn from(value: ISpEventSource2) -> Self {
1747         unsafe { ::std::mem::transmute(value) }
1748     }
1749 }
1750 impl ::std::convert::From<&ISpEventSource2> for ISpEventSource {
from(value: &ISpEventSource2) -> Self1751     fn from(value: &ISpEventSource2) -> Self {
1752         ::std::convert::From::from(::std::clone::Clone::clone(value))
1753     }
1754 }
1755 impl<'a> ::windows::runtime::IntoParam<'a, ISpEventSource> for ISpEventSource2 {
into_param(self) -> ::windows::runtime::Param<'a, ISpEventSource>1756     fn into_param(self) -> ::windows::runtime::Param<'a, ISpEventSource> {
1757         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpEventSource>::into(self))
1758     }
1759 }
1760 impl<'a> ::windows::runtime::IntoParam<'a, ISpEventSource> for &ISpEventSource2 {
into_param(self) -> ::windows::runtime::Param<'a, ISpEventSource>1761     fn into_param(self) -> ::windows::runtime::Param<'a, ISpEventSource> {
1762         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpEventSource>::into(::std::clone::Clone::clone(self)))
1763     }
1764 }
1765 impl ::std::convert::From<ISpEventSource2> for ISpNotifySource {
from(value: ISpEventSource2) -> Self1766     fn from(value: ISpEventSource2) -> Self {
1767         unsafe { ::std::mem::transmute(value) }
1768     }
1769 }
1770 impl ::std::convert::From<&ISpEventSource2> for ISpNotifySource {
from(value: &ISpEventSource2) -> Self1771     fn from(value: &ISpEventSource2) -> Self {
1772         ::std::convert::From::from(::std::clone::Clone::clone(value))
1773     }
1774 }
1775 impl<'a> ::windows::runtime::IntoParam<'a, ISpNotifySource> for ISpEventSource2 {
into_param(self) -> ::windows::runtime::Param<'a, ISpNotifySource>1776     fn into_param(self) -> ::windows::runtime::Param<'a, ISpNotifySource> {
1777         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpNotifySource>::into(self))
1778     }
1779 }
1780 impl<'a> ::windows::runtime::IntoParam<'a, ISpNotifySource> for &ISpEventSource2 {
into_param(self) -> ::windows::runtime::Param<'a, ISpNotifySource>1781     fn into_param(self) -> ::windows::runtime::Param<'a, ISpNotifySource> {
1782         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpNotifySource>::into(::std::clone::Clone::clone(self)))
1783     }
1784 }
1785 #[repr(C)]
1786 #[doc(hidden)]
1787 pub struct ISpEventSource2_abi(
1788     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1789     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1790     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1791     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnotifysink: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1792     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, msg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> ::windows::runtime::HRESULT,
1793     #[cfg(not(feature = "Win32_Foundation"))] usize,
1794     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfncallback: *mut ::windows::runtime::RawPtr, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> ::windows::runtime::HRESULT,
1795     #[cfg(not(feature = "Win32_Foundation"))] usize,
1796     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pspcallback: ::windows::runtime::RawPtr, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> ::windows::runtime::HRESULT,
1797     #[cfg(not(feature = "Win32_Foundation"))] usize,
1798     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1799     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwmilliseconds: u32) -> ::windows::runtime::HRESULT,
1800     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::HANDLE,
1801     #[cfg(not(feature = "Win32_Foundation"))] usize,
1802     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulleventinterest: u64, ullqueuedinterest: u64) -> ::windows::runtime::HRESULT,
1803     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulcount: u32, peventarray: *mut SPEVENT, pulfetched: *mut u32) -> ::windows::runtime::HRESULT,
1804     #[cfg(not(feature = "Win32_Foundation"))] usize,
1805     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pinfo: *mut SPEVENTSOURCEINFO) -> ::windows::runtime::HRESULT,
1806     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulcount: u32, peventarray: *mut SPEVENTEX, pulfetched: *mut u32) -> ::windows::runtime::HRESULT,
1807     #[cfg(not(feature = "Win32_Foundation"))] usize,
1808 );
1809 #[repr(transparent)]
1810 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1811 pub struct ISpGrammarBuilder(::windows::runtime::IUnknown);
1812 impl ISpGrammarBuilder {
ResetGrammar(&self, newlanguage: u16) -> ::windows::runtime::Result<()>1813     pub unsafe fn ResetGrammar(&self, newlanguage: u16) -> ::windows::runtime::Result<()> {
1814         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(newlanguage)).ok()
1815     }
1816     #[cfg(feature = "Win32_Foundation")]
GetRule<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pszrulename: Param0, dwruleid: u32, dwattributes: u32, fcreateifnotexist: Param3, phinitialstate: *mut *mut SPSTATEHANDLE__) -> ::windows::runtime::Result<()>1817     pub unsafe fn GetRule<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pszrulename: Param0, dwruleid: u32, dwattributes: u32, fcreateifnotexist: Param3, phinitialstate: *mut *mut SPSTATEHANDLE__) -> ::windows::runtime::Result<()> {
1818         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pszrulename.into_param().abi(), ::std::mem::transmute(dwruleid), ::std::mem::transmute(dwattributes), fcreateifnotexist.into_param().abi(), ::std::mem::transmute(phinitialstate)).ok()
1819     }
ClearRule(&self, hstate: *mut SPSTATEHANDLE__) -> ::windows::runtime::Result<()>1820     pub unsafe fn ClearRule(&self, hstate: *mut SPSTATEHANDLE__) -> ::windows::runtime::Result<()> {
1821         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(hstate)).ok()
1822     }
CreateNewState(&self, hstate: *mut SPSTATEHANDLE__, phstate: *mut *mut SPSTATEHANDLE__) -> ::windows::runtime::Result<()>1823     pub unsafe fn CreateNewState(&self, hstate: *mut SPSTATEHANDLE__, phstate: *mut *mut SPSTATEHANDLE__) -> ::windows::runtime::Result<()> {
1824         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(hstate), ::std::mem::transmute(phstate)).ok()
1825     }
1826     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
AddWordTransition<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, hfromstate: *mut SPSTATEHANDLE__, htostate: *mut SPSTATEHANDLE__, psz: Param2, pszseparators: Param3, ewordtype: SPGRAMMARWORDTYPE, weight: f32, ppropinfo: *const SPPROPERTYINFO) -> ::windows::runtime::Result<()>1827     pub unsafe fn AddWordTransition<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, hfromstate: *mut SPSTATEHANDLE__, htostate: *mut SPSTATEHANDLE__, psz: Param2, pszseparators: Param3, ewordtype: SPGRAMMARWORDTYPE, weight: f32, ppropinfo: *const SPPROPERTYINFO) -> ::windows::runtime::Result<()> {
1828         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(hfromstate), ::std::mem::transmute(htostate), psz.into_param().abi(), pszseparators.into_param().abi(), ::std::mem::transmute(ewordtype), ::std::mem::transmute(weight), ::std::mem::transmute(ppropinfo)).ok()
1829     }
1830     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
AddRuleTransition(&self, hfromstate: *mut SPSTATEHANDLE__, htostate: *mut SPSTATEHANDLE__, hrule: *mut SPSTATEHANDLE__, weight: f32, ppropinfo: *const SPPROPERTYINFO) -> ::windows::runtime::Result<()>1831     pub unsafe fn AddRuleTransition(&self, hfromstate: *mut SPSTATEHANDLE__, htostate: *mut SPSTATEHANDLE__, hrule: *mut SPSTATEHANDLE__, weight: f32, ppropinfo: *const SPPROPERTYINFO) -> ::windows::runtime::Result<()> {
1832         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(hfromstate), ::std::mem::transmute(htostate), ::std::mem::transmute(hrule), ::std::mem::transmute(weight), ::std::mem::transmute(ppropinfo)).ok()
1833     }
1834     #[cfg(feature = "Win32_Foundation")]
AddResource<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, hrulestate: *mut SPSTATEHANDLE__, pszresourcename: Param1, pszresourcevalue: Param2) -> ::windows::runtime::Result<()>1835     pub unsafe fn AddResource<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, hrulestate: *mut SPSTATEHANDLE__, pszresourcename: Param1, pszresourcevalue: Param2) -> ::windows::runtime::Result<()> {
1836         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(hrulestate), pszresourcename.into_param().abi(), pszresourcevalue.into_param().abi()).ok()
1837     }
Commit(&self, dwreserved: u32) -> ::windows::runtime::Result<()>1838     pub unsafe fn Commit(&self, dwreserved: u32) -> ::windows::runtime::Result<()> {
1839         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwreserved)).ok()
1840     }
1841 }
1842 unsafe impl ::windows::runtime::Interface for ISpGrammarBuilder {
1843     type Vtable = ISpGrammarBuilder_abi;
1844     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2167898767, 22810, 19010, [190, 88, 73, 234, 126, 186, 172, 104]);
1845 }
1846 impl ::std::convert::From<ISpGrammarBuilder> for ::windows::runtime::IUnknown {
from(value: ISpGrammarBuilder) -> Self1847     fn from(value: ISpGrammarBuilder) -> Self {
1848         unsafe { ::std::mem::transmute(value) }
1849     }
1850 }
1851 impl ::std::convert::From<&ISpGrammarBuilder> for ::windows::runtime::IUnknown {
from(value: &ISpGrammarBuilder) -> Self1852     fn from(value: &ISpGrammarBuilder) -> Self {
1853         ::std::convert::From::from(::std::clone::Clone::clone(value))
1854     }
1855 }
1856 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpGrammarBuilder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1857     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1858         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1859     }
1860 }
1861 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpGrammarBuilder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1862     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1863         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1864     }
1865 }
1866 #[repr(C)]
1867 #[doc(hidden)]
1868 pub struct ISpGrammarBuilder_abi(
1869     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1870     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1871     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1872     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newlanguage: u16) -> ::windows::runtime::HRESULT,
1873     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszrulename: super::super::Foundation::PWSTR, dwruleid: u32, dwattributes: u32, fcreateifnotexist: super::super::Foundation::BOOL, phinitialstate: *mut *mut SPSTATEHANDLE__) -> ::windows::runtime::HRESULT,
1874     #[cfg(not(feature = "Win32_Foundation"))] usize,
1875     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hstate: *mut SPSTATEHANDLE__) -> ::windows::runtime::HRESULT,
1876     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hstate: *mut SPSTATEHANDLE__, phstate: *mut *mut SPSTATEHANDLE__) -> ::windows::runtime::HRESULT,
1877     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hfromstate: *mut SPSTATEHANDLE__, htostate: *mut SPSTATEHANDLE__, psz: super::super::Foundation::PWSTR, pszseparators: super::super::Foundation::PWSTR, ewordtype: SPGRAMMARWORDTYPE, weight: f32, ppropinfo: *const ::std::mem::ManuallyDrop<SPPROPERTYINFO>) -> ::windows::runtime::HRESULT,
1878     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1879     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hfromstate: *mut SPSTATEHANDLE__, htostate: *mut SPSTATEHANDLE__, hrule: *mut SPSTATEHANDLE__, weight: f32, ppropinfo: *const ::std::mem::ManuallyDrop<SPPROPERTYINFO>) -> ::windows::runtime::HRESULT,
1880     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1881     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hrulestate: *mut SPSTATEHANDLE__, pszresourcename: super::super::Foundation::PWSTR, pszresourcevalue: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1882     #[cfg(not(feature = "Win32_Foundation"))] usize,
1883     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwreserved: u32) -> ::windows::runtime::HRESULT,
1884 );
1885 #[repr(transparent)]
1886 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1887 pub struct ISpGrammarBuilder2(::windows::runtime::IUnknown);
1888 impl ISpGrammarBuilder2 {
1889     #[cfg(feature = "Win32_Foundation")]
AddTextSubset<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, hfromstate: *mut SPSTATEHANDLE__, htostate: *mut SPSTATEHANDLE__, psz: Param2, ematchmode: SPMATCHINGMODE) -> ::windows::runtime::Result<()>1890     pub unsafe fn AddTextSubset<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, hfromstate: *mut SPSTATEHANDLE__, htostate: *mut SPSTATEHANDLE__, psz: Param2, ematchmode: SPMATCHINGMODE) -> ::windows::runtime::Result<()> {
1891         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(hfromstate), ::std::mem::transmute(htostate), psz.into_param().abi(), ::std::mem::transmute(ematchmode)).ok()
1892     }
SetPhoneticAlphabet(&self, phoneticalphabet: PHONETICALPHABET) -> ::windows::runtime::Result<()>1893     pub unsafe fn SetPhoneticAlphabet(&self, phoneticalphabet: PHONETICALPHABET) -> ::windows::runtime::Result<()> {
1894         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(phoneticalphabet)).ok()
1895     }
1896 }
1897 unsafe impl ::windows::runtime::Interface for ISpGrammarBuilder2 {
1898     type Vtable = ISpGrammarBuilder2_abi;
1899     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2326855718, 8396, 19232, [140, 34, 164, 156, 155, 167, 143, 96]);
1900 }
1901 impl ::std::convert::From<ISpGrammarBuilder2> for ::windows::runtime::IUnknown {
from(value: ISpGrammarBuilder2) -> Self1902     fn from(value: ISpGrammarBuilder2) -> Self {
1903         unsafe { ::std::mem::transmute(value) }
1904     }
1905 }
1906 impl ::std::convert::From<&ISpGrammarBuilder2> for ::windows::runtime::IUnknown {
from(value: &ISpGrammarBuilder2) -> Self1907     fn from(value: &ISpGrammarBuilder2) -> Self {
1908         ::std::convert::From::from(::std::clone::Clone::clone(value))
1909     }
1910 }
1911 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpGrammarBuilder2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1912     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1913         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1914     }
1915 }
1916 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpGrammarBuilder2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1917     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1918         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1919     }
1920 }
1921 #[repr(C)]
1922 #[doc(hidden)]
1923 pub struct ISpGrammarBuilder2_abi(
1924     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1925     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1926     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1927     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hfromstate: *mut SPSTATEHANDLE__, htostate: *mut SPSTATEHANDLE__, psz: super::super::Foundation::PWSTR, ematchmode: SPMATCHINGMODE) -> ::windows::runtime::HRESULT,
1928     #[cfg(not(feature = "Win32_Foundation"))] usize,
1929     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, phoneticalphabet: PHONETICALPHABET) -> ::windows::runtime::HRESULT,
1930 );
1931 #[repr(transparent)]
1932 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1933 pub struct ISpLexicon(::windows::runtime::IUnknown);
1934 impl ISpLexicon {
1935     #[cfg(feature = "Win32_Foundation")]
GetPronunciations<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszword: Param0, langid: u16, dwflags: u32, pwordpronunciationlist: *mut SPWORDPRONUNCIATIONLIST) -> ::windows::runtime::Result<()>1936     pub unsafe fn GetPronunciations<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszword: Param0, langid: u16, dwflags: u32, pwordpronunciationlist: *mut SPWORDPRONUNCIATIONLIST) -> ::windows::runtime::Result<()> {
1937         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pszword.into_param().abi(), ::std::mem::transmute(langid), ::std::mem::transmute(dwflags), ::std::mem::transmute(pwordpronunciationlist)).ok()
1938     }
1939     #[cfg(feature = "Win32_Foundation")]
AddPronunciation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszword: Param0, langid: u16, epartofspeech: SPPARTOFSPEECH, pszpronunciation: *const u16) -> ::windows::runtime::Result<()>1940     pub unsafe fn AddPronunciation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszword: Param0, langid: u16, epartofspeech: SPPARTOFSPEECH, pszpronunciation: *const u16) -> ::windows::runtime::Result<()> {
1941         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pszword.into_param().abi(), ::std::mem::transmute(langid), ::std::mem::transmute(epartofspeech), ::std::mem::transmute(pszpronunciation)).ok()
1942     }
1943     #[cfg(feature = "Win32_Foundation")]
RemovePronunciation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszword: Param0, langid: u16, epartofspeech: SPPARTOFSPEECH, pszpronunciation: *const u16) -> ::windows::runtime::Result<()>1944     pub unsafe fn RemovePronunciation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszword: Param0, langid: u16, epartofspeech: SPPARTOFSPEECH, pszpronunciation: *const u16) -> ::windows::runtime::Result<()> {
1945         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pszword.into_param().abi(), ::std::mem::transmute(langid), ::std::mem::transmute(epartofspeech), ::std::mem::transmute(pszpronunciation)).ok()
1946     }
GetGeneration(&self, pdwgeneration: *mut u32) -> ::windows::runtime::Result<()>1947     pub unsafe fn GetGeneration(&self, pdwgeneration: *mut u32) -> ::windows::runtime::Result<()> {
1948         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdwgeneration)).ok()
1949     }
1950     #[cfg(feature = "Win32_Foundation")]
GetGenerationChange(&self, dwflags: u32, pdwgeneration: *mut u32, pwordlist: *mut SPWORDLIST) -> ::windows::runtime::Result<()>1951     pub unsafe fn GetGenerationChange(&self, dwflags: u32, pdwgeneration: *mut u32, pwordlist: *mut SPWORDLIST) -> ::windows::runtime::Result<()> {
1952         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwflags), ::std::mem::transmute(pdwgeneration), ::std::mem::transmute(pwordlist)).ok()
1953     }
1954     #[cfg(feature = "Win32_Foundation")]
GetWords(&self, dwflags: u32, pdwgeneration: *mut u32, pdwcookie: *mut u32, pwordlist: *mut SPWORDLIST) -> ::windows::runtime::Result<()>1955     pub unsafe fn GetWords(&self, dwflags: u32, pdwgeneration: *mut u32, pdwcookie: *mut u32, pwordlist: *mut SPWORDLIST) -> ::windows::runtime::Result<()> {
1956         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwflags), ::std::mem::transmute(pdwgeneration), ::std::mem::transmute(pdwcookie), ::std::mem::transmute(pwordlist)).ok()
1957     }
1958 }
1959 unsafe impl ::windows::runtime::Interface for ISpLexicon {
1960     type Vtable = ISpLexicon_abi;
1961     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3661735874, 21379, 19890, [145, 107, 108, 23, 25, 227, 219, 88]);
1962 }
1963 impl ::std::convert::From<ISpLexicon> for ::windows::runtime::IUnknown {
from(value: ISpLexicon) -> Self1964     fn from(value: ISpLexicon) -> Self {
1965         unsafe { ::std::mem::transmute(value) }
1966     }
1967 }
1968 impl ::std::convert::From<&ISpLexicon> for ::windows::runtime::IUnknown {
from(value: &ISpLexicon) -> Self1969     fn from(value: &ISpLexicon) -> Self {
1970         ::std::convert::From::from(::std::clone::Clone::clone(value))
1971     }
1972 }
1973 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpLexicon {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1974     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1975         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1976     }
1977 }
1978 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpLexicon {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1979     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1980         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1981     }
1982 }
1983 #[repr(C)]
1984 #[doc(hidden)]
1985 pub struct ISpLexicon_abi(
1986     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1987     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1988     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1989     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszword: super::super::Foundation::PWSTR, langid: u16, dwflags: u32, pwordpronunciationlist: *mut SPWORDPRONUNCIATIONLIST) -> ::windows::runtime::HRESULT,
1990     #[cfg(not(feature = "Win32_Foundation"))] usize,
1991     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszword: super::super::Foundation::PWSTR, langid: u16, epartofspeech: SPPARTOFSPEECH, pszpronunciation: *const u16) -> ::windows::runtime::HRESULT,
1992     #[cfg(not(feature = "Win32_Foundation"))] usize,
1993     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszword: super::super::Foundation::PWSTR, langid: u16, epartofspeech: SPPARTOFSPEECH, pszpronunciation: *const u16) -> ::windows::runtime::HRESULT,
1994     #[cfg(not(feature = "Win32_Foundation"))] usize,
1995     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwgeneration: *mut u32) -> ::windows::runtime::HRESULT,
1996     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwflags: u32, pdwgeneration: *mut u32, pwordlist: *mut SPWORDLIST) -> ::windows::runtime::HRESULT,
1997     #[cfg(not(feature = "Win32_Foundation"))] usize,
1998     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwflags: u32, pdwgeneration: *mut u32, pdwcookie: *mut u32, pwordlist: *mut SPWORDLIST) -> ::windows::runtime::HRESULT,
1999     #[cfg(not(feature = "Win32_Foundation"))] usize,
2000 );
2001 #[repr(transparent)]
2002 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2003 pub struct ISpMMSysAudio(::windows::runtime::IUnknown);
2004 impl ISpMMSysAudio {
Read(&self, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::Result<()>2005     pub unsafe fn Read(&self, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::Result<()> {
2006         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pv), ::std::mem::transmute(cb), ::std::mem::transmute(pcbread)).ok()
2007     }
Write(&self, pv: *const ::std::ffi::c_void, cb: u32) -> ::windows::runtime::Result<u32>2008     pub unsafe fn Write(&self, pv: *const ::std::ffi::c_void, cb: u32) -> ::windows::runtime::Result<u32> {
2009         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2010         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pv), ::std::mem::transmute(cb), &mut result__).from_abi::<u32>(result__)
2011     }
2012     #[cfg(feature = "Win32_System_Com")]
Seek(&self, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK) -> ::windows::runtime::Result<u64>2013     pub unsafe fn Seek(&self, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK) -> ::windows::runtime::Result<u64> {
2014         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2015         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(dlibmove), ::std::mem::transmute(dworigin), &mut result__).from_abi::<u64>(result__)
2016     }
SetSize(&self, libnewsize: u64) -> ::windows::runtime::Result<()>2017     pub unsafe fn SetSize(&self, libnewsize: u64) -> ::windows::runtime::Result<()> {
2018         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(libnewsize)).ok()
2019     }
2020     #[cfg(feature = "Win32_System_Com")]
CopyTo<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pstm: Param0, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows::runtime::Result<()>2021     pub unsafe fn CopyTo<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pstm: Param0, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows::runtime::Result<()> {
2022         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pstm.into_param().abi(), ::std::mem::transmute(cb), ::std::mem::transmute(pcbread), ::std::mem::transmute(pcbwritten)).ok()
2023     }
Commit(&self, grfcommitflags: u32) -> ::windows::runtime::Result<()>2024     pub unsafe fn Commit(&self, grfcommitflags: u32) -> ::windows::runtime::Result<()> {
2025         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(grfcommitflags)).ok()
2026     }
Revert(&self) -> ::windows::runtime::Result<()>2027     pub unsafe fn Revert(&self) -> ::windows::runtime::Result<()> {
2028         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
2029     }
LockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()>2030     pub unsafe fn LockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()> {
2031         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(liboffset), ::std::mem::transmute(cb), ::std::mem::transmute(dwlocktype)).ok()
2032     }
UnlockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()>2033     pub unsafe fn UnlockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()> {
2034         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(liboffset), ::std::mem::transmute(cb), ::std::mem::transmute(dwlocktype)).ok()
2035     }
2036     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
Stat(&self, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: u32) -> ::windows::runtime::Result<()>2037     pub unsafe fn Stat(&self, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: u32) -> ::windows::runtime::Result<()> {
2038         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(pstatstg), ::std::mem::transmute(grfstatflag)).ok()
2039     }
2040     #[cfg(feature = "Win32_System_Com")]
Clone(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream>2041     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream> {
2042         let mut result__: <super::super::System::Com::IStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2043         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::IStream>(result__)
2044     }
2045     #[cfg(feature = "Win32_Media_Multimedia")]
GetFormat(&self, pguidformatid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<*mut super::Multimedia::WAVEFORMATEX>2046     pub unsafe fn GetFormat(&self, pguidformatid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<*mut super::Multimedia::WAVEFORMATEX> {
2047         let mut result__: <*mut super::Multimedia::WAVEFORMATEX as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2048         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(pguidformatid), &mut result__).from_abi::<*mut super::Multimedia::WAVEFORMATEX>(result__)
2049     }
SetState(&self, newstate: SPAUDIOSTATE, ullreserved: u64) -> ::windows::runtime::Result<()>2050     pub unsafe fn SetState(&self, newstate: SPAUDIOSTATE, ullreserved: u64) -> ::windows::runtime::Result<()> {
2051         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(newstate), ::std::mem::transmute(ullreserved)).ok()
2052     }
2053     #[cfg(feature = "Win32_Media_Multimedia")]
SetFormat(&self, rguidfmtid: *const ::windows::runtime::GUID, pwaveformatex: *const super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()>2054     pub unsafe fn SetFormat(&self, rguidfmtid: *const ::windows::runtime::GUID, pwaveformatex: *const super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()> {
2055         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(rguidfmtid), ::std::mem::transmute(pwaveformatex)).ok()
2056     }
GetStatus(&self, pstatus: *mut SPAUDIOSTATUS) -> ::windows::runtime::Result<()>2057     pub unsafe fn GetStatus(&self, pstatus: *mut SPAUDIOSTATUS) -> ::windows::runtime::Result<()> {
2058         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(pstatus)).ok()
2059     }
SetBufferInfo(&self, pbuffinfo: *const SPAUDIOBUFFERINFO) -> ::windows::runtime::Result<()>2060     pub unsafe fn SetBufferInfo(&self, pbuffinfo: *const SPAUDIOBUFFERINFO) -> ::windows::runtime::Result<()> {
2061         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(pbuffinfo)).ok()
2062     }
GetBufferInfo(&self, pbuffinfo: *mut SPAUDIOBUFFERINFO) -> ::windows::runtime::Result<()>2063     pub unsafe fn GetBufferInfo(&self, pbuffinfo: *mut SPAUDIOBUFFERINFO) -> ::windows::runtime::Result<()> {
2064         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(pbuffinfo)).ok()
2065     }
2066     #[cfg(feature = "Win32_Media_Multimedia")]
GetDefaultFormat(&self, pformatid: *mut ::windows::runtime::GUID, ppcomemwaveformatex: *mut *mut super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()>2067     pub unsafe fn GetDefaultFormat(&self, pformatid: *mut ::windows::runtime::GUID, ppcomemwaveformatex: *mut *mut super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()> {
2068         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(pformatid), ::std::mem::transmute(ppcomemwaveformatex)).ok()
2069     }
2070     #[cfg(feature = "Win32_Foundation")]
EventHandle(&self) -> super::super::Foundation::HANDLE2071     pub unsafe fn EventHandle(&self) -> super::super::Foundation::HANDLE {
2072         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self)))
2073     }
GetVolumeLevel(&self, plevel: *mut u32) -> ::windows::runtime::Result<()>2074     pub unsafe fn GetVolumeLevel(&self, plevel: *mut u32) -> ::windows::runtime::Result<()> {
2075         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(plevel)).ok()
2076     }
SetVolumeLevel(&self, level: u32) -> ::windows::runtime::Result<()>2077     pub unsafe fn SetVolumeLevel(&self, level: u32) -> ::windows::runtime::Result<()> {
2078         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(level)).ok()
2079     }
GetBufferNotifySize(&self, pcbsize: *mut u32) -> ::windows::runtime::Result<()>2080     pub unsafe fn GetBufferNotifySize(&self, pcbsize: *mut u32) -> ::windows::runtime::Result<()> {
2081         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(pcbsize)).ok()
2082     }
SetBufferNotifySize(&self, cbsize: u32) -> ::windows::runtime::Result<()>2083     pub unsafe fn SetBufferNotifySize(&self, cbsize: u32) -> ::windows::runtime::Result<()> {
2084         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbsize)).ok()
2085     }
GetDeviceId(&self, pudeviceid: *mut u32) -> ::windows::runtime::Result<()>2086     pub unsafe fn GetDeviceId(&self, pudeviceid: *mut u32) -> ::windows::runtime::Result<()> {
2087         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(pudeviceid)).ok()
2088     }
SetDeviceId(&self, udeviceid: u32) -> ::windows::runtime::Result<()>2089     pub unsafe fn SetDeviceId(&self, udeviceid: u32) -> ::windows::runtime::Result<()> {
2090         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(udeviceid)).ok()
2091     }
GetMMHandle(&self, phandle: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>2092     pub unsafe fn GetMMHandle(&self, phandle: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
2093         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(phandle)).ok()
2094     }
GetLineId(&self, pulineid: *mut u32) -> ::windows::runtime::Result<()>2095     pub unsafe fn GetLineId(&self, pulineid: *mut u32) -> ::windows::runtime::Result<()> {
2096         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(pulineid)).ok()
2097     }
SetLineId(&self, ulineid: u32) -> ::windows::runtime::Result<()>2098     pub unsafe fn SetLineId(&self, ulineid: u32) -> ::windows::runtime::Result<()> {
2099         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulineid)).ok()
2100     }
2101 }
2102 unsafe impl ::windows::runtime::Interface for ISpMMSysAudio {
2103     type Vtable = ISpMMSysAudio_abi;
2104     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(360738670, 7536, 19272, [152, 230, 59, 26, 0, 117, 9, 171]);
2105 }
2106 impl ::std::convert::From<ISpMMSysAudio> for ::windows::runtime::IUnknown {
from(value: ISpMMSysAudio) -> Self2107     fn from(value: ISpMMSysAudio) -> Self {
2108         unsafe { ::std::mem::transmute(value) }
2109     }
2110 }
2111 impl ::std::convert::From<&ISpMMSysAudio> for ::windows::runtime::IUnknown {
from(value: &ISpMMSysAudio) -> Self2112     fn from(value: &ISpMMSysAudio) -> Self {
2113         ::std::convert::From::from(::std::clone::Clone::clone(value))
2114     }
2115 }
2116 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpMMSysAudio {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2117     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2118         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2119     }
2120 }
2121 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpMMSysAudio {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2122     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2123         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2124     }
2125 }
2126 impl ::std::convert::From<ISpMMSysAudio> for ISpAudio {
from(value: ISpMMSysAudio) -> Self2127     fn from(value: ISpMMSysAudio) -> Self {
2128         unsafe { ::std::mem::transmute(value) }
2129     }
2130 }
2131 impl ::std::convert::From<&ISpMMSysAudio> for ISpAudio {
from(value: &ISpMMSysAudio) -> Self2132     fn from(value: &ISpMMSysAudio) -> Self {
2133         ::std::convert::From::from(::std::clone::Clone::clone(value))
2134     }
2135 }
2136 impl<'a> ::windows::runtime::IntoParam<'a, ISpAudio> for ISpMMSysAudio {
into_param(self) -> ::windows::runtime::Param<'a, ISpAudio>2137     fn into_param(self) -> ::windows::runtime::Param<'a, ISpAudio> {
2138         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpAudio>::into(self))
2139     }
2140 }
2141 impl<'a> ::windows::runtime::IntoParam<'a, ISpAudio> for &ISpMMSysAudio {
into_param(self) -> ::windows::runtime::Param<'a, ISpAudio>2142     fn into_param(self) -> ::windows::runtime::Param<'a, ISpAudio> {
2143         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpAudio>::into(::std::clone::Clone::clone(self)))
2144     }
2145 }
2146 impl ::std::convert::From<ISpMMSysAudio> for ISpStreamFormat {
from(value: ISpMMSysAudio) -> Self2147     fn from(value: ISpMMSysAudio) -> Self {
2148         unsafe { ::std::mem::transmute(value) }
2149     }
2150 }
2151 impl ::std::convert::From<&ISpMMSysAudio> for ISpStreamFormat {
from(value: &ISpMMSysAudio) -> Self2152     fn from(value: &ISpMMSysAudio) -> Self {
2153         ::std::convert::From::from(::std::clone::Clone::clone(value))
2154     }
2155 }
2156 impl<'a> ::windows::runtime::IntoParam<'a, ISpStreamFormat> for ISpMMSysAudio {
into_param(self) -> ::windows::runtime::Param<'a, ISpStreamFormat>2157     fn into_param(self) -> ::windows::runtime::Param<'a, ISpStreamFormat> {
2158         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpStreamFormat>::into(self))
2159     }
2160 }
2161 impl<'a> ::windows::runtime::IntoParam<'a, ISpStreamFormat> for &ISpMMSysAudio {
into_param(self) -> ::windows::runtime::Param<'a, ISpStreamFormat>2162     fn into_param(self) -> ::windows::runtime::Param<'a, ISpStreamFormat> {
2163         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpStreamFormat>::into(::std::clone::Clone::clone(self)))
2164     }
2165 }
2166 #[cfg(feature = "Win32_System_Com")]
2167 impl ::std::convert::From<ISpMMSysAudio> for super::super::System::Com::IStream {
from(value: ISpMMSysAudio) -> Self2168     fn from(value: ISpMMSysAudio) -> Self {
2169         unsafe { ::std::mem::transmute(value) }
2170     }
2171 }
2172 #[cfg(feature = "Win32_System_Com")]
2173 impl ::std::convert::From<&ISpMMSysAudio> for super::super::System::Com::IStream {
from(value: &ISpMMSysAudio) -> Self2174     fn from(value: &ISpMMSysAudio) -> Self {
2175         ::std::convert::From::from(::std::clone::Clone::clone(value))
2176     }
2177 }
2178 #[cfg(feature = "Win32_System_Com")]
2179 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream> for ISpMMSysAudio {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream>2180     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream> {
2181         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::IStream>::into(self))
2182     }
2183 }
2184 #[cfg(feature = "Win32_System_Com")]
2185 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream> for &ISpMMSysAudio {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream>2186     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream> {
2187         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::IStream>::into(::std::clone::Clone::clone(self)))
2188     }
2189 }
2190 #[cfg(feature = "Win32_System_Com")]
2191 impl ::std::convert::From<ISpMMSysAudio> for super::super::System::Com::ISequentialStream {
from(value: ISpMMSysAudio) -> Self2192     fn from(value: ISpMMSysAudio) -> Self {
2193         unsafe { ::std::mem::transmute(value) }
2194     }
2195 }
2196 #[cfg(feature = "Win32_System_Com")]
2197 impl ::std::convert::From<&ISpMMSysAudio> for super::super::System::Com::ISequentialStream {
from(value: &ISpMMSysAudio) -> Self2198     fn from(value: &ISpMMSysAudio) -> Self {
2199         ::std::convert::From::from(::std::clone::Clone::clone(value))
2200     }
2201 }
2202 #[cfg(feature = "Win32_System_Com")]
2203 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::ISequentialStream> for ISpMMSysAudio {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream>2204     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream> {
2205         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::ISequentialStream>::into(self))
2206     }
2207 }
2208 #[cfg(feature = "Win32_System_Com")]
2209 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::ISequentialStream> for &ISpMMSysAudio {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream>2210     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream> {
2211         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::ISequentialStream>::into(::std::clone::Clone::clone(self)))
2212     }
2213 }
2214 #[repr(C)]
2215 #[doc(hidden)]
2216 pub struct ISpMMSysAudio_abi(
2217     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2218     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2219     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2220     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::HRESULT,
2221     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pv: *const ::std::ffi::c_void, cb: u32, pcbwritten: *mut u32) -> ::windows::runtime::HRESULT,
2222     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK, plibnewposition: *mut u64) -> ::windows::runtime::HRESULT,
2223     #[cfg(not(feature = "Win32_System_Com"))] usize,
2224     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, libnewsize: u64) -> ::windows::runtime::HRESULT,
2225     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstm: ::windows::runtime::RawPtr, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows::runtime::HRESULT,
2226     #[cfg(not(feature = "Win32_System_Com"))] usize,
2227     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, grfcommitflags: u32) -> ::windows::runtime::HRESULT,
2228     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2229     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::HRESULT,
2230     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::HRESULT,
2231     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: u32) -> ::windows::runtime::HRESULT,
2232     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
2233     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppstm: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2234     #[cfg(not(feature = "Win32_System_Com"))] usize,
2235     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidformatid: *const ::windows::runtime::GUID, ppcomemwaveformatex: *mut *mut super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::HRESULT,
2236     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
2237     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newstate: SPAUDIOSTATE, ullreserved: u64) -> ::windows::runtime::HRESULT,
2238     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rguidfmtid: *const ::windows::runtime::GUID, pwaveformatex: *const super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::HRESULT,
2239     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
2240     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstatus: *mut SPAUDIOSTATUS) -> ::windows::runtime::HRESULT,
2241     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbuffinfo: *const SPAUDIOBUFFERINFO) -> ::windows::runtime::HRESULT,
2242     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbuffinfo: *mut SPAUDIOBUFFERINFO) -> ::windows::runtime::HRESULT,
2243     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pformatid: *mut ::windows::runtime::GUID, ppcomemwaveformatex: *mut *mut super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::HRESULT,
2244     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
2245     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::HANDLE,
2246     #[cfg(not(feature = "Win32_Foundation"))] usize,
2247     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plevel: *mut u32) -> ::windows::runtime::HRESULT,
2248     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, level: u32) -> ::windows::runtime::HRESULT,
2249     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcbsize: *mut u32) -> ::windows::runtime::HRESULT,
2250     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbsize: u32) -> ::windows::runtime::HRESULT,
2251     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pudeviceid: *mut u32) -> ::windows::runtime::HRESULT,
2252     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, udeviceid: u32) -> ::windows::runtime::HRESULT,
2253     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, phandle: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
2254     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pulineid: *mut u32) -> ::windows::runtime::HRESULT,
2255     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulineid: u32) -> ::windows::runtime::HRESULT,
2256 );
2257 #[repr(transparent)]
2258 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2259 pub struct ISpNotifyCallback(::windows::runtime::IUnknown);
2260 impl ISpNotifyCallback {
2261     #[cfg(feature = "Win32_Foundation")]
NotifyCallback<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, wparam: Param0, lparam: Param1) -> ::windows::runtime::Result<()>2262     pub unsafe fn NotifyCallback<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, wparam: Param0, lparam: Param1) -> ::windows::runtime::Result<()> {
2263         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), wparam.into_param().abi(), lparam.into_param().abi()).ok()
2264     }
2265 }
2266 unsafe impl ::windows::runtime::Interface for ISpNotifyCallback {
2267     type Vtable = ISpNotifyCallback_abi;
2268     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::zeroed();
2269 }
2270 impl ::std::convert::From<ISpNotifyCallback> for ::windows::runtime::IUnknown {
from(value: ISpNotifyCallback) -> Self2271     fn from(value: ISpNotifyCallback) -> Self {
2272         unsafe { ::std::mem::transmute(value) }
2273     }
2274 }
2275 impl ::std::convert::From<&ISpNotifyCallback> for ::windows::runtime::IUnknown {
from(value: &ISpNotifyCallback) -> Self2276     fn from(value: &ISpNotifyCallback) -> Self {
2277         ::std::convert::From::from(::std::clone::Clone::clone(value))
2278     }
2279 }
2280 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpNotifyCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2281     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2282         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2283     }
2284 }
2285 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpNotifyCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2286     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2287         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2288     }
2289 }
2290 #[repr(C)]
2291 #[doc(hidden)]
2292 pub struct ISpNotifyCallback_abi(
2293     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2294     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2295     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2296     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> ::windows::runtime::HRESULT,
2297     #[cfg(not(feature = "Win32_Foundation"))] usize,
2298 );
2299 #[repr(transparent)]
2300 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2301 pub struct ISpNotifySink(::windows::runtime::IUnknown);
2302 impl ISpNotifySink {
Notify(&self) -> ::windows::runtime::Result<()>2303     pub unsafe fn Notify(&self) -> ::windows::runtime::Result<()> {
2304         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
2305     }
2306 }
2307 unsafe impl ::windows::runtime::Interface for ISpNotifySink {
2308     type Vtable = ISpNotifySink_abi;
2309     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(630621404, 14275, 4562, [150, 3, 0, 192, 79, 142, 230, 40]);
2310 }
2311 impl ::std::convert::From<ISpNotifySink> for ::windows::runtime::IUnknown {
from(value: ISpNotifySink) -> Self2312     fn from(value: ISpNotifySink) -> Self {
2313         unsafe { ::std::mem::transmute(value) }
2314     }
2315 }
2316 impl ::std::convert::From<&ISpNotifySink> for ::windows::runtime::IUnknown {
from(value: &ISpNotifySink) -> Self2317     fn from(value: &ISpNotifySink) -> Self {
2318         ::std::convert::From::from(::std::clone::Clone::clone(value))
2319     }
2320 }
2321 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpNotifySink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2322     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2323         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2324     }
2325 }
2326 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpNotifySink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2327     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2328         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2329     }
2330 }
2331 #[repr(C)]
2332 #[doc(hidden)]
2333 pub struct ISpNotifySink_abi(
2334     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2335     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2336     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2337     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2338 );
2339 #[repr(transparent)]
2340 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2341 pub struct ISpNotifySource(::windows::runtime::IUnknown);
2342 impl ISpNotifySource {
SetNotifySink<'a, Param0: ::windows::runtime::IntoParam<'a, ISpNotifySink>>(&self, pnotifysink: Param0) -> ::windows::runtime::Result<()>2343     pub unsafe fn SetNotifySink<'a, Param0: ::windows::runtime::IntoParam<'a, ISpNotifySink>>(&self, pnotifysink: Param0) -> ::windows::runtime::Result<()> {
2344         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pnotifysink.into_param().abi()).ok()
2345     }
2346     #[cfg(feature = "Win32_Foundation")]
SetNotifyWindowMessage<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, hwnd: Param0, msg: u32, wparam: Param2, lparam: Param3) -> ::windows::runtime::Result<()>2347     pub unsafe fn SetNotifyWindowMessage<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, hwnd: Param0, msg: u32, wparam: Param2, lparam: Param3) -> ::windows::runtime::Result<()> {
2348         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), hwnd.into_param().abi(), ::std::mem::transmute(msg), wparam.into_param().abi(), lparam.into_param().abi()).ok()
2349     }
2350     #[cfg(feature = "Win32_Foundation")]
SetNotifyCallbackFunction<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, pfncallback: *mut ::std::option::Option<SPNOTIFYCALLBACK>, wparam: Param1, lparam: Param2) -> ::windows::runtime::Result<()>2351     pub unsafe fn SetNotifyCallbackFunction<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, pfncallback: *mut ::std::option::Option<SPNOTIFYCALLBACK>, wparam: Param1, lparam: Param2) -> ::windows::runtime::Result<()> {
2352         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pfncallback), wparam.into_param().abi(), lparam.into_param().abi()).ok()
2353     }
2354     #[cfg(feature = "Win32_Foundation")]
SetNotifyCallbackInterface<'a, Param0: ::windows::runtime::IntoParam<'a, ISpNotifyCallback>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, pspcallback: Param0, wparam: Param1, lparam: Param2) -> ::windows::runtime::Result<()>2355     pub unsafe fn SetNotifyCallbackInterface<'a, Param0: ::windows::runtime::IntoParam<'a, ISpNotifyCallback>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, pspcallback: Param0, wparam: Param1, lparam: Param2) -> ::windows::runtime::Result<()> {
2356         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pspcallback.into_param().abi(), wparam.into_param().abi(), lparam.into_param().abi()).ok()
2357     }
SetNotifyWin32Event(&self) -> ::windows::runtime::Result<()>2358     pub unsafe fn SetNotifyWin32Event(&self) -> ::windows::runtime::Result<()> {
2359         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
2360     }
WaitForNotifyEvent(&self, dwmilliseconds: u32) -> ::windows::runtime::Result<()>2361     pub unsafe fn WaitForNotifyEvent(&self, dwmilliseconds: u32) -> ::windows::runtime::Result<()> {
2362         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwmilliseconds)).ok()
2363     }
2364     #[cfg(feature = "Win32_Foundation")]
GetNotifyEventHandle(&self) -> super::super::Foundation::HANDLE2365     pub unsafe fn GetNotifyEventHandle(&self) -> super::super::Foundation::HANDLE {
2366         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)))
2367     }
2368 }
2369 unsafe impl ::windows::runtime::Interface for ISpNotifySource {
2370     type Vtable = ISpNotifySource_abi;
2371     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1593789167, 33927, 4562, [150, 28, 0, 192, 79, 142, 230, 40]);
2372 }
2373 impl ::std::convert::From<ISpNotifySource> for ::windows::runtime::IUnknown {
from(value: ISpNotifySource) -> Self2374     fn from(value: ISpNotifySource) -> Self {
2375         unsafe { ::std::mem::transmute(value) }
2376     }
2377 }
2378 impl ::std::convert::From<&ISpNotifySource> for ::windows::runtime::IUnknown {
from(value: &ISpNotifySource) -> Self2379     fn from(value: &ISpNotifySource) -> Self {
2380         ::std::convert::From::from(::std::clone::Clone::clone(value))
2381     }
2382 }
2383 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpNotifySource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2384     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2385         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2386     }
2387 }
2388 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpNotifySource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2389     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2390         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2391     }
2392 }
2393 #[repr(C)]
2394 #[doc(hidden)]
2395 pub struct ISpNotifySource_abi(
2396     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2397     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2398     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2399     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnotifysink: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2400     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, msg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> ::windows::runtime::HRESULT,
2401     #[cfg(not(feature = "Win32_Foundation"))] usize,
2402     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfncallback: *mut ::windows::runtime::RawPtr, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> ::windows::runtime::HRESULT,
2403     #[cfg(not(feature = "Win32_Foundation"))] usize,
2404     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pspcallback: ::windows::runtime::RawPtr, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> ::windows::runtime::HRESULT,
2405     #[cfg(not(feature = "Win32_Foundation"))] usize,
2406     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2407     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwmilliseconds: u32) -> ::windows::runtime::HRESULT,
2408     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::HANDLE,
2409     #[cfg(not(feature = "Win32_Foundation"))] usize,
2410 );
2411 #[repr(transparent)]
2412 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2413 pub struct ISpNotifyTranslator(::windows::runtime::IUnknown);
2414 impl ISpNotifyTranslator {
Notify(&self) -> ::windows::runtime::Result<()>2415     pub unsafe fn Notify(&self) -> ::windows::runtime::Result<()> {
2416         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
2417     }
2418     #[cfg(feature = "Win32_Foundation")]
InitWindowMessage<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, hwnd: Param0, msg: u32, wparam: Param2, lparam: Param3) -> ::windows::runtime::Result<()>2419     pub unsafe fn InitWindowMessage<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, hwnd: Param0, msg: u32, wparam: Param2, lparam: Param3) -> ::windows::runtime::Result<()> {
2420         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), hwnd.into_param().abi(), ::std::mem::transmute(msg), wparam.into_param().abi(), lparam.into_param().abi()).ok()
2421     }
2422     #[cfg(feature = "Win32_Foundation")]
InitCallback<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, pfncallback: *mut ::std::option::Option<SPNOTIFYCALLBACK>, wparam: Param1, lparam: Param2) -> ::windows::runtime::Result<()>2423     pub unsafe fn InitCallback<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, pfncallback: *mut ::std::option::Option<SPNOTIFYCALLBACK>, wparam: Param1, lparam: Param2) -> ::windows::runtime::Result<()> {
2424         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pfncallback), wparam.into_param().abi(), lparam.into_param().abi()).ok()
2425     }
2426     #[cfg(feature = "Win32_Foundation")]
InitSpNotifyCallback<'a, Param0: ::windows::runtime::IntoParam<'a, ISpNotifyCallback>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, pspcallback: Param0, wparam: Param1, lparam: Param2) -> ::windows::runtime::Result<()>2427     pub unsafe fn InitSpNotifyCallback<'a, Param0: ::windows::runtime::IntoParam<'a, ISpNotifyCallback>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, pspcallback: Param0, wparam: Param1, lparam: Param2) -> ::windows::runtime::Result<()> {
2428         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pspcallback.into_param().abi(), wparam.into_param().abi(), lparam.into_param().abi()).ok()
2429     }
2430     #[cfg(feature = "Win32_Foundation")]
InitWin32Event<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, hevent: Param0, fclosehandleonrelease: Param1) -> ::windows::runtime::Result<()>2431     pub unsafe fn InitWin32Event<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, hevent: Param0, fclosehandleonrelease: Param1) -> ::windows::runtime::Result<()> {
2432         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), hevent.into_param().abi(), fclosehandleonrelease.into_param().abi()).ok()
2433     }
Wait(&self, dwmilliseconds: u32) -> ::windows::runtime::Result<()>2434     pub unsafe fn Wait(&self, dwmilliseconds: u32) -> ::windows::runtime::Result<()> {
2435         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwmilliseconds)).ok()
2436     }
2437     #[cfg(feature = "Win32_Foundation")]
GetEventHandle(&self) -> super::super::Foundation::HANDLE2438     pub unsafe fn GetEventHandle(&self) -> super::super::Foundation::HANDLE {
2439         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)))
2440     }
2441 }
2442 unsafe impl ::windows::runtime::Interface for ISpNotifyTranslator {
2443     type Vtable = ISpNotifyTranslator_abi;
2444     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2896258580, 23869, 4562, [150, 14, 0, 192, 79, 142, 230, 40]);
2445 }
2446 impl ::std::convert::From<ISpNotifyTranslator> for ::windows::runtime::IUnknown {
from(value: ISpNotifyTranslator) -> Self2447     fn from(value: ISpNotifyTranslator) -> Self {
2448         unsafe { ::std::mem::transmute(value) }
2449     }
2450 }
2451 impl ::std::convert::From<&ISpNotifyTranslator> for ::windows::runtime::IUnknown {
from(value: &ISpNotifyTranslator) -> Self2452     fn from(value: &ISpNotifyTranslator) -> Self {
2453         ::std::convert::From::from(::std::clone::Clone::clone(value))
2454     }
2455 }
2456 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpNotifyTranslator {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2457     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2458         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2459     }
2460 }
2461 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpNotifyTranslator {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2462     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2463         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2464     }
2465 }
2466 impl ::std::convert::From<ISpNotifyTranslator> for ISpNotifySink {
from(value: ISpNotifyTranslator) -> Self2467     fn from(value: ISpNotifyTranslator) -> Self {
2468         unsafe { ::std::mem::transmute(value) }
2469     }
2470 }
2471 impl ::std::convert::From<&ISpNotifyTranslator> for ISpNotifySink {
from(value: &ISpNotifyTranslator) -> Self2472     fn from(value: &ISpNotifyTranslator) -> Self {
2473         ::std::convert::From::from(::std::clone::Clone::clone(value))
2474     }
2475 }
2476 impl<'a> ::windows::runtime::IntoParam<'a, ISpNotifySink> for ISpNotifyTranslator {
into_param(self) -> ::windows::runtime::Param<'a, ISpNotifySink>2477     fn into_param(self) -> ::windows::runtime::Param<'a, ISpNotifySink> {
2478         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpNotifySink>::into(self))
2479     }
2480 }
2481 impl<'a> ::windows::runtime::IntoParam<'a, ISpNotifySink> for &ISpNotifyTranslator {
into_param(self) -> ::windows::runtime::Param<'a, ISpNotifySink>2482     fn into_param(self) -> ::windows::runtime::Param<'a, ISpNotifySink> {
2483         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpNotifySink>::into(::std::clone::Clone::clone(self)))
2484     }
2485 }
2486 #[repr(C)]
2487 #[doc(hidden)]
2488 pub struct ISpNotifyTranslator_abi(
2489     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2490     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2491     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2492     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2493     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, msg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> ::windows::runtime::HRESULT,
2494     #[cfg(not(feature = "Win32_Foundation"))] usize,
2495     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfncallback: *mut ::windows::runtime::RawPtr, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> ::windows::runtime::HRESULT,
2496     #[cfg(not(feature = "Win32_Foundation"))] usize,
2497     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pspcallback: ::windows::runtime::RawPtr, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> ::windows::runtime::HRESULT,
2498     #[cfg(not(feature = "Win32_Foundation"))] usize,
2499     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hevent: super::super::Foundation::HANDLE, fclosehandleonrelease: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
2500     #[cfg(not(feature = "Win32_Foundation"))] usize,
2501     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwmilliseconds: u32) -> ::windows::runtime::HRESULT,
2502     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::HANDLE,
2503     #[cfg(not(feature = "Win32_Foundation"))] usize,
2504 );
2505 #[repr(transparent)]
2506 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2507 pub struct ISpObjectToken(::windows::runtime::IUnknown);
2508 impl ISpObjectToken {
2509     #[cfg(feature = "Win32_Foundation")]
SetData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, cbdata: u32, pdata: *const u8) -> ::windows::runtime::Result<()>2510     pub unsafe fn SetData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, cbdata: u32, pdata: *const u8) -> ::windows::runtime::Result<()> {
2511         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi(), ::std::mem::transmute(cbdata), ::std::mem::transmute(pdata)).ok()
2512     }
2513     #[cfg(feature = "Win32_Foundation")]
GetData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, pcbdata: *mut u32, pdata: *mut u8) -> ::windows::runtime::Result<()>2514     pub unsafe fn GetData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, pcbdata: *mut u32, pdata: *mut u8) -> ::windows::runtime::Result<()> {
2515         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi(), ::std::mem::transmute(pcbdata), ::std::mem::transmute(pdata)).ok()
2516     }
2517     #[cfg(feature = "Win32_Foundation")]
SetStringValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, pszvalue: Param1) -> ::windows::runtime::Result<()>2518     pub unsafe fn SetStringValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, pszvalue: Param1) -> ::windows::runtime::Result<()> {
2519         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi(), pszvalue.into_param().abi()).ok()
2520     }
2521     #[cfg(feature = "Win32_Foundation")]
GetStringValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>2522     pub unsafe fn GetStringValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
2523         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2524         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
2525     }
2526     #[cfg(feature = "Win32_Foundation")]
SetDWORD<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, dwvalue: u32) -> ::windows::runtime::Result<()>2527     pub unsafe fn SetDWORD<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, dwvalue: u32) -> ::windows::runtime::Result<()> {
2528         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi(), ::std::mem::transmute(dwvalue)).ok()
2529     }
2530     #[cfg(feature = "Win32_Foundation")]
GetDWORD<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, pdwvalue: *mut u32) -> ::windows::runtime::Result<()>2531     pub unsafe fn GetDWORD<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, pdwvalue: *mut u32) -> ::windows::runtime::Result<()> {
2532         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi(), ::std::mem::transmute(pdwvalue)).ok()
2533     }
2534     #[cfg(feature = "Win32_Foundation")]
OpenKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszsubkeyname: Param0) -> ::windows::runtime::Result<ISpDataKey>2535     pub unsafe fn OpenKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszsubkeyname: Param0) -> ::windows::runtime::Result<ISpDataKey> {
2536         let mut result__: <ISpDataKey as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2537         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), pszsubkeyname.into_param().abi(), &mut result__).from_abi::<ISpDataKey>(result__)
2538     }
2539     #[cfg(feature = "Win32_Foundation")]
CreateKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszsubkey: Param0) -> ::windows::runtime::Result<ISpDataKey>2540     pub unsafe fn CreateKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszsubkey: Param0) -> ::windows::runtime::Result<ISpDataKey> {
2541         let mut result__: <ISpDataKey as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2542         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), pszsubkey.into_param().abi(), &mut result__).from_abi::<ISpDataKey>(result__)
2543     }
2544     #[cfg(feature = "Win32_Foundation")]
DeleteKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszsubkey: Param0) -> ::windows::runtime::Result<()>2545     pub unsafe fn DeleteKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszsubkey: Param0) -> ::windows::runtime::Result<()> {
2546         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), pszsubkey.into_param().abi()).ok()
2547     }
2548     #[cfg(feature = "Win32_Foundation")]
DeleteValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0) -> ::windows::runtime::Result<()>2549     pub unsafe fn DeleteValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0) -> ::windows::runtime::Result<()> {
2550         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi()).ok()
2551     }
2552     #[cfg(feature = "Win32_Foundation")]
EnumKeys(&self, index: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>2553     pub unsafe fn EnumKeys(&self, index: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
2554         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2555         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
2556     }
2557     #[cfg(feature = "Win32_Foundation")]
EnumValues(&self, index: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>2558     pub unsafe fn EnumValues(&self, index: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
2559         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2560         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
2561     }
2562     #[cfg(feature = "Win32_Foundation")]
SetId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pszcategoryid: Param0, psztokenid: Param1, fcreateifnotexist: Param2) -> ::windows::runtime::Result<()>2563     pub unsafe fn SetId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pszcategoryid: Param0, psztokenid: Param1, fcreateifnotexist: Param2) -> ::windows::runtime::Result<()> {
2564         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), pszcategoryid.into_param().abi(), psztokenid.into_param().abi(), fcreateifnotexist.into_param().abi()).ok()
2565     }
2566     #[cfg(feature = "Win32_Foundation")]
GetId(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>2567     pub unsafe fn GetId(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
2568         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2569         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
2570     }
GetCategory(&self) -> ::windows::runtime::Result<ISpObjectTokenCategory>2571     pub unsafe fn GetCategory(&self) -> ::windows::runtime::Result<ISpObjectTokenCategory> {
2572         let mut result__: <ISpObjectTokenCategory as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2573         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpObjectTokenCategory>(result__)
2574     }
CreateInstance<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, punkouter: Param0, dwclscontext: u32, riid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>2575     pub unsafe fn CreateInstance<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, punkouter: Param0, dwclscontext: u32, riid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
2576         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), punkouter.into_param().abi(), ::std::mem::transmute(dwclscontext), ::std::mem::transmute(riid), ::std::mem::transmute(ppvobject)).ok()
2577     }
2578     #[cfg(feature = "Win32_Foundation")]
GetStorageFileName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, clsidcaller: *const ::windows::runtime::GUID, pszvaluename: Param1, pszfilenamespecifier: Param2, nfolder: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>2579     pub unsafe fn GetStorageFileName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, clsidcaller: *const ::windows::runtime::GUID, pszvaluename: Param1, pszfilenamespecifier: Param2, nfolder: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
2580         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2581         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(clsidcaller), pszvaluename.into_param().abi(), pszfilenamespecifier.into_param().abi(), ::std::mem::transmute(nfolder), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
2582     }
2583     #[cfg(feature = "Win32_Foundation")]
RemoveStorageFileName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, clsidcaller: *const ::windows::runtime::GUID, pszkeyname: Param1, fdeletefile: Param2) -> ::windows::runtime::Result<()>2584     pub unsafe fn RemoveStorageFileName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, clsidcaller: *const ::windows::runtime::GUID, pszkeyname: Param1, fdeletefile: Param2) -> ::windows::runtime::Result<()> {
2585         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(clsidcaller), pszkeyname.into_param().abi(), fdeletefile.into_param().abi()).ok()
2586     }
Remove(&self, pclsidcaller: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>2587     pub unsafe fn Remove(&self, pclsidcaller: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
2588         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(pclsidcaller)).ok()
2589     }
2590     #[cfg(feature = "Win32_Foundation")]
IsUISupported<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, psztypeofui: Param0, pvextradata: *mut ::std::ffi::c_void, cbextradata: u32, punkobject: Param3, pfsupported: *mut super::super::Foundation::BOOL) -> ::windows::runtime::Result<()>2591     pub unsafe fn IsUISupported<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, psztypeofui: Param0, pvextradata: *mut ::std::ffi::c_void, cbextradata: u32, punkobject: Param3, pfsupported: *mut super::super::Foundation::BOOL) -> ::windows::runtime::Result<()> {
2592         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), psztypeofui.into_param().abi(), ::std::mem::transmute(pvextradata), ::std::mem::transmute(cbextradata), punkobject.into_param().abi(), ::std::mem::transmute(pfsupported)).ok()
2593     }
2594     #[cfg(feature = "Win32_Foundation")]
DisplayUI<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param5: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>( &self, hwndparent: Param0, psztitle: Param1, psztypeofui: Param2, pvextradata: *mut ::std::ffi::c_void, cbextradata: u32, punkobject: Param5, ) -> ::windows::runtime::Result<()>2595     pub unsafe fn DisplayUI<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param5: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(
2596         &self,
2597         hwndparent: Param0,
2598         psztitle: Param1,
2599         psztypeofui: Param2,
2600         pvextradata: *mut ::std::ffi::c_void,
2601         cbextradata: u32,
2602         punkobject: Param5,
2603     ) -> ::windows::runtime::Result<()> {
2604         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), hwndparent.into_param().abi(), psztitle.into_param().abi(), psztypeofui.into_param().abi(), ::std::mem::transmute(pvextradata), ::std::mem::transmute(cbextradata), punkobject.into_param().abi()).ok()
2605     }
2606     #[cfg(feature = "Win32_Foundation")]
MatchesAttributes<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszattributes: Param0, pfmatches: *mut super::super::Foundation::BOOL) -> ::windows::runtime::Result<()>2607     pub unsafe fn MatchesAttributes<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszattributes: Param0, pfmatches: *mut super::super::Foundation::BOOL) -> ::windows::runtime::Result<()> {
2608         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), pszattributes.into_param().abi(), ::std::mem::transmute(pfmatches)).ok()
2609     }
2610 }
2611 unsafe impl ::windows::runtime::Interface for ISpObjectToken {
2612     type Vtable = ISpObjectToken_abi;
2613     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(335897993, 57708, 4562, [187, 144, 0, 192, 79, 142, 230, 192]);
2614 }
2615 impl ::std::convert::From<ISpObjectToken> for ::windows::runtime::IUnknown {
from(value: ISpObjectToken) -> Self2616     fn from(value: ISpObjectToken) -> Self {
2617         unsafe { ::std::mem::transmute(value) }
2618     }
2619 }
2620 impl ::std::convert::From<&ISpObjectToken> for ::windows::runtime::IUnknown {
from(value: &ISpObjectToken) -> Self2621     fn from(value: &ISpObjectToken) -> Self {
2622         ::std::convert::From::from(::std::clone::Clone::clone(value))
2623     }
2624 }
2625 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpObjectToken {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2626     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2627         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2628     }
2629 }
2630 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpObjectToken {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2631     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2632         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2633     }
2634 }
2635 impl ::std::convert::From<ISpObjectToken> for ISpDataKey {
from(value: ISpObjectToken) -> Self2636     fn from(value: ISpObjectToken) -> Self {
2637         unsafe { ::std::mem::transmute(value) }
2638     }
2639 }
2640 impl ::std::convert::From<&ISpObjectToken> for ISpDataKey {
from(value: &ISpObjectToken) -> Self2641     fn from(value: &ISpObjectToken) -> Self {
2642         ::std::convert::From::from(::std::clone::Clone::clone(value))
2643     }
2644 }
2645 impl<'a> ::windows::runtime::IntoParam<'a, ISpDataKey> for ISpObjectToken {
into_param(self) -> ::windows::runtime::Param<'a, ISpDataKey>2646     fn into_param(self) -> ::windows::runtime::Param<'a, ISpDataKey> {
2647         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpDataKey>::into(self))
2648     }
2649 }
2650 impl<'a> ::windows::runtime::IntoParam<'a, ISpDataKey> for &ISpObjectToken {
into_param(self) -> ::windows::runtime::Param<'a, ISpDataKey>2651     fn into_param(self) -> ::windows::runtime::Param<'a, ISpDataKey> {
2652         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpDataKey>::into(::std::clone::Clone::clone(self)))
2653     }
2654 }
2655 #[repr(C)]
2656 #[doc(hidden)]
2657 pub struct ISpObjectToken_abi(
2658     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2659     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2660     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2661     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR, cbdata: u32, pdata: *const u8) -> ::windows::runtime::HRESULT,
2662     #[cfg(not(feature = "Win32_Foundation"))] usize,
2663     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR, pcbdata: *mut u32, pdata: *mut u8) -> ::windows::runtime::HRESULT,
2664     #[cfg(not(feature = "Win32_Foundation"))] usize,
2665     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR, pszvalue: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2666     #[cfg(not(feature = "Win32_Foundation"))] usize,
2667     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR, ppszvalue: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2668     #[cfg(not(feature = "Win32_Foundation"))] usize,
2669     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR, dwvalue: u32) -> ::windows::runtime::HRESULT,
2670     #[cfg(not(feature = "Win32_Foundation"))] usize,
2671     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR, pdwvalue: *mut u32) -> ::windows::runtime::HRESULT,
2672     #[cfg(not(feature = "Win32_Foundation"))] usize,
2673     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszsubkeyname: super::super::Foundation::PWSTR, ppsubkey: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2674     #[cfg(not(feature = "Win32_Foundation"))] usize,
2675     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszsubkey: super::super::Foundation::PWSTR, ppsubkey: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2676     #[cfg(not(feature = "Win32_Foundation"))] usize,
2677     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszsubkey: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2678     #[cfg(not(feature = "Win32_Foundation"))] usize,
2679     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2680     #[cfg(not(feature = "Win32_Foundation"))] usize,
2681     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: u32, ppszsubkeyname: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2682     #[cfg(not(feature = "Win32_Foundation"))] usize,
2683     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: u32, ppszvaluename: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2684     #[cfg(not(feature = "Win32_Foundation"))] usize,
2685     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszcategoryid: super::super::Foundation::PWSTR, psztokenid: super::super::Foundation::PWSTR, fcreateifnotexist: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
2686     #[cfg(not(feature = "Win32_Foundation"))] usize,
2687     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppszcomemtokenid: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2688     #[cfg(not(feature = "Win32_Foundation"))] usize,
2689     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pptokencategory: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2690     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, punkouter: ::windows::runtime::RawPtr, dwclscontext: u32, riid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
2691     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, clsidcaller: *const ::windows::runtime::GUID, pszvaluename: super::super::Foundation::PWSTR, pszfilenamespecifier: super::super::Foundation::PWSTR, nfolder: u32, ppszfilepath: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2692     #[cfg(not(feature = "Win32_Foundation"))] usize,
2693     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, clsidcaller: *const ::windows::runtime::GUID, pszkeyname: super::super::Foundation::PWSTR, fdeletefile: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
2694     #[cfg(not(feature = "Win32_Foundation"))] usize,
2695     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclsidcaller: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2696     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psztypeofui: super::super::Foundation::PWSTR, pvextradata: *mut ::std::ffi::c_void, cbextradata: u32, punkobject: ::windows::runtime::RawPtr, pfsupported: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
2697     #[cfg(not(feature = "Win32_Foundation"))] usize,
2698     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwndparent: super::super::Foundation::HWND, psztitle: super::super::Foundation::PWSTR, psztypeofui: super::super::Foundation::PWSTR, pvextradata: *mut ::std::ffi::c_void, cbextradata: u32, punkobject: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2699     #[cfg(not(feature = "Win32_Foundation"))] usize,
2700     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszattributes: super::super::Foundation::PWSTR, pfmatches: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
2701     #[cfg(not(feature = "Win32_Foundation"))] usize,
2702 );
2703 #[repr(transparent)]
2704 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2705 pub struct ISpObjectTokenCategory(::windows::runtime::IUnknown);
2706 impl ISpObjectTokenCategory {
2707     #[cfg(feature = "Win32_Foundation")]
SetData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, cbdata: u32, pdata: *const u8) -> ::windows::runtime::Result<()>2708     pub unsafe fn SetData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, cbdata: u32, pdata: *const u8) -> ::windows::runtime::Result<()> {
2709         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi(), ::std::mem::transmute(cbdata), ::std::mem::transmute(pdata)).ok()
2710     }
2711     #[cfg(feature = "Win32_Foundation")]
GetData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, pcbdata: *mut u32, pdata: *mut u8) -> ::windows::runtime::Result<()>2712     pub unsafe fn GetData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, pcbdata: *mut u32, pdata: *mut u8) -> ::windows::runtime::Result<()> {
2713         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi(), ::std::mem::transmute(pcbdata), ::std::mem::transmute(pdata)).ok()
2714     }
2715     #[cfg(feature = "Win32_Foundation")]
SetStringValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, pszvalue: Param1) -> ::windows::runtime::Result<()>2716     pub unsafe fn SetStringValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, pszvalue: Param1) -> ::windows::runtime::Result<()> {
2717         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi(), pszvalue.into_param().abi()).ok()
2718     }
2719     #[cfg(feature = "Win32_Foundation")]
GetStringValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>2720     pub unsafe fn GetStringValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
2721         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2722         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
2723     }
2724     #[cfg(feature = "Win32_Foundation")]
SetDWORD<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, dwvalue: u32) -> ::windows::runtime::Result<()>2725     pub unsafe fn SetDWORD<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, dwvalue: u32) -> ::windows::runtime::Result<()> {
2726         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi(), ::std::mem::transmute(dwvalue)).ok()
2727     }
2728     #[cfg(feature = "Win32_Foundation")]
GetDWORD<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, pdwvalue: *mut u32) -> ::windows::runtime::Result<()>2729     pub unsafe fn GetDWORD<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, pdwvalue: *mut u32) -> ::windows::runtime::Result<()> {
2730         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi(), ::std::mem::transmute(pdwvalue)).ok()
2731     }
2732     #[cfg(feature = "Win32_Foundation")]
OpenKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszsubkeyname: Param0) -> ::windows::runtime::Result<ISpDataKey>2733     pub unsafe fn OpenKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszsubkeyname: Param0) -> ::windows::runtime::Result<ISpDataKey> {
2734         let mut result__: <ISpDataKey as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2735         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), pszsubkeyname.into_param().abi(), &mut result__).from_abi::<ISpDataKey>(result__)
2736     }
2737     #[cfg(feature = "Win32_Foundation")]
CreateKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszsubkey: Param0) -> ::windows::runtime::Result<ISpDataKey>2738     pub unsafe fn CreateKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszsubkey: Param0) -> ::windows::runtime::Result<ISpDataKey> {
2739         let mut result__: <ISpDataKey as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2740         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), pszsubkey.into_param().abi(), &mut result__).from_abi::<ISpDataKey>(result__)
2741     }
2742     #[cfg(feature = "Win32_Foundation")]
DeleteKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszsubkey: Param0) -> ::windows::runtime::Result<()>2743     pub unsafe fn DeleteKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszsubkey: Param0) -> ::windows::runtime::Result<()> {
2744         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), pszsubkey.into_param().abi()).ok()
2745     }
2746     #[cfg(feature = "Win32_Foundation")]
DeleteValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0) -> ::windows::runtime::Result<()>2747     pub unsafe fn DeleteValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0) -> ::windows::runtime::Result<()> {
2748         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi()).ok()
2749     }
2750     #[cfg(feature = "Win32_Foundation")]
EnumKeys(&self, index: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>2751     pub unsafe fn EnumKeys(&self, index: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
2752         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2753         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
2754     }
2755     #[cfg(feature = "Win32_Foundation")]
EnumValues(&self, index: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>2756     pub unsafe fn EnumValues(&self, index: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
2757         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2758         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
2759     }
2760     #[cfg(feature = "Win32_Foundation")]
SetId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pszcategoryid: Param0, fcreateifnotexist: Param1) -> ::windows::runtime::Result<()>2761     pub unsafe fn SetId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pszcategoryid: Param0, fcreateifnotexist: Param1) -> ::windows::runtime::Result<()> {
2762         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), pszcategoryid.into_param().abi(), fcreateifnotexist.into_param().abi()).ok()
2763     }
2764     #[cfg(feature = "Win32_Foundation")]
GetId(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>2765     pub unsafe fn GetId(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
2766         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2767         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
2768     }
GetDataKey(&self, spdkl: SPDATAKEYLOCATION) -> ::windows::runtime::Result<ISpDataKey>2769     pub unsafe fn GetDataKey(&self, spdkl: SPDATAKEYLOCATION) -> ::windows::runtime::Result<ISpDataKey> {
2770         let mut result__: <ISpDataKey as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2771         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(spdkl), &mut result__).from_abi::<ISpDataKey>(result__)
2772     }
2773     #[cfg(feature = "Win32_Foundation")]
EnumTokens<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pzsreqattribs: Param0, pszoptattribs: Param1) -> ::windows::runtime::Result<IEnumSpObjectTokens>2774     pub unsafe fn EnumTokens<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pzsreqattribs: Param0, pszoptattribs: Param1) -> ::windows::runtime::Result<IEnumSpObjectTokens> {
2775         let mut result__: <IEnumSpObjectTokens as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2776         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), pzsreqattribs.into_param().abi(), pszoptattribs.into_param().abi(), &mut result__).from_abi::<IEnumSpObjectTokens>(result__)
2777     }
2778     #[cfg(feature = "Win32_Foundation")]
SetDefaultTokenId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, psztokenid: Param0) -> ::windows::runtime::Result<()>2779     pub unsafe fn SetDefaultTokenId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, psztokenid: Param0) -> ::windows::runtime::Result<()> {
2780         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), psztokenid.into_param().abi()).ok()
2781     }
2782     #[cfg(feature = "Win32_Foundation")]
GetDefaultTokenId(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>2783     pub unsafe fn GetDefaultTokenId(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
2784         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2785         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
2786     }
2787 }
2788 unsafe impl ::windows::runtime::Interface for ISpObjectTokenCategory {
2789     type Vtable = ISpObjectTokenCategory_abi;
2790     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(758986821, 14767, 18512, [187, 249, 64, 180, 151, 128, 1, 29]);
2791 }
2792 impl ::std::convert::From<ISpObjectTokenCategory> for ::windows::runtime::IUnknown {
from(value: ISpObjectTokenCategory) -> Self2793     fn from(value: ISpObjectTokenCategory) -> Self {
2794         unsafe { ::std::mem::transmute(value) }
2795     }
2796 }
2797 impl ::std::convert::From<&ISpObjectTokenCategory> for ::windows::runtime::IUnknown {
from(value: &ISpObjectTokenCategory) -> Self2798     fn from(value: &ISpObjectTokenCategory) -> Self {
2799         ::std::convert::From::from(::std::clone::Clone::clone(value))
2800     }
2801 }
2802 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpObjectTokenCategory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2803     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2804         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2805     }
2806 }
2807 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpObjectTokenCategory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2808     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2809         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2810     }
2811 }
2812 impl ::std::convert::From<ISpObjectTokenCategory> for ISpDataKey {
from(value: ISpObjectTokenCategory) -> Self2813     fn from(value: ISpObjectTokenCategory) -> Self {
2814         unsafe { ::std::mem::transmute(value) }
2815     }
2816 }
2817 impl ::std::convert::From<&ISpObjectTokenCategory> for ISpDataKey {
from(value: &ISpObjectTokenCategory) -> Self2818     fn from(value: &ISpObjectTokenCategory) -> Self {
2819         ::std::convert::From::from(::std::clone::Clone::clone(value))
2820     }
2821 }
2822 impl<'a> ::windows::runtime::IntoParam<'a, ISpDataKey> for ISpObjectTokenCategory {
into_param(self) -> ::windows::runtime::Param<'a, ISpDataKey>2823     fn into_param(self) -> ::windows::runtime::Param<'a, ISpDataKey> {
2824         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpDataKey>::into(self))
2825     }
2826 }
2827 impl<'a> ::windows::runtime::IntoParam<'a, ISpDataKey> for &ISpObjectTokenCategory {
into_param(self) -> ::windows::runtime::Param<'a, ISpDataKey>2828     fn into_param(self) -> ::windows::runtime::Param<'a, ISpDataKey> {
2829         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpDataKey>::into(::std::clone::Clone::clone(self)))
2830     }
2831 }
2832 #[repr(C)]
2833 #[doc(hidden)]
2834 pub struct ISpObjectTokenCategory_abi(
2835     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2836     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2837     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2838     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR, cbdata: u32, pdata: *const u8) -> ::windows::runtime::HRESULT,
2839     #[cfg(not(feature = "Win32_Foundation"))] usize,
2840     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR, pcbdata: *mut u32, pdata: *mut u8) -> ::windows::runtime::HRESULT,
2841     #[cfg(not(feature = "Win32_Foundation"))] usize,
2842     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR, pszvalue: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2843     #[cfg(not(feature = "Win32_Foundation"))] usize,
2844     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR, ppszvalue: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2845     #[cfg(not(feature = "Win32_Foundation"))] usize,
2846     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR, dwvalue: u32) -> ::windows::runtime::HRESULT,
2847     #[cfg(not(feature = "Win32_Foundation"))] usize,
2848     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR, pdwvalue: *mut u32) -> ::windows::runtime::HRESULT,
2849     #[cfg(not(feature = "Win32_Foundation"))] usize,
2850     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszsubkeyname: super::super::Foundation::PWSTR, ppsubkey: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2851     #[cfg(not(feature = "Win32_Foundation"))] usize,
2852     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszsubkey: super::super::Foundation::PWSTR, ppsubkey: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2853     #[cfg(not(feature = "Win32_Foundation"))] usize,
2854     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszsubkey: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2855     #[cfg(not(feature = "Win32_Foundation"))] usize,
2856     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2857     #[cfg(not(feature = "Win32_Foundation"))] usize,
2858     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: u32, ppszsubkeyname: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2859     #[cfg(not(feature = "Win32_Foundation"))] usize,
2860     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: u32, ppszvaluename: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2861     #[cfg(not(feature = "Win32_Foundation"))] usize,
2862     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszcategoryid: super::super::Foundation::PWSTR, fcreateifnotexist: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
2863     #[cfg(not(feature = "Win32_Foundation"))] usize,
2864     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppszcomemcategoryid: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2865     #[cfg(not(feature = "Win32_Foundation"))] usize,
2866     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, spdkl: SPDATAKEYLOCATION, ppdatakey: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2867     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pzsreqattribs: super::super::Foundation::PWSTR, pszoptattribs: super::super::Foundation::PWSTR, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2868     #[cfg(not(feature = "Win32_Foundation"))] usize,
2869     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psztokenid: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2870     #[cfg(not(feature = "Win32_Foundation"))] usize,
2871     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppszcomemtokenid: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2872     #[cfg(not(feature = "Win32_Foundation"))] usize,
2873 );
2874 #[repr(transparent)]
2875 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2876 pub struct ISpObjectTokenInit(::windows::runtime::IUnknown);
2877 impl ISpObjectTokenInit {
2878     #[cfg(feature = "Win32_Foundation")]
SetData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, cbdata: u32, pdata: *const u8) -> ::windows::runtime::Result<()>2879     pub unsafe fn SetData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, cbdata: u32, pdata: *const u8) -> ::windows::runtime::Result<()> {
2880         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi(), ::std::mem::transmute(cbdata), ::std::mem::transmute(pdata)).ok()
2881     }
2882     #[cfg(feature = "Win32_Foundation")]
GetData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, pcbdata: *mut u32, pdata: *mut u8) -> ::windows::runtime::Result<()>2883     pub unsafe fn GetData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, pcbdata: *mut u32, pdata: *mut u8) -> ::windows::runtime::Result<()> {
2884         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi(), ::std::mem::transmute(pcbdata), ::std::mem::transmute(pdata)).ok()
2885     }
2886     #[cfg(feature = "Win32_Foundation")]
SetStringValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, pszvalue: Param1) -> ::windows::runtime::Result<()>2887     pub unsafe fn SetStringValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, pszvalue: Param1) -> ::windows::runtime::Result<()> {
2888         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi(), pszvalue.into_param().abi()).ok()
2889     }
2890     #[cfg(feature = "Win32_Foundation")]
GetStringValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>2891     pub unsafe fn GetStringValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
2892         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2893         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
2894     }
2895     #[cfg(feature = "Win32_Foundation")]
SetDWORD<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, dwvalue: u32) -> ::windows::runtime::Result<()>2896     pub unsafe fn SetDWORD<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, dwvalue: u32) -> ::windows::runtime::Result<()> {
2897         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi(), ::std::mem::transmute(dwvalue)).ok()
2898     }
2899     #[cfg(feature = "Win32_Foundation")]
GetDWORD<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, pdwvalue: *mut u32) -> ::windows::runtime::Result<()>2900     pub unsafe fn GetDWORD<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, pdwvalue: *mut u32) -> ::windows::runtime::Result<()> {
2901         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi(), ::std::mem::transmute(pdwvalue)).ok()
2902     }
2903     #[cfg(feature = "Win32_Foundation")]
OpenKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszsubkeyname: Param0) -> ::windows::runtime::Result<ISpDataKey>2904     pub unsafe fn OpenKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszsubkeyname: Param0) -> ::windows::runtime::Result<ISpDataKey> {
2905         let mut result__: <ISpDataKey as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2906         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), pszsubkeyname.into_param().abi(), &mut result__).from_abi::<ISpDataKey>(result__)
2907     }
2908     #[cfg(feature = "Win32_Foundation")]
CreateKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszsubkey: Param0) -> ::windows::runtime::Result<ISpDataKey>2909     pub unsafe fn CreateKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszsubkey: Param0) -> ::windows::runtime::Result<ISpDataKey> {
2910         let mut result__: <ISpDataKey as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2911         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), pszsubkey.into_param().abi(), &mut result__).from_abi::<ISpDataKey>(result__)
2912     }
2913     #[cfg(feature = "Win32_Foundation")]
DeleteKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszsubkey: Param0) -> ::windows::runtime::Result<()>2914     pub unsafe fn DeleteKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszsubkey: Param0) -> ::windows::runtime::Result<()> {
2915         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), pszsubkey.into_param().abi()).ok()
2916     }
2917     #[cfg(feature = "Win32_Foundation")]
DeleteValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0) -> ::windows::runtime::Result<()>2918     pub unsafe fn DeleteValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0) -> ::windows::runtime::Result<()> {
2919         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi()).ok()
2920     }
2921     #[cfg(feature = "Win32_Foundation")]
EnumKeys(&self, index: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>2922     pub unsafe fn EnumKeys(&self, index: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
2923         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2924         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
2925     }
2926     #[cfg(feature = "Win32_Foundation")]
EnumValues(&self, index: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>2927     pub unsafe fn EnumValues(&self, index: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
2928         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2929         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
2930     }
2931     #[cfg(feature = "Win32_Foundation")]
SetId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pszcategoryid: Param0, psztokenid: Param1, fcreateifnotexist: Param2) -> ::windows::runtime::Result<()>2932     pub unsafe fn SetId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pszcategoryid: Param0, psztokenid: Param1, fcreateifnotexist: Param2) -> ::windows::runtime::Result<()> {
2933         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), pszcategoryid.into_param().abi(), psztokenid.into_param().abi(), fcreateifnotexist.into_param().abi()).ok()
2934     }
2935     #[cfg(feature = "Win32_Foundation")]
GetId(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>2936     pub unsafe fn GetId(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
2937         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2938         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
2939     }
GetCategory(&self) -> ::windows::runtime::Result<ISpObjectTokenCategory>2940     pub unsafe fn GetCategory(&self) -> ::windows::runtime::Result<ISpObjectTokenCategory> {
2941         let mut result__: <ISpObjectTokenCategory as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2942         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpObjectTokenCategory>(result__)
2943     }
CreateInstance<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, punkouter: Param0, dwclscontext: u32, riid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>2944     pub unsafe fn CreateInstance<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, punkouter: Param0, dwclscontext: u32, riid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
2945         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), punkouter.into_param().abi(), ::std::mem::transmute(dwclscontext), ::std::mem::transmute(riid), ::std::mem::transmute(ppvobject)).ok()
2946     }
2947     #[cfg(feature = "Win32_Foundation")]
GetStorageFileName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, clsidcaller: *const ::windows::runtime::GUID, pszvaluename: Param1, pszfilenamespecifier: Param2, nfolder: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>2948     pub unsafe fn GetStorageFileName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, clsidcaller: *const ::windows::runtime::GUID, pszvaluename: Param1, pszfilenamespecifier: Param2, nfolder: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
2949         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2950         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(clsidcaller), pszvaluename.into_param().abi(), pszfilenamespecifier.into_param().abi(), ::std::mem::transmute(nfolder), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
2951     }
2952     #[cfg(feature = "Win32_Foundation")]
RemoveStorageFileName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, clsidcaller: *const ::windows::runtime::GUID, pszkeyname: Param1, fdeletefile: Param2) -> ::windows::runtime::Result<()>2953     pub unsafe fn RemoveStorageFileName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, clsidcaller: *const ::windows::runtime::GUID, pszkeyname: Param1, fdeletefile: Param2) -> ::windows::runtime::Result<()> {
2954         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(clsidcaller), pszkeyname.into_param().abi(), fdeletefile.into_param().abi()).ok()
2955     }
Remove(&self, pclsidcaller: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>2956     pub unsafe fn Remove(&self, pclsidcaller: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
2957         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(pclsidcaller)).ok()
2958     }
2959     #[cfg(feature = "Win32_Foundation")]
IsUISupported<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, psztypeofui: Param0, pvextradata: *mut ::std::ffi::c_void, cbextradata: u32, punkobject: Param3, pfsupported: *mut super::super::Foundation::BOOL) -> ::windows::runtime::Result<()>2960     pub unsafe fn IsUISupported<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, psztypeofui: Param0, pvextradata: *mut ::std::ffi::c_void, cbextradata: u32, punkobject: Param3, pfsupported: *mut super::super::Foundation::BOOL) -> ::windows::runtime::Result<()> {
2961         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), psztypeofui.into_param().abi(), ::std::mem::transmute(pvextradata), ::std::mem::transmute(cbextradata), punkobject.into_param().abi(), ::std::mem::transmute(pfsupported)).ok()
2962     }
2963     #[cfg(feature = "Win32_Foundation")]
DisplayUI<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param5: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>( &self, hwndparent: Param0, psztitle: Param1, psztypeofui: Param2, pvextradata: *mut ::std::ffi::c_void, cbextradata: u32, punkobject: Param5, ) -> ::windows::runtime::Result<()>2964     pub unsafe fn DisplayUI<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param5: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(
2965         &self,
2966         hwndparent: Param0,
2967         psztitle: Param1,
2968         psztypeofui: Param2,
2969         pvextradata: *mut ::std::ffi::c_void,
2970         cbextradata: u32,
2971         punkobject: Param5,
2972     ) -> ::windows::runtime::Result<()> {
2973         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), hwndparent.into_param().abi(), psztitle.into_param().abi(), psztypeofui.into_param().abi(), ::std::mem::transmute(pvextradata), ::std::mem::transmute(cbextradata), punkobject.into_param().abi()).ok()
2974     }
2975     #[cfg(feature = "Win32_Foundation")]
MatchesAttributes<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszattributes: Param0, pfmatches: *mut super::super::Foundation::BOOL) -> ::windows::runtime::Result<()>2976     pub unsafe fn MatchesAttributes<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszattributes: Param0, pfmatches: *mut super::super::Foundation::BOOL) -> ::windows::runtime::Result<()> {
2977         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), pszattributes.into_param().abi(), ::std::mem::transmute(pfmatches)).ok()
2978     }
2979     #[cfg(feature = "Win32_Foundation")]
InitFromDataKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, ISpDataKey>>(&self, pszcategoryid: Param0, psztokenid: Param1, pdatakey: Param2) -> ::windows::runtime::Result<()>2980     pub unsafe fn InitFromDataKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, ISpDataKey>>(&self, pszcategoryid: Param0, psztokenid: Param1, pdatakey: Param2) -> ::windows::runtime::Result<()> {
2981         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), pszcategoryid.into_param().abi(), psztokenid.into_param().abi(), pdatakey.into_param().abi()).ok()
2982     }
2983 }
2984 unsafe impl ::windows::runtime::Interface for ISpObjectTokenInit {
2985     type Vtable = ISpObjectTokenInit_abi;
2986     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3098194127, 13423, 18904, [148, 153, 200, 176, 63, 22, 29, 81]);
2987 }
2988 impl ::std::convert::From<ISpObjectTokenInit> for ::windows::runtime::IUnknown {
from(value: ISpObjectTokenInit) -> Self2989     fn from(value: ISpObjectTokenInit) -> Self {
2990         unsafe { ::std::mem::transmute(value) }
2991     }
2992 }
2993 impl ::std::convert::From<&ISpObjectTokenInit> for ::windows::runtime::IUnknown {
from(value: &ISpObjectTokenInit) -> Self2994     fn from(value: &ISpObjectTokenInit) -> Self {
2995         ::std::convert::From::from(::std::clone::Clone::clone(value))
2996     }
2997 }
2998 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpObjectTokenInit {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2999     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3000         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3001     }
3002 }
3003 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpObjectTokenInit {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3004     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3005         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3006     }
3007 }
3008 impl ::std::convert::From<ISpObjectTokenInit> for ISpObjectToken {
from(value: ISpObjectTokenInit) -> Self3009     fn from(value: ISpObjectTokenInit) -> Self {
3010         unsafe { ::std::mem::transmute(value) }
3011     }
3012 }
3013 impl ::std::convert::From<&ISpObjectTokenInit> for ISpObjectToken {
from(value: &ISpObjectTokenInit) -> Self3014     fn from(value: &ISpObjectTokenInit) -> Self {
3015         ::std::convert::From::from(::std::clone::Clone::clone(value))
3016     }
3017 }
3018 impl<'a> ::windows::runtime::IntoParam<'a, ISpObjectToken> for ISpObjectTokenInit {
into_param(self) -> ::windows::runtime::Param<'a, ISpObjectToken>3019     fn into_param(self) -> ::windows::runtime::Param<'a, ISpObjectToken> {
3020         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpObjectToken>::into(self))
3021     }
3022 }
3023 impl<'a> ::windows::runtime::IntoParam<'a, ISpObjectToken> for &ISpObjectTokenInit {
into_param(self) -> ::windows::runtime::Param<'a, ISpObjectToken>3024     fn into_param(self) -> ::windows::runtime::Param<'a, ISpObjectToken> {
3025         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpObjectToken>::into(::std::clone::Clone::clone(self)))
3026     }
3027 }
3028 impl ::std::convert::From<ISpObjectTokenInit> for ISpDataKey {
from(value: ISpObjectTokenInit) -> Self3029     fn from(value: ISpObjectTokenInit) -> Self {
3030         unsafe { ::std::mem::transmute(value) }
3031     }
3032 }
3033 impl ::std::convert::From<&ISpObjectTokenInit> for ISpDataKey {
from(value: &ISpObjectTokenInit) -> Self3034     fn from(value: &ISpObjectTokenInit) -> Self {
3035         ::std::convert::From::from(::std::clone::Clone::clone(value))
3036     }
3037 }
3038 impl<'a> ::windows::runtime::IntoParam<'a, ISpDataKey> for ISpObjectTokenInit {
into_param(self) -> ::windows::runtime::Param<'a, ISpDataKey>3039     fn into_param(self) -> ::windows::runtime::Param<'a, ISpDataKey> {
3040         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpDataKey>::into(self))
3041     }
3042 }
3043 impl<'a> ::windows::runtime::IntoParam<'a, ISpDataKey> for &ISpObjectTokenInit {
into_param(self) -> ::windows::runtime::Param<'a, ISpDataKey>3044     fn into_param(self) -> ::windows::runtime::Param<'a, ISpDataKey> {
3045         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpDataKey>::into(::std::clone::Clone::clone(self)))
3046     }
3047 }
3048 #[repr(C)]
3049 #[doc(hidden)]
3050 pub struct ISpObjectTokenInit_abi(
3051     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3052     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3053     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3054     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR, cbdata: u32, pdata: *const u8) -> ::windows::runtime::HRESULT,
3055     #[cfg(not(feature = "Win32_Foundation"))] usize,
3056     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR, pcbdata: *mut u32, pdata: *mut u8) -> ::windows::runtime::HRESULT,
3057     #[cfg(not(feature = "Win32_Foundation"))] usize,
3058     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR, pszvalue: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3059     #[cfg(not(feature = "Win32_Foundation"))] usize,
3060     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR, ppszvalue: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3061     #[cfg(not(feature = "Win32_Foundation"))] usize,
3062     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR, dwvalue: u32) -> ::windows::runtime::HRESULT,
3063     #[cfg(not(feature = "Win32_Foundation"))] usize,
3064     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR, pdwvalue: *mut u32) -> ::windows::runtime::HRESULT,
3065     #[cfg(not(feature = "Win32_Foundation"))] usize,
3066     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszsubkeyname: super::super::Foundation::PWSTR, ppsubkey: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3067     #[cfg(not(feature = "Win32_Foundation"))] usize,
3068     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszsubkey: super::super::Foundation::PWSTR, ppsubkey: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3069     #[cfg(not(feature = "Win32_Foundation"))] usize,
3070     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszsubkey: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3071     #[cfg(not(feature = "Win32_Foundation"))] usize,
3072     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3073     #[cfg(not(feature = "Win32_Foundation"))] usize,
3074     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: u32, ppszsubkeyname: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3075     #[cfg(not(feature = "Win32_Foundation"))] usize,
3076     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: u32, ppszvaluename: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3077     #[cfg(not(feature = "Win32_Foundation"))] usize,
3078     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszcategoryid: super::super::Foundation::PWSTR, psztokenid: super::super::Foundation::PWSTR, fcreateifnotexist: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3079     #[cfg(not(feature = "Win32_Foundation"))] usize,
3080     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppszcomemtokenid: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3081     #[cfg(not(feature = "Win32_Foundation"))] usize,
3082     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pptokencategory: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3083     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, punkouter: ::windows::runtime::RawPtr, dwclscontext: u32, riid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
3084     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, clsidcaller: *const ::windows::runtime::GUID, pszvaluename: super::super::Foundation::PWSTR, pszfilenamespecifier: super::super::Foundation::PWSTR, nfolder: u32, ppszfilepath: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3085     #[cfg(not(feature = "Win32_Foundation"))] usize,
3086     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, clsidcaller: *const ::windows::runtime::GUID, pszkeyname: super::super::Foundation::PWSTR, fdeletefile: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3087     #[cfg(not(feature = "Win32_Foundation"))] usize,
3088     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclsidcaller: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3089     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psztypeofui: super::super::Foundation::PWSTR, pvextradata: *mut ::std::ffi::c_void, cbextradata: u32, punkobject: ::windows::runtime::RawPtr, pfsupported: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3090     #[cfg(not(feature = "Win32_Foundation"))] usize,
3091     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwndparent: super::super::Foundation::HWND, psztitle: super::super::Foundation::PWSTR, psztypeofui: super::super::Foundation::PWSTR, pvextradata: *mut ::std::ffi::c_void, cbextradata: u32, punkobject: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3092     #[cfg(not(feature = "Win32_Foundation"))] usize,
3093     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszattributes: super::super::Foundation::PWSTR, pfmatches: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3094     #[cfg(not(feature = "Win32_Foundation"))] usize,
3095     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszcategoryid: super::super::Foundation::PWSTR, psztokenid: super::super::Foundation::PWSTR, pdatakey: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3096     #[cfg(not(feature = "Win32_Foundation"))] usize,
3097 );
3098 #[repr(transparent)]
3099 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3100 pub struct ISpObjectWithToken(::windows::runtime::IUnknown);
3101 impl ISpObjectWithToken {
SetObjectToken<'a, Param0: ::windows::runtime::IntoParam<'a, ISpObjectToken>>(&self, ptoken: Param0) -> ::windows::runtime::Result<()>3102     pub unsafe fn SetObjectToken<'a, Param0: ::windows::runtime::IntoParam<'a, ISpObjectToken>>(&self, ptoken: Param0) -> ::windows::runtime::Result<()> {
3103         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ptoken.into_param().abi()).ok()
3104     }
GetObjectToken(&self) -> ::windows::runtime::Result<ISpObjectToken>3105     pub unsafe fn GetObjectToken(&self) -> ::windows::runtime::Result<ISpObjectToken> {
3106         let mut result__: <ISpObjectToken as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3107         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpObjectToken>(result__)
3108     }
3109 }
3110 unsafe impl ::windows::runtime::Interface for ISpObjectWithToken {
3111     type Vtable = ISpObjectWithToken_abi;
3112     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1532337984, 59730, 4562, [187, 145, 0, 192, 79, 142, 230, 192]);
3113 }
3114 impl ::std::convert::From<ISpObjectWithToken> for ::windows::runtime::IUnknown {
from(value: ISpObjectWithToken) -> Self3115     fn from(value: ISpObjectWithToken) -> Self {
3116         unsafe { ::std::mem::transmute(value) }
3117     }
3118 }
3119 impl ::std::convert::From<&ISpObjectWithToken> for ::windows::runtime::IUnknown {
from(value: &ISpObjectWithToken) -> Self3120     fn from(value: &ISpObjectWithToken) -> Self {
3121         ::std::convert::From::from(::std::clone::Clone::clone(value))
3122     }
3123 }
3124 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpObjectWithToken {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3125     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3126         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3127     }
3128 }
3129 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpObjectWithToken {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3130     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3131         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3132     }
3133 }
3134 #[repr(C)]
3135 #[doc(hidden)]
3136 pub struct ISpObjectWithToken_abi(
3137     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3138     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3139     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3140     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptoken: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3141     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pptoken: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3142 );
3143 #[repr(transparent)]
3144 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3145 pub struct ISpPhoneConverter(::windows::runtime::IUnknown);
3146 impl ISpPhoneConverter {
SetObjectToken<'a, Param0: ::windows::runtime::IntoParam<'a, ISpObjectToken>>(&self, ptoken: Param0) -> ::windows::runtime::Result<()>3147     pub unsafe fn SetObjectToken<'a, Param0: ::windows::runtime::IntoParam<'a, ISpObjectToken>>(&self, ptoken: Param0) -> ::windows::runtime::Result<()> {
3148         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ptoken.into_param().abi()).ok()
3149     }
GetObjectToken(&self) -> ::windows::runtime::Result<ISpObjectToken>3150     pub unsafe fn GetObjectToken(&self) -> ::windows::runtime::Result<ISpObjectToken> {
3151         let mut result__: <ISpObjectToken as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3152         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpObjectToken>(result__)
3153     }
3154     #[cfg(feature = "Win32_Foundation")]
PhoneToId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszphone: Param0) -> ::windows::runtime::Result<u16>3155     pub unsafe fn PhoneToId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszphone: Param0) -> ::windows::runtime::Result<u16> {
3156         let mut result__: <u16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3157         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pszphone.into_param().abi(), &mut result__).from_abi::<u16>(result__)
3158     }
3159     #[cfg(feature = "Win32_Foundation")]
IdToPhone(&self, pid: *const u16, pszphone: super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()>3160     pub unsafe fn IdToPhone(&self, pid: *const u16, pszphone: super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()> {
3161         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(pid), ::std::mem::transmute(pszphone)).ok()
3162     }
3163 }
3164 unsafe impl ::windows::runtime::Interface for ISpPhoneConverter {
3165     type Vtable = ISpPhoneConverter_abi;
3166     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2219165057, 3244, 19000, [171, 254, 155, 44, 226, 130, 100, 85]);
3167 }
3168 impl ::std::convert::From<ISpPhoneConverter> for ::windows::runtime::IUnknown {
from(value: ISpPhoneConverter) -> Self3169     fn from(value: ISpPhoneConverter) -> Self {
3170         unsafe { ::std::mem::transmute(value) }
3171     }
3172 }
3173 impl ::std::convert::From<&ISpPhoneConverter> for ::windows::runtime::IUnknown {
from(value: &ISpPhoneConverter) -> Self3174     fn from(value: &ISpPhoneConverter) -> Self {
3175         ::std::convert::From::from(::std::clone::Clone::clone(value))
3176     }
3177 }
3178 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpPhoneConverter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3179     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3180         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3181     }
3182 }
3183 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpPhoneConverter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3184     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3185         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3186     }
3187 }
3188 impl ::std::convert::From<ISpPhoneConverter> for ISpObjectWithToken {
from(value: ISpPhoneConverter) -> Self3189     fn from(value: ISpPhoneConverter) -> Self {
3190         unsafe { ::std::mem::transmute(value) }
3191     }
3192 }
3193 impl ::std::convert::From<&ISpPhoneConverter> for ISpObjectWithToken {
from(value: &ISpPhoneConverter) -> Self3194     fn from(value: &ISpPhoneConverter) -> Self {
3195         ::std::convert::From::from(::std::clone::Clone::clone(value))
3196     }
3197 }
3198 impl<'a> ::windows::runtime::IntoParam<'a, ISpObjectWithToken> for ISpPhoneConverter {
into_param(self) -> ::windows::runtime::Param<'a, ISpObjectWithToken>3199     fn into_param(self) -> ::windows::runtime::Param<'a, ISpObjectWithToken> {
3200         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpObjectWithToken>::into(self))
3201     }
3202 }
3203 impl<'a> ::windows::runtime::IntoParam<'a, ISpObjectWithToken> for &ISpPhoneConverter {
into_param(self) -> ::windows::runtime::Param<'a, ISpObjectWithToken>3204     fn into_param(self) -> ::windows::runtime::Param<'a, ISpObjectWithToken> {
3205         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpObjectWithToken>::into(::std::clone::Clone::clone(self)))
3206     }
3207 }
3208 #[repr(C)]
3209 #[doc(hidden)]
3210 pub struct ISpPhoneConverter_abi(
3211     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3212     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3213     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3214     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptoken: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3215     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pptoken: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3216     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszphone: super::super::Foundation::PWSTR, pid: *mut u16) -> ::windows::runtime::HRESULT,
3217     #[cfg(not(feature = "Win32_Foundation"))] usize,
3218     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pid: *const u16, pszphone: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3219     #[cfg(not(feature = "Win32_Foundation"))] usize,
3220 );
3221 #[repr(transparent)]
3222 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3223 pub struct ISpPhoneticAlphabetConverter(::windows::runtime::IUnknown);
3224 impl ISpPhoneticAlphabetConverter {
GetLangId(&self) -> ::windows::runtime::Result<u16>3225     pub unsafe fn GetLangId(&self) -> ::windows::runtime::Result<u16> {
3226         let mut result__: <u16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3227         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u16>(result__)
3228     }
SetLangId(&self, langid: u16) -> ::windows::runtime::Result<()>3229     pub unsafe fn SetLangId(&self, langid: u16) -> ::windows::runtime::Result<()> {
3230         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(langid)).ok()
3231     }
SAPI2UPS(&self, pszsapiid: *const u16, pszupsid: *mut u16, cmaxlength: u32) -> ::windows::runtime::Result<()>3232     pub unsafe fn SAPI2UPS(&self, pszsapiid: *const u16, pszupsid: *mut u16, cmaxlength: u32) -> ::windows::runtime::Result<()> {
3233         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pszsapiid), ::std::mem::transmute(pszupsid), ::std::mem::transmute(cmaxlength)).ok()
3234     }
UPS2SAPI(&self, pszupsid: *const u16, pszsapiid: *mut u16, cmaxlength: u32) -> ::windows::runtime::Result<()>3235     pub unsafe fn UPS2SAPI(&self, pszupsid: *const u16, pszsapiid: *mut u16, cmaxlength: u32) -> ::windows::runtime::Result<()> {
3236         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(pszupsid), ::std::mem::transmute(pszsapiid), ::std::mem::transmute(cmaxlength)).ok()
3237     }
3238     #[cfg(feature = "Win32_Foundation")]
GetMaxConvertLength<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, csrclength: u32, bsapi2ups: Param1) -> ::windows::runtime::Result<u32>3239     pub unsafe fn GetMaxConvertLength<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, csrclength: u32, bsapi2ups: Param1) -> ::windows::runtime::Result<u32> {
3240         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3241         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(csrclength), bsapi2ups.into_param().abi(), &mut result__).from_abi::<u32>(result__)
3242     }
3243 }
3244 unsafe impl ::windows::runtime::Interface for ISpPhoneticAlphabetConverter {
3245     type Vtable = ISpPhoneticAlphabetConverter_abi;
3246     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(322624724, 6580, 16416, [159, 220, 132, 46, 120, 37, 59, 23]);
3247 }
3248 impl ::std::convert::From<ISpPhoneticAlphabetConverter> for ::windows::runtime::IUnknown {
from(value: ISpPhoneticAlphabetConverter) -> Self3249     fn from(value: ISpPhoneticAlphabetConverter) -> Self {
3250         unsafe { ::std::mem::transmute(value) }
3251     }
3252 }
3253 impl ::std::convert::From<&ISpPhoneticAlphabetConverter> for ::windows::runtime::IUnknown {
from(value: &ISpPhoneticAlphabetConverter) -> Self3254     fn from(value: &ISpPhoneticAlphabetConverter) -> Self {
3255         ::std::convert::From::from(::std::clone::Clone::clone(value))
3256     }
3257 }
3258 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpPhoneticAlphabetConverter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3259     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3260         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3261     }
3262 }
3263 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpPhoneticAlphabetConverter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3264     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3265         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3266     }
3267 }
3268 #[repr(C)]
3269 #[doc(hidden)]
3270 pub struct ISpPhoneticAlphabetConverter_abi(
3271     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3272     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3273     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3274     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plangid: *mut u16) -> ::windows::runtime::HRESULT,
3275     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, langid: u16) -> ::windows::runtime::HRESULT,
3276     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszsapiid: *const u16, pszupsid: *mut u16, cmaxlength: u32) -> ::windows::runtime::HRESULT,
3277     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszupsid: *const u16, pszsapiid: *mut u16, cmaxlength: u32) -> ::windows::runtime::HRESULT,
3278     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, csrclength: u32, bsapi2ups: super::super::Foundation::BOOL, pcmaxdestlength: *mut u32) -> ::windows::runtime::HRESULT,
3279     #[cfg(not(feature = "Win32_Foundation"))] usize,
3280 );
3281 #[repr(transparent)]
3282 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3283 pub struct ISpPhoneticAlphabetSelection(::windows::runtime::IUnknown);
3284 impl ISpPhoneticAlphabetSelection {
3285     #[cfg(feature = "Win32_Foundation")]
IsAlphabetUPS(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>3286     pub unsafe fn IsAlphabetUPS(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
3287         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3288         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
3289     }
3290     #[cfg(feature = "Win32_Foundation")]
SetAlphabetToUPS<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fforceups: Param0) -> ::windows::runtime::Result<()>3291     pub unsafe fn SetAlphabetToUPS<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fforceups: Param0) -> ::windows::runtime::Result<()> {
3292         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), fforceups.into_param().abi()).ok()
3293     }
3294 }
3295 unsafe impl ::windows::runtime::Interface for ISpPhoneticAlphabetSelection {
3296     type Vtable = ISpPhoneticAlphabetSelection_abi;
3297     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2993970941, 17102, 18634, [129, 241, 169, 110, 2, 83, 138, 144]);
3298 }
3299 impl ::std::convert::From<ISpPhoneticAlphabetSelection> for ::windows::runtime::IUnknown {
from(value: ISpPhoneticAlphabetSelection) -> Self3300     fn from(value: ISpPhoneticAlphabetSelection) -> Self {
3301         unsafe { ::std::mem::transmute(value) }
3302     }
3303 }
3304 impl ::std::convert::From<&ISpPhoneticAlphabetSelection> for ::windows::runtime::IUnknown {
from(value: &ISpPhoneticAlphabetSelection) -> Self3305     fn from(value: &ISpPhoneticAlphabetSelection) -> Self {
3306         ::std::convert::From::from(::std::clone::Clone::clone(value))
3307     }
3308 }
3309 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpPhoneticAlphabetSelection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3310     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3311         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3312     }
3313 }
3314 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpPhoneticAlphabetSelection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3315     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3316         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3317     }
3318 }
3319 #[repr(C)]
3320 #[doc(hidden)]
3321 pub struct ISpPhoneticAlphabetSelection_abi(
3322     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3323     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3324     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3325     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfisups: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3326     #[cfg(not(feature = "Win32_Foundation"))] usize,
3327     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fforceups: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3328     #[cfg(not(feature = "Win32_Foundation"))] usize,
3329 );
3330 #[repr(transparent)]
3331 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3332 pub struct ISpPhrase(::windows::runtime::IUnknown);
3333 impl ISpPhrase {
3334     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
GetPhrase(&self) -> ::windows::runtime::Result<*mut SPPHRASE>3335     pub unsafe fn GetPhrase(&self) -> ::windows::runtime::Result<*mut SPPHRASE> {
3336         let mut result__: <*mut SPPHRASE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3337         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut SPPHRASE>(result__)
3338     }
GetSerializedPhrase(&self) -> ::windows::runtime::Result<*mut SPSERIALIZEDPHRASE>3339     pub unsafe fn GetSerializedPhrase(&self) -> ::windows::runtime::Result<*mut SPSERIALIZEDPHRASE> {
3340         let mut result__: <*mut SPSERIALIZEDPHRASE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3341         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut SPSERIALIZEDPHRASE>(result__)
3342     }
3343     #[cfg(feature = "Win32_Foundation")]
GetText<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, ulstart: u32, ulcount: u32, fusetextreplacements: Param2, ppszcomemtext: *mut super::super::Foundation::PWSTR, pbdisplayattributes: *mut u8) -> ::windows::runtime::Result<()>3344     pub unsafe fn GetText<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, ulstart: u32, ulcount: u32, fusetextreplacements: Param2, ppszcomemtext: *mut super::super::Foundation::PWSTR, pbdisplayattributes: *mut u8) -> ::windows::runtime::Result<()> {
3345         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulstart), ::std::mem::transmute(ulcount), fusetextreplacements.into_param().abi(), ::std::mem::transmute(ppszcomemtext), ::std::mem::transmute(pbdisplayattributes)).ok()
3346     }
Discard(&self, dwvaluetypes: u32) -> ::windows::runtime::Result<()>3347     pub unsafe fn Discard(&self, dwvaluetypes: u32) -> ::windows::runtime::Result<()> {
3348         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwvaluetypes)).ok()
3349     }
3350 }
3351 unsafe impl ::windows::runtime::Interface for ISpPhrase {
3352     type Vtable = ISpPhrase_abi;
3353     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(442237780, 46625, 19290, [135, 145, 211, 6, 237, 55, 158, 83]);
3354 }
3355 impl ::std::convert::From<ISpPhrase> for ::windows::runtime::IUnknown {
from(value: ISpPhrase) -> Self3356     fn from(value: ISpPhrase) -> Self {
3357         unsafe { ::std::mem::transmute(value) }
3358     }
3359 }
3360 impl ::std::convert::From<&ISpPhrase> for ::windows::runtime::IUnknown {
from(value: &ISpPhrase) -> Self3361     fn from(value: &ISpPhrase) -> Self {
3362         ::std::convert::From::from(::std::clone::Clone::clone(value))
3363     }
3364 }
3365 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpPhrase {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3366     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3367         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3368     }
3369 }
3370 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpPhrase {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3371     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3372         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3373     }
3374 }
3375 #[repr(C)]
3376 #[doc(hidden)]
3377 pub struct ISpPhrase_abi(
3378     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3379     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3380     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3381     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcomemphrase: *mut *mut SPPHRASE) -> ::windows::runtime::HRESULT,
3382     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3383     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcomemphrase: *mut *mut SPSERIALIZEDPHRASE) -> ::windows::runtime::HRESULT,
3384     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulstart: u32, ulcount: u32, fusetextreplacements: super::super::Foundation::BOOL, ppszcomemtext: *mut super::super::Foundation::PWSTR, pbdisplayattributes: *mut u8) -> ::windows::runtime::HRESULT,
3385     #[cfg(not(feature = "Win32_Foundation"))] usize,
3386     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwvaluetypes: u32) -> ::windows::runtime::HRESULT,
3387 );
3388 #[repr(transparent)]
3389 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3390 pub struct ISpPhrase2(::windows::runtime::IUnknown);
3391 impl ISpPhrase2 {
3392     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
GetPhrase(&self) -> ::windows::runtime::Result<*mut SPPHRASE>3393     pub unsafe fn GetPhrase(&self) -> ::windows::runtime::Result<*mut SPPHRASE> {
3394         let mut result__: <*mut SPPHRASE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3395         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut SPPHRASE>(result__)
3396     }
GetSerializedPhrase(&self) -> ::windows::runtime::Result<*mut SPSERIALIZEDPHRASE>3397     pub unsafe fn GetSerializedPhrase(&self) -> ::windows::runtime::Result<*mut SPSERIALIZEDPHRASE> {
3398         let mut result__: <*mut SPSERIALIZEDPHRASE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3399         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut SPSERIALIZEDPHRASE>(result__)
3400     }
3401     #[cfg(feature = "Win32_Foundation")]
GetText<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, ulstart: u32, ulcount: u32, fusetextreplacements: Param2, ppszcomemtext: *mut super::super::Foundation::PWSTR, pbdisplayattributes: *mut u8) -> ::windows::runtime::Result<()>3402     pub unsafe fn GetText<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, ulstart: u32, ulcount: u32, fusetextreplacements: Param2, ppszcomemtext: *mut super::super::Foundation::PWSTR, pbdisplayattributes: *mut u8) -> ::windows::runtime::Result<()> {
3403         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulstart), ::std::mem::transmute(ulcount), fusetextreplacements.into_param().abi(), ::std::mem::transmute(ppszcomemtext), ::std::mem::transmute(pbdisplayattributes)).ok()
3404     }
Discard(&self, dwvaluetypes: u32) -> ::windows::runtime::Result<()>3405     pub unsafe fn Discard(&self, dwvaluetypes: u32) -> ::windows::runtime::Result<()> {
3406         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwvaluetypes)).ok()
3407     }
3408     #[cfg(feature = "Win32_Foundation")]
GetXMLResult(&self, ppszcomemxmlresult: *mut super::super::Foundation::PWSTR, options: SPXMLRESULTOPTIONS) -> ::windows::runtime::Result<()>3409     pub unsafe fn GetXMLResult(&self, ppszcomemxmlresult: *mut super::super::Foundation::PWSTR, options: SPXMLRESULTOPTIONS) -> ::windows::runtime::Result<()> {
3410         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppszcomemxmlresult), ::std::mem::transmute(options)).ok()
3411     }
3412     #[cfg(feature = "Win32_Foundation")]
GetXMLErrorInfo(&self, psemanticerrorinfo: *mut SPSEMANTICERRORINFO) -> ::windows::runtime::Result<()>3413     pub unsafe fn GetXMLErrorInfo(&self, psemanticerrorinfo: *mut SPSEMANTICERRORINFO) -> ::windows::runtime::Result<()> {
3414         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(psemanticerrorinfo)).ok()
3415     }
GetAudio(&self, ulstartelement: u32, celements: u32) -> ::windows::runtime::Result<ISpStreamFormat>3416     pub unsafe fn GetAudio(&self, ulstartelement: u32, celements: u32) -> ::windows::runtime::Result<ISpStreamFormat> {
3417         let mut result__: <ISpStreamFormat as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3418         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulstartelement), ::std::mem::transmute(celements), &mut result__).from_abi::<ISpStreamFormat>(result__)
3419     }
3420 }
3421 unsafe impl ::windows::runtime::Interface for ISpPhrase2 {
3422     type Vtable = ISpPhrase2_abi;
3423     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4066695762, 58455, 18070, [184, 86, 167, 55, 183, 23, 175, 121]);
3424 }
3425 impl ::std::convert::From<ISpPhrase2> for ::windows::runtime::IUnknown {
from(value: ISpPhrase2) -> Self3426     fn from(value: ISpPhrase2) -> Self {
3427         unsafe { ::std::mem::transmute(value) }
3428     }
3429 }
3430 impl ::std::convert::From<&ISpPhrase2> for ::windows::runtime::IUnknown {
from(value: &ISpPhrase2) -> Self3431     fn from(value: &ISpPhrase2) -> Self {
3432         ::std::convert::From::from(::std::clone::Clone::clone(value))
3433     }
3434 }
3435 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpPhrase2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3436     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3437         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3438     }
3439 }
3440 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpPhrase2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3441     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3442         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3443     }
3444 }
3445 impl ::std::convert::From<ISpPhrase2> for ISpPhrase {
from(value: ISpPhrase2) -> Self3446     fn from(value: ISpPhrase2) -> Self {
3447         unsafe { ::std::mem::transmute(value) }
3448     }
3449 }
3450 impl ::std::convert::From<&ISpPhrase2> for ISpPhrase {
from(value: &ISpPhrase2) -> Self3451     fn from(value: &ISpPhrase2) -> Self {
3452         ::std::convert::From::from(::std::clone::Clone::clone(value))
3453     }
3454 }
3455 impl<'a> ::windows::runtime::IntoParam<'a, ISpPhrase> for ISpPhrase2 {
into_param(self) -> ::windows::runtime::Param<'a, ISpPhrase>3456     fn into_param(self) -> ::windows::runtime::Param<'a, ISpPhrase> {
3457         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpPhrase>::into(self))
3458     }
3459 }
3460 impl<'a> ::windows::runtime::IntoParam<'a, ISpPhrase> for &ISpPhrase2 {
into_param(self) -> ::windows::runtime::Param<'a, ISpPhrase>3461     fn into_param(self) -> ::windows::runtime::Param<'a, ISpPhrase> {
3462         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpPhrase>::into(::std::clone::Clone::clone(self)))
3463     }
3464 }
3465 #[repr(C)]
3466 #[doc(hidden)]
3467 pub struct ISpPhrase2_abi(
3468     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3469     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3470     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3471     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcomemphrase: *mut *mut SPPHRASE) -> ::windows::runtime::HRESULT,
3472     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3473     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcomemphrase: *mut *mut SPSERIALIZEDPHRASE) -> ::windows::runtime::HRESULT,
3474     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulstart: u32, ulcount: u32, fusetextreplacements: super::super::Foundation::BOOL, ppszcomemtext: *mut super::super::Foundation::PWSTR, pbdisplayattributes: *mut u8) -> ::windows::runtime::HRESULT,
3475     #[cfg(not(feature = "Win32_Foundation"))] usize,
3476     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwvaluetypes: u32) -> ::windows::runtime::HRESULT,
3477     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppszcomemxmlresult: *mut super::super::Foundation::PWSTR, options: SPXMLRESULTOPTIONS) -> ::windows::runtime::HRESULT,
3478     #[cfg(not(feature = "Win32_Foundation"))] usize,
3479     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psemanticerrorinfo: *mut SPSEMANTICERRORINFO) -> ::windows::runtime::HRESULT,
3480     #[cfg(not(feature = "Win32_Foundation"))] usize,
3481     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulstartelement: u32, celements: u32, ppstream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3482 );
3483 #[repr(transparent)]
3484 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3485 pub struct ISpPhraseAlt(::windows::runtime::IUnknown);
3486 impl ISpPhraseAlt {
3487     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
GetPhrase(&self) -> ::windows::runtime::Result<*mut SPPHRASE>3488     pub unsafe fn GetPhrase(&self) -> ::windows::runtime::Result<*mut SPPHRASE> {
3489         let mut result__: <*mut SPPHRASE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3490         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut SPPHRASE>(result__)
3491     }
GetSerializedPhrase(&self) -> ::windows::runtime::Result<*mut SPSERIALIZEDPHRASE>3492     pub unsafe fn GetSerializedPhrase(&self) -> ::windows::runtime::Result<*mut SPSERIALIZEDPHRASE> {
3493         let mut result__: <*mut SPSERIALIZEDPHRASE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3494         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut SPSERIALIZEDPHRASE>(result__)
3495     }
3496     #[cfg(feature = "Win32_Foundation")]
GetText<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, ulstart: u32, ulcount: u32, fusetextreplacements: Param2, ppszcomemtext: *mut super::super::Foundation::PWSTR, pbdisplayattributes: *mut u8) -> ::windows::runtime::Result<()>3497     pub unsafe fn GetText<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, ulstart: u32, ulcount: u32, fusetextreplacements: Param2, ppszcomemtext: *mut super::super::Foundation::PWSTR, pbdisplayattributes: *mut u8) -> ::windows::runtime::Result<()> {
3498         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulstart), ::std::mem::transmute(ulcount), fusetextreplacements.into_param().abi(), ::std::mem::transmute(ppszcomemtext), ::std::mem::transmute(pbdisplayattributes)).ok()
3499     }
Discard(&self, dwvaluetypes: u32) -> ::windows::runtime::Result<()>3500     pub unsafe fn Discard(&self, dwvaluetypes: u32) -> ::windows::runtime::Result<()> {
3501         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwvaluetypes)).ok()
3502     }
GetAltInfo(&self, ppparent: *mut ::std::option::Option<ISpPhrase>, pulstartelementinparent: *mut u32, pcelementsinparent: *mut u32, pcelementsinalt: *mut u32) -> ::windows::runtime::Result<()>3503     pub unsafe fn GetAltInfo(&self, ppparent: *mut ::std::option::Option<ISpPhrase>, pulstartelementinparent: *mut u32, pcelementsinparent: *mut u32, pcelementsinalt: *mut u32) -> ::windows::runtime::Result<()> {
3504         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppparent), ::std::mem::transmute(pulstartelementinparent), ::std::mem::transmute(pcelementsinparent), ::std::mem::transmute(pcelementsinalt)).ok()
3505     }
Commit(&self) -> ::windows::runtime::Result<()>3506     pub unsafe fn Commit(&self) -> ::windows::runtime::Result<()> {
3507         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
3508     }
3509 }
3510 unsafe impl ::windows::runtime::Interface for ISpPhraseAlt {
3511     type Vtable = ISpPhraseAlt_abi;
3512     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2412690584, 20041, 16487, [156, 108, 216, 106, 14, 9, 46, 61]);
3513 }
3514 impl ::std::convert::From<ISpPhraseAlt> for ::windows::runtime::IUnknown {
from(value: ISpPhraseAlt) -> Self3515     fn from(value: ISpPhraseAlt) -> Self {
3516         unsafe { ::std::mem::transmute(value) }
3517     }
3518 }
3519 impl ::std::convert::From<&ISpPhraseAlt> for ::windows::runtime::IUnknown {
from(value: &ISpPhraseAlt) -> Self3520     fn from(value: &ISpPhraseAlt) -> Self {
3521         ::std::convert::From::from(::std::clone::Clone::clone(value))
3522     }
3523 }
3524 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpPhraseAlt {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3525     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3526         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3527     }
3528 }
3529 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpPhraseAlt {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3530     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3531         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3532     }
3533 }
3534 impl ::std::convert::From<ISpPhraseAlt> for ISpPhrase {
from(value: ISpPhraseAlt) -> Self3535     fn from(value: ISpPhraseAlt) -> Self {
3536         unsafe { ::std::mem::transmute(value) }
3537     }
3538 }
3539 impl ::std::convert::From<&ISpPhraseAlt> for ISpPhrase {
from(value: &ISpPhraseAlt) -> Self3540     fn from(value: &ISpPhraseAlt) -> Self {
3541         ::std::convert::From::from(::std::clone::Clone::clone(value))
3542     }
3543 }
3544 impl<'a> ::windows::runtime::IntoParam<'a, ISpPhrase> for ISpPhraseAlt {
into_param(self) -> ::windows::runtime::Param<'a, ISpPhrase>3545     fn into_param(self) -> ::windows::runtime::Param<'a, ISpPhrase> {
3546         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpPhrase>::into(self))
3547     }
3548 }
3549 impl<'a> ::windows::runtime::IntoParam<'a, ISpPhrase> for &ISpPhraseAlt {
into_param(self) -> ::windows::runtime::Param<'a, ISpPhrase>3550     fn into_param(self) -> ::windows::runtime::Param<'a, ISpPhrase> {
3551         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpPhrase>::into(::std::clone::Clone::clone(self)))
3552     }
3553 }
3554 #[repr(C)]
3555 #[doc(hidden)]
3556 pub struct ISpPhraseAlt_abi(
3557     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3558     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3559     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3560     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcomemphrase: *mut *mut SPPHRASE) -> ::windows::runtime::HRESULT,
3561     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3562     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcomemphrase: *mut *mut SPSERIALIZEDPHRASE) -> ::windows::runtime::HRESULT,
3563     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulstart: u32, ulcount: u32, fusetextreplacements: super::super::Foundation::BOOL, ppszcomemtext: *mut super::super::Foundation::PWSTR, pbdisplayattributes: *mut u8) -> ::windows::runtime::HRESULT,
3564     #[cfg(not(feature = "Win32_Foundation"))] usize,
3565     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwvaluetypes: u32) -> ::windows::runtime::HRESULT,
3566     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppparent: *mut ::windows::runtime::RawPtr, pulstartelementinparent: *mut u32, pcelementsinparent: *mut u32, pcelementsinalt: *mut u32) -> ::windows::runtime::HRESULT,
3567     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3568 );
3569 #[repr(transparent)]
3570 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3571 pub struct ISpProperties(::windows::runtime::IUnknown);
3572 impl ISpProperties {
3573     #[cfg(feature = "Win32_Foundation")]
SetPropertyNum<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pname: Param0, lvalue: i32) -> ::windows::runtime::Result<()>3574     pub unsafe fn SetPropertyNum<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pname: Param0, lvalue: i32) -> ::windows::runtime::Result<()> {
3575         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pname.into_param().abi(), ::std::mem::transmute(lvalue)).ok()
3576     }
3577     #[cfg(feature = "Win32_Foundation")]
GetPropertyNum<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pname: Param0, plvalue: *mut i32) -> ::windows::runtime::Result<()>3578     pub unsafe fn GetPropertyNum<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pname: Param0, plvalue: *mut i32) -> ::windows::runtime::Result<()> {
3579         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pname.into_param().abi(), ::std::mem::transmute(plvalue)).ok()
3580     }
3581     #[cfg(feature = "Win32_Foundation")]
SetPropertyString<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pname: Param0, pvalue: Param1) -> ::windows::runtime::Result<()>3582     pub unsafe fn SetPropertyString<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pname: Param0, pvalue: Param1) -> ::windows::runtime::Result<()> {
3583         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pname.into_param().abi(), pvalue.into_param().abi()).ok()
3584     }
3585     #[cfg(feature = "Win32_Foundation")]
GetPropertyString<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pname: Param0) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>3586     pub unsafe fn GetPropertyString<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pname: Param0) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
3587         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3588         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pname.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
3589     }
3590 }
3591 unsafe impl ::windows::runtime::Interface for ISpProperties {
3592     type Vtable = ISpProperties_abi;
3593     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1531951473, 45333, 19937, [173, 151, 228, 130, 227, 191, 110, 228]);
3594 }
3595 impl ::std::convert::From<ISpProperties> for ::windows::runtime::IUnknown {
from(value: ISpProperties) -> Self3596     fn from(value: ISpProperties) -> Self {
3597         unsafe { ::std::mem::transmute(value) }
3598     }
3599 }
3600 impl ::std::convert::From<&ISpProperties> for ::windows::runtime::IUnknown {
from(value: &ISpProperties) -> Self3601     fn from(value: &ISpProperties) -> Self {
3602         ::std::convert::From::from(::std::clone::Clone::clone(value))
3603     }
3604 }
3605 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3606     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3607         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3608     }
3609 }
3610 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3611     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3612         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3613     }
3614 }
3615 #[repr(C)]
3616 #[doc(hidden)]
3617 pub struct ISpProperties_abi(
3618     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3619     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3620     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3621     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pname: super::super::Foundation::PWSTR, lvalue: i32) -> ::windows::runtime::HRESULT,
3622     #[cfg(not(feature = "Win32_Foundation"))] usize,
3623     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pname: super::super::Foundation::PWSTR, plvalue: *mut i32) -> ::windows::runtime::HRESULT,
3624     #[cfg(not(feature = "Win32_Foundation"))] usize,
3625     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pname: super::super::Foundation::PWSTR, pvalue: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3626     #[cfg(not(feature = "Win32_Foundation"))] usize,
3627     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pname: super::super::Foundation::PWSTR, ppcomemvalue: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3628     #[cfg(not(feature = "Win32_Foundation"))] usize,
3629 );
3630 #[repr(transparent)]
3631 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3632 pub struct ISpRecoContext(::windows::runtime::IUnknown);
3633 impl ISpRecoContext {
SetNotifySink<'a, Param0: ::windows::runtime::IntoParam<'a, ISpNotifySink>>(&self, pnotifysink: Param0) -> ::windows::runtime::Result<()>3634     pub unsafe fn SetNotifySink<'a, Param0: ::windows::runtime::IntoParam<'a, ISpNotifySink>>(&self, pnotifysink: Param0) -> ::windows::runtime::Result<()> {
3635         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pnotifysink.into_param().abi()).ok()
3636     }
3637     #[cfg(feature = "Win32_Foundation")]
SetNotifyWindowMessage<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, hwnd: Param0, msg: u32, wparam: Param2, lparam: Param3) -> ::windows::runtime::Result<()>3638     pub unsafe fn SetNotifyWindowMessage<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, hwnd: Param0, msg: u32, wparam: Param2, lparam: Param3) -> ::windows::runtime::Result<()> {
3639         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), hwnd.into_param().abi(), ::std::mem::transmute(msg), wparam.into_param().abi(), lparam.into_param().abi()).ok()
3640     }
3641     #[cfg(feature = "Win32_Foundation")]
SetNotifyCallbackFunction<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, pfncallback: *mut ::std::option::Option<SPNOTIFYCALLBACK>, wparam: Param1, lparam: Param2) -> ::windows::runtime::Result<()>3642     pub unsafe fn SetNotifyCallbackFunction<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, pfncallback: *mut ::std::option::Option<SPNOTIFYCALLBACK>, wparam: Param1, lparam: Param2) -> ::windows::runtime::Result<()> {
3643         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pfncallback), wparam.into_param().abi(), lparam.into_param().abi()).ok()
3644     }
3645     #[cfg(feature = "Win32_Foundation")]
SetNotifyCallbackInterface<'a, Param0: ::windows::runtime::IntoParam<'a, ISpNotifyCallback>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, pspcallback: Param0, wparam: Param1, lparam: Param2) -> ::windows::runtime::Result<()>3646     pub unsafe fn SetNotifyCallbackInterface<'a, Param0: ::windows::runtime::IntoParam<'a, ISpNotifyCallback>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, pspcallback: Param0, wparam: Param1, lparam: Param2) -> ::windows::runtime::Result<()> {
3647         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pspcallback.into_param().abi(), wparam.into_param().abi(), lparam.into_param().abi()).ok()
3648     }
SetNotifyWin32Event(&self) -> ::windows::runtime::Result<()>3649     pub unsafe fn SetNotifyWin32Event(&self) -> ::windows::runtime::Result<()> {
3650         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
3651     }
WaitForNotifyEvent(&self, dwmilliseconds: u32) -> ::windows::runtime::Result<()>3652     pub unsafe fn WaitForNotifyEvent(&self, dwmilliseconds: u32) -> ::windows::runtime::Result<()> {
3653         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwmilliseconds)).ok()
3654     }
3655     #[cfg(feature = "Win32_Foundation")]
GetNotifyEventHandle(&self) -> super::super::Foundation::HANDLE3656     pub unsafe fn GetNotifyEventHandle(&self) -> super::super::Foundation::HANDLE {
3657         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)))
3658     }
SetInterest(&self, ulleventinterest: u64, ullqueuedinterest: u64) -> ::windows::runtime::Result<()>3659     pub unsafe fn SetInterest(&self, ulleventinterest: u64, ullqueuedinterest: u64) -> ::windows::runtime::Result<()> {
3660         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulleventinterest), ::std::mem::transmute(ullqueuedinterest)).ok()
3661     }
3662     #[cfg(feature = "Win32_Foundation")]
GetEvents(&self, ulcount: u32, peventarray: *mut SPEVENT, pulfetched: *mut u32) -> ::windows::runtime::Result<()>3663     pub unsafe fn GetEvents(&self, ulcount: u32, peventarray: *mut SPEVENT, pulfetched: *mut u32) -> ::windows::runtime::Result<()> {
3664         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulcount), ::std::mem::transmute(peventarray), ::std::mem::transmute(pulfetched)).ok()
3665     }
GetInfo(&self, pinfo: *mut SPEVENTSOURCEINFO) -> ::windows::runtime::Result<()>3666     pub unsafe fn GetInfo(&self, pinfo: *mut SPEVENTSOURCEINFO) -> ::windows::runtime::Result<()> {
3667         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(pinfo)).ok()
3668     }
GetRecognizer(&self) -> ::windows::runtime::Result<ISpRecognizer>3669     pub unsafe fn GetRecognizer(&self) -> ::windows::runtime::Result<ISpRecognizer> {
3670         let mut result__: <ISpRecognizer as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3671         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpRecognizer>(result__)
3672     }
CreateGrammar(&self, ullgrammarid: u64) -> ::windows::runtime::Result<ISpRecoGrammar>3673     pub unsafe fn CreateGrammar(&self, ullgrammarid: u64) -> ::windows::runtime::Result<ISpRecoGrammar> {
3674         let mut result__: <ISpRecoGrammar as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3675         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(ullgrammarid), &mut result__).from_abi::<ISpRecoGrammar>(result__)
3676     }
GetStatus(&self, pstatus: *mut SPRECOCONTEXTSTATUS) -> ::windows::runtime::Result<()>3677     pub unsafe fn GetStatus(&self, pstatus: *mut SPRECOCONTEXTSTATUS) -> ::windows::runtime::Result<()> {
3678         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(pstatus)).ok()
3679     }
GetMaxAlternates(&self, pcalternates: *mut u32) -> ::windows::runtime::Result<()>3680     pub unsafe fn GetMaxAlternates(&self, pcalternates: *mut u32) -> ::windows::runtime::Result<()> {
3681         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(pcalternates)).ok()
3682     }
SetMaxAlternates(&self, calternates: u32) -> ::windows::runtime::Result<()>3683     pub unsafe fn SetMaxAlternates(&self, calternates: u32) -> ::windows::runtime::Result<()> {
3684         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(calternates)).ok()
3685     }
3686     #[cfg(feature = "Win32_Media_Multimedia")]
SetAudioOptions(&self, options: SPAUDIOOPTIONS, paudioformatid: *const ::windows::runtime::GUID, pwaveformatex: *const super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()>3687     pub unsafe fn SetAudioOptions(&self, options: SPAUDIOOPTIONS, paudioformatid: *const ::windows::runtime::GUID, pwaveformatex: *const super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()> {
3688         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(options), ::std::mem::transmute(paudioformatid), ::std::mem::transmute(pwaveformatex)).ok()
3689     }
3690     #[cfg(feature = "Win32_Media_Multimedia")]
GetAudioOptions(&self, poptions: *mut SPAUDIOOPTIONS, paudioformatid: *mut ::windows::runtime::GUID, ppcomemwfex: *mut *mut super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()>3691     pub unsafe fn GetAudioOptions(&self, poptions: *mut SPAUDIOOPTIONS, paudioformatid: *mut ::windows::runtime::GUID, ppcomemwfex: *mut *mut super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()> {
3692         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(poptions), ::std::mem::transmute(paudioformatid), ::std::mem::transmute(ppcomemwfex)).ok()
3693     }
DeserializeResult(&self, pserializedresult: *const SPSERIALIZEDRESULT) -> ::windows::runtime::Result<ISpRecoResult>3694     pub unsafe fn DeserializeResult(&self, pserializedresult: *const SPSERIALIZEDRESULT) -> ::windows::runtime::Result<ISpRecoResult> {
3695         let mut result__: <ISpRecoResult as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3696         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(pserializedresult), &mut result__).from_abi::<ISpRecoResult>(result__)
3697     }
3698     #[cfg(feature = "Win32_Foundation")]
Bookmark<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, options: SPBOOKMARKOPTIONS, ullstreamposition: u64, lparamevent: Param2) -> ::windows::runtime::Result<()>3699     pub unsafe fn Bookmark<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, options: SPBOOKMARKOPTIONS, ullstreamposition: u64, lparamevent: Param2) -> ::windows::runtime::Result<()> {
3700         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(options), ::std::mem::transmute(ullstreamposition), lparamevent.into_param().abi()).ok()
3701     }
3702     #[cfg(feature = "Win32_Foundation")]
SetAdaptationData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, padaptationdata: Param0, cch: u32) -> ::windows::runtime::Result<()>3703     pub unsafe fn SetAdaptationData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, padaptationdata: Param0, cch: u32) -> ::windows::runtime::Result<()> {
3704         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), padaptationdata.into_param().abi(), ::std::mem::transmute(cch)).ok()
3705     }
Pause(&self, dwreserved: u32) -> ::windows::runtime::Result<()>3706     pub unsafe fn Pause(&self, dwreserved: u32) -> ::windows::runtime::Result<()> {
3707         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwreserved)).ok()
3708     }
Resume(&self, dwreserved: u32) -> ::windows::runtime::Result<()>3709     pub unsafe fn Resume(&self, dwreserved: u32) -> ::windows::runtime::Result<()> {
3710         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwreserved)).ok()
3711     }
3712     #[cfg(feature = "Win32_Foundation")]
SetVoice<'a, Param0: ::windows::runtime::IntoParam<'a, ISpVoice>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pvoice: Param0, fallowformatchanges: Param1) -> ::windows::runtime::Result<()>3713     pub unsafe fn SetVoice<'a, Param0: ::windows::runtime::IntoParam<'a, ISpVoice>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pvoice: Param0, fallowformatchanges: Param1) -> ::windows::runtime::Result<()> {
3714         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), pvoice.into_param().abi(), fallowformatchanges.into_param().abi()).ok()
3715     }
GetVoice(&self) -> ::windows::runtime::Result<ISpVoice>3716     pub unsafe fn GetVoice(&self) -> ::windows::runtime::Result<ISpVoice> {
3717         let mut result__: <ISpVoice as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3718         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpVoice>(result__)
3719     }
SetVoicePurgeEvent(&self, ulleventinterest: u64) -> ::windows::runtime::Result<()>3720     pub unsafe fn SetVoicePurgeEvent(&self, ulleventinterest: u64) -> ::windows::runtime::Result<()> {
3721         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulleventinterest)).ok()
3722     }
GetVoicePurgeEvent(&self, pulleventinterest: *mut u64) -> ::windows::runtime::Result<()>3723     pub unsafe fn GetVoicePurgeEvent(&self, pulleventinterest: *mut u64) -> ::windows::runtime::Result<()> {
3724         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(pulleventinterest)).ok()
3725     }
SetContextState(&self, econtextstate: SPCONTEXTSTATE) -> ::windows::runtime::Result<()>3726     pub unsafe fn SetContextState(&self, econtextstate: SPCONTEXTSTATE) -> ::windows::runtime::Result<()> {
3727         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(econtextstate)).ok()
3728     }
GetContextState(&self, pecontextstate: *mut SPCONTEXTSTATE) -> ::windows::runtime::Result<()>3729     pub unsafe fn GetContextState(&self, pecontextstate: *mut SPCONTEXTSTATE) -> ::windows::runtime::Result<()> {
3730         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(pecontextstate)).ok()
3731     }
3732 }
3733 unsafe impl ::windows::runtime::Interface for ISpRecoContext {
3734     type Vtable = ISpRecoContext_abi;
3735     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4148209199, 31765, 18590, [130, 52, 148, 10, 51, 217, 39, 45]);
3736 }
3737 impl ::std::convert::From<ISpRecoContext> for ::windows::runtime::IUnknown {
from(value: ISpRecoContext) -> Self3738     fn from(value: ISpRecoContext) -> Self {
3739         unsafe { ::std::mem::transmute(value) }
3740     }
3741 }
3742 impl ::std::convert::From<&ISpRecoContext> for ::windows::runtime::IUnknown {
from(value: &ISpRecoContext) -> Self3743     fn from(value: &ISpRecoContext) -> Self {
3744         ::std::convert::From::from(::std::clone::Clone::clone(value))
3745     }
3746 }
3747 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpRecoContext {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3748     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3749         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3750     }
3751 }
3752 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpRecoContext {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3753     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3754         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3755     }
3756 }
3757 impl ::std::convert::From<ISpRecoContext> for ISpEventSource {
from(value: ISpRecoContext) -> Self3758     fn from(value: ISpRecoContext) -> Self {
3759         unsafe { ::std::mem::transmute(value) }
3760     }
3761 }
3762 impl ::std::convert::From<&ISpRecoContext> for ISpEventSource {
from(value: &ISpRecoContext) -> Self3763     fn from(value: &ISpRecoContext) -> Self {
3764         ::std::convert::From::from(::std::clone::Clone::clone(value))
3765     }
3766 }
3767 impl<'a> ::windows::runtime::IntoParam<'a, ISpEventSource> for ISpRecoContext {
into_param(self) -> ::windows::runtime::Param<'a, ISpEventSource>3768     fn into_param(self) -> ::windows::runtime::Param<'a, ISpEventSource> {
3769         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpEventSource>::into(self))
3770     }
3771 }
3772 impl<'a> ::windows::runtime::IntoParam<'a, ISpEventSource> for &ISpRecoContext {
into_param(self) -> ::windows::runtime::Param<'a, ISpEventSource>3773     fn into_param(self) -> ::windows::runtime::Param<'a, ISpEventSource> {
3774         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpEventSource>::into(::std::clone::Clone::clone(self)))
3775     }
3776 }
3777 impl ::std::convert::From<ISpRecoContext> for ISpNotifySource {
from(value: ISpRecoContext) -> Self3778     fn from(value: ISpRecoContext) -> Self {
3779         unsafe { ::std::mem::transmute(value) }
3780     }
3781 }
3782 impl ::std::convert::From<&ISpRecoContext> for ISpNotifySource {
from(value: &ISpRecoContext) -> Self3783     fn from(value: &ISpRecoContext) -> Self {
3784         ::std::convert::From::from(::std::clone::Clone::clone(value))
3785     }
3786 }
3787 impl<'a> ::windows::runtime::IntoParam<'a, ISpNotifySource> for ISpRecoContext {
into_param(self) -> ::windows::runtime::Param<'a, ISpNotifySource>3788     fn into_param(self) -> ::windows::runtime::Param<'a, ISpNotifySource> {
3789         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpNotifySource>::into(self))
3790     }
3791 }
3792 impl<'a> ::windows::runtime::IntoParam<'a, ISpNotifySource> for &ISpRecoContext {
into_param(self) -> ::windows::runtime::Param<'a, ISpNotifySource>3793     fn into_param(self) -> ::windows::runtime::Param<'a, ISpNotifySource> {
3794         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpNotifySource>::into(::std::clone::Clone::clone(self)))
3795     }
3796 }
3797 #[repr(C)]
3798 #[doc(hidden)]
3799 pub struct ISpRecoContext_abi(
3800     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3801     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3802     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3803     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnotifysink: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3804     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, msg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> ::windows::runtime::HRESULT,
3805     #[cfg(not(feature = "Win32_Foundation"))] usize,
3806     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfncallback: *mut ::windows::runtime::RawPtr, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> ::windows::runtime::HRESULT,
3807     #[cfg(not(feature = "Win32_Foundation"))] usize,
3808     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pspcallback: ::windows::runtime::RawPtr, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> ::windows::runtime::HRESULT,
3809     #[cfg(not(feature = "Win32_Foundation"))] usize,
3810     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3811     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwmilliseconds: u32) -> ::windows::runtime::HRESULT,
3812     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::HANDLE,
3813     #[cfg(not(feature = "Win32_Foundation"))] usize,
3814     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulleventinterest: u64, ullqueuedinterest: u64) -> ::windows::runtime::HRESULT,
3815     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulcount: u32, peventarray: *mut SPEVENT, pulfetched: *mut u32) -> ::windows::runtime::HRESULT,
3816     #[cfg(not(feature = "Win32_Foundation"))] usize,
3817     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pinfo: *mut SPEVENTSOURCEINFO) -> ::windows::runtime::HRESULT,
3818     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprecognizer: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3819     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ullgrammarid: u64, ppgrammar: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3820     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstatus: *mut SPRECOCONTEXTSTATUS) -> ::windows::runtime::HRESULT,
3821     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcalternates: *mut u32) -> ::windows::runtime::HRESULT,
3822     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, calternates: u32) -> ::windows::runtime::HRESULT,
3823     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: SPAUDIOOPTIONS, paudioformatid: *const ::windows::runtime::GUID, pwaveformatex: *const super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::HRESULT,
3824     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
3825     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, poptions: *mut SPAUDIOOPTIONS, paudioformatid: *mut ::windows::runtime::GUID, ppcomemwfex: *mut *mut super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::HRESULT,
3826     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
3827     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pserializedresult: *const SPSERIALIZEDRESULT, ppresult: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3828     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: SPBOOKMARKOPTIONS, ullstreamposition: u64, lparamevent: super::super::Foundation::LPARAM) -> ::windows::runtime::HRESULT,
3829     #[cfg(not(feature = "Win32_Foundation"))] usize,
3830     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, padaptationdata: super::super::Foundation::PWSTR, cch: u32) -> ::windows::runtime::HRESULT,
3831     #[cfg(not(feature = "Win32_Foundation"))] usize,
3832     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwreserved: u32) -> ::windows::runtime::HRESULT,
3833     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwreserved: u32) -> ::windows::runtime::HRESULT,
3834     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvoice: ::windows::runtime::RawPtr, fallowformatchanges: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3835     #[cfg(not(feature = "Win32_Foundation"))] usize,
3836     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppvoice: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3837     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulleventinterest: u64) -> ::windows::runtime::HRESULT,
3838     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pulleventinterest: *mut u64) -> ::windows::runtime::HRESULT,
3839     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, econtextstate: SPCONTEXTSTATE) -> ::windows::runtime::HRESULT,
3840     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pecontextstate: *mut SPCONTEXTSTATE) -> ::windows::runtime::HRESULT,
3841 );
3842 #[repr(transparent)]
3843 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3844 pub struct ISpRecoContext2(::windows::runtime::IUnknown);
3845 impl ISpRecoContext2 {
SetGrammarOptions(&self, egrammaroptions: u32) -> ::windows::runtime::Result<()>3846     pub unsafe fn SetGrammarOptions(&self, egrammaroptions: u32) -> ::windows::runtime::Result<()> {
3847         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(egrammaroptions)).ok()
3848     }
GetGrammarOptions(&self, pegrammaroptions: *mut u32) -> ::windows::runtime::Result<()>3849     pub unsafe fn GetGrammarOptions(&self, pegrammaroptions: *mut u32) -> ::windows::runtime::Result<()> {
3850         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pegrammaroptions)).ok()
3851     }
3852     #[cfg(feature = "Win32_Foundation")]
SetAdaptationData2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, padaptationdata: Param0, cch: u32, ptopicname: Param2, eadaptationsettings: u32, erelevance: SPADAPTATIONRELEVANCE) -> ::windows::runtime::Result<()>3853     pub unsafe fn SetAdaptationData2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, padaptationdata: Param0, cch: u32, ptopicname: Param2, eadaptationsettings: u32, erelevance: SPADAPTATIONRELEVANCE) -> ::windows::runtime::Result<()> {
3854         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), padaptationdata.into_param().abi(), ::std::mem::transmute(cch), ptopicname.into_param().abi(), ::std::mem::transmute(eadaptationsettings), ::std::mem::transmute(erelevance)).ok()
3855     }
3856 }
3857 unsafe impl ::windows::runtime::Interface for ISpRecoContext2 {
3858     type Vtable = ISpRecoContext2_abi;
3859     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3199021340, 21247, 17279, [148, 100, 107, 33, 5, 76, 167, 61]);
3860 }
3861 impl ::std::convert::From<ISpRecoContext2> for ::windows::runtime::IUnknown {
from(value: ISpRecoContext2) -> Self3862     fn from(value: ISpRecoContext2) -> Self {
3863         unsafe { ::std::mem::transmute(value) }
3864     }
3865 }
3866 impl ::std::convert::From<&ISpRecoContext2> for ::windows::runtime::IUnknown {
from(value: &ISpRecoContext2) -> Self3867     fn from(value: &ISpRecoContext2) -> Self {
3868         ::std::convert::From::from(::std::clone::Clone::clone(value))
3869     }
3870 }
3871 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpRecoContext2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3872     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3873         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3874     }
3875 }
3876 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpRecoContext2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3877     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3878         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3879     }
3880 }
3881 #[repr(C)]
3882 #[doc(hidden)]
3883 pub struct ISpRecoContext2_abi(
3884     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3885     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3886     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3887     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, egrammaroptions: u32) -> ::windows::runtime::HRESULT,
3888     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pegrammaroptions: *mut u32) -> ::windows::runtime::HRESULT,
3889     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, padaptationdata: super::super::Foundation::PWSTR, cch: u32, ptopicname: super::super::Foundation::PWSTR, eadaptationsettings: u32, erelevance: SPADAPTATIONRELEVANCE) -> ::windows::runtime::HRESULT,
3890     #[cfg(not(feature = "Win32_Foundation"))] usize,
3891 );
3892 #[repr(transparent)]
3893 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3894 pub struct ISpRecoGrammar(::windows::runtime::IUnknown);
3895 impl ISpRecoGrammar {
ResetGrammar(&self, newlanguage: u16) -> ::windows::runtime::Result<()>3896     pub unsafe fn ResetGrammar(&self, newlanguage: u16) -> ::windows::runtime::Result<()> {
3897         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(newlanguage)).ok()
3898     }
3899     #[cfg(feature = "Win32_Foundation")]
GetRule<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pszrulename: Param0, dwruleid: u32, dwattributes: u32, fcreateifnotexist: Param3, phinitialstate: *mut *mut SPSTATEHANDLE__) -> ::windows::runtime::Result<()>3900     pub unsafe fn GetRule<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pszrulename: Param0, dwruleid: u32, dwattributes: u32, fcreateifnotexist: Param3, phinitialstate: *mut *mut SPSTATEHANDLE__) -> ::windows::runtime::Result<()> {
3901         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pszrulename.into_param().abi(), ::std::mem::transmute(dwruleid), ::std::mem::transmute(dwattributes), fcreateifnotexist.into_param().abi(), ::std::mem::transmute(phinitialstate)).ok()
3902     }
ClearRule(&self, hstate: *mut SPSTATEHANDLE__) -> ::windows::runtime::Result<()>3903     pub unsafe fn ClearRule(&self, hstate: *mut SPSTATEHANDLE__) -> ::windows::runtime::Result<()> {
3904         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(hstate)).ok()
3905     }
CreateNewState(&self, hstate: *mut SPSTATEHANDLE__, phstate: *mut *mut SPSTATEHANDLE__) -> ::windows::runtime::Result<()>3906     pub unsafe fn CreateNewState(&self, hstate: *mut SPSTATEHANDLE__, phstate: *mut *mut SPSTATEHANDLE__) -> ::windows::runtime::Result<()> {
3907         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(hstate), ::std::mem::transmute(phstate)).ok()
3908     }
3909     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
AddWordTransition<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, hfromstate: *mut SPSTATEHANDLE__, htostate: *mut SPSTATEHANDLE__, psz: Param2, pszseparators: Param3, ewordtype: SPGRAMMARWORDTYPE, weight: f32, ppropinfo: *const SPPROPERTYINFO) -> ::windows::runtime::Result<()>3910     pub unsafe fn AddWordTransition<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, hfromstate: *mut SPSTATEHANDLE__, htostate: *mut SPSTATEHANDLE__, psz: Param2, pszseparators: Param3, ewordtype: SPGRAMMARWORDTYPE, weight: f32, ppropinfo: *const SPPROPERTYINFO) -> ::windows::runtime::Result<()> {
3911         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(hfromstate), ::std::mem::transmute(htostate), psz.into_param().abi(), pszseparators.into_param().abi(), ::std::mem::transmute(ewordtype), ::std::mem::transmute(weight), ::std::mem::transmute(ppropinfo)).ok()
3912     }
3913     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
AddRuleTransition(&self, hfromstate: *mut SPSTATEHANDLE__, htostate: *mut SPSTATEHANDLE__, hrule: *mut SPSTATEHANDLE__, weight: f32, ppropinfo: *const SPPROPERTYINFO) -> ::windows::runtime::Result<()>3914     pub unsafe fn AddRuleTransition(&self, hfromstate: *mut SPSTATEHANDLE__, htostate: *mut SPSTATEHANDLE__, hrule: *mut SPSTATEHANDLE__, weight: f32, ppropinfo: *const SPPROPERTYINFO) -> ::windows::runtime::Result<()> {
3915         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(hfromstate), ::std::mem::transmute(htostate), ::std::mem::transmute(hrule), ::std::mem::transmute(weight), ::std::mem::transmute(ppropinfo)).ok()
3916     }
3917     #[cfg(feature = "Win32_Foundation")]
AddResource<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, hrulestate: *mut SPSTATEHANDLE__, pszresourcename: Param1, pszresourcevalue: Param2) -> ::windows::runtime::Result<()>3918     pub unsafe fn AddResource<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, hrulestate: *mut SPSTATEHANDLE__, pszresourcename: Param1, pszresourcevalue: Param2) -> ::windows::runtime::Result<()> {
3919         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(hrulestate), pszresourcename.into_param().abi(), pszresourcevalue.into_param().abi()).ok()
3920     }
Commit(&self, dwreserved: u32) -> ::windows::runtime::Result<()>3921     pub unsafe fn Commit(&self, dwreserved: u32) -> ::windows::runtime::Result<()> {
3922         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwreserved)).ok()
3923     }
GetGrammarId(&self, pullgrammarid: *mut u64) -> ::windows::runtime::Result<()>3924     pub unsafe fn GetGrammarId(&self, pullgrammarid: *mut u64) -> ::windows::runtime::Result<()> {
3925         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(pullgrammarid)).ok()
3926     }
GetRecoContext(&self) -> ::windows::runtime::Result<ISpRecoContext>3927     pub unsafe fn GetRecoContext(&self) -> ::windows::runtime::Result<ISpRecoContext> {
3928         let mut result__: <ISpRecoContext as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3929         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpRecoContext>(result__)
3930     }
3931     #[cfg(feature = "Win32_Foundation")]
LoadCmdFromFile<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszfilename: Param0, options: SPLOADOPTIONS) -> ::windows::runtime::Result<()>3932     pub unsafe fn LoadCmdFromFile<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszfilename: Param0, options: SPLOADOPTIONS) -> ::windows::runtime::Result<()> {
3933         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), pszfilename.into_param().abi(), ::std::mem::transmute(options)).ok()
3934     }
3935     #[cfg(feature = "Win32_Foundation")]
LoadCmdFromObject<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, rcid: *const ::windows::runtime::GUID, pszgrammarname: Param1, options: SPLOADOPTIONS) -> ::windows::runtime::Result<()>3936     pub unsafe fn LoadCmdFromObject<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, rcid: *const ::windows::runtime::GUID, pszgrammarname: Param1, options: SPLOADOPTIONS) -> ::windows::runtime::Result<()> {
3937         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(rcid), pszgrammarname.into_param().abi(), ::std::mem::transmute(options)).ok()
3938     }
3939     #[cfg(feature = "Win32_Foundation")]
LoadCmdFromResource<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HINSTANCE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, hmodule: Param0, pszresourcename: Param1, pszresourcetype: Param2, wlanguage: u16, options: SPLOADOPTIONS) -> ::windows::runtime::Result<()>3940     pub unsafe fn LoadCmdFromResource<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HINSTANCE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, hmodule: Param0, pszresourcename: Param1, pszresourcetype: Param2, wlanguage: u16, options: SPLOADOPTIONS) -> ::windows::runtime::Result<()> {
3941         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), hmodule.into_param().abi(), pszresourcename.into_param().abi(), pszresourcetype.into_param().abi(), ::std::mem::transmute(wlanguage), ::std::mem::transmute(options)).ok()
3942     }
LoadCmdFromMemory(&self, pgrammar: *const SPBINARYGRAMMAR, options: SPLOADOPTIONS) -> ::windows::runtime::Result<()>3943     pub unsafe fn LoadCmdFromMemory(&self, pgrammar: *const SPBINARYGRAMMAR, options: SPLOADOPTIONS) -> ::windows::runtime::Result<()> {
3944         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(pgrammar), ::std::mem::transmute(options)).ok()
3945     }
3946     #[cfg(feature = "Win32_Foundation")]
LoadCmdFromProprietaryGrammar<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, rguidparam: *const ::windows::runtime::GUID, pszstringparam: Param1, pvdataprarm: *const ::std::ffi::c_void, cbdatasize: u32, options: SPLOADOPTIONS) -> ::windows::runtime::Result<()>3947     pub unsafe fn LoadCmdFromProprietaryGrammar<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, rguidparam: *const ::windows::runtime::GUID, pszstringparam: Param1, pvdataprarm: *const ::std::ffi::c_void, cbdatasize: u32, options: SPLOADOPTIONS) -> ::windows::runtime::Result<()> {
3948         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(rguidparam), pszstringparam.into_param().abi(), ::std::mem::transmute(pvdataprarm), ::std::mem::transmute(cbdatasize), ::std::mem::transmute(options)).ok()
3949     }
3950     #[cfg(feature = "Win32_Foundation")]
SetRuleState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszname: Param0, preserved: *mut ::std::ffi::c_void, newstate: SPRULESTATE) -> ::windows::runtime::Result<()>3951     pub unsafe fn SetRuleState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszname: Param0, preserved: *mut ::std::ffi::c_void, newstate: SPRULESTATE) -> ::windows::runtime::Result<()> {
3952         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), pszname.into_param().abi(), ::std::mem::transmute(preserved), ::std::mem::transmute(newstate)).ok()
3953     }
SetRuleIdState(&self, ulruleid: u32, newstate: SPRULESTATE) -> ::windows::runtime::Result<()>3954     pub unsafe fn SetRuleIdState(&self, ulruleid: u32, newstate: SPRULESTATE) -> ::windows::runtime::Result<()> {
3955         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulruleid), ::std::mem::transmute(newstate)).ok()
3956     }
3957     #[cfg(feature = "Win32_Foundation")]
LoadDictation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, psztopicname: Param0, options: SPLOADOPTIONS) -> ::windows::runtime::Result<()>3958     pub unsafe fn LoadDictation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, psztopicname: Param0, options: SPLOADOPTIONS) -> ::windows::runtime::Result<()> {
3959         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), psztopicname.into_param().abi(), ::std::mem::transmute(options)).ok()
3960     }
UnloadDictation(&self) -> ::windows::runtime::Result<()>3961     pub unsafe fn UnloadDictation(&self) -> ::windows::runtime::Result<()> {
3962         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self)).ok()
3963     }
SetDictationState(&self, newstate: SPRULESTATE) -> ::windows::runtime::Result<()>3964     pub unsafe fn SetDictationState(&self, newstate: SPRULESTATE) -> ::windows::runtime::Result<()> {
3965         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(newstate)).ok()
3966     }
3967     #[cfg(feature = "Win32_Foundation")]
SetWordSequenceData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, ptext: Param0, cchtext: u32, pinfo: *const SPTEXTSELECTIONINFO) -> ::windows::runtime::Result<()>3968     pub unsafe fn SetWordSequenceData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, ptext: Param0, cchtext: u32, pinfo: *const SPTEXTSELECTIONINFO) -> ::windows::runtime::Result<()> {
3969         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ptext.into_param().abi(), ::std::mem::transmute(cchtext), ::std::mem::transmute(pinfo)).ok()
3970     }
SetTextSelection(&self, pinfo: *const SPTEXTSELECTIONINFO) -> ::windows::runtime::Result<()>3971     pub unsafe fn SetTextSelection(&self, pinfo: *const SPTEXTSELECTIONINFO) -> ::windows::runtime::Result<()> {
3972         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(pinfo)).ok()
3973     }
3974     #[cfg(feature = "Win32_Foundation")]
IsPronounceable<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszword: Param0, pwordpronounceable: *mut SPWORDPRONOUNCEABLE) -> ::windows::runtime::Result<()>3975     pub unsafe fn IsPronounceable<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszword: Param0, pwordpronounceable: *mut SPWORDPRONOUNCEABLE) -> ::windows::runtime::Result<()> {
3976         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), pszword.into_param().abi(), ::std::mem::transmute(pwordpronounceable)).ok()
3977     }
SetGrammarState(&self, egrammarstate: SPGRAMMARSTATE) -> ::windows::runtime::Result<()>3978     pub unsafe fn SetGrammarState(&self, egrammarstate: SPGRAMMARSTATE) -> ::windows::runtime::Result<()> {
3979         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(egrammarstate)).ok()
3980     }
3981     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
SaveCmd<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pstream: Param0) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>3982     pub unsafe fn SaveCmd<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pstream: Param0) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
3983         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3984         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), pstream.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
3985     }
GetGrammarState(&self, pegrammarstate: *mut SPGRAMMARSTATE) -> ::windows::runtime::Result<()>3986     pub unsafe fn GetGrammarState(&self, pegrammarstate: *mut SPGRAMMARSTATE) -> ::windows::runtime::Result<()> {
3987         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(pegrammarstate)).ok()
3988     }
3989 }
3990 unsafe impl ::windows::runtime::Interface for ISpRecoGrammar {
3991     type Vtable = ISpRecoGrammar_abi;
3992     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(561503017, 32581, 18384, [133, 84, 6, 126, 145, 200, 5, 2]);
3993 }
3994 impl ::std::convert::From<ISpRecoGrammar> for ::windows::runtime::IUnknown {
from(value: ISpRecoGrammar) -> Self3995     fn from(value: ISpRecoGrammar) -> Self {
3996         unsafe { ::std::mem::transmute(value) }
3997     }
3998 }
3999 impl ::std::convert::From<&ISpRecoGrammar> for ::windows::runtime::IUnknown {
from(value: &ISpRecoGrammar) -> Self4000     fn from(value: &ISpRecoGrammar) -> Self {
4001         ::std::convert::From::from(::std::clone::Clone::clone(value))
4002     }
4003 }
4004 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpRecoGrammar {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4005     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4006         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4007     }
4008 }
4009 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpRecoGrammar {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4010     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4011         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4012     }
4013 }
4014 impl ::std::convert::From<ISpRecoGrammar> for ISpGrammarBuilder {
from(value: ISpRecoGrammar) -> Self4015     fn from(value: ISpRecoGrammar) -> Self {
4016         unsafe { ::std::mem::transmute(value) }
4017     }
4018 }
4019 impl ::std::convert::From<&ISpRecoGrammar> for ISpGrammarBuilder {
from(value: &ISpRecoGrammar) -> Self4020     fn from(value: &ISpRecoGrammar) -> Self {
4021         ::std::convert::From::from(::std::clone::Clone::clone(value))
4022     }
4023 }
4024 impl<'a> ::windows::runtime::IntoParam<'a, ISpGrammarBuilder> for ISpRecoGrammar {
into_param(self) -> ::windows::runtime::Param<'a, ISpGrammarBuilder>4025     fn into_param(self) -> ::windows::runtime::Param<'a, ISpGrammarBuilder> {
4026         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpGrammarBuilder>::into(self))
4027     }
4028 }
4029 impl<'a> ::windows::runtime::IntoParam<'a, ISpGrammarBuilder> for &ISpRecoGrammar {
into_param(self) -> ::windows::runtime::Param<'a, ISpGrammarBuilder>4030     fn into_param(self) -> ::windows::runtime::Param<'a, ISpGrammarBuilder> {
4031         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpGrammarBuilder>::into(::std::clone::Clone::clone(self)))
4032     }
4033 }
4034 #[repr(C)]
4035 #[doc(hidden)]
4036 pub struct ISpRecoGrammar_abi(
4037     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4038     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4039     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4040     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newlanguage: u16) -> ::windows::runtime::HRESULT,
4041     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszrulename: super::super::Foundation::PWSTR, dwruleid: u32, dwattributes: u32, fcreateifnotexist: super::super::Foundation::BOOL, phinitialstate: *mut *mut SPSTATEHANDLE__) -> ::windows::runtime::HRESULT,
4042     #[cfg(not(feature = "Win32_Foundation"))] usize,
4043     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hstate: *mut SPSTATEHANDLE__) -> ::windows::runtime::HRESULT,
4044     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hstate: *mut SPSTATEHANDLE__, phstate: *mut *mut SPSTATEHANDLE__) -> ::windows::runtime::HRESULT,
4045     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hfromstate: *mut SPSTATEHANDLE__, htostate: *mut SPSTATEHANDLE__, psz: super::super::Foundation::PWSTR, pszseparators: super::super::Foundation::PWSTR, ewordtype: SPGRAMMARWORDTYPE, weight: f32, ppropinfo: *const ::std::mem::ManuallyDrop<SPPROPERTYINFO>) -> ::windows::runtime::HRESULT,
4046     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4047     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hfromstate: *mut SPSTATEHANDLE__, htostate: *mut SPSTATEHANDLE__, hrule: *mut SPSTATEHANDLE__, weight: f32, ppropinfo: *const ::std::mem::ManuallyDrop<SPPROPERTYINFO>) -> ::windows::runtime::HRESULT,
4048     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4049     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hrulestate: *mut SPSTATEHANDLE__, pszresourcename: super::super::Foundation::PWSTR, pszresourcevalue: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4050     #[cfg(not(feature = "Win32_Foundation"))] usize,
4051     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwreserved: u32) -> ::windows::runtime::HRESULT,
4052     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pullgrammarid: *mut u64) -> ::windows::runtime::HRESULT,
4053     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprecoctxt: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4054     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszfilename: super::super::Foundation::PWSTR, options: SPLOADOPTIONS) -> ::windows::runtime::HRESULT,
4055     #[cfg(not(feature = "Win32_Foundation"))] usize,
4056     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rcid: *const ::windows::runtime::GUID, pszgrammarname: super::super::Foundation::PWSTR, options: SPLOADOPTIONS) -> ::windows::runtime::HRESULT,
4057     #[cfg(not(feature = "Win32_Foundation"))] usize,
4058     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hmodule: super::super::Foundation::HINSTANCE, pszresourcename: super::super::Foundation::PWSTR, pszresourcetype: super::super::Foundation::PWSTR, wlanguage: u16, options: SPLOADOPTIONS) -> ::windows::runtime::HRESULT,
4059     #[cfg(not(feature = "Win32_Foundation"))] usize,
4060     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pgrammar: *const SPBINARYGRAMMAR, options: SPLOADOPTIONS) -> ::windows::runtime::HRESULT,
4061     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rguidparam: *const ::windows::runtime::GUID, pszstringparam: super::super::Foundation::PWSTR, pvdataprarm: *const ::std::ffi::c_void, cbdatasize: u32, options: SPLOADOPTIONS) -> ::windows::runtime::HRESULT,
4062     #[cfg(not(feature = "Win32_Foundation"))] usize,
4063     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszname: super::super::Foundation::PWSTR, preserved: *mut ::std::ffi::c_void, newstate: SPRULESTATE) -> ::windows::runtime::HRESULT,
4064     #[cfg(not(feature = "Win32_Foundation"))] usize,
4065     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulruleid: u32, newstate: SPRULESTATE) -> ::windows::runtime::HRESULT,
4066     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psztopicname: super::super::Foundation::PWSTR, options: SPLOADOPTIONS) -> ::windows::runtime::HRESULT,
4067     #[cfg(not(feature = "Win32_Foundation"))] usize,
4068     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4069     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newstate: SPRULESTATE) -> ::windows::runtime::HRESULT,
4070     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptext: super::super::Foundation::PWSTR, cchtext: u32, pinfo: *const SPTEXTSELECTIONINFO) -> ::windows::runtime::HRESULT,
4071     #[cfg(not(feature = "Win32_Foundation"))] usize,
4072     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pinfo: *const SPTEXTSELECTIONINFO) -> ::windows::runtime::HRESULT,
4073     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszword: super::super::Foundation::PWSTR, pwordpronounceable: *mut SPWORDPRONOUNCEABLE) -> ::windows::runtime::HRESULT,
4074     #[cfg(not(feature = "Win32_Foundation"))] usize,
4075     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, egrammarstate: SPGRAMMARSTATE) -> ::windows::runtime::HRESULT,
4076     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstream: ::windows::runtime::RawPtr, ppszcomemerrortext: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4077     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
4078     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pegrammarstate: *mut SPGRAMMARSTATE) -> ::windows::runtime::HRESULT,
4079 );
4080 #[repr(transparent)]
4081 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4082 pub struct ISpRecoGrammar2(::windows::runtime::IUnknown);
4083 impl ISpRecoGrammar2 {
4084     #[cfg(feature = "Win32_Foundation")]
GetRules(&self, ppcomemrules: *mut *mut SPRULE, punumrules: *mut u32) -> ::windows::runtime::Result<()>4085     pub unsafe fn GetRules(&self, ppcomemrules: *mut *mut SPRULE, punumrules: *mut u32) -> ::windows::runtime::Result<()> {
4086         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppcomemrules), ::std::mem::transmute(punumrules)).ok()
4087     }
4088     #[cfg(feature = "Win32_Foundation")]
LoadCmdFromFile2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszfilename: Param0, options: SPLOADOPTIONS, pszsharinguri: Param2, pszbaseuri: Param3) -> ::windows::runtime::Result<()>4089     pub unsafe fn LoadCmdFromFile2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszfilename: Param0, options: SPLOADOPTIONS, pszsharinguri: Param2, pszbaseuri: Param3) -> ::windows::runtime::Result<()> {
4090         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pszfilename.into_param().abi(), ::std::mem::transmute(options), pszsharinguri.into_param().abi(), pszbaseuri.into_param().abi()).ok()
4091     }
4092     #[cfg(feature = "Win32_Foundation")]
LoadCmdFromMemory2<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pgrammar: *const SPBINARYGRAMMAR, options: SPLOADOPTIONS, pszsharinguri: Param2, pszbaseuri: Param3) -> ::windows::runtime::Result<()>4093     pub unsafe fn LoadCmdFromMemory2<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pgrammar: *const SPBINARYGRAMMAR, options: SPLOADOPTIONS, pszsharinguri: Param2, pszbaseuri: Param3) -> ::windows::runtime::Result<()> {
4094         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pgrammar), ::std::mem::transmute(options), pszsharinguri.into_param().abi(), pszbaseuri.into_param().abi()).ok()
4095     }
4096     #[cfg(feature = "Win32_Foundation")]
SetRulePriority<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszrulename: Param0, ulruleid: u32, nrulepriority: i32) -> ::windows::runtime::Result<()>4097     pub unsafe fn SetRulePriority<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszrulename: Param0, ulruleid: u32, nrulepriority: i32) -> ::windows::runtime::Result<()> {
4098         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pszrulename.into_param().abi(), ::std::mem::transmute(ulruleid), ::std::mem::transmute(nrulepriority)).ok()
4099     }
4100     #[cfg(feature = "Win32_Foundation")]
SetRuleWeight<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszrulename: Param0, ulruleid: u32, flweight: f32) -> ::windows::runtime::Result<()>4101     pub unsafe fn SetRuleWeight<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszrulename: Param0, ulruleid: u32, flweight: f32) -> ::windows::runtime::Result<()> {
4102         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pszrulename.into_param().abi(), ::std::mem::transmute(ulruleid), ::std::mem::transmute(flweight)).ok()
4103     }
SetDictationWeight(&self, flweight: f32) -> ::windows::runtime::Result<()>4104     pub unsafe fn SetDictationWeight(&self, flweight: f32) -> ::windows::runtime::Result<()> {
4105         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(flweight)).ok()
4106     }
SetGrammarLoader<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechResourceLoader>>(&self, ploader: Param0) -> ::windows::runtime::Result<()>4107     pub unsafe fn SetGrammarLoader<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechResourceLoader>>(&self, ploader: Param0) -> ::windows::runtime::Result<()> {
4108         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ploader.into_param().abi()).ok()
4109     }
4110     #[cfg(feature = "Win32_System_Com_Urlmon")]
SetSMLSecurityManager<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::Urlmon::IInternetSecurityManager>>(&self, psmlsecuritymanager: Param0) -> ::windows::runtime::Result<()>4111     pub unsafe fn SetSMLSecurityManager<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::Urlmon::IInternetSecurityManager>>(&self, psmlsecuritymanager: Param0) -> ::windows::runtime::Result<()> {
4112         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), psmlsecuritymanager.into_param().abi()).ok()
4113     }
4114 }
4115 unsafe impl ::windows::runtime::Interface for ISpRecoGrammar2 {
4116     type Vtable = ISpRecoGrammar2_abi;
4117     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1261943966, 40662, 17571, [147, 211, 24, 240, 34, 183, 158, 195]);
4118 }
4119 impl ::std::convert::From<ISpRecoGrammar2> for ::windows::runtime::IUnknown {
from(value: ISpRecoGrammar2) -> Self4120     fn from(value: ISpRecoGrammar2) -> Self {
4121         unsafe { ::std::mem::transmute(value) }
4122     }
4123 }
4124 impl ::std::convert::From<&ISpRecoGrammar2> for ::windows::runtime::IUnknown {
from(value: &ISpRecoGrammar2) -> Self4125     fn from(value: &ISpRecoGrammar2) -> Self {
4126         ::std::convert::From::from(::std::clone::Clone::clone(value))
4127     }
4128 }
4129 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpRecoGrammar2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4130     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4131         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4132     }
4133 }
4134 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpRecoGrammar2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4135     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4136         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4137     }
4138 }
4139 #[repr(C)]
4140 #[doc(hidden)]
4141 pub struct ISpRecoGrammar2_abi(
4142     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4143     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4144     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4145     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcomemrules: *mut *mut SPRULE, punumrules: *mut u32) -> ::windows::runtime::HRESULT,
4146     #[cfg(not(feature = "Win32_Foundation"))] usize,
4147     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszfilename: super::super::Foundation::PWSTR, options: SPLOADOPTIONS, pszsharinguri: super::super::Foundation::PWSTR, pszbaseuri: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4148     #[cfg(not(feature = "Win32_Foundation"))] usize,
4149     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pgrammar: *const SPBINARYGRAMMAR, options: SPLOADOPTIONS, pszsharinguri: super::super::Foundation::PWSTR, pszbaseuri: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4150     #[cfg(not(feature = "Win32_Foundation"))] usize,
4151     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszrulename: super::super::Foundation::PWSTR, ulruleid: u32, nrulepriority: i32) -> ::windows::runtime::HRESULT,
4152     #[cfg(not(feature = "Win32_Foundation"))] usize,
4153     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszrulename: super::super::Foundation::PWSTR, ulruleid: u32, flweight: f32) -> ::windows::runtime::HRESULT,
4154     #[cfg(not(feature = "Win32_Foundation"))] usize,
4155     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flweight: f32) -> ::windows::runtime::HRESULT,
4156     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ploader: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4157     #[cfg(feature = "Win32_System_Com_Urlmon")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psmlsecuritymanager: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4158     #[cfg(not(feature = "Win32_System_Com_Urlmon"))] usize,
4159 );
4160 #[repr(transparent)]
4161 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4162 pub struct ISpRecoResult(::windows::runtime::IUnknown);
4163 impl ISpRecoResult {
4164     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
GetPhrase(&self) -> ::windows::runtime::Result<*mut SPPHRASE>4165     pub unsafe fn GetPhrase(&self) -> ::windows::runtime::Result<*mut SPPHRASE> {
4166         let mut result__: <*mut SPPHRASE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4167         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut SPPHRASE>(result__)
4168     }
GetSerializedPhrase(&self) -> ::windows::runtime::Result<*mut SPSERIALIZEDPHRASE>4169     pub unsafe fn GetSerializedPhrase(&self) -> ::windows::runtime::Result<*mut SPSERIALIZEDPHRASE> {
4170         let mut result__: <*mut SPSERIALIZEDPHRASE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4171         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut SPSERIALIZEDPHRASE>(result__)
4172     }
4173     #[cfg(feature = "Win32_Foundation")]
GetText<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, ulstart: u32, ulcount: u32, fusetextreplacements: Param2, ppszcomemtext: *mut super::super::Foundation::PWSTR, pbdisplayattributes: *mut u8) -> ::windows::runtime::Result<()>4174     pub unsafe fn GetText<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, ulstart: u32, ulcount: u32, fusetextreplacements: Param2, ppszcomemtext: *mut super::super::Foundation::PWSTR, pbdisplayattributes: *mut u8) -> ::windows::runtime::Result<()> {
4175         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulstart), ::std::mem::transmute(ulcount), fusetextreplacements.into_param().abi(), ::std::mem::transmute(ppszcomemtext), ::std::mem::transmute(pbdisplayattributes)).ok()
4176     }
Discard(&self, dwvaluetypes: u32) -> ::windows::runtime::Result<()>4177     pub unsafe fn Discard(&self, dwvaluetypes: u32) -> ::windows::runtime::Result<()> {
4178         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwvaluetypes)).ok()
4179     }
4180     #[cfg(feature = "Win32_Foundation")]
GetResultTimes(&self, ptimes: *mut SPRECORESULTTIMES) -> ::windows::runtime::Result<()>4181     pub unsafe fn GetResultTimes(&self, ptimes: *mut SPRECORESULTTIMES) -> ::windows::runtime::Result<()> {
4182         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(ptimes)).ok()
4183     }
GetAlternates(&self, ulstartelement: u32, celements: u32, ulrequestcount: u32, ppphrases: *mut ::std::option::Option<ISpPhraseAlt>, pcphrasesreturned: *mut u32) -> ::windows::runtime::Result<()>4184     pub unsafe fn GetAlternates(&self, ulstartelement: u32, celements: u32, ulrequestcount: u32, ppphrases: *mut ::std::option::Option<ISpPhraseAlt>, pcphrasesreturned: *mut u32) -> ::windows::runtime::Result<()> {
4185         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulstartelement), ::std::mem::transmute(celements), ::std::mem::transmute(ulrequestcount), ::std::mem::transmute(ppphrases), ::std::mem::transmute(pcphrasesreturned)).ok()
4186     }
GetAudio(&self, ulstartelement: u32, celements: u32) -> ::windows::runtime::Result<ISpStreamFormat>4187     pub unsafe fn GetAudio(&self, ulstartelement: u32, celements: u32) -> ::windows::runtime::Result<ISpStreamFormat> {
4188         let mut result__: <ISpStreamFormat as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4189         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulstartelement), ::std::mem::transmute(celements), &mut result__).from_abi::<ISpStreamFormat>(result__)
4190     }
SpeakAudio(&self, ulstartelement: u32, celements: u32, dwflags: u32, pulstreamnumber: *mut u32) -> ::windows::runtime::Result<()>4191     pub unsafe fn SpeakAudio(&self, ulstartelement: u32, celements: u32, dwflags: u32, pulstreamnumber: *mut u32) -> ::windows::runtime::Result<()> {
4192         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulstartelement), ::std::mem::transmute(celements), ::std::mem::transmute(dwflags), ::std::mem::transmute(pulstreamnumber)).ok()
4193     }
Serialize(&self, ppcomemserializedresult: *mut *mut SPSERIALIZEDRESULT) -> ::windows::runtime::Result<()>4194     pub unsafe fn Serialize(&self, ppcomemserializedresult: *mut *mut SPSERIALIZEDRESULT) -> ::windows::runtime::Result<()> {
4195         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppcomemserializedresult)).ok()
4196     }
4197     #[cfg(feature = "Win32_Media_Multimedia")]
ScaleAudio(&self, paudioformatid: *const ::windows::runtime::GUID, pwaveformatex: *const super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()>4198     pub unsafe fn ScaleAudio(&self, paudioformatid: *const ::windows::runtime::GUID, pwaveformatex: *const super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()> {
4199         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(paudioformatid), ::std::mem::transmute(pwaveformatex)).ok()
4200     }
GetRecoContext(&self) -> ::windows::runtime::Result<ISpRecoContext>4201     pub unsafe fn GetRecoContext(&self) -> ::windows::runtime::Result<ISpRecoContext> {
4202         let mut result__: <ISpRecoContext as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4203         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpRecoContext>(result__)
4204     }
4205 }
4206 unsafe impl ::windows::runtime::Interface for ISpRecoResult {
4207     type Vtable = ISpRecoResult_abi;
4208     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(548426686, 57909, 17357, [154, 42, 141, 23, 164, 139, 120, 66]);
4209 }
4210 impl ::std::convert::From<ISpRecoResult> for ::windows::runtime::IUnknown {
from(value: ISpRecoResult) -> Self4211     fn from(value: ISpRecoResult) -> Self {
4212         unsafe { ::std::mem::transmute(value) }
4213     }
4214 }
4215 impl ::std::convert::From<&ISpRecoResult> for ::windows::runtime::IUnknown {
from(value: &ISpRecoResult) -> Self4216     fn from(value: &ISpRecoResult) -> Self {
4217         ::std::convert::From::from(::std::clone::Clone::clone(value))
4218     }
4219 }
4220 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpRecoResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4221     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4222         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4223     }
4224 }
4225 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpRecoResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4226     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4227         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4228     }
4229 }
4230 impl ::std::convert::From<ISpRecoResult> for ISpPhrase {
from(value: ISpRecoResult) -> Self4231     fn from(value: ISpRecoResult) -> Self {
4232         unsafe { ::std::mem::transmute(value) }
4233     }
4234 }
4235 impl ::std::convert::From<&ISpRecoResult> for ISpPhrase {
from(value: &ISpRecoResult) -> Self4236     fn from(value: &ISpRecoResult) -> Self {
4237         ::std::convert::From::from(::std::clone::Clone::clone(value))
4238     }
4239 }
4240 impl<'a> ::windows::runtime::IntoParam<'a, ISpPhrase> for ISpRecoResult {
into_param(self) -> ::windows::runtime::Param<'a, ISpPhrase>4241     fn into_param(self) -> ::windows::runtime::Param<'a, ISpPhrase> {
4242         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpPhrase>::into(self))
4243     }
4244 }
4245 impl<'a> ::windows::runtime::IntoParam<'a, ISpPhrase> for &ISpRecoResult {
into_param(self) -> ::windows::runtime::Param<'a, ISpPhrase>4246     fn into_param(self) -> ::windows::runtime::Param<'a, ISpPhrase> {
4247         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpPhrase>::into(::std::clone::Clone::clone(self)))
4248     }
4249 }
4250 #[repr(C)]
4251 #[doc(hidden)]
4252 pub struct ISpRecoResult_abi(
4253     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4254     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4255     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4256     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcomemphrase: *mut *mut SPPHRASE) -> ::windows::runtime::HRESULT,
4257     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4258     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcomemphrase: *mut *mut SPSERIALIZEDPHRASE) -> ::windows::runtime::HRESULT,
4259     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulstart: u32, ulcount: u32, fusetextreplacements: super::super::Foundation::BOOL, ppszcomemtext: *mut super::super::Foundation::PWSTR, pbdisplayattributes: *mut u8) -> ::windows::runtime::HRESULT,
4260     #[cfg(not(feature = "Win32_Foundation"))] usize,
4261     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwvaluetypes: u32) -> ::windows::runtime::HRESULT,
4262     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptimes: *mut SPRECORESULTTIMES) -> ::windows::runtime::HRESULT,
4263     #[cfg(not(feature = "Win32_Foundation"))] usize,
4264     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulstartelement: u32, celements: u32, ulrequestcount: u32, ppphrases: *mut ::windows::runtime::RawPtr, pcphrasesreturned: *mut u32) -> ::windows::runtime::HRESULT,
4265     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulstartelement: u32, celements: u32, ppstream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4266     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulstartelement: u32, celements: u32, dwflags: u32, pulstreamnumber: *mut u32) -> ::windows::runtime::HRESULT,
4267     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcomemserializedresult: *mut *mut SPSERIALIZEDRESULT) -> ::windows::runtime::HRESULT,
4268     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paudioformatid: *const ::windows::runtime::GUID, pwaveformatex: *const super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::HRESULT,
4269     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
4270     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprecocontext: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4271 );
4272 #[repr(transparent)]
4273 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4274 pub struct ISpRecoResult2(::windows::runtime::IUnknown);
4275 impl ISpRecoResult2 {
4276     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
GetPhrase(&self) -> ::windows::runtime::Result<*mut SPPHRASE>4277     pub unsafe fn GetPhrase(&self) -> ::windows::runtime::Result<*mut SPPHRASE> {
4278         let mut result__: <*mut SPPHRASE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4279         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut SPPHRASE>(result__)
4280     }
GetSerializedPhrase(&self) -> ::windows::runtime::Result<*mut SPSERIALIZEDPHRASE>4281     pub unsafe fn GetSerializedPhrase(&self) -> ::windows::runtime::Result<*mut SPSERIALIZEDPHRASE> {
4282         let mut result__: <*mut SPSERIALIZEDPHRASE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4283         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut SPSERIALIZEDPHRASE>(result__)
4284     }
4285     #[cfg(feature = "Win32_Foundation")]
GetText<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, ulstart: u32, ulcount: u32, fusetextreplacements: Param2, ppszcomemtext: *mut super::super::Foundation::PWSTR, pbdisplayattributes: *mut u8) -> ::windows::runtime::Result<()>4286     pub unsafe fn GetText<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, ulstart: u32, ulcount: u32, fusetextreplacements: Param2, ppszcomemtext: *mut super::super::Foundation::PWSTR, pbdisplayattributes: *mut u8) -> ::windows::runtime::Result<()> {
4287         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulstart), ::std::mem::transmute(ulcount), fusetextreplacements.into_param().abi(), ::std::mem::transmute(ppszcomemtext), ::std::mem::transmute(pbdisplayattributes)).ok()
4288     }
Discard(&self, dwvaluetypes: u32) -> ::windows::runtime::Result<()>4289     pub unsafe fn Discard(&self, dwvaluetypes: u32) -> ::windows::runtime::Result<()> {
4290         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwvaluetypes)).ok()
4291     }
4292     #[cfg(feature = "Win32_Foundation")]
GetResultTimes(&self, ptimes: *mut SPRECORESULTTIMES) -> ::windows::runtime::Result<()>4293     pub unsafe fn GetResultTimes(&self, ptimes: *mut SPRECORESULTTIMES) -> ::windows::runtime::Result<()> {
4294         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(ptimes)).ok()
4295     }
GetAlternates(&self, ulstartelement: u32, celements: u32, ulrequestcount: u32, ppphrases: *mut ::std::option::Option<ISpPhraseAlt>, pcphrasesreturned: *mut u32) -> ::windows::runtime::Result<()>4296     pub unsafe fn GetAlternates(&self, ulstartelement: u32, celements: u32, ulrequestcount: u32, ppphrases: *mut ::std::option::Option<ISpPhraseAlt>, pcphrasesreturned: *mut u32) -> ::windows::runtime::Result<()> {
4297         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulstartelement), ::std::mem::transmute(celements), ::std::mem::transmute(ulrequestcount), ::std::mem::transmute(ppphrases), ::std::mem::transmute(pcphrasesreturned)).ok()
4298     }
GetAudio(&self, ulstartelement: u32, celements: u32) -> ::windows::runtime::Result<ISpStreamFormat>4299     pub unsafe fn GetAudio(&self, ulstartelement: u32, celements: u32) -> ::windows::runtime::Result<ISpStreamFormat> {
4300         let mut result__: <ISpStreamFormat as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4301         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulstartelement), ::std::mem::transmute(celements), &mut result__).from_abi::<ISpStreamFormat>(result__)
4302     }
SpeakAudio(&self, ulstartelement: u32, celements: u32, dwflags: u32, pulstreamnumber: *mut u32) -> ::windows::runtime::Result<()>4303     pub unsafe fn SpeakAudio(&self, ulstartelement: u32, celements: u32, dwflags: u32, pulstreamnumber: *mut u32) -> ::windows::runtime::Result<()> {
4304         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulstartelement), ::std::mem::transmute(celements), ::std::mem::transmute(dwflags), ::std::mem::transmute(pulstreamnumber)).ok()
4305     }
Serialize(&self, ppcomemserializedresult: *mut *mut SPSERIALIZEDRESULT) -> ::windows::runtime::Result<()>4306     pub unsafe fn Serialize(&self, ppcomemserializedresult: *mut *mut SPSERIALIZEDRESULT) -> ::windows::runtime::Result<()> {
4307         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppcomemserializedresult)).ok()
4308     }
4309     #[cfg(feature = "Win32_Media_Multimedia")]
ScaleAudio(&self, paudioformatid: *const ::windows::runtime::GUID, pwaveformatex: *const super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()>4310     pub unsafe fn ScaleAudio(&self, paudioformatid: *const ::windows::runtime::GUID, pwaveformatex: *const super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()> {
4311         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(paudioformatid), ::std::mem::transmute(pwaveformatex)).ok()
4312     }
GetRecoContext(&self) -> ::windows::runtime::Result<ISpRecoContext>4313     pub unsafe fn GetRecoContext(&self) -> ::windows::runtime::Result<ISpRecoContext> {
4314         let mut result__: <ISpRecoContext as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4315         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpRecoContext>(result__)
4316     }
CommitAlternate<'a, Param0: ::windows::runtime::IntoParam<'a, ISpPhraseAlt>>(&self, pphrasealt: Param0) -> ::windows::runtime::Result<ISpRecoResult>4317     pub unsafe fn CommitAlternate<'a, Param0: ::windows::runtime::IntoParam<'a, ISpPhraseAlt>>(&self, pphrasealt: Param0) -> ::windows::runtime::Result<ISpRecoResult> {
4318         let mut result__: <ISpRecoResult as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4319         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), pphrasealt.into_param().abi(), &mut result__).from_abi::<ISpRecoResult>(result__)
4320     }
4321     #[cfg(feature = "Win32_Foundation")]
CommitText<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, ulstartelement: u32, celements: u32, pszcorrecteddata: Param2, ecommitflags: u32) -> ::windows::runtime::Result<()>4322     pub unsafe fn CommitText<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, ulstartelement: u32, celements: u32, pszcorrecteddata: Param2, ecommitflags: u32) -> ::windows::runtime::Result<()> {
4323         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulstartelement), ::std::mem::transmute(celements), pszcorrecteddata.into_param().abi(), ::std::mem::transmute(ecommitflags)).ok()
4324     }
4325     #[cfg(feature = "Win32_Foundation")]
SetTextFeedback<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pszfeedback: Param0, fsuccessful: Param1) -> ::windows::runtime::Result<()>4326     pub unsafe fn SetTextFeedback<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pszfeedback: Param0, fsuccessful: Param1) -> ::windows::runtime::Result<()> {
4327         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), pszfeedback.into_param().abi(), fsuccessful.into_param().abi()).ok()
4328     }
4329 }
4330 unsafe impl ::windows::runtime::Interface for ISpRecoResult2 {
4331     type Vtable = ISpRecoResult2_abi;
4332     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(667600580, 35058, 16882, [136, 23, 12, 149, 229, 159, 30, 110]);
4333 }
4334 impl ::std::convert::From<ISpRecoResult2> for ::windows::runtime::IUnknown {
from(value: ISpRecoResult2) -> Self4335     fn from(value: ISpRecoResult2) -> Self {
4336         unsafe { ::std::mem::transmute(value) }
4337     }
4338 }
4339 impl ::std::convert::From<&ISpRecoResult2> for ::windows::runtime::IUnknown {
from(value: &ISpRecoResult2) -> Self4340     fn from(value: &ISpRecoResult2) -> Self {
4341         ::std::convert::From::from(::std::clone::Clone::clone(value))
4342     }
4343 }
4344 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpRecoResult2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4345     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4346         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4347     }
4348 }
4349 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpRecoResult2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4350     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4351         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4352     }
4353 }
4354 impl ::std::convert::From<ISpRecoResult2> for ISpRecoResult {
from(value: ISpRecoResult2) -> Self4355     fn from(value: ISpRecoResult2) -> Self {
4356         unsafe { ::std::mem::transmute(value) }
4357     }
4358 }
4359 impl ::std::convert::From<&ISpRecoResult2> for ISpRecoResult {
from(value: &ISpRecoResult2) -> Self4360     fn from(value: &ISpRecoResult2) -> Self {
4361         ::std::convert::From::from(::std::clone::Clone::clone(value))
4362     }
4363 }
4364 impl<'a> ::windows::runtime::IntoParam<'a, ISpRecoResult> for ISpRecoResult2 {
into_param(self) -> ::windows::runtime::Param<'a, ISpRecoResult>4365     fn into_param(self) -> ::windows::runtime::Param<'a, ISpRecoResult> {
4366         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpRecoResult>::into(self))
4367     }
4368 }
4369 impl<'a> ::windows::runtime::IntoParam<'a, ISpRecoResult> for &ISpRecoResult2 {
into_param(self) -> ::windows::runtime::Param<'a, ISpRecoResult>4370     fn into_param(self) -> ::windows::runtime::Param<'a, ISpRecoResult> {
4371         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpRecoResult>::into(::std::clone::Clone::clone(self)))
4372     }
4373 }
4374 impl ::std::convert::From<ISpRecoResult2> for ISpPhrase {
from(value: ISpRecoResult2) -> Self4375     fn from(value: ISpRecoResult2) -> Self {
4376         unsafe { ::std::mem::transmute(value) }
4377     }
4378 }
4379 impl ::std::convert::From<&ISpRecoResult2> for ISpPhrase {
from(value: &ISpRecoResult2) -> Self4380     fn from(value: &ISpRecoResult2) -> Self {
4381         ::std::convert::From::from(::std::clone::Clone::clone(value))
4382     }
4383 }
4384 impl<'a> ::windows::runtime::IntoParam<'a, ISpPhrase> for ISpRecoResult2 {
into_param(self) -> ::windows::runtime::Param<'a, ISpPhrase>4385     fn into_param(self) -> ::windows::runtime::Param<'a, ISpPhrase> {
4386         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpPhrase>::into(self))
4387     }
4388 }
4389 impl<'a> ::windows::runtime::IntoParam<'a, ISpPhrase> for &ISpRecoResult2 {
into_param(self) -> ::windows::runtime::Param<'a, ISpPhrase>4390     fn into_param(self) -> ::windows::runtime::Param<'a, ISpPhrase> {
4391         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpPhrase>::into(::std::clone::Clone::clone(self)))
4392     }
4393 }
4394 #[repr(C)]
4395 #[doc(hidden)]
4396 pub struct ISpRecoResult2_abi(
4397     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4398     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4399     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4400     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcomemphrase: *mut *mut SPPHRASE) -> ::windows::runtime::HRESULT,
4401     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4402     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcomemphrase: *mut *mut SPSERIALIZEDPHRASE) -> ::windows::runtime::HRESULT,
4403     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulstart: u32, ulcount: u32, fusetextreplacements: super::super::Foundation::BOOL, ppszcomemtext: *mut super::super::Foundation::PWSTR, pbdisplayattributes: *mut u8) -> ::windows::runtime::HRESULT,
4404     #[cfg(not(feature = "Win32_Foundation"))] usize,
4405     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwvaluetypes: u32) -> ::windows::runtime::HRESULT,
4406     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptimes: *mut SPRECORESULTTIMES) -> ::windows::runtime::HRESULT,
4407     #[cfg(not(feature = "Win32_Foundation"))] usize,
4408     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulstartelement: u32, celements: u32, ulrequestcount: u32, ppphrases: *mut ::windows::runtime::RawPtr, pcphrasesreturned: *mut u32) -> ::windows::runtime::HRESULT,
4409     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulstartelement: u32, celements: u32, ppstream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4410     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulstartelement: u32, celements: u32, dwflags: u32, pulstreamnumber: *mut u32) -> ::windows::runtime::HRESULT,
4411     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcomemserializedresult: *mut *mut SPSERIALIZEDRESULT) -> ::windows::runtime::HRESULT,
4412     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paudioformatid: *const ::windows::runtime::GUID, pwaveformatex: *const super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::HRESULT,
4413     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
4414     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprecocontext: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4415     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pphrasealt: ::windows::runtime::RawPtr, ppnewresult: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4416     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulstartelement: u32, celements: u32, pszcorrecteddata: super::super::Foundation::PWSTR, ecommitflags: u32) -> ::windows::runtime::HRESULT,
4417     #[cfg(not(feature = "Win32_Foundation"))] usize,
4418     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszfeedback: super::super::Foundation::PWSTR, fsuccessful: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4419     #[cfg(not(feature = "Win32_Foundation"))] usize,
4420 );
4421 #[repr(transparent)]
4422 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4423 pub struct ISpRecognizer(::windows::runtime::IUnknown);
4424 impl ISpRecognizer {
4425     #[cfg(feature = "Win32_Foundation")]
SetPropertyNum<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pname: Param0, lvalue: i32) -> ::windows::runtime::Result<()>4426     pub unsafe fn SetPropertyNum<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pname: Param0, lvalue: i32) -> ::windows::runtime::Result<()> {
4427         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pname.into_param().abi(), ::std::mem::transmute(lvalue)).ok()
4428     }
4429     #[cfg(feature = "Win32_Foundation")]
GetPropertyNum<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pname: Param0, plvalue: *mut i32) -> ::windows::runtime::Result<()>4430     pub unsafe fn GetPropertyNum<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pname: Param0, plvalue: *mut i32) -> ::windows::runtime::Result<()> {
4431         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pname.into_param().abi(), ::std::mem::transmute(plvalue)).ok()
4432     }
4433     #[cfg(feature = "Win32_Foundation")]
SetPropertyString<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pname: Param0, pvalue: Param1) -> ::windows::runtime::Result<()>4434     pub unsafe fn SetPropertyString<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pname: Param0, pvalue: Param1) -> ::windows::runtime::Result<()> {
4435         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pname.into_param().abi(), pvalue.into_param().abi()).ok()
4436     }
4437     #[cfg(feature = "Win32_Foundation")]
GetPropertyString<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pname: Param0) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>4438     pub unsafe fn GetPropertyString<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pname: Param0) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
4439         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4440         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pname.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
4441     }
SetRecognizer<'a, Param0: ::windows::runtime::IntoParam<'a, ISpObjectToken>>(&self, precognizer: Param0) -> ::windows::runtime::Result<()>4442     pub unsafe fn SetRecognizer<'a, Param0: ::windows::runtime::IntoParam<'a, ISpObjectToken>>(&self, precognizer: Param0) -> ::windows::runtime::Result<()> {
4443         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), precognizer.into_param().abi()).ok()
4444     }
GetRecognizer(&self) -> ::windows::runtime::Result<ISpObjectToken>4445     pub unsafe fn GetRecognizer(&self) -> ::windows::runtime::Result<ISpObjectToken> {
4446         let mut result__: <ISpObjectToken as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4447         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpObjectToken>(result__)
4448     }
4449     #[cfg(feature = "Win32_Foundation")]
SetInput<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, punkinput: Param0, fallowformatchanges: Param1) -> ::windows::runtime::Result<()>4450     pub unsafe fn SetInput<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, punkinput: Param0, fallowformatchanges: Param1) -> ::windows::runtime::Result<()> {
4451         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), punkinput.into_param().abi(), fallowformatchanges.into_param().abi()).ok()
4452     }
GetInputObjectToken(&self) -> ::windows::runtime::Result<ISpObjectToken>4453     pub unsafe fn GetInputObjectToken(&self) -> ::windows::runtime::Result<ISpObjectToken> {
4454         let mut result__: <ISpObjectToken as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4455         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpObjectToken>(result__)
4456     }
GetInputStream(&self) -> ::windows::runtime::Result<ISpStreamFormat>4457     pub unsafe fn GetInputStream(&self) -> ::windows::runtime::Result<ISpStreamFormat> {
4458         let mut result__: <ISpStreamFormat as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4459         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpStreamFormat>(result__)
4460     }
CreateRecoContext(&self) -> ::windows::runtime::Result<ISpRecoContext>4461     pub unsafe fn CreateRecoContext(&self) -> ::windows::runtime::Result<ISpRecoContext> {
4462         let mut result__: <ISpRecoContext as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4463         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpRecoContext>(result__)
4464     }
GetRecoProfile(&self) -> ::windows::runtime::Result<ISpObjectToken>4465     pub unsafe fn GetRecoProfile(&self) -> ::windows::runtime::Result<ISpObjectToken> {
4466         let mut result__: <ISpObjectToken as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4467         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpObjectToken>(result__)
4468     }
SetRecoProfile<'a, Param0: ::windows::runtime::IntoParam<'a, ISpObjectToken>>(&self, ptoken: Param0) -> ::windows::runtime::Result<()>4469     pub unsafe fn SetRecoProfile<'a, Param0: ::windows::runtime::IntoParam<'a, ISpObjectToken>>(&self, ptoken: Param0) -> ::windows::runtime::Result<()> {
4470         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ptoken.into_param().abi()).ok()
4471     }
IsSharedInstance(&self) -> ::windows::runtime::Result<()>4472     pub unsafe fn IsSharedInstance(&self) -> ::windows::runtime::Result<()> {
4473         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self)).ok()
4474     }
GetRecoState(&self, pstate: *mut SPRECOSTATE) -> ::windows::runtime::Result<()>4475     pub unsafe fn GetRecoState(&self, pstate: *mut SPRECOSTATE) -> ::windows::runtime::Result<()> {
4476         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(pstate)).ok()
4477     }
SetRecoState(&self, newstate: SPRECOSTATE) -> ::windows::runtime::Result<()>4478     pub unsafe fn SetRecoState(&self, newstate: SPRECOSTATE) -> ::windows::runtime::Result<()> {
4479         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(newstate)).ok()
4480     }
GetStatus(&self, pstatus: *mut SPRECOGNIZERSTATUS) -> ::windows::runtime::Result<()>4481     pub unsafe fn GetStatus(&self, pstatus: *mut SPRECOGNIZERSTATUS) -> ::windows::runtime::Result<()> {
4482         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(pstatus)).ok()
4483     }
4484     #[cfg(feature = "Win32_Media_Multimedia")]
GetFormat(&self, waveformattype: SPWAVEFORMATTYPE, pformatid: *mut ::windows::runtime::GUID, ppcomemwfex: *mut *mut super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()>4485     pub unsafe fn GetFormat(&self, waveformattype: SPWAVEFORMATTYPE, pformatid: *mut ::windows::runtime::GUID, ppcomemwfex: *mut *mut super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()> {
4486         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(waveformattype), ::std::mem::transmute(pformatid), ::std::mem::transmute(ppcomemwfex)).ok()
4487     }
4488     #[cfg(feature = "Win32_Foundation")]
IsUISupported<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, psztypeofui: Param0, pvextradata: *mut ::std::ffi::c_void, cbextradata: u32, pfsupported: *mut super::super::Foundation::BOOL) -> ::windows::runtime::Result<()>4489     pub unsafe fn IsUISupported<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, psztypeofui: Param0, pvextradata: *mut ::std::ffi::c_void, cbextradata: u32, pfsupported: *mut super::super::Foundation::BOOL) -> ::windows::runtime::Result<()> {
4490         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), psztypeofui.into_param().abi(), ::std::mem::transmute(pvextradata), ::std::mem::transmute(cbextradata), ::std::mem::transmute(pfsupported)).ok()
4491     }
4492     #[cfg(feature = "Win32_Foundation")]
DisplayUI<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, hwndparent: Param0, psztitle: Param1, psztypeofui: Param2, pvextradata: *mut ::std::ffi::c_void, cbextradata: u32) -> ::windows::runtime::Result<()>4493     pub unsafe fn DisplayUI<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, hwndparent: Param0, psztitle: Param1, psztypeofui: Param2, pvextradata: *mut ::std::ffi::c_void, cbextradata: u32) -> ::windows::runtime::Result<()> {
4494         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), hwndparent.into_param().abi(), psztitle.into_param().abi(), psztypeofui.into_param().abi(), ::std::mem::transmute(pvextradata), ::std::mem::transmute(cbextradata)).ok()
4495     }
EmulateRecognition<'a, Param0: ::windows::runtime::IntoParam<'a, ISpPhrase>>(&self, pphrase: Param0) -> ::windows::runtime::Result<()>4496     pub unsafe fn EmulateRecognition<'a, Param0: ::windows::runtime::IntoParam<'a, ISpPhrase>>(&self, pphrase: Param0) -> ::windows::runtime::Result<()> {
4497         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), pphrase.into_param().abi()).ok()
4498     }
4499 }
4500 unsafe impl ::windows::runtime::Interface for ISpRecognizer {
4501     type Vtable = ISpRecognizer_abi;
4502     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3266703937, 55968, 17671, [158, 22, 90, 30, 170, 43, 122, 92]);
4503 }
4504 impl ::std::convert::From<ISpRecognizer> for ::windows::runtime::IUnknown {
from(value: ISpRecognizer) -> Self4505     fn from(value: ISpRecognizer) -> Self {
4506         unsafe { ::std::mem::transmute(value) }
4507     }
4508 }
4509 impl ::std::convert::From<&ISpRecognizer> for ::windows::runtime::IUnknown {
from(value: &ISpRecognizer) -> Self4510     fn from(value: &ISpRecognizer) -> Self {
4511         ::std::convert::From::from(::std::clone::Clone::clone(value))
4512     }
4513 }
4514 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpRecognizer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4515     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4516         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4517     }
4518 }
4519 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpRecognizer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4520     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4521         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4522     }
4523 }
4524 impl ::std::convert::From<ISpRecognizer> for ISpProperties {
from(value: ISpRecognizer) -> Self4525     fn from(value: ISpRecognizer) -> Self {
4526         unsafe { ::std::mem::transmute(value) }
4527     }
4528 }
4529 impl ::std::convert::From<&ISpRecognizer> for ISpProperties {
from(value: &ISpRecognizer) -> Self4530     fn from(value: &ISpRecognizer) -> Self {
4531         ::std::convert::From::from(::std::clone::Clone::clone(value))
4532     }
4533 }
4534 impl<'a> ::windows::runtime::IntoParam<'a, ISpProperties> for ISpRecognizer {
into_param(self) -> ::windows::runtime::Param<'a, ISpProperties>4535     fn into_param(self) -> ::windows::runtime::Param<'a, ISpProperties> {
4536         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpProperties>::into(self))
4537     }
4538 }
4539 impl<'a> ::windows::runtime::IntoParam<'a, ISpProperties> for &ISpRecognizer {
into_param(self) -> ::windows::runtime::Param<'a, ISpProperties>4540     fn into_param(self) -> ::windows::runtime::Param<'a, ISpProperties> {
4541         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpProperties>::into(::std::clone::Clone::clone(self)))
4542     }
4543 }
4544 #[repr(C)]
4545 #[doc(hidden)]
4546 pub struct ISpRecognizer_abi(
4547     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4548     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4549     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4550     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pname: super::super::Foundation::PWSTR, lvalue: i32) -> ::windows::runtime::HRESULT,
4551     #[cfg(not(feature = "Win32_Foundation"))] usize,
4552     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pname: super::super::Foundation::PWSTR, plvalue: *mut i32) -> ::windows::runtime::HRESULT,
4553     #[cfg(not(feature = "Win32_Foundation"))] usize,
4554     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pname: super::super::Foundation::PWSTR, pvalue: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4555     #[cfg(not(feature = "Win32_Foundation"))] usize,
4556     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pname: super::super::Foundation::PWSTR, ppcomemvalue: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4557     #[cfg(not(feature = "Win32_Foundation"))] usize,
4558     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, precognizer: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4559     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprecognizer: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4560     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, punkinput: ::windows::runtime::RawPtr, fallowformatchanges: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4561     #[cfg(not(feature = "Win32_Foundation"))] usize,
4562     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pptoken: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4563     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppstream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4564     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppnewctxt: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4565     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pptoken: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4566     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptoken: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4567     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4568     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstate: *mut SPRECOSTATE) -> ::windows::runtime::HRESULT,
4569     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newstate: SPRECOSTATE) -> ::windows::runtime::HRESULT,
4570     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstatus: *mut SPRECOGNIZERSTATUS) -> ::windows::runtime::HRESULT,
4571     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, waveformattype: SPWAVEFORMATTYPE, pformatid: *mut ::windows::runtime::GUID, ppcomemwfex: *mut *mut super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::HRESULT,
4572     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
4573     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psztypeofui: super::super::Foundation::PWSTR, pvextradata: *mut ::std::ffi::c_void, cbextradata: u32, pfsupported: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4574     #[cfg(not(feature = "Win32_Foundation"))] usize,
4575     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwndparent: super::super::Foundation::HWND, psztitle: super::super::Foundation::PWSTR, psztypeofui: super::super::Foundation::PWSTR, pvextradata: *mut ::std::ffi::c_void, cbextradata: u32) -> ::windows::runtime::HRESULT,
4576     #[cfg(not(feature = "Win32_Foundation"))] usize,
4577     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pphrase: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4578 );
4579 #[repr(transparent)]
4580 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4581 pub struct ISpRecognizer2(::windows::runtime::IUnknown);
4582 impl ISpRecognizer2 {
EmulateRecognitionEx<'a, Param0: ::windows::runtime::IntoParam<'a, ISpPhrase>>(&self, pphrase: Param0, dwcompareflags: u32) -> ::windows::runtime::Result<()>4583     pub unsafe fn EmulateRecognitionEx<'a, Param0: ::windows::runtime::IntoParam<'a, ISpPhrase>>(&self, pphrase: Param0, dwcompareflags: u32) -> ::windows::runtime::Result<()> {
4584         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pphrase.into_param().abi(), ::std::mem::transmute(dwcompareflags)).ok()
4585     }
4586     #[cfg(feature = "Win32_Foundation")]
SetTrainingState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fdoingtraining: Param0, fadaptfromtrainingdata: Param1) -> ::windows::runtime::Result<()>4587     pub unsafe fn SetTrainingState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fdoingtraining: Param0, fadaptfromtrainingdata: Param1) -> ::windows::runtime::Result<()> {
4588         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), fdoingtraining.into_param().abi(), fadaptfromtrainingdata.into_param().abi()).ok()
4589     }
ResetAcousticModelAdaptation(&self) -> ::windows::runtime::Result<()>4590     pub unsafe fn ResetAcousticModelAdaptation(&self) -> ::windows::runtime::Result<()> {
4591         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
4592     }
4593 }
4594 unsafe impl ::windows::runtime::Interface for ISpRecognizer2 {
4595     type Vtable = ISpRecognizer2_abi;
4596     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2412173684, 51230, 16536, [147, 197, 1, 71, 246, 30, 212, 211]);
4597 }
4598 impl ::std::convert::From<ISpRecognizer2> for ::windows::runtime::IUnknown {
from(value: ISpRecognizer2) -> Self4599     fn from(value: ISpRecognizer2) -> Self {
4600         unsafe { ::std::mem::transmute(value) }
4601     }
4602 }
4603 impl ::std::convert::From<&ISpRecognizer2> for ::windows::runtime::IUnknown {
from(value: &ISpRecognizer2) -> Self4604     fn from(value: &ISpRecognizer2) -> Self {
4605         ::std::convert::From::from(::std::clone::Clone::clone(value))
4606     }
4607 }
4608 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpRecognizer2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4609     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4610         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4611     }
4612 }
4613 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpRecognizer2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4614     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4615         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4616     }
4617 }
4618 #[repr(C)]
4619 #[doc(hidden)]
4620 pub struct ISpRecognizer2_abi(
4621     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4622     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4623     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4624     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pphrase: ::windows::runtime::RawPtr, dwcompareflags: u32) -> ::windows::runtime::HRESULT,
4625     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fdoingtraining: super::super::Foundation::BOOL, fadaptfromtrainingdata: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4626     #[cfg(not(feature = "Win32_Foundation"))] usize,
4627     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4628 );
4629 #[repr(transparent)]
4630 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4631 pub struct ISpRegDataKey(::windows::runtime::IUnknown);
4632 impl ISpRegDataKey {
4633     #[cfg(feature = "Win32_Foundation")]
SetData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, cbdata: u32, pdata: *const u8) -> ::windows::runtime::Result<()>4634     pub unsafe fn SetData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, cbdata: u32, pdata: *const u8) -> ::windows::runtime::Result<()> {
4635         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi(), ::std::mem::transmute(cbdata), ::std::mem::transmute(pdata)).ok()
4636     }
4637     #[cfg(feature = "Win32_Foundation")]
GetData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, pcbdata: *mut u32, pdata: *mut u8) -> ::windows::runtime::Result<()>4638     pub unsafe fn GetData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, pcbdata: *mut u32, pdata: *mut u8) -> ::windows::runtime::Result<()> {
4639         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi(), ::std::mem::transmute(pcbdata), ::std::mem::transmute(pdata)).ok()
4640     }
4641     #[cfg(feature = "Win32_Foundation")]
SetStringValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, pszvalue: Param1) -> ::windows::runtime::Result<()>4642     pub unsafe fn SetStringValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, pszvalue: Param1) -> ::windows::runtime::Result<()> {
4643         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi(), pszvalue.into_param().abi()).ok()
4644     }
4645     #[cfg(feature = "Win32_Foundation")]
GetStringValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>4646     pub unsafe fn GetStringValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
4647         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4648         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
4649     }
4650     #[cfg(feature = "Win32_Foundation")]
SetDWORD<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, dwvalue: u32) -> ::windows::runtime::Result<()>4651     pub unsafe fn SetDWORD<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, dwvalue: u32) -> ::windows::runtime::Result<()> {
4652         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi(), ::std::mem::transmute(dwvalue)).ok()
4653     }
4654     #[cfg(feature = "Win32_Foundation")]
GetDWORD<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, pdwvalue: *mut u32) -> ::windows::runtime::Result<()>4655     pub unsafe fn GetDWORD<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0, pdwvalue: *mut u32) -> ::windows::runtime::Result<()> {
4656         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi(), ::std::mem::transmute(pdwvalue)).ok()
4657     }
4658     #[cfg(feature = "Win32_Foundation")]
OpenKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszsubkeyname: Param0) -> ::windows::runtime::Result<ISpDataKey>4659     pub unsafe fn OpenKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszsubkeyname: Param0) -> ::windows::runtime::Result<ISpDataKey> {
4660         let mut result__: <ISpDataKey as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4661         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), pszsubkeyname.into_param().abi(), &mut result__).from_abi::<ISpDataKey>(result__)
4662     }
4663     #[cfg(feature = "Win32_Foundation")]
CreateKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszsubkey: Param0) -> ::windows::runtime::Result<ISpDataKey>4664     pub unsafe fn CreateKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszsubkey: Param0) -> ::windows::runtime::Result<ISpDataKey> {
4665         let mut result__: <ISpDataKey as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4666         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), pszsubkey.into_param().abi(), &mut result__).from_abi::<ISpDataKey>(result__)
4667     }
4668     #[cfg(feature = "Win32_Foundation")]
DeleteKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszsubkey: Param0) -> ::windows::runtime::Result<()>4669     pub unsafe fn DeleteKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszsubkey: Param0) -> ::windows::runtime::Result<()> {
4670         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), pszsubkey.into_param().abi()).ok()
4671     }
4672     #[cfg(feature = "Win32_Foundation")]
DeleteValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0) -> ::windows::runtime::Result<()>4673     pub unsafe fn DeleteValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszvaluename: Param0) -> ::windows::runtime::Result<()> {
4674         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), pszvaluename.into_param().abi()).ok()
4675     }
4676     #[cfg(feature = "Win32_Foundation")]
EnumKeys(&self, index: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>4677     pub unsafe fn EnumKeys(&self, index: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
4678         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4679         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
4680     }
4681     #[cfg(feature = "Win32_Foundation")]
EnumValues(&self, index: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>4682     pub unsafe fn EnumValues(&self, index: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
4683         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4684         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
4685     }
4686     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Registry"))]
SetKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Registry::HKEY>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, hkey: Param0, freadonly: Param1) -> ::windows::runtime::Result<()>4687     pub unsafe fn SetKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Registry::HKEY>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, hkey: Param0, freadonly: Param1) -> ::windows::runtime::Result<()> {
4688         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), hkey.into_param().abi(), freadonly.into_param().abi()).ok()
4689     }
4690 }
4691 unsafe impl ::windows::runtime::Interface for ISpRegDataKey {
4692     type Vtable = ISpRegDataKey_abi;
4693     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2460380715, 51248, 16713, [131, 223, 111, 194, 186, 30, 122, 91]);
4694 }
4695 impl ::std::convert::From<ISpRegDataKey> for ::windows::runtime::IUnknown {
from(value: ISpRegDataKey) -> Self4696     fn from(value: ISpRegDataKey) -> Self {
4697         unsafe { ::std::mem::transmute(value) }
4698     }
4699 }
4700 impl ::std::convert::From<&ISpRegDataKey> for ::windows::runtime::IUnknown {
from(value: &ISpRegDataKey) -> Self4701     fn from(value: &ISpRegDataKey) -> Self {
4702         ::std::convert::From::from(::std::clone::Clone::clone(value))
4703     }
4704 }
4705 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpRegDataKey {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4706     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4707         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4708     }
4709 }
4710 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpRegDataKey {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4711     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4712         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4713     }
4714 }
4715 impl ::std::convert::From<ISpRegDataKey> for ISpDataKey {
from(value: ISpRegDataKey) -> Self4716     fn from(value: ISpRegDataKey) -> Self {
4717         unsafe { ::std::mem::transmute(value) }
4718     }
4719 }
4720 impl ::std::convert::From<&ISpRegDataKey> for ISpDataKey {
from(value: &ISpRegDataKey) -> Self4721     fn from(value: &ISpRegDataKey) -> Self {
4722         ::std::convert::From::from(::std::clone::Clone::clone(value))
4723     }
4724 }
4725 impl<'a> ::windows::runtime::IntoParam<'a, ISpDataKey> for ISpRegDataKey {
into_param(self) -> ::windows::runtime::Param<'a, ISpDataKey>4726     fn into_param(self) -> ::windows::runtime::Param<'a, ISpDataKey> {
4727         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpDataKey>::into(self))
4728     }
4729 }
4730 impl<'a> ::windows::runtime::IntoParam<'a, ISpDataKey> for &ISpRegDataKey {
into_param(self) -> ::windows::runtime::Param<'a, ISpDataKey>4731     fn into_param(self) -> ::windows::runtime::Param<'a, ISpDataKey> {
4732         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpDataKey>::into(::std::clone::Clone::clone(self)))
4733     }
4734 }
4735 #[repr(C)]
4736 #[doc(hidden)]
4737 pub struct ISpRegDataKey_abi(
4738     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4739     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4740     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4741     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR, cbdata: u32, pdata: *const u8) -> ::windows::runtime::HRESULT,
4742     #[cfg(not(feature = "Win32_Foundation"))] usize,
4743     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR, pcbdata: *mut u32, pdata: *mut u8) -> ::windows::runtime::HRESULT,
4744     #[cfg(not(feature = "Win32_Foundation"))] usize,
4745     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR, pszvalue: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4746     #[cfg(not(feature = "Win32_Foundation"))] usize,
4747     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR, ppszvalue: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4748     #[cfg(not(feature = "Win32_Foundation"))] usize,
4749     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR, dwvalue: u32) -> ::windows::runtime::HRESULT,
4750     #[cfg(not(feature = "Win32_Foundation"))] usize,
4751     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR, pdwvalue: *mut u32) -> ::windows::runtime::HRESULT,
4752     #[cfg(not(feature = "Win32_Foundation"))] usize,
4753     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszsubkeyname: super::super::Foundation::PWSTR, ppsubkey: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4754     #[cfg(not(feature = "Win32_Foundation"))] usize,
4755     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszsubkey: super::super::Foundation::PWSTR, ppsubkey: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4756     #[cfg(not(feature = "Win32_Foundation"))] usize,
4757     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszsubkey: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4758     #[cfg(not(feature = "Win32_Foundation"))] usize,
4759     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvaluename: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4760     #[cfg(not(feature = "Win32_Foundation"))] usize,
4761     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: u32, ppszsubkeyname: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4762     #[cfg(not(feature = "Win32_Foundation"))] usize,
4763     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: u32, ppszvaluename: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4764     #[cfg(not(feature = "Win32_Foundation"))] usize,
4765     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Registry"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hkey: super::super::System::Registry::HKEY, freadonly: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4766     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Registry")))] usize,
4767 );
4768 #[repr(transparent)]
4769 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4770 pub struct ISpResourceManager(::windows::runtime::IUnknown);
4771 impl ISpResourceManager {
QueryService(&self, guidservice: *const ::windows::runtime::GUID, riid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>4772     pub unsafe fn QueryService(&self, guidservice: *const ::windows::runtime::GUID, riid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
4773         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guidservice), ::std::mem::transmute(riid), ::std::mem::transmute(ppvobject)).ok()
4774     }
SetObject<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guidserviceid: *const ::windows::runtime::GUID, punkobject: Param1) -> ::windows::runtime::Result<()>4775     pub unsafe fn SetObject<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guidserviceid: *const ::windows::runtime::GUID, punkobject: Param1) -> ::windows::runtime::Result<()> {
4776         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guidserviceid), punkobject.into_param().abi()).ok()
4777     }
4778     #[cfg(feature = "Win32_Foundation")]
GetObject<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, guidserviceid: *const ::windows::runtime::GUID, objectclsid: *const ::windows::runtime::GUID, objectiid: *const ::windows::runtime::GUID, freleasewhenlastexternalrefreleased: Param3, ppobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>4779     pub unsafe fn GetObject<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, guidserviceid: *const ::windows::runtime::GUID, objectclsid: *const ::windows::runtime::GUID, objectiid: *const ::windows::runtime::GUID, freleasewhenlastexternalrefreleased: Param3, ppobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
4780         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guidserviceid), ::std::mem::transmute(objectclsid), ::std::mem::transmute(objectiid), freleasewhenlastexternalrefreleased.into_param().abi(), ::std::mem::transmute(ppobject)).ok()
4781     }
4782 }
4783 unsafe impl ::windows::runtime::Interface for ISpResourceManager {
4784     type Vtable = ISpResourceManager_abi;
4785     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2469940760, 20500, 17365, [173, 187, 167, 142, 5, 89, 38, 189]);
4786 }
4787 impl ::std::convert::From<ISpResourceManager> for ::windows::runtime::IUnknown {
from(value: ISpResourceManager) -> Self4788     fn from(value: ISpResourceManager) -> Self {
4789         unsafe { ::std::mem::transmute(value) }
4790     }
4791 }
4792 impl ::std::convert::From<&ISpResourceManager> for ::windows::runtime::IUnknown {
from(value: &ISpResourceManager) -> Self4793     fn from(value: &ISpResourceManager) -> Self {
4794         ::std::convert::From::from(::std::clone::Clone::clone(value))
4795     }
4796 }
4797 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpResourceManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4798     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4799         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4800     }
4801 }
4802 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpResourceManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4803     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4804         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4805     }
4806 }
4807 #[cfg(feature = "Win32_System_Com")]
4808 impl ::std::convert::From<ISpResourceManager> for super::super::System::Com::IServiceProvider {
from(value: ISpResourceManager) -> Self4809     fn from(value: ISpResourceManager) -> Self {
4810         unsafe { ::std::mem::transmute(value) }
4811     }
4812 }
4813 #[cfg(feature = "Win32_System_Com")]
4814 impl ::std::convert::From<&ISpResourceManager> for super::super::System::Com::IServiceProvider {
from(value: &ISpResourceManager) -> Self4815     fn from(value: &ISpResourceManager) -> Self {
4816         ::std::convert::From::from(::std::clone::Clone::clone(value))
4817     }
4818 }
4819 #[cfg(feature = "Win32_System_Com")]
4820 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::IServiceProvider> for ISpResourceManager {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IServiceProvider>4821     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IServiceProvider> {
4822         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::IServiceProvider>::into(self))
4823     }
4824 }
4825 #[cfg(feature = "Win32_System_Com")]
4826 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::IServiceProvider> for &ISpResourceManager {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IServiceProvider>4827     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IServiceProvider> {
4828         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::IServiceProvider>::into(::std::clone::Clone::clone(self)))
4829     }
4830 }
4831 #[repr(C)]
4832 #[doc(hidden)]
4833 pub struct ISpResourceManager_abi(
4834     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4835     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4836     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4837     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guidservice: *const ::windows::runtime::GUID, riid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
4838     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guidserviceid: *const ::windows::runtime::GUID, punkobject: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4839     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guidserviceid: *const ::windows::runtime::GUID, objectclsid: *const ::windows::runtime::GUID, objectiid: *const ::windows::runtime::GUID, freleasewhenlastexternalrefreleased: super::super::Foundation::BOOL, ppobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
4840     #[cfg(not(feature = "Win32_Foundation"))] usize,
4841 );
4842 #[repr(transparent)]
4843 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4844 pub struct ISpSerializeState(::windows::runtime::IUnknown);
4845 impl ISpSerializeState {
GetSerializedState(&self, ppbdata: *mut *mut u8, pulsize: *mut u32, dwreserved: u32) -> ::windows::runtime::Result<()>4846     pub unsafe fn GetSerializedState(&self, ppbdata: *mut *mut u8, pulsize: *mut u32, dwreserved: u32) -> ::windows::runtime::Result<()> {
4847         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppbdata), ::std::mem::transmute(pulsize), ::std::mem::transmute(dwreserved)).ok()
4848     }
SetSerializedState(&self, pbdata: *const u8, ulsize: u32, dwreserved: u32) -> ::windows::runtime::Result<()>4849     pub unsafe fn SetSerializedState(&self, pbdata: *const u8, ulsize: u32, dwreserved: u32) -> ::windows::runtime::Result<()> {
4850         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pbdata), ::std::mem::transmute(ulsize), ::std::mem::transmute(dwreserved)).ok()
4851     }
4852 }
4853 unsafe impl ::windows::runtime::Interface for ISpSerializeState {
4854     type Vtable = ISpSerializeState_abi;
4855     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(565510560, 3783, 18121, [146, 195, 162, 188, 120, 76, 84, 185]);
4856 }
4857 impl ::std::convert::From<ISpSerializeState> for ::windows::runtime::IUnknown {
from(value: ISpSerializeState) -> Self4858     fn from(value: ISpSerializeState) -> Self {
4859         unsafe { ::std::mem::transmute(value) }
4860     }
4861 }
4862 impl ::std::convert::From<&ISpSerializeState> for ::windows::runtime::IUnknown {
from(value: &ISpSerializeState) -> Self4863     fn from(value: &ISpSerializeState) -> Self {
4864         ::std::convert::From::from(::std::clone::Clone::clone(value))
4865     }
4866 }
4867 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpSerializeState {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4868     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4869         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4870     }
4871 }
4872 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpSerializeState {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4873     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4874         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4875     }
4876 }
4877 #[repr(C)]
4878 #[doc(hidden)]
4879 pub struct ISpSerializeState_abi(
4880     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4881     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4882     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4883     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppbdata: *mut *mut u8, pulsize: *mut u32, dwreserved: u32) -> ::windows::runtime::HRESULT,
4884     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbdata: *const u8, ulsize: u32, dwreserved: u32) -> ::windows::runtime::HRESULT,
4885 );
4886 #[repr(transparent)]
4887 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4888 pub struct ISpShortcut(::windows::runtime::IUnknown);
4889 impl ISpShortcut {
4890     #[cfg(feature = "Win32_Foundation")]
AddShortcut<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszdisplay: Param0, langid: u16, pszspoken: Param2, shtype: SPSHORTCUTTYPE) -> ::windows::runtime::Result<()>4891     pub unsafe fn AddShortcut<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszdisplay: Param0, langid: u16, pszspoken: Param2, shtype: SPSHORTCUTTYPE) -> ::windows::runtime::Result<()> {
4892         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pszdisplay.into_param().abi(), ::std::mem::transmute(langid), pszspoken.into_param().abi(), ::std::mem::transmute(shtype)).ok()
4893     }
4894     #[cfg(feature = "Win32_Foundation")]
RemoveShortcut<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszdisplay: Param0, langid: u16, pszspoken: Param2, shtype: SPSHORTCUTTYPE) -> ::windows::runtime::Result<()>4895     pub unsafe fn RemoveShortcut<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszdisplay: Param0, langid: u16, pszspoken: Param2, shtype: SPSHORTCUTTYPE) -> ::windows::runtime::Result<()> {
4896         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pszdisplay.into_param().abi(), ::std::mem::transmute(langid), pszspoken.into_param().abi(), ::std::mem::transmute(shtype)).ok()
4897     }
4898     #[cfg(feature = "Win32_Foundation")]
GetShortcuts(&self, langid: u16, pshortcutpairlist: *mut SPSHORTCUTPAIRLIST) -> ::windows::runtime::Result<()>4899     pub unsafe fn GetShortcuts(&self, langid: u16, pshortcutpairlist: *mut SPSHORTCUTPAIRLIST) -> ::windows::runtime::Result<()> {
4900         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(langid), ::std::mem::transmute(pshortcutpairlist)).ok()
4901     }
GetGeneration(&self) -> ::windows::runtime::Result<u32>4902     pub unsafe fn GetGeneration(&self) -> ::windows::runtime::Result<u32> {
4903         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4904         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4905     }
4906     #[cfg(feature = "Win32_Foundation")]
GetWordsFromGenerationChange(&self, pdwgeneration: *mut u32, pwordlist: *mut SPWORDLIST) -> ::windows::runtime::Result<()>4907     pub unsafe fn GetWordsFromGenerationChange(&self, pdwgeneration: *mut u32, pwordlist: *mut SPWORDLIST) -> ::windows::runtime::Result<()> {
4908         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdwgeneration), ::std::mem::transmute(pwordlist)).ok()
4909     }
4910     #[cfg(feature = "Win32_Foundation")]
GetWords(&self, pdwgeneration: *mut u32, pdwcookie: *mut u32, pwordlist: *mut SPWORDLIST) -> ::windows::runtime::Result<()>4911     pub unsafe fn GetWords(&self, pdwgeneration: *mut u32, pdwcookie: *mut u32, pwordlist: *mut SPWORDLIST) -> ::windows::runtime::Result<()> {
4912         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdwgeneration), ::std::mem::transmute(pdwcookie), ::std::mem::transmute(pwordlist)).ok()
4913     }
4914     #[cfg(feature = "Win32_Foundation")]
GetShortcutsForGeneration(&self, pdwgeneration: *mut u32, pdwcookie: *mut u32, pshortcutpairlist: *mut SPSHORTCUTPAIRLIST) -> ::windows::runtime::Result<()>4915     pub unsafe fn GetShortcutsForGeneration(&self, pdwgeneration: *mut u32, pdwcookie: *mut u32, pshortcutpairlist: *mut SPSHORTCUTPAIRLIST) -> ::windows::runtime::Result<()> {
4916         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdwgeneration), ::std::mem::transmute(pdwcookie), ::std::mem::transmute(pshortcutpairlist)).ok()
4917     }
4918     #[cfg(feature = "Win32_Foundation")]
GetGenerationChange(&self, pdwgeneration: *mut u32, pshortcutpairlist: *mut SPSHORTCUTPAIRLIST) -> ::windows::runtime::Result<()>4919     pub unsafe fn GetGenerationChange(&self, pdwgeneration: *mut u32, pshortcutpairlist: *mut SPSHORTCUTPAIRLIST) -> ::windows::runtime::Result<()> {
4920         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdwgeneration), ::std::mem::transmute(pshortcutpairlist)).ok()
4921     }
4922 }
4923 unsafe impl ::windows::runtime::Interface for ISpShortcut {
4924     type Vtable = ISpShortcut_abi;
4925     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1039565282, 59990, 4569, [139, 222, 246, 107, 173, 30, 63, 58]);
4926 }
4927 impl ::std::convert::From<ISpShortcut> for ::windows::runtime::IUnknown {
from(value: ISpShortcut) -> Self4928     fn from(value: ISpShortcut) -> Self {
4929         unsafe { ::std::mem::transmute(value) }
4930     }
4931 }
4932 impl ::std::convert::From<&ISpShortcut> for ::windows::runtime::IUnknown {
from(value: &ISpShortcut) -> Self4933     fn from(value: &ISpShortcut) -> Self {
4934         ::std::convert::From::from(::std::clone::Clone::clone(value))
4935     }
4936 }
4937 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpShortcut {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4938     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4939         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4940     }
4941 }
4942 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpShortcut {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4943     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4944         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4945     }
4946 }
4947 #[repr(C)]
4948 #[doc(hidden)]
4949 pub struct ISpShortcut_abi(
4950     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4951     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4952     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4953     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszdisplay: super::super::Foundation::PWSTR, langid: u16, pszspoken: super::super::Foundation::PWSTR, shtype: SPSHORTCUTTYPE) -> ::windows::runtime::HRESULT,
4954     #[cfg(not(feature = "Win32_Foundation"))] usize,
4955     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszdisplay: super::super::Foundation::PWSTR, langid: u16, pszspoken: super::super::Foundation::PWSTR, shtype: SPSHORTCUTTYPE) -> ::windows::runtime::HRESULT,
4956     #[cfg(not(feature = "Win32_Foundation"))] usize,
4957     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, langid: u16, pshortcutpairlist: *mut SPSHORTCUTPAIRLIST) -> ::windows::runtime::HRESULT,
4958     #[cfg(not(feature = "Win32_Foundation"))] usize,
4959     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwgeneration: *mut u32) -> ::windows::runtime::HRESULT,
4960     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwgeneration: *mut u32, pwordlist: *mut SPWORDLIST) -> ::windows::runtime::HRESULT,
4961     #[cfg(not(feature = "Win32_Foundation"))] usize,
4962     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwgeneration: *mut u32, pdwcookie: *mut u32, pwordlist: *mut SPWORDLIST) -> ::windows::runtime::HRESULT,
4963     #[cfg(not(feature = "Win32_Foundation"))] usize,
4964     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwgeneration: *mut u32, pdwcookie: *mut u32, pshortcutpairlist: *mut SPSHORTCUTPAIRLIST) -> ::windows::runtime::HRESULT,
4965     #[cfg(not(feature = "Win32_Foundation"))] usize,
4966     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwgeneration: *mut u32, pshortcutpairlist: *mut SPSHORTCUTPAIRLIST) -> ::windows::runtime::HRESULT,
4967     #[cfg(not(feature = "Win32_Foundation"))] usize,
4968 );
4969 #[repr(transparent)]
4970 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4971 pub struct ISpStream(::windows::runtime::IUnknown);
4972 impl ISpStream {
Read(&self, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::Result<()>4973     pub unsafe fn Read(&self, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::Result<()> {
4974         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pv), ::std::mem::transmute(cb), ::std::mem::transmute(pcbread)).ok()
4975     }
Write(&self, pv: *const ::std::ffi::c_void, cb: u32) -> ::windows::runtime::Result<u32>4976     pub unsafe fn Write(&self, pv: *const ::std::ffi::c_void, cb: u32) -> ::windows::runtime::Result<u32> {
4977         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4978         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pv), ::std::mem::transmute(cb), &mut result__).from_abi::<u32>(result__)
4979     }
4980     #[cfg(feature = "Win32_System_Com")]
Seek(&self, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK) -> ::windows::runtime::Result<u64>4981     pub unsafe fn Seek(&self, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK) -> ::windows::runtime::Result<u64> {
4982         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4983         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(dlibmove), ::std::mem::transmute(dworigin), &mut result__).from_abi::<u64>(result__)
4984     }
SetSize(&self, libnewsize: u64) -> ::windows::runtime::Result<()>4985     pub unsafe fn SetSize(&self, libnewsize: u64) -> ::windows::runtime::Result<()> {
4986         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(libnewsize)).ok()
4987     }
4988     #[cfg(feature = "Win32_System_Com")]
CopyTo<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pstm: Param0, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows::runtime::Result<()>4989     pub unsafe fn CopyTo<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pstm: Param0, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows::runtime::Result<()> {
4990         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pstm.into_param().abi(), ::std::mem::transmute(cb), ::std::mem::transmute(pcbread), ::std::mem::transmute(pcbwritten)).ok()
4991     }
Commit(&self, grfcommitflags: u32) -> ::windows::runtime::Result<()>4992     pub unsafe fn Commit(&self, grfcommitflags: u32) -> ::windows::runtime::Result<()> {
4993         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(grfcommitflags)).ok()
4994     }
Revert(&self) -> ::windows::runtime::Result<()>4995     pub unsafe fn Revert(&self) -> ::windows::runtime::Result<()> {
4996         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
4997     }
LockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()>4998     pub unsafe fn LockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()> {
4999         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(liboffset), ::std::mem::transmute(cb), ::std::mem::transmute(dwlocktype)).ok()
5000     }
UnlockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()>5001     pub unsafe fn UnlockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()> {
5002         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(liboffset), ::std::mem::transmute(cb), ::std::mem::transmute(dwlocktype)).ok()
5003     }
5004     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
Stat(&self, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: u32) -> ::windows::runtime::Result<()>5005     pub unsafe fn Stat(&self, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: u32) -> ::windows::runtime::Result<()> {
5006         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(pstatstg), ::std::mem::transmute(grfstatflag)).ok()
5007     }
5008     #[cfg(feature = "Win32_System_Com")]
Clone(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream>5009     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream> {
5010         let mut result__: <super::super::System::Com::IStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5011         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::IStream>(result__)
5012     }
5013     #[cfg(feature = "Win32_Media_Multimedia")]
GetFormat(&self, pguidformatid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<*mut super::Multimedia::WAVEFORMATEX>5014     pub unsafe fn GetFormat(&self, pguidformatid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<*mut super::Multimedia::WAVEFORMATEX> {
5015         let mut result__: <*mut super::Multimedia::WAVEFORMATEX as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5016         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(pguidformatid), &mut result__).from_abi::<*mut super::Multimedia::WAVEFORMATEX>(result__)
5017     }
5018     #[cfg(all(feature = "Win32_Media_Multimedia", feature = "Win32_System_Com"))]
SetBaseStream<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pstream: Param0, rguidformat: *const ::windows::runtime::GUID, pwaveformatex: *const super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()>5019     pub unsafe fn SetBaseStream<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pstream: Param0, rguidformat: *const ::windows::runtime::GUID, pwaveformatex: *const super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()> {
5020         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), pstream.into_param().abi(), ::std::mem::transmute(rguidformat), ::std::mem::transmute(pwaveformatex)).ok()
5021     }
5022     #[cfg(feature = "Win32_System_Com")]
GetBaseStream(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream>5023     pub unsafe fn GetBaseStream(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream> {
5024         let mut result__: <super::super::System::Com::IStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5025         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::IStream>(result__)
5026     }
5027     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
BindToFile<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszfilename: Param0, emode: SPFILEMODE, pformatid: *const ::windows::runtime::GUID, pwaveformatex: *const super::Multimedia::WAVEFORMATEX, ulleventinterest: u64) -> ::windows::runtime::Result<()>5028     pub unsafe fn BindToFile<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszfilename: Param0, emode: SPFILEMODE, pformatid: *const ::windows::runtime::GUID, pwaveformatex: *const super::Multimedia::WAVEFORMATEX, ulleventinterest: u64) -> ::windows::runtime::Result<()> {
5029         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), pszfilename.into_param().abi(), ::std::mem::transmute(emode), ::std::mem::transmute(pformatid), ::std::mem::transmute(pwaveformatex), ::std::mem::transmute(ulleventinterest)).ok()
5030     }
Close(&self) -> ::windows::runtime::Result<()>5031     pub unsafe fn Close(&self) -> ::windows::runtime::Result<()> {
5032         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self)).ok()
5033     }
5034 }
5035 unsafe impl ::windows::runtime::Interface for ISpStream {
5036     type Vtable = ISpStream_abi;
5037     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(316918953, 29976, 17605, [165, 231, 186, 90, 121, 203, 146, 158]);
5038 }
5039 impl ::std::convert::From<ISpStream> for ::windows::runtime::IUnknown {
from(value: ISpStream) -> Self5040     fn from(value: ISpStream) -> Self {
5041         unsafe { ::std::mem::transmute(value) }
5042     }
5043 }
5044 impl ::std::convert::From<&ISpStream> for ::windows::runtime::IUnknown {
from(value: &ISpStream) -> Self5045     fn from(value: &ISpStream) -> Self {
5046         ::std::convert::From::from(::std::clone::Clone::clone(value))
5047     }
5048 }
5049 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpStream {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5050     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5051         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5052     }
5053 }
5054 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpStream {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5055     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5056         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5057     }
5058 }
5059 impl ::std::convert::From<ISpStream> for ISpStreamFormat {
from(value: ISpStream) -> Self5060     fn from(value: ISpStream) -> Self {
5061         unsafe { ::std::mem::transmute(value) }
5062     }
5063 }
5064 impl ::std::convert::From<&ISpStream> for ISpStreamFormat {
from(value: &ISpStream) -> Self5065     fn from(value: &ISpStream) -> Self {
5066         ::std::convert::From::from(::std::clone::Clone::clone(value))
5067     }
5068 }
5069 impl<'a> ::windows::runtime::IntoParam<'a, ISpStreamFormat> for ISpStream {
into_param(self) -> ::windows::runtime::Param<'a, ISpStreamFormat>5070     fn into_param(self) -> ::windows::runtime::Param<'a, ISpStreamFormat> {
5071         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpStreamFormat>::into(self))
5072     }
5073 }
5074 impl<'a> ::windows::runtime::IntoParam<'a, ISpStreamFormat> for &ISpStream {
into_param(self) -> ::windows::runtime::Param<'a, ISpStreamFormat>5075     fn into_param(self) -> ::windows::runtime::Param<'a, ISpStreamFormat> {
5076         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpStreamFormat>::into(::std::clone::Clone::clone(self)))
5077     }
5078 }
5079 #[cfg(feature = "Win32_System_Com")]
5080 impl ::std::convert::From<ISpStream> for super::super::System::Com::IStream {
from(value: ISpStream) -> Self5081     fn from(value: ISpStream) -> Self {
5082         unsafe { ::std::mem::transmute(value) }
5083     }
5084 }
5085 #[cfg(feature = "Win32_System_Com")]
5086 impl ::std::convert::From<&ISpStream> for super::super::System::Com::IStream {
from(value: &ISpStream) -> Self5087     fn from(value: &ISpStream) -> Self {
5088         ::std::convert::From::from(::std::clone::Clone::clone(value))
5089     }
5090 }
5091 #[cfg(feature = "Win32_System_Com")]
5092 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream> for ISpStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream>5093     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream> {
5094         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::IStream>::into(self))
5095     }
5096 }
5097 #[cfg(feature = "Win32_System_Com")]
5098 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream> for &ISpStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream>5099     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream> {
5100         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::IStream>::into(::std::clone::Clone::clone(self)))
5101     }
5102 }
5103 #[cfg(feature = "Win32_System_Com")]
5104 impl ::std::convert::From<ISpStream> for super::super::System::Com::ISequentialStream {
from(value: ISpStream) -> Self5105     fn from(value: ISpStream) -> Self {
5106         unsafe { ::std::mem::transmute(value) }
5107     }
5108 }
5109 #[cfg(feature = "Win32_System_Com")]
5110 impl ::std::convert::From<&ISpStream> for super::super::System::Com::ISequentialStream {
from(value: &ISpStream) -> Self5111     fn from(value: &ISpStream) -> Self {
5112         ::std::convert::From::from(::std::clone::Clone::clone(value))
5113     }
5114 }
5115 #[cfg(feature = "Win32_System_Com")]
5116 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::ISequentialStream> for ISpStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream>5117     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream> {
5118         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::ISequentialStream>::into(self))
5119     }
5120 }
5121 #[cfg(feature = "Win32_System_Com")]
5122 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::ISequentialStream> for &ISpStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream>5123     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream> {
5124         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::ISequentialStream>::into(::std::clone::Clone::clone(self)))
5125     }
5126 }
5127 #[repr(C)]
5128 #[doc(hidden)]
5129 pub struct ISpStream_abi(
5130     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5131     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5132     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5133     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::HRESULT,
5134     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pv: *const ::std::ffi::c_void, cb: u32, pcbwritten: *mut u32) -> ::windows::runtime::HRESULT,
5135     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK, plibnewposition: *mut u64) -> ::windows::runtime::HRESULT,
5136     #[cfg(not(feature = "Win32_System_Com"))] usize,
5137     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, libnewsize: u64) -> ::windows::runtime::HRESULT,
5138     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstm: ::windows::runtime::RawPtr, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows::runtime::HRESULT,
5139     #[cfg(not(feature = "Win32_System_Com"))] usize,
5140     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, grfcommitflags: u32) -> ::windows::runtime::HRESULT,
5141     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5142     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::HRESULT,
5143     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::HRESULT,
5144     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: u32) -> ::windows::runtime::HRESULT,
5145     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
5146     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppstm: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5147     #[cfg(not(feature = "Win32_System_Com"))] usize,
5148     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidformatid: *const ::windows::runtime::GUID, ppcomemwaveformatex: *mut *mut super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::HRESULT,
5149     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
5150     #[cfg(all(feature = "Win32_Media_Multimedia", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstream: ::windows::runtime::RawPtr, rguidformat: *const ::windows::runtime::GUID, pwaveformatex: *const super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::HRESULT,
5151     #[cfg(not(all(feature = "Win32_Media_Multimedia", feature = "Win32_System_Com")))] usize,
5152     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppstream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5153     #[cfg(not(feature = "Win32_System_Com"))] usize,
5154     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszfilename: super::super::Foundation::PWSTR, emode: SPFILEMODE, pformatid: *const ::windows::runtime::GUID, pwaveformatex: *const super::Multimedia::WAVEFORMATEX, ulleventinterest: u64) -> ::windows::runtime::HRESULT,
5155     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia")))] usize,
5156     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5157 );
5158 #[repr(transparent)]
5159 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5160 pub struct ISpStreamFormat(::windows::runtime::IUnknown);
5161 impl ISpStreamFormat {
Read(&self, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::Result<()>5162     pub unsafe fn Read(&self, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::Result<()> {
5163         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pv), ::std::mem::transmute(cb), ::std::mem::transmute(pcbread)).ok()
5164     }
Write(&self, pv: *const ::std::ffi::c_void, cb: u32) -> ::windows::runtime::Result<u32>5165     pub unsafe fn Write(&self, pv: *const ::std::ffi::c_void, cb: u32) -> ::windows::runtime::Result<u32> {
5166         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5167         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pv), ::std::mem::transmute(cb), &mut result__).from_abi::<u32>(result__)
5168     }
5169     #[cfg(feature = "Win32_System_Com")]
Seek(&self, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK) -> ::windows::runtime::Result<u64>5170     pub unsafe fn Seek(&self, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK) -> ::windows::runtime::Result<u64> {
5171         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5172         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(dlibmove), ::std::mem::transmute(dworigin), &mut result__).from_abi::<u64>(result__)
5173     }
SetSize(&self, libnewsize: u64) -> ::windows::runtime::Result<()>5174     pub unsafe fn SetSize(&self, libnewsize: u64) -> ::windows::runtime::Result<()> {
5175         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(libnewsize)).ok()
5176     }
5177     #[cfg(feature = "Win32_System_Com")]
CopyTo<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pstm: Param0, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows::runtime::Result<()>5178     pub unsafe fn CopyTo<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pstm: Param0, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows::runtime::Result<()> {
5179         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pstm.into_param().abi(), ::std::mem::transmute(cb), ::std::mem::transmute(pcbread), ::std::mem::transmute(pcbwritten)).ok()
5180     }
Commit(&self, grfcommitflags: u32) -> ::windows::runtime::Result<()>5181     pub unsafe fn Commit(&self, grfcommitflags: u32) -> ::windows::runtime::Result<()> {
5182         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(grfcommitflags)).ok()
5183     }
Revert(&self) -> ::windows::runtime::Result<()>5184     pub unsafe fn Revert(&self) -> ::windows::runtime::Result<()> {
5185         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
5186     }
LockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()>5187     pub unsafe fn LockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()> {
5188         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(liboffset), ::std::mem::transmute(cb), ::std::mem::transmute(dwlocktype)).ok()
5189     }
UnlockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()>5190     pub unsafe fn UnlockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()> {
5191         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(liboffset), ::std::mem::transmute(cb), ::std::mem::transmute(dwlocktype)).ok()
5192     }
5193     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
Stat(&self, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: u32) -> ::windows::runtime::Result<()>5194     pub unsafe fn Stat(&self, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: u32) -> ::windows::runtime::Result<()> {
5195         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(pstatstg), ::std::mem::transmute(grfstatflag)).ok()
5196     }
5197     #[cfg(feature = "Win32_System_Com")]
Clone(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream>5198     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream> {
5199         let mut result__: <super::super::System::Com::IStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5200         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::IStream>(result__)
5201     }
5202     #[cfg(feature = "Win32_Media_Multimedia")]
GetFormat(&self, pguidformatid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<*mut super::Multimedia::WAVEFORMATEX>5203     pub unsafe fn GetFormat(&self, pguidformatid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<*mut super::Multimedia::WAVEFORMATEX> {
5204         let mut result__: <*mut super::Multimedia::WAVEFORMATEX as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5205         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(pguidformatid), &mut result__).from_abi::<*mut super::Multimedia::WAVEFORMATEX>(result__)
5206     }
5207 }
5208 unsafe impl ::windows::runtime::Interface for ISpStreamFormat {
5209     type Vtable = ISpStreamFormat_abi;
5210     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3201642686, 9734, 20301, [161, 192, 84, 197, 205, 165, 86, 111]);
5211 }
5212 impl ::std::convert::From<ISpStreamFormat> for ::windows::runtime::IUnknown {
from(value: ISpStreamFormat) -> Self5213     fn from(value: ISpStreamFormat) -> Self {
5214         unsafe { ::std::mem::transmute(value) }
5215     }
5216 }
5217 impl ::std::convert::From<&ISpStreamFormat> for ::windows::runtime::IUnknown {
from(value: &ISpStreamFormat) -> Self5218     fn from(value: &ISpStreamFormat) -> Self {
5219         ::std::convert::From::from(::std::clone::Clone::clone(value))
5220     }
5221 }
5222 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpStreamFormat {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5223     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5224         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5225     }
5226 }
5227 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpStreamFormat {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5228     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5229         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5230     }
5231 }
5232 #[cfg(feature = "Win32_System_Com")]
5233 impl ::std::convert::From<ISpStreamFormat> for super::super::System::Com::IStream {
from(value: ISpStreamFormat) -> Self5234     fn from(value: ISpStreamFormat) -> Self {
5235         unsafe { ::std::mem::transmute(value) }
5236     }
5237 }
5238 #[cfg(feature = "Win32_System_Com")]
5239 impl ::std::convert::From<&ISpStreamFormat> for super::super::System::Com::IStream {
from(value: &ISpStreamFormat) -> Self5240     fn from(value: &ISpStreamFormat) -> Self {
5241         ::std::convert::From::from(::std::clone::Clone::clone(value))
5242     }
5243 }
5244 #[cfg(feature = "Win32_System_Com")]
5245 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream> for ISpStreamFormat {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream>5246     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream> {
5247         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::IStream>::into(self))
5248     }
5249 }
5250 #[cfg(feature = "Win32_System_Com")]
5251 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream> for &ISpStreamFormat {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream>5252     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream> {
5253         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::IStream>::into(::std::clone::Clone::clone(self)))
5254     }
5255 }
5256 #[cfg(feature = "Win32_System_Com")]
5257 impl ::std::convert::From<ISpStreamFormat> for super::super::System::Com::ISequentialStream {
from(value: ISpStreamFormat) -> Self5258     fn from(value: ISpStreamFormat) -> Self {
5259         unsafe { ::std::mem::transmute(value) }
5260     }
5261 }
5262 #[cfg(feature = "Win32_System_Com")]
5263 impl ::std::convert::From<&ISpStreamFormat> for super::super::System::Com::ISequentialStream {
from(value: &ISpStreamFormat) -> Self5264     fn from(value: &ISpStreamFormat) -> Self {
5265         ::std::convert::From::from(::std::clone::Clone::clone(value))
5266     }
5267 }
5268 #[cfg(feature = "Win32_System_Com")]
5269 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::ISequentialStream> for ISpStreamFormat {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream>5270     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream> {
5271         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::ISequentialStream>::into(self))
5272     }
5273 }
5274 #[cfg(feature = "Win32_System_Com")]
5275 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::ISequentialStream> for &ISpStreamFormat {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream>5276     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream> {
5277         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::ISequentialStream>::into(::std::clone::Clone::clone(self)))
5278     }
5279 }
5280 #[repr(C)]
5281 #[doc(hidden)]
5282 pub struct ISpStreamFormat_abi(
5283     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5284     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5285     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5286     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::HRESULT,
5287     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pv: *const ::std::ffi::c_void, cb: u32, pcbwritten: *mut u32) -> ::windows::runtime::HRESULT,
5288     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK, plibnewposition: *mut u64) -> ::windows::runtime::HRESULT,
5289     #[cfg(not(feature = "Win32_System_Com"))] usize,
5290     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, libnewsize: u64) -> ::windows::runtime::HRESULT,
5291     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstm: ::windows::runtime::RawPtr, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows::runtime::HRESULT,
5292     #[cfg(not(feature = "Win32_System_Com"))] usize,
5293     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, grfcommitflags: u32) -> ::windows::runtime::HRESULT,
5294     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5295     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::HRESULT,
5296     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::HRESULT,
5297     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: u32) -> ::windows::runtime::HRESULT,
5298     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
5299     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppstm: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5300     #[cfg(not(feature = "Win32_System_Com"))] usize,
5301     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidformatid: *const ::windows::runtime::GUID, ppcomemwaveformatex: *mut *mut super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::HRESULT,
5302     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
5303 );
5304 #[repr(transparent)]
5305 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5306 pub struct ISpStreamFormatConverter(::windows::runtime::IUnknown);
5307 impl ISpStreamFormatConverter {
Read(&self, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::Result<()>5308     pub unsafe fn Read(&self, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::Result<()> {
5309         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pv), ::std::mem::transmute(cb), ::std::mem::transmute(pcbread)).ok()
5310     }
Write(&self, pv: *const ::std::ffi::c_void, cb: u32) -> ::windows::runtime::Result<u32>5311     pub unsafe fn Write(&self, pv: *const ::std::ffi::c_void, cb: u32) -> ::windows::runtime::Result<u32> {
5312         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5313         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pv), ::std::mem::transmute(cb), &mut result__).from_abi::<u32>(result__)
5314     }
5315     #[cfg(feature = "Win32_System_Com")]
Seek(&self, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK) -> ::windows::runtime::Result<u64>5316     pub unsafe fn Seek(&self, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK) -> ::windows::runtime::Result<u64> {
5317         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5318         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(dlibmove), ::std::mem::transmute(dworigin), &mut result__).from_abi::<u64>(result__)
5319     }
SetSize(&self, libnewsize: u64) -> ::windows::runtime::Result<()>5320     pub unsafe fn SetSize(&self, libnewsize: u64) -> ::windows::runtime::Result<()> {
5321         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(libnewsize)).ok()
5322     }
5323     #[cfg(feature = "Win32_System_Com")]
CopyTo<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pstm: Param0, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows::runtime::Result<()>5324     pub unsafe fn CopyTo<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pstm: Param0, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows::runtime::Result<()> {
5325         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pstm.into_param().abi(), ::std::mem::transmute(cb), ::std::mem::transmute(pcbread), ::std::mem::transmute(pcbwritten)).ok()
5326     }
Commit(&self, grfcommitflags: u32) -> ::windows::runtime::Result<()>5327     pub unsafe fn Commit(&self, grfcommitflags: u32) -> ::windows::runtime::Result<()> {
5328         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(grfcommitflags)).ok()
5329     }
Revert(&self) -> ::windows::runtime::Result<()>5330     pub unsafe fn Revert(&self) -> ::windows::runtime::Result<()> {
5331         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
5332     }
LockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()>5333     pub unsafe fn LockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()> {
5334         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(liboffset), ::std::mem::transmute(cb), ::std::mem::transmute(dwlocktype)).ok()
5335     }
UnlockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()>5336     pub unsafe fn UnlockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()> {
5337         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(liboffset), ::std::mem::transmute(cb), ::std::mem::transmute(dwlocktype)).ok()
5338     }
5339     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
Stat(&self, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: u32) -> ::windows::runtime::Result<()>5340     pub unsafe fn Stat(&self, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: u32) -> ::windows::runtime::Result<()> {
5341         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(pstatstg), ::std::mem::transmute(grfstatflag)).ok()
5342     }
5343     #[cfg(feature = "Win32_System_Com")]
Clone(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream>5344     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream> {
5345         let mut result__: <super::super::System::Com::IStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5346         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::IStream>(result__)
5347     }
5348     #[cfg(feature = "Win32_Media_Multimedia")]
GetFormat(&self, pguidformatid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<*mut super::Multimedia::WAVEFORMATEX>5349     pub unsafe fn GetFormat(&self, pguidformatid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<*mut super::Multimedia::WAVEFORMATEX> {
5350         let mut result__: <*mut super::Multimedia::WAVEFORMATEX as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5351         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(pguidformatid), &mut result__).from_abi::<*mut super::Multimedia::WAVEFORMATEX>(result__)
5352     }
5353     #[cfg(feature = "Win32_Foundation")]
SetBaseStream<'a, Param0: ::windows::runtime::IntoParam<'a, ISpStreamFormat>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pstream: Param0, fsetformattobasestreamformat: Param1, fwritetobasestream: Param2) -> ::windows::runtime::Result<()>5354     pub unsafe fn SetBaseStream<'a, Param0: ::windows::runtime::IntoParam<'a, ISpStreamFormat>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pstream: Param0, fsetformattobasestreamformat: Param1, fwritetobasestream: Param2) -> ::windows::runtime::Result<()> {
5355         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), pstream.into_param().abi(), fsetformattobasestreamformat.into_param().abi(), fwritetobasestream.into_param().abi()).ok()
5356     }
GetBaseStream(&self) -> ::windows::runtime::Result<ISpStreamFormat>5357     pub unsafe fn GetBaseStream(&self) -> ::windows::runtime::Result<ISpStreamFormat> {
5358         let mut result__: <ISpStreamFormat as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5359         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpStreamFormat>(result__)
5360     }
5361     #[cfg(feature = "Win32_Media_Multimedia")]
SetFormat(&self, rguidformatidofconvertedstream: *const ::windows::runtime::GUID, pwaveformatexofconvertedstream: *const super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()>5362     pub unsafe fn SetFormat(&self, rguidformatidofconvertedstream: *const ::windows::runtime::GUID, pwaveformatexofconvertedstream: *const super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()> {
5363         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(rguidformatidofconvertedstream), ::std::mem::transmute(pwaveformatexofconvertedstream)).ok()
5364     }
ResetSeekPosition(&self) -> ::windows::runtime::Result<()>5365     pub unsafe fn ResetSeekPosition(&self) -> ::windows::runtime::Result<()> {
5366         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self)).ok()
5367     }
ScaleConvertedToBaseOffset(&self, ulloffsetconvertedstream: u64) -> ::windows::runtime::Result<u64>5368     pub unsafe fn ScaleConvertedToBaseOffset(&self, ulloffsetconvertedstream: u64) -> ::windows::runtime::Result<u64> {
5369         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5370         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulloffsetconvertedstream), &mut result__).from_abi::<u64>(result__)
5371     }
ScaleBaseToConvertedOffset(&self, ulloffsetbasestream: u64) -> ::windows::runtime::Result<u64>5372     pub unsafe fn ScaleBaseToConvertedOffset(&self, ulloffsetbasestream: u64) -> ::windows::runtime::Result<u64> {
5373         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5374         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulloffsetbasestream), &mut result__).from_abi::<u64>(result__)
5375     }
5376 }
5377 unsafe impl ::windows::runtime::Interface for ISpStreamFormatConverter {
5378     type Vtable = ISpStreamFormatConverter_abi;
5379     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1737134892, 60017, 17478, [155, 65, 120, 253, 166, 40, 10, 41]);
5380 }
5381 impl ::std::convert::From<ISpStreamFormatConverter> for ::windows::runtime::IUnknown {
from(value: ISpStreamFormatConverter) -> Self5382     fn from(value: ISpStreamFormatConverter) -> Self {
5383         unsafe { ::std::mem::transmute(value) }
5384     }
5385 }
5386 impl ::std::convert::From<&ISpStreamFormatConverter> for ::windows::runtime::IUnknown {
from(value: &ISpStreamFormatConverter) -> Self5387     fn from(value: &ISpStreamFormatConverter) -> Self {
5388         ::std::convert::From::from(::std::clone::Clone::clone(value))
5389     }
5390 }
5391 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpStreamFormatConverter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5392     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5393         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5394     }
5395 }
5396 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpStreamFormatConverter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5397     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5398         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5399     }
5400 }
5401 impl ::std::convert::From<ISpStreamFormatConverter> for ISpStreamFormat {
from(value: ISpStreamFormatConverter) -> Self5402     fn from(value: ISpStreamFormatConverter) -> Self {
5403         unsafe { ::std::mem::transmute(value) }
5404     }
5405 }
5406 impl ::std::convert::From<&ISpStreamFormatConverter> for ISpStreamFormat {
from(value: &ISpStreamFormatConverter) -> Self5407     fn from(value: &ISpStreamFormatConverter) -> Self {
5408         ::std::convert::From::from(::std::clone::Clone::clone(value))
5409     }
5410 }
5411 impl<'a> ::windows::runtime::IntoParam<'a, ISpStreamFormat> for ISpStreamFormatConverter {
into_param(self) -> ::windows::runtime::Param<'a, ISpStreamFormat>5412     fn into_param(self) -> ::windows::runtime::Param<'a, ISpStreamFormat> {
5413         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpStreamFormat>::into(self))
5414     }
5415 }
5416 impl<'a> ::windows::runtime::IntoParam<'a, ISpStreamFormat> for &ISpStreamFormatConverter {
into_param(self) -> ::windows::runtime::Param<'a, ISpStreamFormat>5417     fn into_param(self) -> ::windows::runtime::Param<'a, ISpStreamFormat> {
5418         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpStreamFormat>::into(::std::clone::Clone::clone(self)))
5419     }
5420 }
5421 #[cfg(feature = "Win32_System_Com")]
5422 impl ::std::convert::From<ISpStreamFormatConverter> for super::super::System::Com::IStream {
from(value: ISpStreamFormatConverter) -> Self5423     fn from(value: ISpStreamFormatConverter) -> Self {
5424         unsafe { ::std::mem::transmute(value) }
5425     }
5426 }
5427 #[cfg(feature = "Win32_System_Com")]
5428 impl ::std::convert::From<&ISpStreamFormatConverter> for super::super::System::Com::IStream {
from(value: &ISpStreamFormatConverter) -> Self5429     fn from(value: &ISpStreamFormatConverter) -> Self {
5430         ::std::convert::From::from(::std::clone::Clone::clone(value))
5431     }
5432 }
5433 #[cfg(feature = "Win32_System_Com")]
5434 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream> for ISpStreamFormatConverter {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream>5435     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream> {
5436         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::IStream>::into(self))
5437     }
5438 }
5439 #[cfg(feature = "Win32_System_Com")]
5440 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream> for &ISpStreamFormatConverter {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream>5441     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream> {
5442         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::IStream>::into(::std::clone::Clone::clone(self)))
5443     }
5444 }
5445 #[cfg(feature = "Win32_System_Com")]
5446 impl ::std::convert::From<ISpStreamFormatConverter> for super::super::System::Com::ISequentialStream {
from(value: ISpStreamFormatConverter) -> Self5447     fn from(value: ISpStreamFormatConverter) -> Self {
5448         unsafe { ::std::mem::transmute(value) }
5449     }
5450 }
5451 #[cfg(feature = "Win32_System_Com")]
5452 impl ::std::convert::From<&ISpStreamFormatConverter> for super::super::System::Com::ISequentialStream {
from(value: &ISpStreamFormatConverter) -> Self5453     fn from(value: &ISpStreamFormatConverter) -> Self {
5454         ::std::convert::From::from(::std::clone::Clone::clone(value))
5455     }
5456 }
5457 #[cfg(feature = "Win32_System_Com")]
5458 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::ISequentialStream> for ISpStreamFormatConverter {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream>5459     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream> {
5460         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::ISequentialStream>::into(self))
5461     }
5462 }
5463 #[cfg(feature = "Win32_System_Com")]
5464 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::ISequentialStream> for &ISpStreamFormatConverter {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream>5465     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream> {
5466         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::ISequentialStream>::into(::std::clone::Clone::clone(self)))
5467     }
5468 }
5469 #[repr(C)]
5470 #[doc(hidden)]
5471 pub struct ISpStreamFormatConverter_abi(
5472     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5473     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5474     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5475     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::HRESULT,
5476     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pv: *const ::std::ffi::c_void, cb: u32, pcbwritten: *mut u32) -> ::windows::runtime::HRESULT,
5477     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK, plibnewposition: *mut u64) -> ::windows::runtime::HRESULT,
5478     #[cfg(not(feature = "Win32_System_Com"))] usize,
5479     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, libnewsize: u64) -> ::windows::runtime::HRESULT,
5480     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstm: ::windows::runtime::RawPtr, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows::runtime::HRESULT,
5481     #[cfg(not(feature = "Win32_System_Com"))] usize,
5482     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, grfcommitflags: u32) -> ::windows::runtime::HRESULT,
5483     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5484     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::HRESULT,
5485     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::HRESULT,
5486     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: u32) -> ::windows::runtime::HRESULT,
5487     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
5488     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppstm: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5489     #[cfg(not(feature = "Win32_System_Com"))] usize,
5490     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidformatid: *const ::windows::runtime::GUID, ppcomemwaveformatex: *mut *mut super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::HRESULT,
5491     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
5492     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstream: ::windows::runtime::RawPtr, fsetformattobasestreamformat: super::super::Foundation::BOOL, fwritetobasestream: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
5493     #[cfg(not(feature = "Win32_Foundation"))] usize,
5494     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppstream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5495     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rguidformatidofconvertedstream: *const ::windows::runtime::GUID, pwaveformatexofconvertedstream: *const super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::HRESULT,
5496     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
5497     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5498     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulloffsetconvertedstream: u64, pulloffsetbasestream: *mut u64) -> ::windows::runtime::HRESULT,
5499     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulloffsetbasestream: u64, pulloffsetconvertedstream: *mut u64) -> ::windows::runtime::HRESULT,
5500 );
5501 #[repr(transparent)]
5502 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5503 pub struct ISpTranscript(::windows::runtime::IUnknown);
5504 impl ISpTranscript {
5505     #[cfg(feature = "Win32_Foundation")]
GetTranscript(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>5506     pub unsafe fn GetTranscript(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
5507         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5508         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
5509     }
5510     #[cfg(feature = "Win32_Foundation")]
AppendTranscript<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, psztranscript: Param0) -> ::windows::runtime::Result<()>5511     pub unsafe fn AppendTranscript<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, psztranscript: Param0) -> ::windows::runtime::Result<()> {
5512         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), psztranscript.into_param().abi()).ok()
5513     }
5514 }
5515 unsafe impl ::windows::runtime::Interface for ISpTranscript {
5516     type Vtable = ISpTranscript_abi;
5517     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(284572622, 8218, 4563, [172, 112, 0, 192, 79, 142, 230, 192]);
5518 }
5519 impl ::std::convert::From<ISpTranscript> for ::windows::runtime::IUnknown {
from(value: ISpTranscript) -> Self5520     fn from(value: ISpTranscript) -> Self {
5521         unsafe { ::std::mem::transmute(value) }
5522     }
5523 }
5524 impl ::std::convert::From<&ISpTranscript> for ::windows::runtime::IUnknown {
from(value: &ISpTranscript) -> Self5525     fn from(value: &ISpTranscript) -> Self {
5526         ::std::convert::From::from(::std::clone::Clone::clone(value))
5527     }
5528 }
5529 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpTranscript {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5530     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5531         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5532     }
5533 }
5534 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpTranscript {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5535     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5536         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5537     }
5538 }
5539 #[repr(C)]
5540 #[doc(hidden)]
5541 pub struct ISpTranscript_abi(
5542     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5543     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5544     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5545     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppsztranscript: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
5546     #[cfg(not(feature = "Win32_Foundation"))] usize,
5547     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psztranscript: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
5548     #[cfg(not(feature = "Win32_Foundation"))] usize,
5549 );
5550 #[repr(transparent)]
5551 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5552 pub struct ISpVoice(::windows::runtime::IUnknown);
5553 impl ISpVoice {
SetNotifySink<'a, Param0: ::windows::runtime::IntoParam<'a, ISpNotifySink>>(&self, pnotifysink: Param0) -> ::windows::runtime::Result<()>5554     pub unsafe fn SetNotifySink<'a, Param0: ::windows::runtime::IntoParam<'a, ISpNotifySink>>(&self, pnotifysink: Param0) -> ::windows::runtime::Result<()> {
5555         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pnotifysink.into_param().abi()).ok()
5556     }
5557     #[cfg(feature = "Win32_Foundation")]
SetNotifyWindowMessage<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, hwnd: Param0, msg: u32, wparam: Param2, lparam: Param3) -> ::windows::runtime::Result<()>5558     pub unsafe fn SetNotifyWindowMessage<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, hwnd: Param0, msg: u32, wparam: Param2, lparam: Param3) -> ::windows::runtime::Result<()> {
5559         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), hwnd.into_param().abi(), ::std::mem::transmute(msg), wparam.into_param().abi(), lparam.into_param().abi()).ok()
5560     }
5561     #[cfg(feature = "Win32_Foundation")]
SetNotifyCallbackFunction<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, pfncallback: *mut ::std::option::Option<SPNOTIFYCALLBACK>, wparam: Param1, lparam: Param2) -> ::windows::runtime::Result<()>5562     pub unsafe fn SetNotifyCallbackFunction<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, pfncallback: *mut ::std::option::Option<SPNOTIFYCALLBACK>, wparam: Param1, lparam: Param2) -> ::windows::runtime::Result<()> {
5563         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pfncallback), wparam.into_param().abi(), lparam.into_param().abi()).ok()
5564     }
5565     #[cfg(feature = "Win32_Foundation")]
SetNotifyCallbackInterface<'a, Param0: ::windows::runtime::IntoParam<'a, ISpNotifyCallback>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, pspcallback: Param0, wparam: Param1, lparam: Param2) -> ::windows::runtime::Result<()>5566     pub unsafe fn SetNotifyCallbackInterface<'a, Param0: ::windows::runtime::IntoParam<'a, ISpNotifyCallback>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>>(&self, pspcallback: Param0, wparam: Param1, lparam: Param2) -> ::windows::runtime::Result<()> {
5567         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pspcallback.into_param().abi(), wparam.into_param().abi(), lparam.into_param().abi()).ok()
5568     }
SetNotifyWin32Event(&self) -> ::windows::runtime::Result<()>5569     pub unsafe fn SetNotifyWin32Event(&self) -> ::windows::runtime::Result<()> {
5570         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
5571     }
WaitForNotifyEvent(&self, dwmilliseconds: u32) -> ::windows::runtime::Result<()>5572     pub unsafe fn WaitForNotifyEvent(&self, dwmilliseconds: u32) -> ::windows::runtime::Result<()> {
5573         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwmilliseconds)).ok()
5574     }
5575     #[cfg(feature = "Win32_Foundation")]
GetNotifyEventHandle(&self) -> super::super::Foundation::HANDLE5576     pub unsafe fn GetNotifyEventHandle(&self) -> super::super::Foundation::HANDLE {
5577         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)))
5578     }
SetInterest(&self, ulleventinterest: u64, ullqueuedinterest: u64) -> ::windows::runtime::Result<()>5579     pub unsafe fn SetInterest(&self, ulleventinterest: u64, ullqueuedinterest: u64) -> ::windows::runtime::Result<()> {
5580         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulleventinterest), ::std::mem::transmute(ullqueuedinterest)).ok()
5581     }
5582     #[cfg(feature = "Win32_Foundation")]
GetEvents(&self, ulcount: u32, peventarray: *mut SPEVENT, pulfetched: *mut u32) -> ::windows::runtime::Result<()>5583     pub unsafe fn GetEvents(&self, ulcount: u32, peventarray: *mut SPEVENT, pulfetched: *mut u32) -> ::windows::runtime::Result<()> {
5584         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulcount), ::std::mem::transmute(peventarray), ::std::mem::transmute(pulfetched)).ok()
5585     }
GetInfo(&self, pinfo: *mut SPEVENTSOURCEINFO) -> ::windows::runtime::Result<()>5586     pub unsafe fn GetInfo(&self, pinfo: *mut SPEVENTSOURCEINFO) -> ::windows::runtime::Result<()> {
5587         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(pinfo)).ok()
5588     }
5589     #[cfg(feature = "Win32_Foundation")]
SetOutput<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, punkoutput: Param0, fallowformatchanges: Param1) -> ::windows::runtime::Result<()>5590     pub unsafe fn SetOutput<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, punkoutput: Param0, fallowformatchanges: Param1) -> ::windows::runtime::Result<()> {
5591         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), punkoutput.into_param().abi(), fallowformatchanges.into_param().abi()).ok()
5592     }
GetOutputObjectToken(&self) -> ::windows::runtime::Result<ISpObjectToken>5593     pub unsafe fn GetOutputObjectToken(&self) -> ::windows::runtime::Result<ISpObjectToken> {
5594         let mut result__: <ISpObjectToken as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5595         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpObjectToken>(result__)
5596     }
GetOutputStream(&self) -> ::windows::runtime::Result<ISpStreamFormat>5597     pub unsafe fn GetOutputStream(&self) -> ::windows::runtime::Result<ISpStreamFormat> {
5598         let mut result__: <ISpStreamFormat as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5599         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpStreamFormat>(result__)
5600     }
Pause(&self) -> ::windows::runtime::Result<()>5601     pub unsafe fn Pause(&self) -> ::windows::runtime::Result<()> {
5602         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self)).ok()
5603     }
Resume(&self) -> ::windows::runtime::Result<()>5604     pub unsafe fn Resume(&self) -> ::windows::runtime::Result<()> {
5605         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self)).ok()
5606     }
SetVoice<'a, Param0: ::windows::runtime::IntoParam<'a, ISpObjectToken>>(&self, ptoken: Param0) -> ::windows::runtime::Result<()>5607     pub unsafe fn SetVoice<'a, Param0: ::windows::runtime::IntoParam<'a, ISpObjectToken>>(&self, ptoken: Param0) -> ::windows::runtime::Result<()> {
5608         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ptoken.into_param().abi()).ok()
5609     }
GetVoice(&self) -> ::windows::runtime::Result<ISpObjectToken>5610     pub unsafe fn GetVoice(&self) -> ::windows::runtime::Result<ISpObjectToken> {
5611         let mut result__: <ISpObjectToken as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5612         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpObjectToken>(result__)
5613     }
5614     #[cfg(feature = "Win32_Foundation")]
Speak<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pwcs: Param0, dwflags: u32) -> ::windows::runtime::Result<u32>5615     pub unsafe fn Speak<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pwcs: Param0, dwflags: u32) -> ::windows::runtime::Result<u32> {
5616         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5617         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), pwcs.into_param().abi(), ::std::mem::transmute(dwflags), &mut result__).from_abi::<u32>(result__)
5618     }
5619     #[cfg(feature = "Win32_System_Com")]
SpeakStream<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pstream: Param0, dwflags: u32) -> ::windows::runtime::Result<u32>5620     pub unsafe fn SpeakStream<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pstream: Param0, dwflags: u32) -> ::windows::runtime::Result<u32> {
5621         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5622         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), pstream.into_param().abi(), ::std::mem::transmute(dwflags), &mut result__).from_abi::<u32>(result__)
5623     }
5624     #[cfg(feature = "Win32_Foundation")]
GetStatus(&self, pstatus: *mut SPVOICESTATUS, ppszlastbookmark: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()>5625     pub unsafe fn GetStatus(&self, pstatus: *mut SPVOICESTATUS, ppszlastbookmark: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()> {
5626         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(pstatus), ::std::mem::transmute(ppszlastbookmark)).ok()
5627     }
5628     #[cfg(feature = "Win32_Foundation")]
Skip<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pitemtype: Param0, lnumitems: i32, pulnumskipped: *mut u32) -> ::windows::runtime::Result<()>5629     pub unsafe fn Skip<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pitemtype: Param0, lnumitems: i32, pulnumskipped: *mut u32) -> ::windows::runtime::Result<()> {
5630         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), pitemtype.into_param().abi(), ::std::mem::transmute(lnumitems), ::std::mem::transmute(pulnumskipped)).ok()
5631     }
SetPriority(&self, epriority: SPVPRIORITY) -> ::windows::runtime::Result<()>5632     pub unsafe fn SetPriority(&self, epriority: SPVPRIORITY) -> ::windows::runtime::Result<()> {
5633         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(epriority)).ok()
5634     }
GetPriority(&self, pepriority: *mut SPVPRIORITY) -> ::windows::runtime::Result<()>5635     pub unsafe fn GetPriority(&self, pepriority: *mut SPVPRIORITY) -> ::windows::runtime::Result<()> {
5636         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ::std::mem::transmute(pepriority)).ok()
5637     }
SetAlertBoundary(&self, eboundary: SPEVENTENUM) -> ::windows::runtime::Result<()>5638     pub unsafe fn SetAlertBoundary(&self, eboundary: SPEVENTENUM) -> ::windows::runtime::Result<()> {
5639         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(eboundary)).ok()
5640     }
GetAlertBoundary(&self, peboundary: *mut SPEVENTENUM) -> ::windows::runtime::Result<()>5641     pub unsafe fn GetAlertBoundary(&self, peboundary: *mut SPEVENTENUM) -> ::windows::runtime::Result<()> {
5642         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(peboundary)).ok()
5643     }
SetRate(&self, rateadjust: i32) -> ::windows::runtime::Result<()>5644     pub unsafe fn SetRate(&self, rateadjust: i32) -> ::windows::runtime::Result<()> {
5645         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(rateadjust)).ok()
5646     }
GetRate(&self, prateadjust: *mut i32) -> ::windows::runtime::Result<()>5647     pub unsafe fn GetRate(&self, prateadjust: *mut i32) -> ::windows::runtime::Result<()> {
5648         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(prateadjust)).ok()
5649     }
SetVolume(&self, usvolume: u16) -> ::windows::runtime::Result<()>5650     pub unsafe fn SetVolume(&self, usvolume: u16) -> ::windows::runtime::Result<()> {
5651         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(usvolume)).ok()
5652     }
GetVolume(&self, pusvolume: *mut u16) -> ::windows::runtime::Result<()>5653     pub unsafe fn GetVolume(&self, pusvolume: *mut u16) -> ::windows::runtime::Result<()> {
5654         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), ::std::mem::transmute(pusvolume)).ok()
5655     }
WaitUntilDone(&self, mstimeout: u32) -> ::windows::runtime::Result<()>5656     pub unsafe fn WaitUntilDone(&self, mstimeout: u32) -> ::windows::runtime::Result<()> {
5657         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), ::std::mem::transmute(mstimeout)).ok()
5658     }
SetSyncSpeakTimeout(&self, mstimeout: u32) -> ::windows::runtime::Result<()>5659     pub unsafe fn SetSyncSpeakTimeout(&self, mstimeout: u32) -> ::windows::runtime::Result<()> {
5660         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), ::std::mem::transmute(mstimeout)).ok()
5661     }
GetSyncSpeakTimeout(&self, pmstimeout: *mut u32) -> ::windows::runtime::Result<()>5662     pub unsafe fn GetSyncSpeakTimeout(&self, pmstimeout: *mut u32) -> ::windows::runtime::Result<()> {
5663         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmstimeout)).ok()
5664     }
5665     #[cfg(feature = "Win32_Foundation")]
SpeakCompleteEvent(&self) -> super::super::Foundation::HANDLE5666     pub unsafe fn SpeakCompleteEvent(&self) -> super::super::Foundation::HANDLE {
5667         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self)))
5668     }
5669     #[cfg(feature = "Win32_Foundation")]
IsUISupported<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, psztypeofui: Param0, pvextradata: *mut ::std::ffi::c_void, cbextradata: u32, pfsupported: *mut super::super::Foundation::BOOL) -> ::windows::runtime::Result<()>5670     pub unsafe fn IsUISupported<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, psztypeofui: Param0, pvextradata: *mut ::std::ffi::c_void, cbextradata: u32, pfsupported: *mut super::super::Foundation::BOOL) -> ::windows::runtime::Result<()> {
5671         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), psztypeofui.into_param().abi(), ::std::mem::transmute(pvextradata), ::std::mem::transmute(cbextradata), ::std::mem::transmute(pfsupported)).ok()
5672     }
5673     #[cfg(feature = "Win32_Foundation")]
DisplayUI<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, hwndparent: Param0, psztitle: Param1, psztypeofui: Param2, pvextradata: *mut ::std::ffi::c_void, cbextradata: u32) -> ::windows::runtime::Result<()>5674     pub unsafe fn DisplayUI<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, hwndparent: Param0, psztitle: Param1, psztypeofui: Param2, pvextradata: *mut ::std::ffi::c_void, cbextradata: u32) -> ::windows::runtime::Result<()> {
5675         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), hwndparent.into_param().abi(), psztitle.into_param().abi(), psztypeofui.into_param().abi(), ::std::mem::transmute(pvextradata), ::std::mem::transmute(cbextradata)).ok()
5676     }
5677 }
5678 unsafe impl ::windows::runtime::Interface for ISpVoice {
5679     type Vtable = ISpVoice_abi;
5680     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1816452980, 29369, 18834, [161, 236, 239, 153, 110, 4, 34, 212]);
5681 }
5682 impl ::std::convert::From<ISpVoice> for ::windows::runtime::IUnknown {
from(value: ISpVoice) -> Self5683     fn from(value: ISpVoice) -> Self {
5684         unsafe { ::std::mem::transmute(value) }
5685     }
5686 }
5687 impl ::std::convert::From<&ISpVoice> for ::windows::runtime::IUnknown {
from(value: &ISpVoice) -> Self5688     fn from(value: &ISpVoice) -> Self {
5689         ::std::convert::From::from(::std::clone::Clone::clone(value))
5690     }
5691 }
5692 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpVoice {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5693     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5694         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5695     }
5696 }
5697 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpVoice {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5698     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5699         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5700     }
5701 }
5702 impl ::std::convert::From<ISpVoice> for ISpEventSource {
from(value: ISpVoice) -> Self5703     fn from(value: ISpVoice) -> Self {
5704         unsafe { ::std::mem::transmute(value) }
5705     }
5706 }
5707 impl ::std::convert::From<&ISpVoice> for ISpEventSource {
from(value: &ISpVoice) -> Self5708     fn from(value: &ISpVoice) -> Self {
5709         ::std::convert::From::from(::std::clone::Clone::clone(value))
5710     }
5711 }
5712 impl<'a> ::windows::runtime::IntoParam<'a, ISpEventSource> for ISpVoice {
into_param(self) -> ::windows::runtime::Param<'a, ISpEventSource>5713     fn into_param(self) -> ::windows::runtime::Param<'a, ISpEventSource> {
5714         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpEventSource>::into(self))
5715     }
5716 }
5717 impl<'a> ::windows::runtime::IntoParam<'a, ISpEventSource> for &ISpVoice {
into_param(self) -> ::windows::runtime::Param<'a, ISpEventSource>5718     fn into_param(self) -> ::windows::runtime::Param<'a, ISpEventSource> {
5719         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpEventSource>::into(::std::clone::Clone::clone(self)))
5720     }
5721 }
5722 impl ::std::convert::From<ISpVoice> for ISpNotifySource {
from(value: ISpVoice) -> Self5723     fn from(value: ISpVoice) -> Self {
5724         unsafe { ::std::mem::transmute(value) }
5725     }
5726 }
5727 impl ::std::convert::From<&ISpVoice> for ISpNotifySource {
from(value: &ISpVoice) -> Self5728     fn from(value: &ISpVoice) -> Self {
5729         ::std::convert::From::from(::std::clone::Clone::clone(value))
5730     }
5731 }
5732 impl<'a> ::windows::runtime::IntoParam<'a, ISpNotifySource> for ISpVoice {
into_param(self) -> ::windows::runtime::Param<'a, ISpNotifySource>5733     fn into_param(self) -> ::windows::runtime::Param<'a, ISpNotifySource> {
5734         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpNotifySource>::into(self))
5735     }
5736 }
5737 impl<'a> ::windows::runtime::IntoParam<'a, ISpNotifySource> for &ISpVoice {
into_param(self) -> ::windows::runtime::Param<'a, ISpNotifySource>5738     fn into_param(self) -> ::windows::runtime::Param<'a, ISpNotifySource> {
5739         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpNotifySource>::into(::std::clone::Clone::clone(self)))
5740     }
5741 }
5742 #[repr(C)]
5743 #[doc(hidden)]
5744 pub struct ISpVoice_abi(
5745     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5746     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5747     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5748     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnotifysink: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5749     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, msg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> ::windows::runtime::HRESULT,
5750     #[cfg(not(feature = "Win32_Foundation"))] usize,
5751     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfncallback: *mut ::windows::runtime::RawPtr, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> ::windows::runtime::HRESULT,
5752     #[cfg(not(feature = "Win32_Foundation"))] usize,
5753     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pspcallback: ::windows::runtime::RawPtr, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> ::windows::runtime::HRESULT,
5754     #[cfg(not(feature = "Win32_Foundation"))] usize,
5755     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5756     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwmilliseconds: u32) -> ::windows::runtime::HRESULT,
5757     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::HANDLE,
5758     #[cfg(not(feature = "Win32_Foundation"))] usize,
5759     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulleventinterest: u64, ullqueuedinterest: u64) -> ::windows::runtime::HRESULT,
5760     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulcount: u32, peventarray: *mut SPEVENT, pulfetched: *mut u32) -> ::windows::runtime::HRESULT,
5761     #[cfg(not(feature = "Win32_Foundation"))] usize,
5762     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pinfo: *mut SPEVENTSOURCEINFO) -> ::windows::runtime::HRESULT,
5763     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, punkoutput: ::windows::runtime::RawPtr, fallowformatchanges: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
5764     #[cfg(not(feature = "Win32_Foundation"))] usize,
5765     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppobjecttoken: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5766     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppstream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5767     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5768     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5769     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptoken: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5770     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pptoken: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5771     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwcs: super::super::Foundation::PWSTR, dwflags: u32, pulstreamnumber: *mut u32) -> ::windows::runtime::HRESULT,
5772     #[cfg(not(feature = "Win32_Foundation"))] usize,
5773     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstream: ::windows::runtime::RawPtr, dwflags: u32, pulstreamnumber: *mut u32) -> ::windows::runtime::HRESULT,
5774     #[cfg(not(feature = "Win32_System_Com"))] usize,
5775     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstatus: *mut SPVOICESTATUS, ppszlastbookmark: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
5776     #[cfg(not(feature = "Win32_Foundation"))] usize,
5777     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pitemtype: super::super::Foundation::PWSTR, lnumitems: i32, pulnumskipped: *mut u32) -> ::windows::runtime::HRESULT,
5778     #[cfg(not(feature = "Win32_Foundation"))] usize,
5779     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, epriority: SPVPRIORITY) -> ::windows::runtime::HRESULT,
5780     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pepriority: *mut SPVPRIORITY) -> ::windows::runtime::HRESULT,
5781     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eboundary: SPEVENTENUM) -> ::windows::runtime::HRESULT,
5782     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, peboundary: *mut SPEVENTENUM) -> ::windows::runtime::HRESULT,
5783     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rateadjust: i32) -> ::windows::runtime::HRESULT,
5784     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prateadjust: *mut i32) -> ::windows::runtime::HRESULT,
5785     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, usvolume: u16) -> ::windows::runtime::HRESULT,
5786     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pusvolume: *mut u16) -> ::windows::runtime::HRESULT,
5787     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mstimeout: u32) -> ::windows::runtime::HRESULT,
5788     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mstimeout: u32) -> ::windows::runtime::HRESULT,
5789     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmstimeout: *mut u32) -> ::windows::runtime::HRESULT,
5790     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::HANDLE,
5791     #[cfg(not(feature = "Win32_Foundation"))] usize,
5792     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psztypeofui: super::super::Foundation::PWSTR, pvextradata: *mut ::std::ffi::c_void, cbextradata: u32, pfsupported: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
5793     #[cfg(not(feature = "Win32_Foundation"))] usize,
5794     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwndparent: super::super::Foundation::HWND, psztitle: super::super::Foundation::PWSTR, psztypeofui: super::super::Foundation::PWSTR, pvextradata: *mut ::std::ffi::c_void, cbextradata: u32) -> ::windows::runtime::HRESULT,
5795     #[cfg(not(feature = "Win32_Foundation"))] usize,
5796 );
5797 #[repr(transparent)]
5798 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5799 pub struct ISpXMLRecoResult(::windows::runtime::IUnknown);
5800 impl ISpXMLRecoResult {
5801     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
GetPhrase(&self) -> ::windows::runtime::Result<*mut SPPHRASE>5802     pub unsafe fn GetPhrase(&self) -> ::windows::runtime::Result<*mut SPPHRASE> {
5803         let mut result__: <*mut SPPHRASE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5804         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut SPPHRASE>(result__)
5805     }
GetSerializedPhrase(&self) -> ::windows::runtime::Result<*mut SPSERIALIZEDPHRASE>5806     pub unsafe fn GetSerializedPhrase(&self) -> ::windows::runtime::Result<*mut SPSERIALIZEDPHRASE> {
5807         let mut result__: <*mut SPSERIALIZEDPHRASE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5808         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut SPSERIALIZEDPHRASE>(result__)
5809     }
5810     #[cfg(feature = "Win32_Foundation")]
GetText<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, ulstart: u32, ulcount: u32, fusetextreplacements: Param2, ppszcomemtext: *mut super::super::Foundation::PWSTR, pbdisplayattributes: *mut u8) -> ::windows::runtime::Result<()>5811     pub unsafe fn GetText<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, ulstart: u32, ulcount: u32, fusetextreplacements: Param2, ppszcomemtext: *mut super::super::Foundation::PWSTR, pbdisplayattributes: *mut u8) -> ::windows::runtime::Result<()> {
5812         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulstart), ::std::mem::transmute(ulcount), fusetextreplacements.into_param().abi(), ::std::mem::transmute(ppszcomemtext), ::std::mem::transmute(pbdisplayattributes)).ok()
5813     }
Discard(&self, dwvaluetypes: u32) -> ::windows::runtime::Result<()>5814     pub unsafe fn Discard(&self, dwvaluetypes: u32) -> ::windows::runtime::Result<()> {
5815         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwvaluetypes)).ok()
5816     }
5817     #[cfg(feature = "Win32_Foundation")]
GetResultTimes(&self, ptimes: *mut SPRECORESULTTIMES) -> ::windows::runtime::Result<()>5818     pub unsafe fn GetResultTimes(&self, ptimes: *mut SPRECORESULTTIMES) -> ::windows::runtime::Result<()> {
5819         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(ptimes)).ok()
5820     }
GetAlternates(&self, ulstartelement: u32, celements: u32, ulrequestcount: u32, ppphrases: *mut ::std::option::Option<ISpPhraseAlt>, pcphrasesreturned: *mut u32) -> ::windows::runtime::Result<()>5821     pub unsafe fn GetAlternates(&self, ulstartelement: u32, celements: u32, ulrequestcount: u32, ppphrases: *mut ::std::option::Option<ISpPhraseAlt>, pcphrasesreturned: *mut u32) -> ::windows::runtime::Result<()> {
5822         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulstartelement), ::std::mem::transmute(celements), ::std::mem::transmute(ulrequestcount), ::std::mem::transmute(ppphrases), ::std::mem::transmute(pcphrasesreturned)).ok()
5823     }
GetAudio(&self, ulstartelement: u32, celements: u32) -> ::windows::runtime::Result<ISpStreamFormat>5824     pub unsafe fn GetAudio(&self, ulstartelement: u32, celements: u32) -> ::windows::runtime::Result<ISpStreamFormat> {
5825         let mut result__: <ISpStreamFormat as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5826         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulstartelement), ::std::mem::transmute(celements), &mut result__).from_abi::<ISpStreamFormat>(result__)
5827     }
SpeakAudio(&self, ulstartelement: u32, celements: u32, dwflags: u32, pulstreamnumber: *mut u32) -> ::windows::runtime::Result<()>5828     pub unsafe fn SpeakAudio(&self, ulstartelement: u32, celements: u32, dwflags: u32, pulstreamnumber: *mut u32) -> ::windows::runtime::Result<()> {
5829         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulstartelement), ::std::mem::transmute(celements), ::std::mem::transmute(dwflags), ::std::mem::transmute(pulstreamnumber)).ok()
5830     }
Serialize(&self, ppcomemserializedresult: *mut *mut SPSERIALIZEDRESULT) -> ::windows::runtime::Result<()>5831     pub unsafe fn Serialize(&self, ppcomemserializedresult: *mut *mut SPSERIALIZEDRESULT) -> ::windows::runtime::Result<()> {
5832         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppcomemserializedresult)).ok()
5833     }
5834     #[cfg(feature = "Win32_Media_Multimedia")]
ScaleAudio(&self, paudioformatid: *const ::windows::runtime::GUID, pwaveformatex: *const super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()>5835     pub unsafe fn ScaleAudio(&self, paudioformatid: *const ::windows::runtime::GUID, pwaveformatex: *const super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()> {
5836         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(paudioformatid), ::std::mem::transmute(pwaveformatex)).ok()
5837     }
GetRecoContext(&self) -> ::windows::runtime::Result<ISpRecoContext>5838     pub unsafe fn GetRecoContext(&self) -> ::windows::runtime::Result<ISpRecoContext> {
5839         let mut result__: <ISpRecoContext as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5840         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpRecoContext>(result__)
5841     }
5842     #[cfg(feature = "Win32_Foundation")]
GetXMLResult(&self, ppszcomemxmlresult: *mut super::super::Foundation::PWSTR, options: SPXMLRESULTOPTIONS) -> ::windows::runtime::Result<()>5843     pub unsafe fn GetXMLResult(&self, ppszcomemxmlresult: *mut super::super::Foundation::PWSTR, options: SPXMLRESULTOPTIONS) -> ::windows::runtime::Result<()> {
5844         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppszcomemxmlresult), ::std::mem::transmute(options)).ok()
5845     }
5846     #[cfg(feature = "Win32_Foundation")]
GetXMLErrorInfo(&self, psemanticerrorinfo: *mut SPSEMANTICERRORINFO) -> ::windows::runtime::Result<()>5847     pub unsafe fn GetXMLErrorInfo(&self, psemanticerrorinfo: *mut SPSEMANTICERRORINFO) -> ::windows::runtime::Result<()> {
5848         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(psemanticerrorinfo)).ok()
5849     }
5850 }
5851 unsafe impl ::windows::runtime::Interface for ISpXMLRecoResult {
5852     type Vtable = ISpXMLRecoResult_abi;
5853     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2922985003, 17832, 16500, [155, 158, 204, 244, 154, 162, 208, 182]);
5854 }
5855 impl ::std::convert::From<ISpXMLRecoResult> for ::windows::runtime::IUnknown {
from(value: ISpXMLRecoResult) -> Self5856     fn from(value: ISpXMLRecoResult) -> Self {
5857         unsafe { ::std::mem::transmute(value) }
5858     }
5859 }
5860 impl ::std::convert::From<&ISpXMLRecoResult> for ::windows::runtime::IUnknown {
from(value: &ISpXMLRecoResult) -> Self5861     fn from(value: &ISpXMLRecoResult) -> Self {
5862         ::std::convert::From::from(::std::clone::Clone::clone(value))
5863     }
5864 }
5865 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpXMLRecoResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5866     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5867         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5868     }
5869 }
5870 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpXMLRecoResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5871     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5872         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5873     }
5874 }
5875 impl ::std::convert::From<ISpXMLRecoResult> for ISpRecoResult {
from(value: ISpXMLRecoResult) -> Self5876     fn from(value: ISpXMLRecoResult) -> Self {
5877         unsafe { ::std::mem::transmute(value) }
5878     }
5879 }
5880 impl ::std::convert::From<&ISpXMLRecoResult> for ISpRecoResult {
from(value: &ISpXMLRecoResult) -> Self5881     fn from(value: &ISpXMLRecoResult) -> Self {
5882         ::std::convert::From::from(::std::clone::Clone::clone(value))
5883     }
5884 }
5885 impl<'a> ::windows::runtime::IntoParam<'a, ISpRecoResult> for ISpXMLRecoResult {
into_param(self) -> ::windows::runtime::Param<'a, ISpRecoResult>5886     fn into_param(self) -> ::windows::runtime::Param<'a, ISpRecoResult> {
5887         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpRecoResult>::into(self))
5888     }
5889 }
5890 impl<'a> ::windows::runtime::IntoParam<'a, ISpRecoResult> for &ISpXMLRecoResult {
into_param(self) -> ::windows::runtime::Param<'a, ISpRecoResult>5891     fn into_param(self) -> ::windows::runtime::Param<'a, ISpRecoResult> {
5892         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpRecoResult>::into(::std::clone::Clone::clone(self)))
5893     }
5894 }
5895 impl ::std::convert::From<ISpXMLRecoResult> for ISpPhrase {
from(value: ISpXMLRecoResult) -> Self5896     fn from(value: ISpXMLRecoResult) -> Self {
5897         unsafe { ::std::mem::transmute(value) }
5898     }
5899 }
5900 impl ::std::convert::From<&ISpXMLRecoResult> for ISpPhrase {
from(value: &ISpXMLRecoResult) -> Self5901     fn from(value: &ISpXMLRecoResult) -> Self {
5902         ::std::convert::From::from(::std::clone::Clone::clone(value))
5903     }
5904 }
5905 impl<'a> ::windows::runtime::IntoParam<'a, ISpPhrase> for ISpXMLRecoResult {
into_param(self) -> ::windows::runtime::Param<'a, ISpPhrase>5906     fn into_param(self) -> ::windows::runtime::Param<'a, ISpPhrase> {
5907         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpPhrase>::into(self))
5908     }
5909 }
5910 impl<'a> ::windows::runtime::IntoParam<'a, ISpPhrase> for &ISpXMLRecoResult {
into_param(self) -> ::windows::runtime::Param<'a, ISpPhrase>5911     fn into_param(self) -> ::windows::runtime::Param<'a, ISpPhrase> {
5912         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpPhrase>::into(::std::clone::Clone::clone(self)))
5913     }
5914 }
5915 #[repr(C)]
5916 #[doc(hidden)]
5917 pub struct ISpXMLRecoResult_abi(
5918     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5919     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5920     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5921     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcomemphrase: *mut *mut SPPHRASE) -> ::windows::runtime::HRESULT,
5922     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5923     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcomemphrase: *mut *mut SPSERIALIZEDPHRASE) -> ::windows::runtime::HRESULT,
5924     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulstart: u32, ulcount: u32, fusetextreplacements: super::super::Foundation::BOOL, ppszcomemtext: *mut super::super::Foundation::PWSTR, pbdisplayattributes: *mut u8) -> ::windows::runtime::HRESULT,
5925     #[cfg(not(feature = "Win32_Foundation"))] usize,
5926     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwvaluetypes: u32) -> ::windows::runtime::HRESULT,
5927     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptimes: *mut SPRECORESULTTIMES) -> ::windows::runtime::HRESULT,
5928     #[cfg(not(feature = "Win32_Foundation"))] usize,
5929     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulstartelement: u32, celements: u32, ulrequestcount: u32, ppphrases: *mut ::windows::runtime::RawPtr, pcphrasesreturned: *mut u32) -> ::windows::runtime::HRESULT,
5930     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulstartelement: u32, celements: u32, ppstream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5931     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulstartelement: u32, celements: u32, dwflags: u32, pulstreamnumber: *mut u32) -> ::windows::runtime::HRESULT,
5932     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcomemserializedresult: *mut *mut SPSERIALIZEDRESULT) -> ::windows::runtime::HRESULT,
5933     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paudioformatid: *const ::windows::runtime::GUID, pwaveformatex: *const super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::HRESULT,
5934     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
5935     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprecocontext: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5936     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppszcomemxmlresult: *mut super::super::Foundation::PWSTR, options: SPXMLRESULTOPTIONS) -> ::windows::runtime::HRESULT,
5937     #[cfg(not(feature = "Win32_Foundation"))] usize,
5938     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psemanticerrorinfo: *mut SPSEMANTICERRORINFO) -> ::windows::runtime::HRESULT,
5939     #[cfg(not(feature = "Win32_Foundation"))] usize,
5940 );
5941 #[repr(transparent)]
5942 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5943 pub struct ISpeechAudio(::windows::runtime::IUnknown);
5944 impl ISpeechAudio {
GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32>5945     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
5946         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5947         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
5948     }
5949     #[cfg(feature = "Win32_System_Ole_Automation")]
GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo>5950     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
5951         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5952         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
5953     }
5954     #[cfg(feature = "Win32_Foundation")]
GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()>5955     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
5956         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
5957     }
5958     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()>5959     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
5960         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
5961     }
Format(&self) -> ::windows::runtime::Result<ISpeechAudioFormat>5962     pub unsafe fn Format(&self) -> ::windows::runtime::Result<ISpeechAudioFormat> {
5963         let mut result__: <ISpeechAudioFormat as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5964         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechAudioFormat>(result__)
5965     }
putref_Format<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechAudioFormat>>(&self, audioformat: Param0) -> ::windows::runtime::Result<()>5966     pub unsafe fn putref_Format<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechAudioFormat>>(&self, audioformat: Param0) -> ::windows::runtime::Result<()> {
5967         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), audioformat.into_param().abi()).ok()
5968     }
5969     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Read(&self, buffer: *mut super::super::System::Com::VARIANT, numberofbytes: i32, bytesread: *mut i32) -> ::windows::runtime::Result<()>5970     pub unsafe fn Read(&self, buffer: *mut super::super::System::Com::VARIANT, numberofbytes: i32, bytesread: *mut i32) -> ::windows::runtime::Result<()> {
5971         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(buffer), ::std::mem::transmute(numberofbytes), ::std::mem::transmute(bytesread)).ok()
5972     }
5973     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Write<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, buffer: Param0) -> ::windows::runtime::Result<i32>5974     pub unsafe fn Write<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, buffer: Param0) -> ::windows::runtime::Result<i32> {
5975         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5976         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), buffer.into_param().abi(), &mut result__).from_abi::<i32>(result__)
5977     }
5978     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Seek<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, position: Param0, origin: SpeechStreamSeekPositionType) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>5979     pub unsafe fn Seek<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, position: Param0, origin: SpeechStreamSeekPositionType) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
5980         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5981         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), position.into_param().abi(), ::std::mem::transmute(origin), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
5982     }
Status(&self) -> ::windows::runtime::Result<ISpeechAudioStatus>5983     pub unsafe fn Status(&self) -> ::windows::runtime::Result<ISpeechAudioStatus> {
5984         let mut result__: <ISpeechAudioStatus as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5985         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechAudioStatus>(result__)
5986     }
BufferInfo(&self) -> ::windows::runtime::Result<ISpeechAudioBufferInfo>5987     pub unsafe fn BufferInfo(&self) -> ::windows::runtime::Result<ISpeechAudioBufferInfo> {
5988         let mut result__: <ISpeechAudioBufferInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5989         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechAudioBufferInfo>(result__)
5990     }
DefaultFormat(&self) -> ::windows::runtime::Result<ISpeechAudioFormat>5991     pub unsafe fn DefaultFormat(&self) -> ::windows::runtime::Result<ISpeechAudioFormat> {
5992         let mut result__: <ISpeechAudioFormat as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5993         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechAudioFormat>(result__)
5994     }
Volume(&self) -> ::windows::runtime::Result<i32>5995     pub unsafe fn Volume(&self) -> ::windows::runtime::Result<i32> {
5996         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5997         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
5998     }
SetVolume(&self, volume: i32) -> ::windows::runtime::Result<()>5999     pub unsafe fn SetVolume(&self, volume: i32) -> ::windows::runtime::Result<()> {
6000         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(volume)).ok()
6001     }
BufferNotifySize(&self) -> ::windows::runtime::Result<i32>6002     pub unsafe fn BufferNotifySize(&self) -> ::windows::runtime::Result<i32> {
6003         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6004         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
6005     }
SetBufferNotifySize(&self, buffernotifysize: i32) -> ::windows::runtime::Result<()>6006     pub unsafe fn SetBufferNotifySize(&self, buffernotifysize: i32) -> ::windows::runtime::Result<()> {
6007         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(buffernotifysize)).ok()
6008     }
EventHandle(&self) -> ::windows::runtime::Result<i32>6009     pub unsafe fn EventHandle(&self) -> ::windows::runtime::Result<i32> {
6010         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6011         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
6012     }
SetState(&self, state: SpeechAudioState) -> ::windows::runtime::Result<()>6013     pub unsafe fn SetState(&self, state: SpeechAudioState) -> ::windows::runtime::Result<()> {
6014         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(state)).ok()
6015     }
6016 }
6017 unsafe impl ::windows::runtime::Interface for ISpeechAudio {
6018     type Vtable = ISpeechAudio_abi;
6019     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3489194357, 414, 4563, [160, 142, 0, 192, 79, 142, 249, 181]);
6020 }
6021 impl ::std::convert::From<ISpeechAudio> for ::windows::runtime::IUnknown {
from(value: ISpeechAudio) -> Self6022     fn from(value: ISpeechAudio) -> Self {
6023         unsafe { ::std::mem::transmute(value) }
6024     }
6025 }
6026 impl ::std::convert::From<&ISpeechAudio> for ::windows::runtime::IUnknown {
from(value: &ISpeechAudio) -> Self6027     fn from(value: &ISpeechAudio) -> Self {
6028         ::std::convert::From::from(::std::clone::Clone::clone(value))
6029     }
6030 }
6031 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechAudio {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6032     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6033         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6034     }
6035 }
6036 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechAudio {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6037     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6038         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6039     }
6040 }
6041 impl ::std::convert::From<ISpeechAudio> for ISpeechBaseStream {
from(value: ISpeechAudio) -> Self6042     fn from(value: ISpeechAudio) -> Self {
6043         unsafe { ::std::mem::transmute(value) }
6044     }
6045 }
6046 impl ::std::convert::From<&ISpeechAudio> for ISpeechBaseStream {
from(value: &ISpeechAudio) -> Self6047     fn from(value: &ISpeechAudio) -> Self {
6048         ::std::convert::From::from(::std::clone::Clone::clone(value))
6049     }
6050 }
6051 impl<'a> ::windows::runtime::IntoParam<'a, ISpeechBaseStream> for ISpeechAudio {
into_param(self) -> ::windows::runtime::Param<'a, ISpeechBaseStream>6052     fn into_param(self) -> ::windows::runtime::Param<'a, ISpeechBaseStream> {
6053         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpeechBaseStream>::into(self))
6054     }
6055 }
6056 impl<'a> ::windows::runtime::IntoParam<'a, ISpeechBaseStream> for &ISpeechAudio {
into_param(self) -> ::windows::runtime::Param<'a, ISpeechBaseStream>6057     fn into_param(self) -> ::windows::runtime::Param<'a, ISpeechBaseStream> {
6058         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpeechBaseStream>::into(::std::clone::Clone::clone(self)))
6059     }
6060 }
6061 #[cfg(feature = "Win32_System_Ole_Automation")]
6062 impl ::std::convert::From<ISpeechAudio> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechAudio) -> Self6063     fn from(value: ISpeechAudio) -> Self {
6064         unsafe { ::std::mem::transmute(value) }
6065     }
6066 }
6067 #[cfg(feature = "Win32_System_Ole_Automation")]
6068 impl ::std::convert::From<&ISpeechAudio> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechAudio) -> Self6069     fn from(value: &ISpeechAudio) -> Self {
6070         ::std::convert::From::from(::std::clone::Clone::clone(value))
6071     }
6072 }
6073 #[cfg(feature = "Win32_System_Ole_Automation")]
6074 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechAudio {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>6075     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6076         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
6077     }
6078 }
6079 #[cfg(feature = "Win32_System_Ole_Automation")]
6080 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechAudio {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>6081     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6082         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
6083     }
6084 }
6085 #[repr(C)]
6086 #[doc(hidden)]
6087 pub struct ISpeechAudio_abi(
6088     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6089     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6090     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6091     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
6092     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6093     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
6094     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
6095     #[cfg(not(feature = "Win32_Foundation"))] usize,
6096     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6097     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
6098     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6099     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audioformat: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6100     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audioformat: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6101     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buffer: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, numberofbytes: i32, bytesread: *mut i32) -> ::windows::runtime::HRESULT,
6102     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6103     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buffer: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, byteswritten: *mut i32) -> ::windows::runtime::HRESULT,
6104     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6105     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, position: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, origin: SpeechStreamSeekPositionType, newposition: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
6106     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6107     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, status: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6108     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bufferinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6109     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, streamformat: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6110     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, volume: *mut i32) -> ::windows::runtime::HRESULT,
6111     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, volume: i32) -> ::windows::runtime::HRESULT,
6112     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buffernotifysize: *mut i32) -> ::windows::runtime::HRESULT,
6113     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buffernotifysize: i32) -> ::windows::runtime::HRESULT,
6114     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventhandle: *mut i32) -> ::windows::runtime::HRESULT,
6115     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, state: SpeechAudioState) -> ::windows::runtime::HRESULT,
6116 );
6117 #[repr(transparent)]
6118 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6119 pub struct ISpeechAudioBufferInfo(::windows::runtime::IUnknown);
6120 impl ISpeechAudioBufferInfo {
MinNotification(&self) -> ::windows::runtime::Result<i32>6121     pub unsafe fn MinNotification(&self) -> ::windows::runtime::Result<i32> {
6122         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6123         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
6124     }
SetMinNotification(&self, minnotification: i32) -> ::windows::runtime::Result<()>6125     pub unsafe fn SetMinNotification(&self, minnotification: i32) -> ::windows::runtime::Result<()> {
6126         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(minnotification)).ok()
6127     }
BufferSize(&self) -> ::windows::runtime::Result<i32>6128     pub unsafe fn BufferSize(&self) -> ::windows::runtime::Result<i32> {
6129         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6130         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
6131     }
SetBufferSize(&self, buffersize: i32) -> ::windows::runtime::Result<()>6132     pub unsafe fn SetBufferSize(&self, buffersize: i32) -> ::windows::runtime::Result<()> {
6133         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(buffersize)).ok()
6134     }
EventBias(&self) -> ::windows::runtime::Result<i32>6135     pub unsafe fn EventBias(&self) -> ::windows::runtime::Result<i32> {
6136         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6137         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
6138     }
SetEventBias(&self, eventbias: i32) -> ::windows::runtime::Result<()>6139     pub unsafe fn SetEventBias(&self, eventbias: i32) -> ::windows::runtime::Result<()> {
6140         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(eventbias)).ok()
6141     }
6142 }
6143 unsafe impl ::windows::runtime::Interface for ISpeechAudioBufferInfo {
6144     type Vtable = ISpeechAudioBufferInfo_abi;
6145     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(296813528, 4418, 20191, [160, 147, 130, 251, 57, 21, 248, 204]);
6146 }
6147 impl ::std::convert::From<ISpeechAudioBufferInfo> for ::windows::runtime::IUnknown {
from(value: ISpeechAudioBufferInfo) -> Self6148     fn from(value: ISpeechAudioBufferInfo) -> Self {
6149         unsafe { ::std::mem::transmute(value) }
6150     }
6151 }
6152 impl ::std::convert::From<&ISpeechAudioBufferInfo> for ::windows::runtime::IUnknown {
from(value: &ISpeechAudioBufferInfo) -> Self6153     fn from(value: &ISpeechAudioBufferInfo) -> Self {
6154         ::std::convert::From::from(::std::clone::Clone::clone(value))
6155     }
6156 }
6157 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechAudioBufferInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6158     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6159         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6160     }
6161 }
6162 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechAudioBufferInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6163     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6164         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6165     }
6166 }
6167 #[cfg(feature = "Win32_System_Ole_Automation")]
6168 impl ::std::convert::From<ISpeechAudioBufferInfo> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechAudioBufferInfo) -> Self6169     fn from(value: ISpeechAudioBufferInfo) -> Self {
6170         unsafe { ::std::mem::transmute(value) }
6171     }
6172 }
6173 #[cfg(feature = "Win32_System_Ole_Automation")]
6174 impl ::std::convert::From<&ISpeechAudioBufferInfo> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechAudioBufferInfo) -> Self6175     fn from(value: &ISpeechAudioBufferInfo) -> Self {
6176         ::std::convert::From::from(::std::clone::Clone::clone(value))
6177     }
6178 }
6179 #[cfg(feature = "Win32_System_Ole_Automation")]
6180 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechAudioBufferInfo {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>6181     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6182         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
6183     }
6184 }
6185 #[cfg(feature = "Win32_System_Ole_Automation")]
6186 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechAudioBufferInfo {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>6187     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6188         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
6189     }
6190 }
6191 #[repr(C)]
6192 #[doc(hidden)]
6193 pub struct ISpeechAudioBufferInfo_abi(
6194     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6195     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6196     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6197     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
6198     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6199     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
6200     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
6201     #[cfg(not(feature = "Win32_Foundation"))] usize,
6202     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6203     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
6204     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6205     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, minnotification: *mut i32) -> ::windows::runtime::HRESULT,
6206     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, minnotification: i32) -> ::windows::runtime::HRESULT,
6207     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buffersize: *mut i32) -> ::windows::runtime::HRESULT,
6208     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buffersize: i32) -> ::windows::runtime::HRESULT,
6209     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventbias: *mut i32) -> ::windows::runtime::HRESULT,
6210     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventbias: i32) -> ::windows::runtime::HRESULT,
6211 );
6212 #[repr(transparent)]
6213 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6214 pub struct ISpeechAudioFormat(::windows::runtime::IUnknown);
6215 impl ISpeechAudioFormat {
Type(&self) -> ::windows::runtime::Result<SpeechAudioFormatType>6216     pub unsafe fn Type(&self) -> ::windows::runtime::Result<SpeechAudioFormatType> {
6217         let mut result__: <SpeechAudioFormatType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6218         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SpeechAudioFormatType>(result__)
6219     }
SetType(&self, audioformat: SpeechAudioFormatType) -> ::windows::runtime::Result<()>6220     pub unsafe fn SetType(&self, audioformat: SpeechAudioFormatType) -> ::windows::runtime::Result<()> {
6221         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(audioformat)).ok()
6222     }
6223     #[cfg(feature = "Win32_Foundation")]
Guid(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>6224     pub unsafe fn Guid(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6225         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6226         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6227     }
6228     #[cfg(feature = "Win32_Foundation")]
SetGuid<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, guid: Param0) -> ::windows::runtime::Result<()>6229     pub unsafe fn SetGuid<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, guid: Param0) -> ::windows::runtime::Result<()> {
6230         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), guid.into_param().abi()).ok()
6231     }
GetWaveFormatEx(&self) -> ::windows::runtime::Result<ISpeechWaveFormatEx>6232     pub unsafe fn GetWaveFormatEx(&self) -> ::windows::runtime::Result<ISpeechWaveFormatEx> {
6233         let mut result__: <ISpeechWaveFormatEx as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6234         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechWaveFormatEx>(result__)
6235     }
SetWaveFormatEx<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechWaveFormatEx>>(&self, speechwaveformatex: Param0) -> ::windows::runtime::Result<()>6236     pub unsafe fn SetWaveFormatEx<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechWaveFormatEx>>(&self, speechwaveformatex: Param0) -> ::windows::runtime::Result<()> {
6237         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), speechwaveformatex.into_param().abi()).ok()
6238     }
6239 }
6240 unsafe impl ::windows::runtime::Interface for ISpeechAudioFormat {
6241     type Vtable = ISpeechAudioFormat_abi;
6242     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3874080144, 15896, 16611, [130, 153, 6, 31, 152, 189, 231, 199]);
6243 }
6244 impl ::std::convert::From<ISpeechAudioFormat> for ::windows::runtime::IUnknown {
from(value: ISpeechAudioFormat) -> Self6245     fn from(value: ISpeechAudioFormat) -> Self {
6246         unsafe { ::std::mem::transmute(value) }
6247     }
6248 }
6249 impl ::std::convert::From<&ISpeechAudioFormat> for ::windows::runtime::IUnknown {
from(value: &ISpeechAudioFormat) -> Self6250     fn from(value: &ISpeechAudioFormat) -> Self {
6251         ::std::convert::From::from(::std::clone::Clone::clone(value))
6252     }
6253 }
6254 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechAudioFormat {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6255     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6256         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6257     }
6258 }
6259 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechAudioFormat {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6260     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6261         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6262     }
6263 }
6264 #[cfg(feature = "Win32_System_Ole_Automation")]
6265 impl ::std::convert::From<ISpeechAudioFormat> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechAudioFormat) -> Self6266     fn from(value: ISpeechAudioFormat) -> Self {
6267         unsafe { ::std::mem::transmute(value) }
6268     }
6269 }
6270 #[cfg(feature = "Win32_System_Ole_Automation")]
6271 impl ::std::convert::From<&ISpeechAudioFormat> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechAudioFormat) -> Self6272     fn from(value: &ISpeechAudioFormat) -> Self {
6273         ::std::convert::From::from(::std::clone::Clone::clone(value))
6274     }
6275 }
6276 #[cfg(feature = "Win32_System_Ole_Automation")]
6277 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechAudioFormat {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>6278     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6279         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
6280     }
6281 }
6282 #[cfg(feature = "Win32_System_Ole_Automation")]
6283 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechAudioFormat {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>6284     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6285         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
6286     }
6287 }
6288 #[repr(C)]
6289 #[doc(hidden)]
6290 pub struct ISpeechAudioFormat_abi(
6291     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6292     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6293     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6294     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
6295     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6296     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
6297     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
6298     #[cfg(not(feature = "Win32_Foundation"))] usize,
6299     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6300     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
6301     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6302     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audioformat: *mut SpeechAudioFormatType) -> ::windows::runtime::HRESULT,
6303     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audioformat: SpeechAudioFormatType) -> ::windows::runtime::HRESULT,
6304     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6305     #[cfg(not(feature = "Win32_Foundation"))] usize,
6306     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6307     #[cfg(not(feature = "Win32_Foundation"))] usize,
6308     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, speechwaveformatex: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6309     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, speechwaveformatex: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6310 );
6311 #[repr(transparent)]
6312 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6313 pub struct ISpeechAudioStatus(::windows::runtime::IUnknown);
6314 impl ISpeechAudioStatus {
FreeBufferSpace(&self) -> ::windows::runtime::Result<i32>6315     pub unsafe fn FreeBufferSpace(&self) -> ::windows::runtime::Result<i32> {
6316         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6317         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
6318     }
NonBlockingIO(&self) -> ::windows::runtime::Result<i32>6319     pub unsafe fn NonBlockingIO(&self) -> ::windows::runtime::Result<i32> {
6320         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6321         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
6322     }
State(&self) -> ::windows::runtime::Result<SpeechAudioState>6323     pub unsafe fn State(&self) -> ::windows::runtime::Result<SpeechAudioState> {
6324         let mut result__: <SpeechAudioState as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6325         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SpeechAudioState>(result__)
6326     }
6327     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
CurrentSeekPosition(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>6328     pub unsafe fn CurrentSeekPosition(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
6329         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6330         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
6331     }
6332     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
CurrentDevicePosition(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>6333     pub unsafe fn CurrentDevicePosition(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
6334         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6335         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
6336     }
6337 }
6338 unsafe impl ::windows::runtime::Interface for ISpeechAudioStatus {
6339     type Vtable = ISpeechAudioStatus_abi;
6340     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3324877969, 29784, 18422, [134, 45, 30, 248, 111, 176, 178, 120]);
6341 }
6342 impl ::std::convert::From<ISpeechAudioStatus> for ::windows::runtime::IUnknown {
from(value: ISpeechAudioStatus) -> Self6343     fn from(value: ISpeechAudioStatus) -> Self {
6344         unsafe { ::std::mem::transmute(value) }
6345     }
6346 }
6347 impl ::std::convert::From<&ISpeechAudioStatus> for ::windows::runtime::IUnknown {
from(value: &ISpeechAudioStatus) -> Self6348     fn from(value: &ISpeechAudioStatus) -> Self {
6349         ::std::convert::From::from(::std::clone::Clone::clone(value))
6350     }
6351 }
6352 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechAudioStatus {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6353     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6354         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6355     }
6356 }
6357 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechAudioStatus {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6358     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6359         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6360     }
6361 }
6362 #[cfg(feature = "Win32_System_Ole_Automation")]
6363 impl ::std::convert::From<ISpeechAudioStatus> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechAudioStatus) -> Self6364     fn from(value: ISpeechAudioStatus) -> Self {
6365         unsafe { ::std::mem::transmute(value) }
6366     }
6367 }
6368 #[cfg(feature = "Win32_System_Ole_Automation")]
6369 impl ::std::convert::From<&ISpeechAudioStatus> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechAudioStatus) -> Self6370     fn from(value: &ISpeechAudioStatus) -> Self {
6371         ::std::convert::From::from(::std::clone::Clone::clone(value))
6372     }
6373 }
6374 #[cfg(feature = "Win32_System_Ole_Automation")]
6375 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechAudioStatus {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>6376     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6377         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
6378     }
6379 }
6380 #[cfg(feature = "Win32_System_Ole_Automation")]
6381 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechAudioStatus {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>6382     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6383         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
6384     }
6385 }
6386 #[repr(C)]
6387 #[doc(hidden)]
6388 pub struct ISpeechAudioStatus_abi(
6389     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6390     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6391     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6392     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
6393     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6394     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
6395     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
6396     #[cfg(not(feature = "Win32_Foundation"))] usize,
6397     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6398     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
6399     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6400     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, freebufferspace: *mut i32) -> ::windows::runtime::HRESULT,
6401     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nonblockingio: *mut i32) -> ::windows::runtime::HRESULT,
6402     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, state: *mut SpeechAudioState) -> ::windows::runtime::HRESULT,
6403     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, currentseekposition: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
6404     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6405     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, currentdeviceposition: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
6406     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6407 );
6408 #[repr(transparent)]
6409 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6410 pub struct ISpeechBaseStream(::windows::runtime::IUnknown);
6411 impl ISpeechBaseStream {
Format(&self) -> ::windows::runtime::Result<ISpeechAudioFormat>6412     pub unsafe fn Format(&self) -> ::windows::runtime::Result<ISpeechAudioFormat> {
6413         let mut result__: <ISpeechAudioFormat as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6414         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechAudioFormat>(result__)
6415     }
putref_Format<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechAudioFormat>>(&self, audioformat: Param0) -> ::windows::runtime::Result<()>6416     pub unsafe fn putref_Format<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechAudioFormat>>(&self, audioformat: Param0) -> ::windows::runtime::Result<()> {
6417         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), audioformat.into_param().abi()).ok()
6418     }
6419     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Read(&self, buffer: *mut super::super::System::Com::VARIANT, numberofbytes: i32, bytesread: *mut i32) -> ::windows::runtime::Result<()>6420     pub unsafe fn Read(&self, buffer: *mut super::super::System::Com::VARIANT, numberofbytes: i32, bytesread: *mut i32) -> ::windows::runtime::Result<()> {
6421         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(buffer), ::std::mem::transmute(numberofbytes), ::std::mem::transmute(bytesread)).ok()
6422     }
6423     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Write<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, buffer: Param0) -> ::windows::runtime::Result<i32>6424     pub unsafe fn Write<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, buffer: Param0) -> ::windows::runtime::Result<i32> {
6425         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6426         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), buffer.into_param().abi(), &mut result__).from_abi::<i32>(result__)
6427     }
6428     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Seek<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, position: Param0, origin: SpeechStreamSeekPositionType) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>6429     pub unsafe fn Seek<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, position: Param0, origin: SpeechStreamSeekPositionType) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
6430         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6431         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), position.into_param().abi(), ::std::mem::transmute(origin), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
6432     }
6433 }
6434 unsafe impl ::windows::runtime::Interface for ISpeechBaseStream {
6435     type Vtable = ISpeechBaseStream_abi;
6436     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1682977647, 32073, 19693, [128, 151, 73, 214, 222, 227, 114, 148]);
6437 }
6438 impl ::std::convert::From<ISpeechBaseStream> for ::windows::runtime::IUnknown {
from(value: ISpeechBaseStream) -> Self6439     fn from(value: ISpeechBaseStream) -> Self {
6440         unsafe { ::std::mem::transmute(value) }
6441     }
6442 }
6443 impl ::std::convert::From<&ISpeechBaseStream> for ::windows::runtime::IUnknown {
from(value: &ISpeechBaseStream) -> Self6444     fn from(value: &ISpeechBaseStream) -> Self {
6445         ::std::convert::From::from(::std::clone::Clone::clone(value))
6446     }
6447 }
6448 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechBaseStream {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6449     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6450         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6451     }
6452 }
6453 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechBaseStream {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6454     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6455         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6456     }
6457 }
6458 #[cfg(feature = "Win32_System_Ole_Automation")]
6459 impl ::std::convert::From<ISpeechBaseStream> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechBaseStream) -> Self6460     fn from(value: ISpeechBaseStream) -> Self {
6461         unsafe { ::std::mem::transmute(value) }
6462     }
6463 }
6464 #[cfg(feature = "Win32_System_Ole_Automation")]
6465 impl ::std::convert::From<&ISpeechBaseStream> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechBaseStream) -> Self6466     fn from(value: &ISpeechBaseStream) -> Self {
6467         ::std::convert::From::from(::std::clone::Clone::clone(value))
6468     }
6469 }
6470 #[cfg(feature = "Win32_System_Ole_Automation")]
6471 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechBaseStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>6472     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6473         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
6474     }
6475 }
6476 #[cfg(feature = "Win32_System_Ole_Automation")]
6477 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechBaseStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>6478     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6479         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
6480     }
6481 }
6482 #[repr(C)]
6483 #[doc(hidden)]
6484 pub struct ISpeechBaseStream_abi(
6485     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6486     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6487     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6488     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
6489     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6490     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
6491     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
6492     #[cfg(not(feature = "Win32_Foundation"))] usize,
6493     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6494     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
6495     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6496     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audioformat: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6497     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audioformat: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6498     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buffer: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, numberofbytes: i32, bytesread: *mut i32) -> ::windows::runtime::HRESULT,
6499     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6500     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buffer: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, byteswritten: *mut i32) -> ::windows::runtime::HRESULT,
6501     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6502     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, position: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, origin: SpeechStreamSeekPositionType, newposition: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
6503     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6504 );
6505 #[repr(transparent)]
6506 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6507 pub struct ISpeechCustomStream(::windows::runtime::IUnknown);
6508 impl ISpeechCustomStream {
GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32>6509     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
6510         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6511         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
6512     }
6513     #[cfg(feature = "Win32_System_Ole_Automation")]
GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo>6514     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
6515         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6516         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
6517     }
6518     #[cfg(feature = "Win32_Foundation")]
GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()>6519     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
6520         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
6521     }
6522     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()>6523     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
6524         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
6525     }
Format(&self) -> ::windows::runtime::Result<ISpeechAudioFormat>6526     pub unsafe fn Format(&self) -> ::windows::runtime::Result<ISpeechAudioFormat> {
6527         let mut result__: <ISpeechAudioFormat as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6528         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechAudioFormat>(result__)
6529     }
putref_Format<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechAudioFormat>>(&self, audioformat: Param0) -> ::windows::runtime::Result<()>6530     pub unsafe fn putref_Format<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechAudioFormat>>(&self, audioformat: Param0) -> ::windows::runtime::Result<()> {
6531         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), audioformat.into_param().abi()).ok()
6532     }
6533     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Read(&self, buffer: *mut super::super::System::Com::VARIANT, numberofbytes: i32, bytesread: *mut i32) -> ::windows::runtime::Result<()>6534     pub unsafe fn Read(&self, buffer: *mut super::super::System::Com::VARIANT, numberofbytes: i32, bytesread: *mut i32) -> ::windows::runtime::Result<()> {
6535         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(buffer), ::std::mem::transmute(numberofbytes), ::std::mem::transmute(bytesread)).ok()
6536     }
6537     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Write<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, buffer: Param0) -> ::windows::runtime::Result<i32>6538     pub unsafe fn Write<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, buffer: Param0) -> ::windows::runtime::Result<i32> {
6539         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6540         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), buffer.into_param().abi(), &mut result__).from_abi::<i32>(result__)
6541     }
6542     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Seek<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, position: Param0, origin: SpeechStreamSeekPositionType) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>6543     pub unsafe fn Seek<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, position: Param0, origin: SpeechStreamSeekPositionType) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
6544         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6545         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), position.into_param().abi(), ::std::mem::transmute(origin), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
6546     }
BaseStream(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown>6547     pub unsafe fn BaseStream(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
6548         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6549         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
6550     }
putref_BaseStream<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, punkstream: Param0) -> ::windows::runtime::Result<()>6551     pub unsafe fn putref_BaseStream<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, punkstream: Param0) -> ::windows::runtime::Result<()> {
6552         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), punkstream.into_param().abi()).ok()
6553     }
6554 }
6555 unsafe impl ::windows::runtime::Interface for ISpeechCustomStream {
6556     type Vtable = ISpeechCustomStream_abi;
6557     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(446603087, 4175, 19896, [161, 21, 239, 215, 253, 12, 151, 174]);
6558 }
6559 impl ::std::convert::From<ISpeechCustomStream> for ::windows::runtime::IUnknown {
from(value: ISpeechCustomStream) -> Self6560     fn from(value: ISpeechCustomStream) -> Self {
6561         unsafe { ::std::mem::transmute(value) }
6562     }
6563 }
6564 impl ::std::convert::From<&ISpeechCustomStream> for ::windows::runtime::IUnknown {
from(value: &ISpeechCustomStream) -> Self6565     fn from(value: &ISpeechCustomStream) -> Self {
6566         ::std::convert::From::from(::std::clone::Clone::clone(value))
6567     }
6568 }
6569 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechCustomStream {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6570     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6571         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6572     }
6573 }
6574 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechCustomStream {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6575     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6576         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6577     }
6578 }
6579 impl ::std::convert::From<ISpeechCustomStream> for ISpeechBaseStream {
from(value: ISpeechCustomStream) -> Self6580     fn from(value: ISpeechCustomStream) -> Self {
6581         unsafe { ::std::mem::transmute(value) }
6582     }
6583 }
6584 impl ::std::convert::From<&ISpeechCustomStream> for ISpeechBaseStream {
from(value: &ISpeechCustomStream) -> Self6585     fn from(value: &ISpeechCustomStream) -> Self {
6586         ::std::convert::From::from(::std::clone::Clone::clone(value))
6587     }
6588 }
6589 impl<'a> ::windows::runtime::IntoParam<'a, ISpeechBaseStream> for ISpeechCustomStream {
into_param(self) -> ::windows::runtime::Param<'a, ISpeechBaseStream>6590     fn into_param(self) -> ::windows::runtime::Param<'a, ISpeechBaseStream> {
6591         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpeechBaseStream>::into(self))
6592     }
6593 }
6594 impl<'a> ::windows::runtime::IntoParam<'a, ISpeechBaseStream> for &ISpeechCustomStream {
into_param(self) -> ::windows::runtime::Param<'a, ISpeechBaseStream>6595     fn into_param(self) -> ::windows::runtime::Param<'a, ISpeechBaseStream> {
6596         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpeechBaseStream>::into(::std::clone::Clone::clone(self)))
6597     }
6598 }
6599 #[cfg(feature = "Win32_System_Ole_Automation")]
6600 impl ::std::convert::From<ISpeechCustomStream> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechCustomStream) -> Self6601     fn from(value: ISpeechCustomStream) -> Self {
6602         unsafe { ::std::mem::transmute(value) }
6603     }
6604 }
6605 #[cfg(feature = "Win32_System_Ole_Automation")]
6606 impl ::std::convert::From<&ISpeechCustomStream> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechCustomStream) -> Self6607     fn from(value: &ISpeechCustomStream) -> Self {
6608         ::std::convert::From::from(::std::clone::Clone::clone(value))
6609     }
6610 }
6611 #[cfg(feature = "Win32_System_Ole_Automation")]
6612 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechCustomStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>6613     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6614         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
6615     }
6616 }
6617 #[cfg(feature = "Win32_System_Ole_Automation")]
6618 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechCustomStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>6619     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6620         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
6621     }
6622 }
6623 #[repr(C)]
6624 #[doc(hidden)]
6625 pub struct ISpeechCustomStream_abi(
6626     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6627     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6628     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6629     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
6630     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6631     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
6632     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
6633     #[cfg(not(feature = "Win32_Foundation"))] usize,
6634     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6635     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
6636     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6637     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audioformat: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6638     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audioformat: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6639     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buffer: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, numberofbytes: i32, bytesread: *mut i32) -> ::windows::runtime::HRESULT,
6640     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6641     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buffer: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, byteswritten: *mut i32) -> ::windows::runtime::HRESULT,
6642     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6643     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, position: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, origin: SpeechStreamSeekPositionType, newposition: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
6644     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6645     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppunkstream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6646     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, punkstream: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6647 );
6648 #[repr(transparent)]
6649 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6650 pub struct ISpeechDataKey(::windows::runtime::IUnknown);
6651 impl ISpeechDataKey {
6652     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
SetBinaryValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, valuename: Param0, value: Param1) -> ::windows::runtime::Result<()>6653     pub unsafe fn SetBinaryValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, valuename: Param0, value: Param1) -> ::windows::runtime::Result<()> {
6654         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), valuename.into_param().abi(), value.into_param().abi()).ok()
6655     }
6656     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
GetBinaryValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, valuename: Param0) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>6657     pub unsafe fn GetBinaryValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, valuename: Param0) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
6658         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6659         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), valuename.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
6660     }
6661     #[cfg(feature = "Win32_Foundation")]
SetStringValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, valuename: Param0, value: Param1) -> ::windows::runtime::Result<()>6662     pub unsafe fn SetStringValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, valuename: Param0, value: Param1) -> ::windows::runtime::Result<()> {
6663         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), valuename.into_param().abi(), value.into_param().abi()).ok()
6664     }
6665     #[cfg(feature = "Win32_Foundation")]
GetStringValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, valuename: Param0) -> ::windows::runtime::Result<super::super::Foundation::BSTR>6666     pub unsafe fn GetStringValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, valuename: Param0) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6667         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6668         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), valuename.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6669     }
6670     #[cfg(feature = "Win32_Foundation")]
SetLongValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, valuename: Param0, value: i32) -> ::windows::runtime::Result<()>6671     pub unsafe fn SetLongValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, valuename: Param0, value: i32) -> ::windows::runtime::Result<()> {
6672         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), valuename.into_param().abi(), ::std::mem::transmute(value)).ok()
6673     }
6674     #[cfg(feature = "Win32_Foundation")]
GetLongValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, valuename: Param0) -> ::windows::runtime::Result<i32>6675     pub unsafe fn GetLongValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, valuename: Param0) -> ::windows::runtime::Result<i32> {
6676         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6677         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), valuename.into_param().abi(), &mut result__).from_abi::<i32>(result__)
6678     }
6679     #[cfg(feature = "Win32_Foundation")]
OpenKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, subkeyname: Param0) -> ::windows::runtime::Result<ISpeechDataKey>6680     pub unsafe fn OpenKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, subkeyname: Param0) -> ::windows::runtime::Result<ISpeechDataKey> {
6681         let mut result__: <ISpeechDataKey as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6682         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), subkeyname.into_param().abi(), &mut result__).from_abi::<ISpeechDataKey>(result__)
6683     }
6684     #[cfg(feature = "Win32_Foundation")]
CreateKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, subkeyname: Param0) -> ::windows::runtime::Result<ISpeechDataKey>6685     pub unsafe fn CreateKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, subkeyname: Param0) -> ::windows::runtime::Result<ISpeechDataKey> {
6686         let mut result__: <ISpeechDataKey as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6687         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), subkeyname.into_param().abi(), &mut result__).from_abi::<ISpeechDataKey>(result__)
6688     }
6689     #[cfg(feature = "Win32_Foundation")]
DeleteKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, subkeyname: Param0) -> ::windows::runtime::Result<()>6690     pub unsafe fn DeleteKey<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, subkeyname: Param0) -> ::windows::runtime::Result<()> {
6691         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), subkeyname.into_param().abi()).ok()
6692     }
6693     #[cfg(feature = "Win32_Foundation")]
DeleteValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, valuename: Param0) -> ::windows::runtime::Result<()>6694     pub unsafe fn DeleteValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, valuename: Param0) -> ::windows::runtime::Result<()> {
6695         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), valuename.into_param().abi()).ok()
6696     }
6697     #[cfg(feature = "Win32_Foundation")]
EnumKeys(&self, index: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR>6698     pub unsafe fn EnumKeys(&self, index: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6699         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6700         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6701     }
6702     #[cfg(feature = "Win32_Foundation")]
EnumValues(&self, index: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR>6703     pub unsafe fn EnumValues(&self, index: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6704         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6705         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6706     }
6707 }
6708 unsafe impl ::windows::runtime::Interface for ISpeechDataKey {
6709     type Vtable = ISpeechDataKey_abi;
6710     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3457663131, 20218, 17621, [164, 201, 89, 217, 88, 90, 176, 205]);
6711 }
6712 impl ::std::convert::From<ISpeechDataKey> for ::windows::runtime::IUnknown {
from(value: ISpeechDataKey) -> Self6713     fn from(value: ISpeechDataKey) -> Self {
6714         unsafe { ::std::mem::transmute(value) }
6715     }
6716 }
6717 impl ::std::convert::From<&ISpeechDataKey> for ::windows::runtime::IUnknown {
from(value: &ISpeechDataKey) -> Self6718     fn from(value: &ISpeechDataKey) -> Self {
6719         ::std::convert::From::from(::std::clone::Clone::clone(value))
6720     }
6721 }
6722 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechDataKey {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6723     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6724         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6725     }
6726 }
6727 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechDataKey {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6728     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6729         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6730     }
6731 }
6732 #[cfg(feature = "Win32_System_Ole_Automation")]
6733 impl ::std::convert::From<ISpeechDataKey> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechDataKey) -> Self6734     fn from(value: ISpeechDataKey) -> Self {
6735         unsafe { ::std::mem::transmute(value) }
6736     }
6737 }
6738 #[cfg(feature = "Win32_System_Ole_Automation")]
6739 impl ::std::convert::From<&ISpeechDataKey> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechDataKey) -> Self6740     fn from(value: &ISpeechDataKey) -> Self {
6741         ::std::convert::From::from(::std::clone::Clone::clone(value))
6742     }
6743 }
6744 #[cfg(feature = "Win32_System_Ole_Automation")]
6745 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechDataKey {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>6746     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6747         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
6748     }
6749 }
6750 #[cfg(feature = "Win32_System_Ole_Automation")]
6751 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechDataKey {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>6752     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6753         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
6754     }
6755 }
6756 #[repr(C)]
6757 #[doc(hidden)]
6758 pub struct ISpeechDataKey_abi(
6759     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6760     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6761     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6762     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
6763     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6764     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
6765     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
6766     #[cfg(not(feature = "Win32_Foundation"))] usize,
6767     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6768     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
6769     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6770     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, valuename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, value: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
6771     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6772     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, valuename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, value: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
6773     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6774     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, valuename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, value: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6775     #[cfg(not(feature = "Win32_Foundation"))] usize,
6776     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, valuename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, value: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6777     #[cfg(not(feature = "Win32_Foundation"))] usize,
6778     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, valuename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, value: i32) -> ::windows::runtime::HRESULT,
6779     #[cfg(not(feature = "Win32_Foundation"))] usize,
6780     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, valuename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, value: *mut i32) -> ::windows::runtime::HRESULT,
6781     #[cfg(not(feature = "Win32_Foundation"))] usize,
6782     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, subkeyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, subkey: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6783     #[cfg(not(feature = "Win32_Foundation"))] usize,
6784     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, subkeyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, subkey: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6785     #[cfg(not(feature = "Win32_Foundation"))] usize,
6786     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, subkeyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6787     #[cfg(not(feature = "Win32_Foundation"))] usize,
6788     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, valuename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6789     #[cfg(not(feature = "Win32_Foundation"))] usize,
6790     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32, subkeyname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6791     #[cfg(not(feature = "Win32_Foundation"))] usize,
6792     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32, valuename: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6793     #[cfg(not(feature = "Win32_Foundation"))] usize,
6794 );
6795 #[repr(transparent)]
6796 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6797 pub struct ISpeechFileStream(::windows::runtime::IUnknown);
6798 impl ISpeechFileStream {
GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32>6799     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
6800         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6801         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
6802     }
6803     #[cfg(feature = "Win32_System_Ole_Automation")]
GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo>6804     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
6805         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6806         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
6807     }
6808     #[cfg(feature = "Win32_Foundation")]
GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()>6809     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
6810         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
6811     }
6812     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()>6813     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
6814         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
6815     }
Format(&self) -> ::windows::runtime::Result<ISpeechAudioFormat>6816     pub unsafe fn Format(&self) -> ::windows::runtime::Result<ISpeechAudioFormat> {
6817         let mut result__: <ISpeechAudioFormat as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6818         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechAudioFormat>(result__)
6819     }
putref_Format<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechAudioFormat>>(&self, audioformat: Param0) -> ::windows::runtime::Result<()>6820     pub unsafe fn putref_Format<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechAudioFormat>>(&self, audioformat: Param0) -> ::windows::runtime::Result<()> {
6821         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), audioformat.into_param().abi()).ok()
6822     }
6823     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Read(&self, buffer: *mut super::super::System::Com::VARIANT, numberofbytes: i32, bytesread: *mut i32) -> ::windows::runtime::Result<()>6824     pub unsafe fn Read(&self, buffer: *mut super::super::System::Com::VARIANT, numberofbytes: i32, bytesread: *mut i32) -> ::windows::runtime::Result<()> {
6825         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(buffer), ::std::mem::transmute(numberofbytes), ::std::mem::transmute(bytesread)).ok()
6826     }
6827     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Write<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, buffer: Param0) -> ::windows::runtime::Result<i32>6828     pub unsafe fn Write<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, buffer: Param0) -> ::windows::runtime::Result<i32> {
6829         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6830         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), buffer.into_param().abi(), &mut result__).from_abi::<i32>(result__)
6831     }
6832     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Seek<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, position: Param0, origin: SpeechStreamSeekPositionType) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>6833     pub unsafe fn Seek<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, position: Param0, origin: SpeechStreamSeekPositionType) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
6834         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6835         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), position.into_param().abi(), ::std::mem::transmute(origin), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
6836     }
6837     #[cfg(feature = "Win32_Foundation")]
Open<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, filename: Param0, filemode: SpeechStreamFileMode, doevents: i16) -> ::windows::runtime::Result<()>6838     pub unsafe fn Open<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, filename: Param0, filemode: SpeechStreamFileMode, doevents: i16) -> ::windows::runtime::Result<()> {
6839         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), filename.into_param().abi(), ::std::mem::transmute(filemode), ::std::mem::transmute(doevents)).ok()
6840     }
Close(&self) -> ::windows::runtime::Result<()>6841     pub unsafe fn Close(&self) -> ::windows::runtime::Result<()> {
6842         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self)).ok()
6843     }
6844 }
6845 unsafe impl ::windows::runtime::Interface for ISpeechFileStream {
6846     type Vtable = ISpeechFileStream_abi;
6847     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2942824741, 43833, 20115, [180, 162, 204, 46, 102, 225, 130, 167]);
6848 }
6849 impl ::std::convert::From<ISpeechFileStream> for ::windows::runtime::IUnknown {
from(value: ISpeechFileStream) -> Self6850     fn from(value: ISpeechFileStream) -> Self {
6851         unsafe { ::std::mem::transmute(value) }
6852     }
6853 }
6854 impl ::std::convert::From<&ISpeechFileStream> for ::windows::runtime::IUnknown {
from(value: &ISpeechFileStream) -> Self6855     fn from(value: &ISpeechFileStream) -> Self {
6856         ::std::convert::From::from(::std::clone::Clone::clone(value))
6857     }
6858 }
6859 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechFileStream {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6860     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6861         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6862     }
6863 }
6864 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechFileStream {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6865     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6866         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6867     }
6868 }
6869 impl ::std::convert::From<ISpeechFileStream> for ISpeechBaseStream {
from(value: ISpeechFileStream) -> Self6870     fn from(value: ISpeechFileStream) -> Self {
6871         unsafe { ::std::mem::transmute(value) }
6872     }
6873 }
6874 impl ::std::convert::From<&ISpeechFileStream> for ISpeechBaseStream {
from(value: &ISpeechFileStream) -> Self6875     fn from(value: &ISpeechFileStream) -> Self {
6876         ::std::convert::From::from(::std::clone::Clone::clone(value))
6877     }
6878 }
6879 impl<'a> ::windows::runtime::IntoParam<'a, ISpeechBaseStream> for ISpeechFileStream {
into_param(self) -> ::windows::runtime::Param<'a, ISpeechBaseStream>6880     fn into_param(self) -> ::windows::runtime::Param<'a, ISpeechBaseStream> {
6881         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpeechBaseStream>::into(self))
6882     }
6883 }
6884 impl<'a> ::windows::runtime::IntoParam<'a, ISpeechBaseStream> for &ISpeechFileStream {
into_param(self) -> ::windows::runtime::Param<'a, ISpeechBaseStream>6885     fn into_param(self) -> ::windows::runtime::Param<'a, ISpeechBaseStream> {
6886         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpeechBaseStream>::into(::std::clone::Clone::clone(self)))
6887     }
6888 }
6889 #[cfg(feature = "Win32_System_Ole_Automation")]
6890 impl ::std::convert::From<ISpeechFileStream> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechFileStream) -> Self6891     fn from(value: ISpeechFileStream) -> Self {
6892         unsafe { ::std::mem::transmute(value) }
6893     }
6894 }
6895 #[cfg(feature = "Win32_System_Ole_Automation")]
6896 impl ::std::convert::From<&ISpeechFileStream> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechFileStream) -> Self6897     fn from(value: &ISpeechFileStream) -> Self {
6898         ::std::convert::From::from(::std::clone::Clone::clone(value))
6899     }
6900 }
6901 #[cfg(feature = "Win32_System_Ole_Automation")]
6902 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechFileStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>6903     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6904         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
6905     }
6906 }
6907 #[cfg(feature = "Win32_System_Ole_Automation")]
6908 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechFileStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>6909     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6910         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
6911     }
6912 }
6913 #[repr(C)]
6914 #[doc(hidden)]
6915 pub struct ISpeechFileStream_abi(
6916     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6917     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6918     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6919     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
6920     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6921     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
6922     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
6923     #[cfg(not(feature = "Win32_Foundation"))] usize,
6924     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6925     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
6926     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6927     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audioformat: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6928     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audioformat: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6929     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buffer: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, numberofbytes: i32, bytesread: *mut i32) -> ::windows::runtime::HRESULT,
6930     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6931     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buffer: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, byteswritten: *mut i32) -> ::windows::runtime::HRESULT,
6932     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6933     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, position: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, origin: SpeechStreamSeekPositionType, newposition: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
6934     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6935     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, filemode: SpeechStreamFileMode, doevents: i16) -> ::windows::runtime::HRESULT,
6936     #[cfg(not(feature = "Win32_Foundation"))] usize,
6937     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6938 );
6939 #[repr(transparent)]
6940 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6941 pub struct ISpeechGrammarRule(::windows::runtime::IUnknown);
6942 impl ISpeechGrammarRule {
Attributes(&self) -> ::windows::runtime::Result<SpeechRuleAttributes>6943     pub unsafe fn Attributes(&self) -> ::windows::runtime::Result<SpeechRuleAttributes> {
6944         let mut result__: <SpeechRuleAttributes as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6945         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SpeechRuleAttributes>(result__)
6946     }
InitialState(&self) -> ::windows::runtime::Result<ISpeechGrammarRuleState>6947     pub unsafe fn InitialState(&self) -> ::windows::runtime::Result<ISpeechGrammarRuleState> {
6948         let mut result__: <ISpeechGrammarRuleState as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6949         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechGrammarRuleState>(result__)
6950     }
6951     #[cfg(feature = "Win32_Foundation")]
Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>6952     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6953         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6954         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6955     }
Id(&self) -> ::windows::runtime::Result<i32>6956     pub unsafe fn Id(&self) -> ::windows::runtime::Result<i32> {
6957         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6958         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
6959     }
Clear(&self) -> ::windows::runtime::Result<()>6960     pub unsafe fn Clear(&self) -> ::windows::runtime::Result<()> {
6961         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
6962     }
6963     #[cfg(feature = "Win32_Foundation")]
AddResource<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, resourcename: Param0, resourcevalue: Param1) -> ::windows::runtime::Result<()>6964     pub unsafe fn AddResource<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, resourcename: Param0, resourcevalue: Param1) -> ::windows::runtime::Result<()> {
6965         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), resourcename.into_param().abi(), resourcevalue.into_param().abi()).ok()
6966     }
AddState(&self) -> ::windows::runtime::Result<ISpeechGrammarRuleState>6967     pub unsafe fn AddState(&self) -> ::windows::runtime::Result<ISpeechGrammarRuleState> {
6968         let mut result__: <ISpeechGrammarRuleState as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6969         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechGrammarRuleState>(result__)
6970     }
6971 }
6972 unsafe impl ::windows::runtime::Interface for ISpeechGrammarRule {
6973     type Vtable = ISpeechGrammarRule_abi;
6974     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2951158223, 24017, 17650, [153, 156, 122, 57, 159, 28, 252, 204]);
6975 }
6976 impl ::std::convert::From<ISpeechGrammarRule> for ::windows::runtime::IUnknown {
from(value: ISpeechGrammarRule) -> Self6977     fn from(value: ISpeechGrammarRule) -> Self {
6978         unsafe { ::std::mem::transmute(value) }
6979     }
6980 }
6981 impl ::std::convert::From<&ISpeechGrammarRule> for ::windows::runtime::IUnknown {
from(value: &ISpeechGrammarRule) -> Self6982     fn from(value: &ISpeechGrammarRule) -> Self {
6983         ::std::convert::From::from(::std::clone::Clone::clone(value))
6984     }
6985 }
6986 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechGrammarRule {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6987     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6988         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6989     }
6990 }
6991 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechGrammarRule {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6992     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6993         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6994     }
6995 }
6996 #[cfg(feature = "Win32_System_Ole_Automation")]
6997 impl ::std::convert::From<ISpeechGrammarRule> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechGrammarRule) -> Self6998     fn from(value: ISpeechGrammarRule) -> Self {
6999         unsafe { ::std::mem::transmute(value) }
7000     }
7001 }
7002 #[cfg(feature = "Win32_System_Ole_Automation")]
7003 impl ::std::convert::From<&ISpeechGrammarRule> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechGrammarRule) -> Self7004     fn from(value: &ISpeechGrammarRule) -> Self {
7005         ::std::convert::From::from(::std::clone::Clone::clone(value))
7006     }
7007 }
7008 #[cfg(feature = "Win32_System_Ole_Automation")]
7009 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechGrammarRule {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7010     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7011         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7012     }
7013 }
7014 #[cfg(feature = "Win32_System_Ole_Automation")]
7015 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechGrammarRule {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7016     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7017         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7018     }
7019 }
7020 #[repr(C)]
7021 #[doc(hidden)]
7022 pub struct ISpeechGrammarRule_abi(
7023     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7024     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7025     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7026     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7027     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7028     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7029     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
7030     #[cfg(not(feature = "Win32_Foundation"))] usize,
7031     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7032     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
7033     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7034     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, attributes: *mut SpeechRuleAttributes) -> ::windows::runtime::HRESULT,
7035     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, state: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7036     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7037     #[cfg(not(feature = "Win32_Foundation"))] usize,
7038     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut i32) -> ::windows::runtime::HRESULT,
7039     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7040     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, resourcename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, resourcevalue: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7041     #[cfg(not(feature = "Win32_Foundation"))] usize,
7042     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, state: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7043 );
7044 #[repr(transparent)]
7045 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7046 pub struct ISpeechGrammarRuleState(::windows::runtime::IUnknown);
7047 impl ISpeechGrammarRuleState {
Rule(&self) -> ::windows::runtime::Result<ISpeechGrammarRule>7048     pub unsafe fn Rule(&self) -> ::windows::runtime::Result<ISpeechGrammarRule> {
7049         let mut result__: <ISpeechGrammarRule as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7050         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechGrammarRule>(result__)
7051     }
Transitions(&self) -> ::windows::runtime::Result<ISpeechGrammarRuleStateTransitions>7052     pub unsafe fn Transitions(&self) -> ::windows::runtime::Result<ISpeechGrammarRuleStateTransitions> {
7053         let mut result__: <ISpeechGrammarRuleStateTransitions as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7054         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechGrammarRuleStateTransitions>(result__)
7055     }
7056     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
AddWordTransition<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechGrammarRuleState>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>( &self, deststate: Param0, words: Param1, separators: Param2, r#type: SpeechGrammarWordType, propertyname: Param4, propertyid: i32, propertyvalue: *const super::super::System::Com::VARIANT, weight: f32, ) -> ::windows::runtime::Result<()>7057     pub unsafe fn AddWordTransition<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechGrammarRuleState>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(
7058         &self,
7059         deststate: Param0,
7060         words: Param1,
7061         separators: Param2,
7062         r#type: SpeechGrammarWordType,
7063         propertyname: Param4,
7064         propertyid: i32,
7065         propertyvalue: *const super::super::System::Com::VARIANT,
7066         weight: f32,
7067     ) -> ::windows::runtime::Result<()> {
7068         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), deststate.into_param().abi(), words.into_param().abi(), separators.into_param().abi(), ::std::mem::transmute(r#type), propertyname.into_param().abi(), ::std::mem::transmute(propertyid), ::std::mem::transmute(propertyvalue), ::std::mem::transmute(weight)).ok()
7069     }
7070     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
AddRuleTransition<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechGrammarRuleState>, Param1: ::windows::runtime::IntoParam<'a, ISpeechGrammarRule>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, destinationstate: Param0, rule: Param1, propertyname: Param2, propertyid: i32, propertyvalue: *const super::super::System::Com::VARIANT, weight: f32) -> ::windows::runtime::Result<()>7071     pub unsafe fn AddRuleTransition<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechGrammarRuleState>, Param1: ::windows::runtime::IntoParam<'a, ISpeechGrammarRule>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, destinationstate: Param0, rule: Param1, propertyname: Param2, propertyid: i32, propertyvalue: *const super::super::System::Com::VARIANT, weight: f32) -> ::windows::runtime::Result<()> {
7072         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), destinationstate.into_param().abi(), rule.into_param().abi(), propertyname.into_param().abi(), ::std::mem::transmute(propertyid), ::std::mem::transmute(propertyvalue), ::std::mem::transmute(weight)).ok()
7073     }
7074     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
AddSpecialTransition<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechGrammarRuleState>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, destinationstate: Param0, r#type: SpeechSpecialTransitionType, propertyname: Param2, propertyid: i32, propertyvalue: *const super::super::System::Com::VARIANT, weight: f32) -> ::windows::runtime::Result<()>7075     pub unsafe fn AddSpecialTransition<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechGrammarRuleState>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, destinationstate: Param0, r#type: SpeechSpecialTransitionType, propertyname: Param2, propertyid: i32, propertyvalue: *const super::super::System::Com::VARIANT, weight: f32) -> ::windows::runtime::Result<()> {
7076         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), destinationstate.into_param().abi(), ::std::mem::transmute(r#type), propertyname.into_param().abi(), ::std::mem::transmute(propertyid), ::std::mem::transmute(propertyvalue), ::std::mem::transmute(weight)).ok()
7077     }
7078 }
7079 unsafe impl ::windows::runtime::Interface for ISpeechGrammarRuleState {
7080     type Vtable = ISpeechGrammarRuleState_abi;
7081     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3559419692, 61031, 17838, [185, 40, 40, 214, 149, 54, 46, 218]);
7082 }
7083 impl ::std::convert::From<ISpeechGrammarRuleState> for ::windows::runtime::IUnknown {
from(value: ISpeechGrammarRuleState) -> Self7084     fn from(value: ISpeechGrammarRuleState) -> Self {
7085         unsafe { ::std::mem::transmute(value) }
7086     }
7087 }
7088 impl ::std::convert::From<&ISpeechGrammarRuleState> for ::windows::runtime::IUnknown {
from(value: &ISpeechGrammarRuleState) -> Self7089     fn from(value: &ISpeechGrammarRuleState) -> Self {
7090         ::std::convert::From::from(::std::clone::Clone::clone(value))
7091     }
7092 }
7093 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechGrammarRuleState {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7094     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7095         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7096     }
7097 }
7098 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechGrammarRuleState {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7099     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7100         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7101     }
7102 }
7103 #[cfg(feature = "Win32_System_Ole_Automation")]
7104 impl ::std::convert::From<ISpeechGrammarRuleState> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechGrammarRuleState) -> Self7105     fn from(value: ISpeechGrammarRuleState) -> Self {
7106         unsafe { ::std::mem::transmute(value) }
7107     }
7108 }
7109 #[cfg(feature = "Win32_System_Ole_Automation")]
7110 impl ::std::convert::From<&ISpeechGrammarRuleState> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechGrammarRuleState) -> Self7111     fn from(value: &ISpeechGrammarRuleState) -> Self {
7112         ::std::convert::From::from(::std::clone::Clone::clone(value))
7113     }
7114 }
7115 #[cfg(feature = "Win32_System_Ole_Automation")]
7116 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechGrammarRuleState {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7117     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7118         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7119     }
7120 }
7121 #[cfg(feature = "Win32_System_Ole_Automation")]
7122 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechGrammarRuleState {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7123     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7124         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7125     }
7126 }
7127 #[repr(C)]
7128 #[doc(hidden)]
7129 pub struct ISpeechGrammarRuleState_abi(
7130     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7131     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7132     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7133     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7134     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7135     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7136     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
7137     #[cfg(not(feature = "Win32_Foundation"))] usize,
7138     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7139     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
7140     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7141     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rule: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7142     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, transitions: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7143     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7144     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, deststate: ::windows::runtime::RawPtr, words: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, separators: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, r#type: SpeechGrammarWordType, propertyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, propertyid: i32, propertyvalue: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, weight: f32) -> ::windows::runtime::HRESULT,
7145     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7146     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, destinationstate: ::windows::runtime::RawPtr, rule: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, propertyid: i32, propertyvalue: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, weight: f32) -> ::windows::runtime::HRESULT,
7147     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7148     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, destinationstate: ::windows::runtime::RawPtr, r#type: SpeechSpecialTransitionType, propertyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, propertyid: i32, propertyvalue: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, weight: f32) -> ::windows::runtime::HRESULT,
7149     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7150 );
7151 #[repr(transparent)]
7152 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7153 pub struct ISpeechGrammarRuleStateTransition(::windows::runtime::IUnknown);
7154 impl ISpeechGrammarRuleStateTransition {
Type(&self) -> ::windows::runtime::Result<SpeechGrammarRuleStateTransitionType>7155     pub unsafe fn Type(&self) -> ::windows::runtime::Result<SpeechGrammarRuleStateTransitionType> {
7156         let mut result__: <SpeechGrammarRuleStateTransitionType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7157         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SpeechGrammarRuleStateTransitionType>(result__)
7158     }
7159     #[cfg(feature = "Win32_Foundation")]
Text(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>7160     pub unsafe fn Text(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7161         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7162         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7163     }
Rule(&self) -> ::windows::runtime::Result<ISpeechGrammarRule>7164     pub unsafe fn Rule(&self) -> ::windows::runtime::Result<ISpeechGrammarRule> {
7165         let mut result__: <ISpeechGrammarRule as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7166         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechGrammarRule>(result__)
7167     }
7168     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Weight(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>7169     pub unsafe fn Weight(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
7170         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7171         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
7172     }
7173     #[cfg(feature = "Win32_Foundation")]
PropertyName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>7174     pub unsafe fn PropertyName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7175         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7176         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7177     }
PropertyId(&self) -> ::windows::runtime::Result<i32>7178     pub unsafe fn PropertyId(&self) -> ::windows::runtime::Result<i32> {
7179         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7180         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7181     }
7182     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
PropertyValue(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>7183     pub unsafe fn PropertyValue(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
7184         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7185         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
7186     }
NextState(&self) -> ::windows::runtime::Result<ISpeechGrammarRuleState>7187     pub unsafe fn NextState(&self) -> ::windows::runtime::Result<ISpeechGrammarRuleState> {
7188         let mut result__: <ISpeechGrammarRuleState as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7189         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechGrammarRuleState>(result__)
7190     }
7191 }
7192 unsafe impl ::windows::runtime::Interface for ISpeechGrammarRuleStateTransition {
7193     type Vtable = ISpeechGrammarRuleStateTransition_abi;
7194     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3405585841, 16849, 18950, [152, 99, 226, 232, 29, 161, 122, 154]);
7195 }
7196 impl ::std::convert::From<ISpeechGrammarRuleStateTransition> for ::windows::runtime::IUnknown {
from(value: ISpeechGrammarRuleStateTransition) -> Self7197     fn from(value: ISpeechGrammarRuleStateTransition) -> Self {
7198         unsafe { ::std::mem::transmute(value) }
7199     }
7200 }
7201 impl ::std::convert::From<&ISpeechGrammarRuleStateTransition> for ::windows::runtime::IUnknown {
from(value: &ISpeechGrammarRuleStateTransition) -> Self7202     fn from(value: &ISpeechGrammarRuleStateTransition) -> Self {
7203         ::std::convert::From::from(::std::clone::Clone::clone(value))
7204     }
7205 }
7206 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechGrammarRuleStateTransition {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7207     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7208         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7209     }
7210 }
7211 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechGrammarRuleStateTransition {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7212     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7213         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7214     }
7215 }
7216 #[cfg(feature = "Win32_System_Ole_Automation")]
7217 impl ::std::convert::From<ISpeechGrammarRuleStateTransition> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechGrammarRuleStateTransition) -> Self7218     fn from(value: ISpeechGrammarRuleStateTransition) -> Self {
7219         unsafe { ::std::mem::transmute(value) }
7220     }
7221 }
7222 #[cfg(feature = "Win32_System_Ole_Automation")]
7223 impl ::std::convert::From<&ISpeechGrammarRuleStateTransition> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechGrammarRuleStateTransition) -> Self7224     fn from(value: &ISpeechGrammarRuleStateTransition) -> Self {
7225         ::std::convert::From::from(::std::clone::Clone::clone(value))
7226     }
7227 }
7228 #[cfg(feature = "Win32_System_Ole_Automation")]
7229 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechGrammarRuleStateTransition {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7230     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7231         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7232     }
7233 }
7234 #[cfg(feature = "Win32_System_Ole_Automation")]
7235 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechGrammarRuleStateTransition {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7236     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7237         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7238     }
7239 }
7240 #[repr(C)]
7241 #[doc(hidden)]
7242 pub struct ISpeechGrammarRuleStateTransition_abi(
7243     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7244     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7245     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7246     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7247     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7248     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7249     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
7250     #[cfg(not(feature = "Win32_Foundation"))] usize,
7251     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7252     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
7253     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7254     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: *mut SpeechGrammarRuleStateTransitionType) -> ::windows::runtime::HRESULT,
7255     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, text: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7256     #[cfg(not(feature = "Win32_Foundation"))] usize,
7257     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rule: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7258     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, weight: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
7259     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7260     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7261     #[cfg(not(feature = "Win32_Foundation"))] usize,
7262     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: *mut i32) -> ::windows::runtime::HRESULT,
7263     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyvalue: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
7264     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7265     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nextstate: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7266 );
7267 #[repr(transparent)]
7268 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7269 pub struct ISpeechGrammarRuleStateTransitions(::windows::runtime::IUnknown);
7270 impl ISpeechGrammarRuleStateTransitions {
Count(&self) -> ::windows::runtime::Result<i32>7271     pub unsafe fn Count(&self) -> ::windows::runtime::Result<i32> {
7272         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7273         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7274     }
Item(&self, index: i32) -> ::windows::runtime::Result<ISpeechGrammarRuleStateTransition>7275     pub unsafe fn Item(&self, index: i32) -> ::windows::runtime::Result<ISpeechGrammarRuleStateTransition> {
7276         let mut result__: <ISpeechGrammarRuleStateTransition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7277         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<ISpeechGrammarRuleStateTransition>(result__)
7278     }
_NewEnum(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown>7279     pub unsafe fn _NewEnum(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
7280         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7281         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
7282     }
7283 }
7284 unsafe impl ::windows::runtime::Interface for ISpeechGrammarRuleStateTransitions {
7285     type Vtable = ISpeechGrammarRuleStateTransitions_abi;
7286     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3938248279, 30140, 17570, [170, 127, 197, 100, 118, 116, 41, 99]);
7287 }
7288 impl ::std::convert::From<ISpeechGrammarRuleStateTransitions> for ::windows::runtime::IUnknown {
from(value: ISpeechGrammarRuleStateTransitions) -> Self7289     fn from(value: ISpeechGrammarRuleStateTransitions) -> Self {
7290         unsafe { ::std::mem::transmute(value) }
7291     }
7292 }
7293 impl ::std::convert::From<&ISpeechGrammarRuleStateTransitions> for ::windows::runtime::IUnknown {
from(value: &ISpeechGrammarRuleStateTransitions) -> Self7294     fn from(value: &ISpeechGrammarRuleStateTransitions) -> Self {
7295         ::std::convert::From::from(::std::clone::Clone::clone(value))
7296     }
7297 }
7298 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechGrammarRuleStateTransitions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7299     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7300         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7301     }
7302 }
7303 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechGrammarRuleStateTransitions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7304     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7305         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7306     }
7307 }
7308 #[cfg(feature = "Win32_System_Ole_Automation")]
7309 impl ::std::convert::From<ISpeechGrammarRuleStateTransitions> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechGrammarRuleStateTransitions) -> Self7310     fn from(value: ISpeechGrammarRuleStateTransitions) -> Self {
7311         unsafe { ::std::mem::transmute(value) }
7312     }
7313 }
7314 #[cfg(feature = "Win32_System_Ole_Automation")]
7315 impl ::std::convert::From<&ISpeechGrammarRuleStateTransitions> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechGrammarRuleStateTransitions) -> Self7316     fn from(value: &ISpeechGrammarRuleStateTransitions) -> Self {
7317         ::std::convert::From::from(::std::clone::Clone::clone(value))
7318     }
7319 }
7320 #[cfg(feature = "Win32_System_Ole_Automation")]
7321 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechGrammarRuleStateTransitions {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7322     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7323         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7324     }
7325 }
7326 #[cfg(feature = "Win32_System_Ole_Automation")]
7327 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechGrammarRuleStateTransitions {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7328     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7329         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7330     }
7331 }
7332 #[repr(C)]
7333 #[doc(hidden)]
7334 pub struct ISpeechGrammarRuleStateTransitions_abi(
7335     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7336     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7337     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7338     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7339     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7340     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7341     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
7342     #[cfg(not(feature = "Win32_Foundation"))] usize,
7343     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7344     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
7345     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7346     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut i32) -> ::windows::runtime::HRESULT,
7347     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7348     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enumvariant: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7349 );
7350 #[repr(transparent)]
7351 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7352 pub struct ISpeechGrammarRules(::windows::runtime::IUnknown);
7353 impl ISpeechGrammarRules {
Count(&self) -> ::windows::runtime::Result<i32>7354     pub unsafe fn Count(&self) -> ::windows::runtime::Result<i32> {
7355         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7356         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7357     }
7358     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
FindRule<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, rulenameorid: Param0) -> ::windows::runtime::Result<ISpeechGrammarRule>7359     pub unsafe fn FindRule<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, rulenameorid: Param0) -> ::windows::runtime::Result<ISpeechGrammarRule> {
7360         let mut result__: <ISpeechGrammarRule as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7361         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), rulenameorid.into_param().abi(), &mut result__).from_abi::<ISpeechGrammarRule>(result__)
7362     }
Item(&self, index: i32) -> ::windows::runtime::Result<ISpeechGrammarRule>7363     pub unsafe fn Item(&self, index: i32) -> ::windows::runtime::Result<ISpeechGrammarRule> {
7364         let mut result__: <ISpeechGrammarRule as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7365         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<ISpeechGrammarRule>(result__)
7366     }
_NewEnum(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown>7367     pub unsafe fn _NewEnum(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
7368         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7369         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
7370     }
Dynamic(&self) -> ::windows::runtime::Result<i16>7371     pub unsafe fn Dynamic(&self) -> ::windows::runtime::Result<i16> {
7372         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7373         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
7374     }
7375     #[cfg(feature = "Win32_Foundation")]
Add<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, rulename: Param0, attributes: SpeechRuleAttributes, ruleid: i32) -> ::windows::runtime::Result<ISpeechGrammarRule>7376     pub unsafe fn Add<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, rulename: Param0, attributes: SpeechRuleAttributes, ruleid: i32) -> ::windows::runtime::Result<ISpeechGrammarRule> {
7377         let mut result__: <ISpeechGrammarRule as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7378         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), rulename.into_param().abi(), ::std::mem::transmute(attributes), ::std::mem::transmute(ruleid), &mut result__).from_abi::<ISpeechGrammarRule>(result__)
7379     }
Commit(&self) -> ::windows::runtime::Result<()>7380     pub unsafe fn Commit(&self) -> ::windows::runtime::Result<()> {
7381         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self)).ok()
7382     }
7383     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
CommitAndSave(&self, errortext: *mut super::super::Foundation::BSTR, savestream: *mut super::super::System::Com::VARIANT) -> ::windows::runtime::Result<()>7384     pub unsafe fn CommitAndSave(&self, errortext: *mut super::super::Foundation::BSTR, savestream: *mut super::super::System::Com::VARIANT) -> ::windows::runtime::Result<()> {
7385         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(errortext), ::std::mem::transmute(savestream)).ok()
7386     }
7387 }
7388 unsafe impl ::windows::runtime::Interface for ISpeechGrammarRules {
7389     type Vtable = ISpeechGrammarRules_abi;
7390     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1878670148, 64557, 16593, [138, 252, 50, 145, 28, 127, 26, 209]);
7391 }
7392 impl ::std::convert::From<ISpeechGrammarRules> for ::windows::runtime::IUnknown {
from(value: ISpeechGrammarRules) -> Self7393     fn from(value: ISpeechGrammarRules) -> Self {
7394         unsafe { ::std::mem::transmute(value) }
7395     }
7396 }
7397 impl ::std::convert::From<&ISpeechGrammarRules> for ::windows::runtime::IUnknown {
from(value: &ISpeechGrammarRules) -> Self7398     fn from(value: &ISpeechGrammarRules) -> Self {
7399         ::std::convert::From::from(::std::clone::Clone::clone(value))
7400     }
7401 }
7402 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechGrammarRules {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7403     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7404         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7405     }
7406 }
7407 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechGrammarRules {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7408     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7409         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7410     }
7411 }
7412 #[cfg(feature = "Win32_System_Ole_Automation")]
7413 impl ::std::convert::From<ISpeechGrammarRules> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechGrammarRules) -> Self7414     fn from(value: ISpeechGrammarRules) -> Self {
7415         unsafe { ::std::mem::transmute(value) }
7416     }
7417 }
7418 #[cfg(feature = "Win32_System_Ole_Automation")]
7419 impl ::std::convert::From<&ISpeechGrammarRules> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechGrammarRules) -> Self7420     fn from(value: &ISpeechGrammarRules) -> Self {
7421         ::std::convert::From::from(::std::clone::Clone::clone(value))
7422     }
7423 }
7424 #[cfg(feature = "Win32_System_Ole_Automation")]
7425 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechGrammarRules {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7426     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7427         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7428     }
7429 }
7430 #[cfg(feature = "Win32_System_Ole_Automation")]
7431 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechGrammarRules {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7432     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7433         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7434     }
7435 }
7436 #[repr(C)]
7437 #[doc(hidden)]
7438 pub struct ISpeechGrammarRules_abi(
7439     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7440     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7441     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7442     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7443     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7444     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7445     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
7446     #[cfg(not(feature = "Win32_Foundation"))] usize,
7447     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7448     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
7449     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7450     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut i32) -> ::windows::runtime::HRESULT,
7451     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rulenameorid: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, rule: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7452     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7453     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32, rule: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7454     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enumvariant: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7455     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dynamic: *mut i16) -> ::windows::runtime::HRESULT,
7456     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rulename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, attributes: SpeechRuleAttributes, ruleid: i32, rule: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7457     #[cfg(not(feature = "Win32_Foundation"))] usize,
7458     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7459     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, errortext: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, savestream: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
7460     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7461 );
7462 #[repr(transparent)]
7463 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7464 pub struct ISpeechLexicon(::windows::runtime::IUnknown);
7465 impl ISpeechLexicon {
GenerationId(&self) -> ::windows::runtime::Result<i32>7466     pub unsafe fn GenerationId(&self) -> ::windows::runtime::Result<i32> {
7467         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7468         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7469     }
GetWords(&self, flags: SpeechLexiconType, generationid: *mut i32, words: *mut ::std::option::Option<ISpeechLexiconWords>) -> ::windows::runtime::Result<()>7470     pub unsafe fn GetWords(&self, flags: SpeechLexiconType, generationid: *mut i32, words: *mut ::std::option::Option<ISpeechLexiconWords>) -> ::windows::runtime::Result<()> {
7471         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(flags), ::std::mem::transmute(generationid), ::std::mem::transmute(words)).ok()
7472     }
7473     #[cfg(feature = "Win32_Foundation")]
AddPronunciation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrword: Param0, langid: i32, partofspeech: SpeechPartOfSpeech, bstrpronunciation: Param3) -> ::windows::runtime::Result<()>7474     pub unsafe fn AddPronunciation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrword: Param0, langid: i32, partofspeech: SpeechPartOfSpeech, bstrpronunciation: Param3) -> ::windows::runtime::Result<()> {
7475         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), bstrword.into_param().abi(), ::std::mem::transmute(langid), ::std::mem::transmute(partofspeech), bstrpronunciation.into_param().abi()).ok()
7476     }
7477     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
AddPronunciationByPhoneIds<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrword: Param0, langid: i32, partofspeech: SpeechPartOfSpeech, phoneids: *const super::super::System::Com::VARIANT) -> ::windows::runtime::Result<()>7478     pub unsafe fn AddPronunciationByPhoneIds<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrword: Param0, langid: i32, partofspeech: SpeechPartOfSpeech, phoneids: *const super::super::System::Com::VARIANT) -> ::windows::runtime::Result<()> {
7479         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), bstrword.into_param().abi(), ::std::mem::transmute(langid), ::std::mem::transmute(partofspeech), ::std::mem::transmute(phoneids)).ok()
7480     }
7481     #[cfg(feature = "Win32_Foundation")]
RemovePronunciation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrword: Param0, langid: i32, partofspeech: SpeechPartOfSpeech, bstrpronunciation: Param3) -> ::windows::runtime::Result<()>7482     pub unsafe fn RemovePronunciation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrword: Param0, langid: i32, partofspeech: SpeechPartOfSpeech, bstrpronunciation: Param3) -> ::windows::runtime::Result<()> {
7483         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), bstrword.into_param().abi(), ::std::mem::transmute(langid), ::std::mem::transmute(partofspeech), bstrpronunciation.into_param().abi()).ok()
7484     }
7485     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
RemovePronunciationByPhoneIds<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrword: Param0, langid: i32, partofspeech: SpeechPartOfSpeech, phoneids: *const super::super::System::Com::VARIANT) -> ::windows::runtime::Result<()>7486     pub unsafe fn RemovePronunciationByPhoneIds<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrword: Param0, langid: i32, partofspeech: SpeechPartOfSpeech, phoneids: *const super::super::System::Com::VARIANT) -> ::windows::runtime::Result<()> {
7487         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), bstrword.into_param().abi(), ::std::mem::transmute(langid), ::std::mem::transmute(partofspeech), ::std::mem::transmute(phoneids)).ok()
7488     }
7489     #[cfg(feature = "Win32_Foundation")]
GetPronunciations<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrword: Param0, langid: i32, typeflags: SpeechLexiconType) -> ::windows::runtime::Result<ISpeechLexiconPronunciations>7490     pub unsafe fn GetPronunciations<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrword: Param0, langid: i32, typeflags: SpeechLexiconType) -> ::windows::runtime::Result<ISpeechLexiconPronunciations> {
7491         let mut result__: <ISpeechLexiconPronunciations as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7492         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), bstrword.into_param().abi(), ::std::mem::transmute(langid), ::std::mem::transmute(typeflags), &mut result__).from_abi::<ISpeechLexiconPronunciations>(result__)
7493     }
GetGenerationChange(&self, generationid: *mut i32, ppwords: *mut ::std::option::Option<ISpeechLexiconWords>) -> ::windows::runtime::Result<()>7494     pub unsafe fn GetGenerationChange(&self, generationid: *mut i32, ppwords: *mut ::std::option::Option<ISpeechLexiconWords>) -> ::windows::runtime::Result<()> {
7495         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(generationid), ::std::mem::transmute(ppwords)).ok()
7496     }
7497 }
7498 unsafe impl ::windows::runtime::Interface for ISpeechLexicon {
7499     type Vtable = ISpeechLexicon_abi;
7500     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1034379898, 51118, 19235, [135, 8, 99, 140, 80, 54, 44, 37]);
7501 }
7502 impl ::std::convert::From<ISpeechLexicon> for ::windows::runtime::IUnknown {
from(value: ISpeechLexicon) -> Self7503     fn from(value: ISpeechLexicon) -> Self {
7504         unsafe { ::std::mem::transmute(value) }
7505     }
7506 }
7507 impl ::std::convert::From<&ISpeechLexicon> for ::windows::runtime::IUnknown {
from(value: &ISpeechLexicon) -> Self7508     fn from(value: &ISpeechLexicon) -> Self {
7509         ::std::convert::From::from(::std::clone::Clone::clone(value))
7510     }
7511 }
7512 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechLexicon {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7513     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7514         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7515     }
7516 }
7517 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechLexicon {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7518     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7519         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7520     }
7521 }
7522 #[cfg(feature = "Win32_System_Ole_Automation")]
7523 impl ::std::convert::From<ISpeechLexicon> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechLexicon) -> Self7524     fn from(value: ISpeechLexicon) -> Self {
7525         unsafe { ::std::mem::transmute(value) }
7526     }
7527 }
7528 #[cfg(feature = "Win32_System_Ole_Automation")]
7529 impl ::std::convert::From<&ISpeechLexicon> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechLexicon) -> Self7530     fn from(value: &ISpeechLexicon) -> Self {
7531         ::std::convert::From::from(::std::clone::Clone::clone(value))
7532     }
7533 }
7534 #[cfg(feature = "Win32_System_Ole_Automation")]
7535 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechLexicon {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7536     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7537         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7538     }
7539 }
7540 #[cfg(feature = "Win32_System_Ole_Automation")]
7541 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechLexicon {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7542     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7543         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7544     }
7545 }
7546 #[repr(C)]
7547 #[doc(hidden)]
7548 pub struct ISpeechLexicon_abi(
7549     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7550     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7551     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7552     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7553     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7554     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7555     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
7556     #[cfg(not(feature = "Win32_Foundation"))] usize,
7557     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7558     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
7559     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7560     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, generationid: *mut i32) -> ::windows::runtime::HRESULT,
7561     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: SpeechLexiconType, generationid: *mut i32, words: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7562     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrword: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, langid: i32, partofspeech: SpeechPartOfSpeech, bstrpronunciation: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7563     #[cfg(not(feature = "Win32_Foundation"))] usize,
7564     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrword: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, langid: i32, partofspeech: SpeechPartOfSpeech, phoneids: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
7565     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7566     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrword: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, langid: i32, partofspeech: SpeechPartOfSpeech, bstrpronunciation: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7567     #[cfg(not(feature = "Win32_Foundation"))] usize,
7568     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrword: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, langid: i32, partofspeech: SpeechPartOfSpeech, phoneids: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
7569     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7570     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrword: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, langid: i32, typeflags: SpeechLexiconType, pppronunciations: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7571     #[cfg(not(feature = "Win32_Foundation"))] usize,
7572     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, generationid: *mut i32, ppwords: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7573 );
7574 #[repr(transparent)]
7575 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7576 pub struct ISpeechLexiconPronunciation(::windows::runtime::IUnknown);
7577 impl ISpeechLexiconPronunciation {
Type(&self) -> ::windows::runtime::Result<SpeechLexiconType>7578     pub unsafe fn Type(&self) -> ::windows::runtime::Result<SpeechLexiconType> {
7579         let mut result__: <SpeechLexiconType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7580         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SpeechLexiconType>(result__)
7581     }
LangId(&self) -> ::windows::runtime::Result<i32>7582     pub unsafe fn LangId(&self) -> ::windows::runtime::Result<i32> {
7583         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7584         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7585     }
PartOfSpeech(&self) -> ::windows::runtime::Result<SpeechPartOfSpeech>7586     pub unsafe fn PartOfSpeech(&self) -> ::windows::runtime::Result<SpeechPartOfSpeech> {
7587         let mut result__: <SpeechPartOfSpeech as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7588         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SpeechPartOfSpeech>(result__)
7589     }
7590     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
PhoneIds(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>7591     pub unsafe fn PhoneIds(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
7592         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7593         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
7594     }
7595     #[cfg(feature = "Win32_Foundation")]
Symbolic(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>7596     pub unsafe fn Symbolic(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7597         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7598         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7599     }
7600 }
7601 unsafe impl ::windows::runtime::Interface for ISpeechLexiconPronunciation {
7602     type Vtable = ISpeechLexiconPronunciation_abi;
7603     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2502241373, 40515, 20298, [152, 153, 72, 238, 115, 53, 47, 159]);
7604 }
7605 impl ::std::convert::From<ISpeechLexiconPronunciation> for ::windows::runtime::IUnknown {
from(value: ISpeechLexiconPronunciation) -> Self7606     fn from(value: ISpeechLexiconPronunciation) -> Self {
7607         unsafe { ::std::mem::transmute(value) }
7608     }
7609 }
7610 impl ::std::convert::From<&ISpeechLexiconPronunciation> for ::windows::runtime::IUnknown {
from(value: &ISpeechLexiconPronunciation) -> Self7611     fn from(value: &ISpeechLexiconPronunciation) -> Self {
7612         ::std::convert::From::from(::std::clone::Clone::clone(value))
7613     }
7614 }
7615 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechLexiconPronunciation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7616     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7617         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7618     }
7619 }
7620 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechLexiconPronunciation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7621     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7622         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7623     }
7624 }
7625 #[cfg(feature = "Win32_System_Ole_Automation")]
7626 impl ::std::convert::From<ISpeechLexiconPronunciation> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechLexiconPronunciation) -> Self7627     fn from(value: ISpeechLexiconPronunciation) -> Self {
7628         unsafe { ::std::mem::transmute(value) }
7629     }
7630 }
7631 #[cfg(feature = "Win32_System_Ole_Automation")]
7632 impl ::std::convert::From<&ISpeechLexiconPronunciation> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechLexiconPronunciation) -> Self7633     fn from(value: &ISpeechLexiconPronunciation) -> Self {
7634         ::std::convert::From::from(::std::clone::Clone::clone(value))
7635     }
7636 }
7637 #[cfg(feature = "Win32_System_Ole_Automation")]
7638 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechLexiconPronunciation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7639     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7640         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7641     }
7642 }
7643 #[cfg(feature = "Win32_System_Ole_Automation")]
7644 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechLexiconPronunciation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7645     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7646         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7647     }
7648 }
7649 #[repr(C)]
7650 #[doc(hidden)]
7651 pub struct ISpeechLexiconPronunciation_abi(
7652     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7653     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7654     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7655     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7656     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7657     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7658     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
7659     #[cfg(not(feature = "Win32_Foundation"))] usize,
7660     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7661     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
7662     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7663     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lexicontype: *mut SpeechLexiconType) -> ::windows::runtime::HRESULT,
7664     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, langid: *mut i32) -> ::windows::runtime::HRESULT,
7665     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, partofspeech: *mut SpeechPartOfSpeech) -> ::windows::runtime::HRESULT,
7666     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, phoneids: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
7667     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7668     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, symbolic: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7669     #[cfg(not(feature = "Win32_Foundation"))] usize,
7670 );
7671 #[repr(transparent)]
7672 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7673 pub struct ISpeechLexiconPronunciations(::windows::runtime::IUnknown);
7674 impl ISpeechLexiconPronunciations {
Count(&self) -> ::windows::runtime::Result<i32>7675     pub unsafe fn Count(&self) -> ::windows::runtime::Result<i32> {
7676         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7677         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7678     }
Item(&self, index: i32) -> ::windows::runtime::Result<ISpeechLexiconPronunciation>7679     pub unsafe fn Item(&self, index: i32) -> ::windows::runtime::Result<ISpeechLexiconPronunciation> {
7680         let mut result__: <ISpeechLexiconPronunciation as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7681         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<ISpeechLexiconPronunciation>(result__)
7682     }
_NewEnum(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown>7683     pub unsafe fn _NewEnum(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
7684         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7685         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
7686     }
7687 }
7688 unsafe impl ::windows::runtime::Interface for ISpeechLexiconPronunciations {
7689     type Vtable = ISpeechLexiconPronunciations_abi;
7690     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1921159464, 22146, 18180, [160, 212, 62, 43, 182, 242, 234, 211]);
7691 }
7692 impl ::std::convert::From<ISpeechLexiconPronunciations> for ::windows::runtime::IUnknown {
from(value: ISpeechLexiconPronunciations) -> Self7693     fn from(value: ISpeechLexiconPronunciations) -> Self {
7694         unsafe { ::std::mem::transmute(value) }
7695     }
7696 }
7697 impl ::std::convert::From<&ISpeechLexiconPronunciations> for ::windows::runtime::IUnknown {
from(value: &ISpeechLexiconPronunciations) -> Self7698     fn from(value: &ISpeechLexiconPronunciations) -> Self {
7699         ::std::convert::From::from(::std::clone::Clone::clone(value))
7700     }
7701 }
7702 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechLexiconPronunciations {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7703     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7704         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7705     }
7706 }
7707 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechLexiconPronunciations {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7708     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7709         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7710     }
7711 }
7712 #[cfg(feature = "Win32_System_Ole_Automation")]
7713 impl ::std::convert::From<ISpeechLexiconPronunciations> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechLexiconPronunciations) -> Self7714     fn from(value: ISpeechLexiconPronunciations) -> Self {
7715         unsafe { ::std::mem::transmute(value) }
7716     }
7717 }
7718 #[cfg(feature = "Win32_System_Ole_Automation")]
7719 impl ::std::convert::From<&ISpeechLexiconPronunciations> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechLexiconPronunciations) -> Self7720     fn from(value: &ISpeechLexiconPronunciations) -> Self {
7721         ::std::convert::From::from(::std::clone::Clone::clone(value))
7722     }
7723 }
7724 #[cfg(feature = "Win32_System_Ole_Automation")]
7725 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechLexiconPronunciations {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7726     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7727         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7728     }
7729 }
7730 #[cfg(feature = "Win32_System_Ole_Automation")]
7731 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechLexiconPronunciations {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7732     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7733         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7734     }
7735 }
7736 #[repr(C)]
7737 #[doc(hidden)]
7738 pub struct ISpeechLexiconPronunciations_abi(
7739     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7740     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7741     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7742     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7743     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7744     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7745     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
7746     #[cfg(not(feature = "Win32_Foundation"))] usize,
7747     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7748     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
7749     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7750     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut i32) -> ::windows::runtime::HRESULT,
7751     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32, pronunciation: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7752     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enumvariant: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7753 );
7754 #[repr(transparent)]
7755 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7756 pub struct ISpeechLexiconWord(::windows::runtime::IUnknown);
7757 impl ISpeechLexiconWord {
LangId(&self) -> ::windows::runtime::Result<i32>7758     pub unsafe fn LangId(&self) -> ::windows::runtime::Result<i32> {
7759         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7760         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7761     }
Type(&self) -> ::windows::runtime::Result<SpeechWordType>7762     pub unsafe fn Type(&self) -> ::windows::runtime::Result<SpeechWordType> {
7763         let mut result__: <SpeechWordType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7764         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SpeechWordType>(result__)
7765     }
7766     #[cfg(feature = "Win32_Foundation")]
Word(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>7767     pub unsafe fn Word(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7768         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7769         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7770     }
Pronunciations(&self) -> ::windows::runtime::Result<ISpeechLexiconPronunciations>7771     pub unsafe fn Pronunciations(&self) -> ::windows::runtime::Result<ISpeechLexiconPronunciations> {
7772         let mut result__: <ISpeechLexiconPronunciations as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7773         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechLexiconPronunciations>(result__)
7774     }
7775 }
7776 unsafe impl ::windows::runtime::Interface for ISpeechLexiconWord {
7777     type Vtable = ISpeechLexiconWord_abi;
7778     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1314624316, 51646, 18669, [136, 66, 30, 229, 27, 177, 212, 255]);
7779 }
7780 impl ::std::convert::From<ISpeechLexiconWord> for ::windows::runtime::IUnknown {
from(value: ISpeechLexiconWord) -> Self7781     fn from(value: ISpeechLexiconWord) -> Self {
7782         unsafe { ::std::mem::transmute(value) }
7783     }
7784 }
7785 impl ::std::convert::From<&ISpeechLexiconWord> for ::windows::runtime::IUnknown {
from(value: &ISpeechLexiconWord) -> Self7786     fn from(value: &ISpeechLexiconWord) -> Self {
7787         ::std::convert::From::from(::std::clone::Clone::clone(value))
7788     }
7789 }
7790 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechLexiconWord {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7791     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7792         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7793     }
7794 }
7795 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechLexiconWord {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7796     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7797         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7798     }
7799 }
7800 #[cfg(feature = "Win32_System_Ole_Automation")]
7801 impl ::std::convert::From<ISpeechLexiconWord> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechLexiconWord) -> Self7802     fn from(value: ISpeechLexiconWord) -> Self {
7803         unsafe { ::std::mem::transmute(value) }
7804     }
7805 }
7806 #[cfg(feature = "Win32_System_Ole_Automation")]
7807 impl ::std::convert::From<&ISpeechLexiconWord> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechLexiconWord) -> Self7808     fn from(value: &ISpeechLexiconWord) -> Self {
7809         ::std::convert::From::from(::std::clone::Clone::clone(value))
7810     }
7811 }
7812 #[cfg(feature = "Win32_System_Ole_Automation")]
7813 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechLexiconWord {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7814     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7815         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7816     }
7817 }
7818 #[cfg(feature = "Win32_System_Ole_Automation")]
7819 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechLexiconWord {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7820     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7821         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7822     }
7823 }
7824 #[repr(C)]
7825 #[doc(hidden)]
7826 pub struct ISpeechLexiconWord_abi(
7827     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7828     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7829     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7830     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7831     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7832     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7833     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
7834     #[cfg(not(feature = "Win32_Foundation"))] usize,
7835     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7836     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
7837     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7838     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, langid: *mut i32) -> ::windows::runtime::HRESULT,
7839     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, wordtype: *mut SpeechWordType) -> ::windows::runtime::HRESULT,
7840     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, word: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7841     #[cfg(not(feature = "Win32_Foundation"))] usize,
7842     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pronunciations: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7843 );
7844 #[repr(transparent)]
7845 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7846 pub struct ISpeechLexiconWords(::windows::runtime::IUnknown);
7847 impl ISpeechLexiconWords {
Count(&self) -> ::windows::runtime::Result<i32>7848     pub unsafe fn Count(&self) -> ::windows::runtime::Result<i32> {
7849         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7850         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7851     }
Item(&self, index: i32) -> ::windows::runtime::Result<ISpeechLexiconWord>7852     pub unsafe fn Item(&self, index: i32) -> ::windows::runtime::Result<ISpeechLexiconWord> {
7853         let mut result__: <ISpeechLexiconWord as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7854         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<ISpeechLexiconWord>(result__)
7855     }
_NewEnum(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown>7856     pub unsafe fn _NewEnum(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
7857         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7858         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
7859     }
7860 }
7861 unsafe impl ::windows::runtime::Interface for ISpeechLexiconWords {
7862     type Vtable = ISpeechLexiconWords_abi;
7863     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2367264866, 16734, 18389, [172, 79, 250, 166, 8, 180, 36, 230]);
7864 }
7865 impl ::std::convert::From<ISpeechLexiconWords> for ::windows::runtime::IUnknown {
from(value: ISpeechLexiconWords) -> Self7866     fn from(value: ISpeechLexiconWords) -> Self {
7867         unsafe { ::std::mem::transmute(value) }
7868     }
7869 }
7870 impl ::std::convert::From<&ISpeechLexiconWords> for ::windows::runtime::IUnknown {
from(value: &ISpeechLexiconWords) -> Self7871     fn from(value: &ISpeechLexiconWords) -> Self {
7872         ::std::convert::From::from(::std::clone::Clone::clone(value))
7873     }
7874 }
7875 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechLexiconWords {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7876     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7877         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7878     }
7879 }
7880 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechLexiconWords {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7881     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7882         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7883     }
7884 }
7885 #[cfg(feature = "Win32_System_Ole_Automation")]
7886 impl ::std::convert::From<ISpeechLexiconWords> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechLexiconWords) -> Self7887     fn from(value: ISpeechLexiconWords) -> Self {
7888         unsafe { ::std::mem::transmute(value) }
7889     }
7890 }
7891 #[cfg(feature = "Win32_System_Ole_Automation")]
7892 impl ::std::convert::From<&ISpeechLexiconWords> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechLexiconWords) -> Self7893     fn from(value: &ISpeechLexiconWords) -> Self {
7894         ::std::convert::From::from(::std::clone::Clone::clone(value))
7895     }
7896 }
7897 #[cfg(feature = "Win32_System_Ole_Automation")]
7898 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechLexiconWords {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7899     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7900         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7901     }
7902 }
7903 #[cfg(feature = "Win32_System_Ole_Automation")]
7904 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechLexiconWords {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7905     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7906         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7907     }
7908 }
7909 #[repr(C)]
7910 #[doc(hidden)]
7911 pub struct ISpeechLexiconWords_abi(
7912     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7913     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7914     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7915     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7916     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7917     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7918     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
7919     #[cfg(not(feature = "Win32_Foundation"))] usize,
7920     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7921     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
7922     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7923     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut i32) -> ::windows::runtime::HRESULT,
7924     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32, word: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7925     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enumvariant: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7926 );
7927 #[repr(transparent)]
7928 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7929 pub struct ISpeechMMSysAudio(::windows::runtime::IUnknown);
7930 impl ISpeechMMSysAudio {
GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32>7931     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
7932         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7933         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
7934     }
7935     #[cfg(feature = "Win32_System_Ole_Automation")]
GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo>7936     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
7937         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7938         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
7939     }
7940     #[cfg(feature = "Win32_Foundation")]
GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()>7941     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
7942         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
7943     }
7944     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()>7945     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
7946         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
7947     }
Format(&self) -> ::windows::runtime::Result<ISpeechAudioFormat>7948     pub unsafe fn Format(&self) -> ::windows::runtime::Result<ISpeechAudioFormat> {
7949         let mut result__: <ISpeechAudioFormat as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7950         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechAudioFormat>(result__)
7951     }
putref_Format<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechAudioFormat>>(&self, audioformat: Param0) -> ::windows::runtime::Result<()>7952     pub unsafe fn putref_Format<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechAudioFormat>>(&self, audioformat: Param0) -> ::windows::runtime::Result<()> {
7953         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), audioformat.into_param().abi()).ok()
7954     }
7955     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Read(&self, buffer: *mut super::super::System::Com::VARIANT, numberofbytes: i32, bytesread: *mut i32) -> ::windows::runtime::Result<()>7956     pub unsafe fn Read(&self, buffer: *mut super::super::System::Com::VARIANT, numberofbytes: i32, bytesread: *mut i32) -> ::windows::runtime::Result<()> {
7957         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(buffer), ::std::mem::transmute(numberofbytes), ::std::mem::transmute(bytesread)).ok()
7958     }
7959     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Write<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, buffer: Param0) -> ::windows::runtime::Result<i32>7960     pub unsafe fn Write<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, buffer: Param0) -> ::windows::runtime::Result<i32> {
7961         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7962         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), buffer.into_param().abi(), &mut result__).from_abi::<i32>(result__)
7963     }
7964     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Seek<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, position: Param0, origin: SpeechStreamSeekPositionType) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>7965     pub unsafe fn Seek<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, position: Param0, origin: SpeechStreamSeekPositionType) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
7966         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7967         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), position.into_param().abi(), ::std::mem::transmute(origin), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
7968     }
Status(&self) -> ::windows::runtime::Result<ISpeechAudioStatus>7969     pub unsafe fn Status(&self) -> ::windows::runtime::Result<ISpeechAudioStatus> {
7970         let mut result__: <ISpeechAudioStatus as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7971         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechAudioStatus>(result__)
7972     }
BufferInfo(&self) -> ::windows::runtime::Result<ISpeechAudioBufferInfo>7973     pub unsafe fn BufferInfo(&self) -> ::windows::runtime::Result<ISpeechAudioBufferInfo> {
7974         let mut result__: <ISpeechAudioBufferInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7975         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechAudioBufferInfo>(result__)
7976     }
DefaultFormat(&self) -> ::windows::runtime::Result<ISpeechAudioFormat>7977     pub unsafe fn DefaultFormat(&self) -> ::windows::runtime::Result<ISpeechAudioFormat> {
7978         let mut result__: <ISpeechAudioFormat as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7979         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechAudioFormat>(result__)
7980     }
Volume(&self) -> ::windows::runtime::Result<i32>7981     pub unsafe fn Volume(&self) -> ::windows::runtime::Result<i32> {
7982         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7983         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7984     }
SetVolume(&self, volume: i32) -> ::windows::runtime::Result<()>7985     pub unsafe fn SetVolume(&self, volume: i32) -> ::windows::runtime::Result<()> {
7986         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(volume)).ok()
7987     }
BufferNotifySize(&self) -> ::windows::runtime::Result<i32>7988     pub unsafe fn BufferNotifySize(&self) -> ::windows::runtime::Result<i32> {
7989         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7990         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7991     }
SetBufferNotifySize(&self, buffernotifysize: i32) -> ::windows::runtime::Result<()>7992     pub unsafe fn SetBufferNotifySize(&self, buffernotifysize: i32) -> ::windows::runtime::Result<()> {
7993         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(buffernotifysize)).ok()
7994     }
EventHandle(&self) -> ::windows::runtime::Result<i32>7995     pub unsafe fn EventHandle(&self) -> ::windows::runtime::Result<i32> {
7996         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7997         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7998     }
SetState(&self, state: SpeechAudioState) -> ::windows::runtime::Result<()>7999     pub unsafe fn SetState(&self, state: SpeechAudioState) -> ::windows::runtime::Result<()> {
8000         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(state)).ok()
8001     }
DeviceId(&self) -> ::windows::runtime::Result<i32>8002     pub unsafe fn DeviceId(&self) -> ::windows::runtime::Result<i32> {
8003         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8004         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8005     }
SetDeviceId(&self, deviceid: i32) -> ::windows::runtime::Result<()>8006     pub unsafe fn SetDeviceId(&self, deviceid: i32) -> ::windows::runtime::Result<()> {
8007         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(deviceid)).ok()
8008     }
LineId(&self) -> ::windows::runtime::Result<i32>8009     pub unsafe fn LineId(&self) -> ::windows::runtime::Result<i32> {
8010         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8011         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8012     }
SetLineId(&self, lineid: i32) -> ::windows::runtime::Result<()>8013     pub unsafe fn SetLineId(&self, lineid: i32) -> ::windows::runtime::Result<()> {
8014         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(lineid)).ok()
8015     }
MMHandle(&self) -> ::windows::runtime::Result<i32>8016     pub unsafe fn MMHandle(&self) -> ::windows::runtime::Result<i32> {
8017         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8018         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8019     }
8020 }
8021 unsafe impl ::windows::runtime::Interface for ISpeechMMSysAudio {
8022     type Vtable = ISpeechMMSysAudio_abi;
8023     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1014411117, 8151, 18481, [129, 209, 59, 113, 213, 161, 60, 68]);
8024 }
8025 impl ::std::convert::From<ISpeechMMSysAudio> for ::windows::runtime::IUnknown {
from(value: ISpeechMMSysAudio) -> Self8026     fn from(value: ISpeechMMSysAudio) -> Self {
8027         unsafe { ::std::mem::transmute(value) }
8028     }
8029 }
8030 impl ::std::convert::From<&ISpeechMMSysAudio> for ::windows::runtime::IUnknown {
from(value: &ISpeechMMSysAudio) -> Self8031     fn from(value: &ISpeechMMSysAudio) -> Self {
8032         ::std::convert::From::from(::std::clone::Clone::clone(value))
8033     }
8034 }
8035 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechMMSysAudio {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8036     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8037         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8038     }
8039 }
8040 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechMMSysAudio {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8041     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8042         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8043     }
8044 }
8045 impl ::std::convert::From<ISpeechMMSysAudio> for ISpeechAudio {
from(value: ISpeechMMSysAudio) -> Self8046     fn from(value: ISpeechMMSysAudio) -> Self {
8047         unsafe { ::std::mem::transmute(value) }
8048     }
8049 }
8050 impl ::std::convert::From<&ISpeechMMSysAudio> for ISpeechAudio {
from(value: &ISpeechMMSysAudio) -> Self8051     fn from(value: &ISpeechMMSysAudio) -> Self {
8052         ::std::convert::From::from(::std::clone::Clone::clone(value))
8053     }
8054 }
8055 impl<'a> ::windows::runtime::IntoParam<'a, ISpeechAudio> for ISpeechMMSysAudio {
into_param(self) -> ::windows::runtime::Param<'a, ISpeechAudio>8056     fn into_param(self) -> ::windows::runtime::Param<'a, ISpeechAudio> {
8057         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpeechAudio>::into(self))
8058     }
8059 }
8060 impl<'a> ::windows::runtime::IntoParam<'a, ISpeechAudio> for &ISpeechMMSysAudio {
into_param(self) -> ::windows::runtime::Param<'a, ISpeechAudio>8061     fn into_param(self) -> ::windows::runtime::Param<'a, ISpeechAudio> {
8062         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpeechAudio>::into(::std::clone::Clone::clone(self)))
8063     }
8064 }
8065 impl ::std::convert::From<ISpeechMMSysAudio> for ISpeechBaseStream {
from(value: ISpeechMMSysAudio) -> Self8066     fn from(value: ISpeechMMSysAudio) -> Self {
8067         unsafe { ::std::mem::transmute(value) }
8068     }
8069 }
8070 impl ::std::convert::From<&ISpeechMMSysAudio> for ISpeechBaseStream {
from(value: &ISpeechMMSysAudio) -> Self8071     fn from(value: &ISpeechMMSysAudio) -> Self {
8072         ::std::convert::From::from(::std::clone::Clone::clone(value))
8073     }
8074 }
8075 impl<'a> ::windows::runtime::IntoParam<'a, ISpeechBaseStream> for ISpeechMMSysAudio {
into_param(self) -> ::windows::runtime::Param<'a, ISpeechBaseStream>8076     fn into_param(self) -> ::windows::runtime::Param<'a, ISpeechBaseStream> {
8077         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpeechBaseStream>::into(self))
8078     }
8079 }
8080 impl<'a> ::windows::runtime::IntoParam<'a, ISpeechBaseStream> for &ISpeechMMSysAudio {
into_param(self) -> ::windows::runtime::Param<'a, ISpeechBaseStream>8081     fn into_param(self) -> ::windows::runtime::Param<'a, ISpeechBaseStream> {
8082         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpeechBaseStream>::into(::std::clone::Clone::clone(self)))
8083     }
8084 }
8085 #[cfg(feature = "Win32_System_Ole_Automation")]
8086 impl ::std::convert::From<ISpeechMMSysAudio> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechMMSysAudio) -> Self8087     fn from(value: ISpeechMMSysAudio) -> Self {
8088         unsafe { ::std::mem::transmute(value) }
8089     }
8090 }
8091 #[cfg(feature = "Win32_System_Ole_Automation")]
8092 impl ::std::convert::From<&ISpeechMMSysAudio> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechMMSysAudio) -> Self8093     fn from(value: &ISpeechMMSysAudio) -> Self {
8094         ::std::convert::From::from(::std::clone::Clone::clone(value))
8095     }
8096 }
8097 #[cfg(feature = "Win32_System_Ole_Automation")]
8098 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechMMSysAudio {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>8099     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8100         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
8101     }
8102 }
8103 #[cfg(feature = "Win32_System_Ole_Automation")]
8104 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechMMSysAudio {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>8105     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8106         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
8107     }
8108 }
8109 #[repr(C)]
8110 #[doc(hidden)]
8111 pub struct ISpeechMMSysAudio_abi(
8112     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8113     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8114     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8115     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
8116     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8117     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
8118     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
8119     #[cfg(not(feature = "Win32_Foundation"))] usize,
8120     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8121     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
8122     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8123     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audioformat: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8124     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audioformat: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8125     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buffer: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, numberofbytes: i32, bytesread: *mut i32) -> ::windows::runtime::HRESULT,
8126     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8127     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buffer: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, byteswritten: *mut i32) -> ::windows::runtime::HRESULT,
8128     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8129     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, position: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, origin: SpeechStreamSeekPositionType, newposition: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
8130     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8131     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, status: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8132     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bufferinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8133     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, streamformat: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8134     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, volume: *mut i32) -> ::windows::runtime::HRESULT,
8135     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, volume: i32) -> ::windows::runtime::HRESULT,
8136     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buffernotifysize: *mut i32) -> ::windows::runtime::HRESULT,
8137     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buffernotifysize: i32) -> ::windows::runtime::HRESULT,
8138     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventhandle: *mut i32) -> ::windows::runtime::HRESULT,
8139     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, state: SpeechAudioState) -> ::windows::runtime::HRESULT,
8140     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, deviceid: *mut i32) -> ::windows::runtime::HRESULT,
8141     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, deviceid: i32) -> ::windows::runtime::HRESULT,
8142     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lineid: *mut i32) -> ::windows::runtime::HRESULT,
8143     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lineid: i32) -> ::windows::runtime::HRESULT,
8144     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handle: *mut i32) -> ::windows::runtime::HRESULT,
8145 );
8146 #[repr(transparent)]
8147 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8148 pub struct ISpeechMemoryStream(::windows::runtime::IUnknown);
8149 impl ISpeechMemoryStream {
GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32>8150     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
8151         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8152         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
8153     }
8154     #[cfg(feature = "Win32_System_Ole_Automation")]
GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo>8155     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
8156         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8157         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
8158     }
8159     #[cfg(feature = "Win32_Foundation")]
GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()>8160     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
8161         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
8162     }
8163     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()>8164     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
8165         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
8166     }
Format(&self) -> ::windows::runtime::Result<ISpeechAudioFormat>8167     pub unsafe fn Format(&self) -> ::windows::runtime::Result<ISpeechAudioFormat> {
8168         let mut result__: <ISpeechAudioFormat as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8169         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechAudioFormat>(result__)
8170     }
putref_Format<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechAudioFormat>>(&self, audioformat: Param0) -> ::windows::runtime::Result<()>8171     pub unsafe fn putref_Format<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechAudioFormat>>(&self, audioformat: Param0) -> ::windows::runtime::Result<()> {
8172         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), audioformat.into_param().abi()).ok()
8173     }
8174     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Read(&self, buffer: *mut super::super::System::Com::VARIANT, numberofbytes: i32, bytesread: *mut i32) -> ::windows::runtime::Result<()>8175     pub unsafe fn Read(&self, buffer: *mut super::super::System::Com::VARIANT, numberofbytes: i32, bytesread: *mut i32) -> ::windows::runtime::Result<()> {
8176         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(buffer), ::std::mem::transmute(numberofbytes), ::std::mem::transmute(bytesread)).ok()
8177     }
8178     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Write<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, buffer: Param0) -> ::windows::runtime::Result<i32>8179     pub unsafe fn Write<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, buffer: Param0) -> ::windows::runtime::Result<i32> {
8180         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8181         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), buffer.into_param().abi(), &mut result__).from_abi::<i32>(result__)
8182     }
8183     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Seek<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, position: Param0, origin: SpeechStreamSeekPositionType) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>8184     pub unsafe fn Seek<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, position: Param0, origin: SpeechStreamSeekPositionType) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
8185         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8186         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), position.into_param().abi(), ::std::mem::transmute(origin), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
8187     }
8188     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
SetData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, data: Param0) -> ::windows::runtime::Result<()>8189     pub unsafe fn SetData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, data: Param0) -> ::windows::runtime::Result<()> {
8190         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), data.into_param().abi()).ok()
8191     }
8192     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
GetData(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>8193     pub unsafe fn GetData(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
8194         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8195         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
8196     }
8197 }
8198 unsafe impl ::windows::runtime::Interface for ISpeechMemoryStream {
8199     type Vtable = ISpeechMemoryStream_abi;
8200     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4004596584, 32907, 19134, [165, 234, 181, 29, 167, 88, 128, 8]);
8201 }
8202 impl ::std::convert::From<ISpeechMemoryStream> for ::windows::runtime::IUnknown {
from(value: ISpeechMemoryStream) -> Self8203     fn from(value: ISpeechMemoryStream) -> Self {
8204         unsafe { ::std::mem::transmute(value) }
8205     }
8206 }
8207 impl ::std::convert::From<&ISpeechMemoryStream> for ::windows::runtime::IUnknown {
from(value: &ISpeechMemoryStream) -> Self8208     fn from(value: &ISpeechMemoryStream) -> Self {
8209         ::std::convert::From::from(::std::clone::Clone::clone(value))
8210     }
8211 }
8212 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechMemoryStream {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8213     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8214         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8215     }
8216 }
8217 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechMemoryStream {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8218     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8219         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8220     }
8221 }
8222 impl ::std::convert::From<ISpeechMemoryStream> for ISpeechBaseStream {
from(value: ISpeechMemoryStream) -> Self8223     fn from(value: ISpeechMemoryStream) -> Self {
8224         unsafe { ::std::mem::transmute(value) }
8225     }
8226 }
8227 impl ::std::convert::From<&ISpeechMemoryStream> for ISpeechBaseStream {
from(value: &ISpeechMemoryStream) -> Self8228     fn from(value: &ISpeechMemoryStream) -> Self {
8229         ::std::convert::From::from(::std::clone::Clone::clone(value))
8230     }
8231 }
8232 impl<'a> ::windows::runtime::IntoParam<'a, ISpeechBaseStream> for ISpeechMemoryStream {
into_param(self) -> ::windows::runtime::Param<'a, ISpeechBaseStream>8233     fn into_param(self) -> ::windows::runtime::Param<'a, ISpeechBaseStream> {
8234         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpeechBaseStream>::into(self))
8235     }
8236 }
8237 impl<'a> ::windows::runtime::IntoParam<'a, ISpeechBaseStream> for &ISpeechMemoryStream {
into_param(self) -> ::windows::runtime::Param<'a, ISpeechBaseStream>8238     fn into_param(self) -> ::windows::runtime::Param<'a, ISpeechBaseStream> {
8239         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpeechBaseStream>::into(::std::clone::Clone::clone(self)))
8240     }
8241 }
8242 #[cfg(feature = "Win32_System_Ole_Automation")]
8243 impl ::std::convert::From<ISpeechMemoryStream> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechMemoryStream) -> Self8244     fn from(value: ISpeechMemoryStream) -> Self {
8245         unsafe { ::std::mem::transmute(value) }
8246     }
8247 }
8248 #[cfg(feature = "Win32_System_Ole_Automation")]
8249 impl ::std::convert::From<&ISpeechMemoryStream> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechMemoryStream) -> Self8250     fn from(value: &ISpeechMemoryStream) -> Self {
8251         ::std::convert::From::from(::std::clone::Clone::clone(value))
8252     }
8253 }
8254 #[cfg(feature = "Win32_System_Ole_Automation")]
8255 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechMemoryStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>8256     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8257         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
8258     }
8259 }
8260 #[cfg(feature = "Win32_System_Ole_Automation")]
8261 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechMemoryStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>8262     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8263         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
8264     }
8265 }
8266 #[repr(C)]
8267 #[doc(hidden)]
8268 pub struct ISpeechMemoryStream_abi(
8269     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8270     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8271     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8272     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
8273     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8274     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
8275     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
8276     #[cfg(not(feature = "Win32_Foundation"))] usize,
8277     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8278     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
8279     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8280     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audioformat: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8281     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audioformat: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8282     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buffer: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, numberofbytes: i32, bytesread: *mut i32) -> ::windows::runtime::HRESULT,
8283     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8284     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buffer: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, byteswritten: *mut i32) -> ::windows::runtime::HRESULT,
8285     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8286     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, position: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, origin: SpeechStreamSeekPositionType, newposition: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
8287     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8288     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, data: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
8289     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8290     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdata: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
8291     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8292 );
8293 #[repr(transparent)]
8294 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8295 pub struct ISpeechObjectToken(::windows::runtime::IUnknown);
8296 impl ISpeechObjectToken {
8297     #[cfg(feature = "Win32_Foundation")]
Id(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>8298     pub unsafe fn Id(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8299         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8300         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8301     }
DataKey(&self) -> ::windows::runtime::Result<ISpeechDataKey>8302     pub unsafe fn DataKey(&self) -> ::windows::runtime::Result<ISpeechDataKey> {
8303         let mut result__: <ISpeechDataKey as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8304         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechDataKey>(result__)
8305     }
Category(&self) -> ::windows::runtime::Result<ISpeechObjectTokenCategory>8306     pub unsafe fn Category(&self) -> ::windows::runtime::Result<ISpeechObjectTokenCategory> {
8307         let mut result__: <ISpeechObjectTokenCategory as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8308         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechObjectTokenCategory>(result__)
8309     }
8310     #[cfg(feature = "Win32_Foundation")]
GetDescription(&self, locale: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR>8311     pub unsafe fn GetDescription(&self, locale: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8312         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8313         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(locale), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8314     }
8315     #[cfg(feature = "Win32_Foundation")]
SetId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, id: Param0, categoryid: Param1, createifnotexist: i16) -> ::windows::runtime::Result<()>8316     pub unsafe fn SetId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, id: Param0, categoryid: Param1, createifnotexist: i16) -> ::windows::runtime::Result<()> {
8317         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), id.into_param().abi(), categoryid.into_param().abi(), ::std::mem::transmute(createifnotexist)).ok()
8318     }
8319     #[cfg(feature = "Win32_Foundation")]
GetAttribute<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, attributename: Param0) -> ::windows::runtime::Result<super::super::Foundation::BSTR>8320     pub unsafe fn GetAttribute<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, attributename: Param0) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8321         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8322         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), attributename.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8323     }
CreateInstance<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, punkouter: Param0, clscontext: SpeechTokenContext) -> ::windows::runtime::Result<::windows::runtime::IUnknown>8324     pub unsafe fn CreateInstance<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, punkouter: Param0, clscontext: SpeechTokenContext) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
8325         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8326         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), punkouter.into_param().abi(), ::std::mem::transmute(clscontext), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
8327     }
8328     #[cfg(feature = "Win32_Foundation")]
Remove<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, objectstorageclsid: Param0) -> ::windows::runtime::Result<()>8329     pub unsafe fn Remove<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, objectstorageclsid: Param0) -> ::windows::runtime::Result<()> {
8330         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), objectstorageclsid.into_param().abi()).ok()
8331     }
8332     #[cfg(feature = "Win32_Foundation")]
GetStorageFileName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, objectstorageclsid: Param0, keyname: Param1, filename: Param2, folder: SpeechTokenShellFolder) -> ::windows::runtime::Result<super::super::Foundation::BSTR>8333     pub unsafe fn GetStorageFileName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, objectstorageclsid: Param0, keyname: Param1, filename: Param2, folder: SpeechTokenShellFolder) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8334         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8335         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), objectstorageclsid.into_param().abi(), keyname.into_param().abi(), filename.into_param().abi(), ::std::mem::transmute(folder), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8336     }
8337     #[cfg(feature = "Win32_Foundation")]
RemoveStorageFileName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, objectstorageclsid: Param0, keyname: Param1, deletefilea: i16) -> ::windows::runtime::Result<()>8338     pub unsafe fn RemoveStorageFileName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, objectstorageclsid: Param0, keyname: Param1, deletefilea: i16) -> ::windows::runtime::Result<()> {
8339         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), objectstorageclsid.into_param().abi(), keyname.into_param().abi(), ::std::mem::transmute(deletefilea)).ok()
8340     }
8341     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
IsUISupported<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, typeofui: Param0, extradata: *const super::super::System::Com::VARIANT, object: Param2) -> ::windows::runtime::Result<i16>8342     pub unsafe fn IsUISupported<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, typeofui: Param0, extradata: *const super::super::System::Com::VARIANT, object: Param2) -> ::windows::runtime::Result<i16> {
8343         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8344         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), typeofui.into_param().abi(), ::std::mem::transmute(extradata), object.into_param().abi(), &mut result__).from_abi::<i16>(result__)
8345     }
8346     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
DisplayUI<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param4: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, hwnd: i32, title: Param1, typeofui: Param2, extradata: *const super::super::System::Com::VARIANT, object: Param4) -> ::windows::runtime::Result<()>8347     pub unsafe fn DisplayUI<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param4: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, hwnd: i32, title: Param1, typeofui: Param2, extradata: *const super::super::System::Com::VARIANT, object: Param4) -> ::windows::runtime::Result<()> {
8348         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(hwnd), title.into_param().abi(), typeofui.into_param().abi(), ::std::mem::transmute(extradata), object.into_param().abi()).ok()
8349     }
8350     #[cfg(feature = "Win32_Foundation")]
MatchesAttributes<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, attributes: Param0) -> ::windows::runtime::Result<i16>8351     pub unsafe fn MatchesAttributes<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, attributes: Param0) -> ::windows::runtime::Result<i16> {
8352         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8353         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), attributes.into_param().abi(), &mut result__).from_abi::<i16>(result__)
8354     }
8355 }
8356 unsafe impl ::windows::runtime::Interface for ISpeechObjectToken {
8357     type Vtable = ISpeechObjectToken_abi;
8358     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3343530716, 46887, 17664, [168, 74, 181, 38, 114, 28, 139, 140]);
8359 }
8360 impl ::std::convert::From<ISpeechObjectToken> for ::windows::runtime::IUnknown {
from(value: ISpeechObjectToken) -> Self8361     fn from(value: ISpeechObjectToken) -> Self {
8362         unsafe { ::std::mem::transmute(value) }
8363     }
8364 }
8365 impl ::std::convert::From<&ISpeechObjectToken> for ::windows::runtime::IUnknown {
from(value: &ISpeechObjectToken) -> Self8366     fn from(value: &ISpeechObjectToken) -> Self {
8367         ::std::convert::From::from(::std::clone::Clone::clone(value))
8368     }
8369 }
8370 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechObjectToken {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8371     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8372         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8373     }
8374 }
8375 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechObjectToken {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8376     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8377         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8378     }
8379 }
8380 #[cfg(feature = "Win32_System_Ole_Automation")]
8381 impl ::std::convert::From<ISpeechObjectToken> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechObjectToken) -> Self8382     fn from(value: ISpeechObjectToken) -> Self {
8383         unsafe { ::std::mem::transmute(value) }
8384     }
8385 }
8386 #[cfg(feature = "Win32_System_Ole_Automation")]
8387 impl ::std::convert::From<&ISpeechObjectToken> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechObjectToken) -> Self8388     fn from(value: &ISpeechObjectToken) -> Self {
8389         ::std::convert::From::from(::std::clone::Clone::clone(value))
8390     }
8391 }
8392 #[cfg(feature = "Win32_System_Ole_Automation")]
8393 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechObjectToken {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>8394     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8395         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
8396     }
8397 }
8398 #[cfg(feature = "Win32_System_Ole_Automation")]
8399 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechObjectToken {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>8400     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8401         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
8402     }
8403 }
8404 #[repr(C)]
8405 #[doc(hidden)]
8406 pub struct ISpeechObjectToken_abi(
8407     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8408     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8409     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8410     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
8411     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8412     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
8413     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
8414     #[cfg(not(feature = "Win32_Foundation"))] usize,
8415     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8416     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
8417     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8418     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, objectid: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8419     #[cfg(not(feature = "Win32_Foundation"))] usize,
8420     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, datakey: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8421     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, category: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8422     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, locale: i32, description: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8423     #[cfg(not(feature = "Win32_Foundation"))] usize,
8424     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, categoryid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, createifnotexist: i16) -> ::windows::runtime::HRESULT,
8425     #[cfg(not(feature = "Win32_Foundation"))] usize,
8426     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, attributename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, attributevalue: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8427     #[cfg(not(feature = "Win32_Foundation"))] usize,
8428     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, punkouter: ::windows::runtime::RawPtr, clscontext: SpeechTokenContext, object: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8429     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, objectstorageclsid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8430     #[cfg(not(feature = "Win32_Foundation"))] usize,
8431     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, objectstorageclsid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, keyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, filename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, folder: SpeechTokenShellFolder, filepath: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8432     #[cfg(not(feature = "Win32_Foundation"))] usize,
8433     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, objectstorageclsid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, keyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, deletefilea: i16) -> ::windows::runtime::HRESULT,
8434     #[cfg(not(feature = "Win32_Foundation"))] usize,
8435     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, typeofui: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, extradata: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, object: ::windows::runtime::RawPtr, supported: *mut i16) -> ::windows::runtime::HRESULT,
8436     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8437     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwnd: i32, title: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, typeofui: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, extradata: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, object: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8438     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8439     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, attributes: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, matches: *mut i16) -> ::windows::runtime::HRESULT,
8440     #[cfg(not(feature = "Win32_Foundation"))] usize,
8441 );
8442 #[repr(transparent)]
8443 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8444 pub struct ISpeechObjectTokenCategory(::windows::runtime::IUnknown);
8445 impl ISpeechObjectTokenCategory {
8446     #[cfg(feature = "Win32_Foundation")]
Id(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>8447     pub unsafe fn Id(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8448         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8449         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8450     }
8451     #[cfg(feature = "Win32_Foundation")]
SetDefault<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, tokenid: Param0) -> ::windows::runtime::Result<()>8452     pub unsafe fn SetDefault<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, tokenid: Param0) -> ::windows::runtime::Result<()> {
8453         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), tokenid.into_param().abi()).ok()
8454     }
8455     #[cfg(feature = "Win32_Foundation")]
Default(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>8456     pub unsafe fn Default(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8457         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8458         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8459     }
8460     #[cfg(feature = "Win32_Foundation")]
SetId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, id: Param0, createifnotexist: i16) -> ::windows::runtime::Result<()>8461     pub unsafe fn SetId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, id: Param0, createifnotexist: i16) -> ::windows::runtime::Result<()> {
8462         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), id.into_param().abi(), ::std::mem::transmute(createifnotexist)).ok()
8463     }
GetDataKey(&self, location: SpeechDataKeyLocation) -> ::windows::runtime::Result<ISpeechDataKey>8464     pub unsafe fn GetDataKey(&self, location: SpeechDataKeyLocation) -> ::windows::runtime::Result<ISpeechDataKey> {
8465         let mut result__: <ISpeechDataKey as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8466         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(location), &mut result__).from_abi::<ISpeechDataKey>(result__)
8467     }
8468     #[cfg(feature = "Win32_Foundation")]
EnumerateTokens<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, requiredattributes: Param0, optionalattributes: Param1) -> ::windows::runtime::Result<ISpeechObjectTokens>8469     pub unsafe fn EnumerateTokens<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, requiredattributes: Param0, optionalattributes: Param1) -> ::windows::runtime::Result<ISpeechObjectTokens> {
8470         let mut result__: <ISpeechObjectTokens as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8471         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), requiredattributes.into_param().abi(), optionalattributes.into_param().abi(), &mut result__).from_abi::<ISpeechObjectTokens>(result__)
8472     }
8473 }
8474 unsafe impl ::windows::runtime::Interface for ISpeechObjectTokenCategory {
8475     type Vtable = ISpeechObjectTokenCategory_abi;
8476     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3397299280, 11521, 16709, [134, 212, 90, 231, 215, 15, 68, 105]);
8477 }
8478 impl ::std::convert::From<ISpeechObjectTokenCategory> for ::windows::runtime::IUnknown {
from(value: ISpeechObjectTokenCategory) -> Self8479     fn from(value: ISpeechObjectTokenCategory) -> Self {
8480         unsafe { ::std::mem::transmute(value) }
8481     }
8482 }
8483 impl ::std::convert::From<&ISpeechObjectTokenCategory> for ::windows::runtime::IUnknown {
from(value: &ISpeechObjectTokenCategory) -> Self8484     fn from(value: &ISpeechObjectTokenCategory) -> Self {
8485         ::std::convert::From::from(::std::clone::Clone::clone(value))
8486     }
8487 }
8488 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechObjectTokenCategory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8489     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8490         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8491     }
8492 }
8493 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechObjectTokenCategory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8494     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8495         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8496     }
8497 }
8498 #[cfg(feature = "Win32_System_Ole_Automation")]
8499 impl ::std::convert::From<ISpeechObjectTokenCategory> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechObjectTokenCategory) -> Self8500     fn from(value: ISpeechObjectTokenCategory) -> Self {
8501         unsafe { ::std::mem::transmute(value) }
8502     }
8503 }
8504 #[cfg(feature = "Win32_System_Ole_Automation")]
8505 impl ::std::convert::From<&ISpeechObjectTokenCategory> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechObjectTokenCategory) -> Self8506     fn from(value: &ISpeechObjectTokenCategory) -> Self {
8507         ::std::convert::From::from(::std::clone::Clone::clone(value))
8508     }
8509 }
8510 #[cfg(feature = "Win32_System_Ole_Automation")]
8511 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechObjectTokenCategory {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>8512     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8513         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
8514     }
8515 }
8516 #[cfg(feature = "Win32_System_Ole_Automation")]
8517 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechObjectTokenCategory {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>8518     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8519         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
8520     }
8521 }
8522 #[repr(C)]
8523 #[doc(hidden)]
8524 pub struct ISpeechObjectTokenCategory_abi(
8525     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8526     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8527     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8528     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
8529     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8530     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
8531     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
8532     #[cfg(not(feature = "Win32_Foundation"))] usize,
8533     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8534     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
8535     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8536     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8537     #[cfg(not(feature = "Win32_Foundation"))] usize,
8538     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, tokenid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8539     #[cfg(not(feature = "Win32_Foundation"))] usize,
8540     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, tokenid: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8541     #[cfg(not(feature = "Win32_Foundation"))] usize,
8542     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, createifnotexist: i16) -> ::windows::runtime::HRESULT,
8543     #[cfg(not(feature = "Win32_Foundation"))] usize,
8544     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, location: SpeechDataKeyLocation, datakey: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8545     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, requiredattributes: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, optionalattributes: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, tokens: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8546     #[cfg(not(feature = "Win32_Foundation"))] usize,
8547 );
8548 #[repr(transparent)]
8549 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8550 pub struct ISpeechObjectTokens(::windows::runtime::IUnknown);
8551 impl ISpeechObjectTokens {
Count(&self) -> ::windows::runtime::Result<i32>8552     pub unsafe fn Count(&self) -> ::windows::runtime::Result<i32> {
8553         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8554         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8555     }
Item(&self, index: i32) -> ::windows::runtime::Result<ISpeechObjectToken>8556     pub unsafe fn Item(&self, index: i32) -> ::windows::runtime::Result<ISpeechObjectToken> {
8557         let mut result__: <ISpeechObjectToken as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8558         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<ISpeechObjectToken>(result__)
8559     }
_NewEnum(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown>8560     pub unsafe fn _NewEnum(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
8561         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8562         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
8563     }
8564 }
8565 unsafe impl ::windows::runtime::Interface for ISpeechObjectTokens {
8566     type Vtable = ISpeechObjectTokens_abi;
8567     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2458236790, 11899, 19392, [181, 62, 88, 14, 182, 250, 150, 127]);
8568 }
8569 impl ::std::convert::From<ISpeechObjectTokens> for ::windows::runtime::IUnknown {
from(value: ISpeechObjectTokens) -> Self8570     fn from(value: ISpeechObjectTokens) -> Self {
8571         unsafe { ::std::mem::transmute(value) }
8572     }
8573 }
8574 impl ::std::convert::From<&ISpeechObjectTokens> for ::windows::runtime::IUnknown {
from(value: &ISpeechObjectTokens) -> Self8575     fn from(value: &ISpeechObjectTokens) -> Self {
8576         ::std::convert::From::from(::std::clone::Clone::clone(value))
8577     }
8578 }
8579 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechObjectTokens {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8580     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8581         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8582     }
8583 }
8584 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechObjectTokens {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8585     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8586         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8587     }
8588 }
8589 #[cfg(feature = "Win32_System_Ole_Automation")]
8590 impl ::std::convert::From<ISpeechObjectTokens> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechObjectTokens) -> Self8591     fn from(value: ISpeechObjectTokens) -> Self {
8592         unsafe { ::std::mem::transmute(value) }
8593     }
8594 }
8595 #[cfg(feature = "Win32_System_Ole_Automation")]
8596 impl ::std::convert::From<&ISpeechObjectTokens> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechObjectTokens) -> Self8597     fn from(value: &ISpeechObjectTokens) -> Self {
8598         ::std::convert::From::from(::std::clone::Clone::clone(value))
8599     }
8600 }
8601 #[cfg(feature = "Win32_System_Ole_Automation")]
8602 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechObjectTokens {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>8603     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8604         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
8605     }
8606 }
8607 #[cfg(feature = "Win32_System_Ole_Automation")]
8608 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechObjectTokens {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>8609     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8610         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
8611     }
8612 }
8613 #[repr(C)]
8614 #[doc(hidden)]
8615 pub struct ISpeechObjectTokens_abi(
8616     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8617     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8618     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8619     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
8620     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8621     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
8622     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
8623     #[cfg(not(feature = "Win32_Foundation"))] usize,
8624     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8625     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
8626     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8627     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut i32) -> ::windows::runtime::HRESULT,
8628     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32, token: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8629     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumvariant: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8630 );
8631 #[repr(transparent)]
8632 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8633 pub struct ISpeechPhoneConverter(::windows::runtime::IUnknown);
8634 impl ISpeechPhoneConverter {
LanguageId(&self) -> ::windows::runtime::Result<i32>8635     pub unsafe fn LanguageId(&self) -> ::windows::runtime::Result<i32> {
8636         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8637         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8638     }
SetLanguageId(&self, languageid: i32) -> ::windows::runtime::Result<()>8639     pub unsafe fn SetLanguageId(&self, languageid: i32) -> ::windows::runtime::Result<()> {
8640         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(languageid)).ok()
8641     }
8642     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
PhoneToId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, phonemes: Param0) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>8643     pub unsafe fn PhoneToId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, phonemes: Param0) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
8644         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8645         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), phonemes.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
8646     }
8647     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
IdToPhone<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, idarray: Param0) -> ::windows::runtime::Result<super::super::Foundation::BSTR>8648     pub unsafe fn IdToPhone<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, idarray: Param0) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8649         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8650         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), idarray.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8651     }
8652 }
8653 unsafe impl ::windows::runtime::Interface for ISpeechPhoneConverter {
8654     type Vtable = ISpeechPhoneConverter_abi;
8655     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3286561619, 17215, 17366, [137, 161, 106, 98, 167, 5, 76, 61]);
8656 }
8657 impl ::std::convert::From<ISpeechPhoneConverter> for ::windows::runtime::IUnknown {
from(value: ISpeechPhoneConverter) -> Self8658     fn from(value: ISpeechPhoneConverter) -> Self {
8659         unsafe { ::std::mem::transmute(value) }
8660     }
8661 }
8662 impl ::std::convert::From<&ISpeechPhoneConverter> for ::windows::runtime::IUnknown {
from(value: &ISpeechPhoneConverter) -> Self8663     fn from(value: &ISpeechPhoneConverter) -> Self {
8664         ::std::convert::From::from(::std::clone::Clone::clone(value))
8665     }
8666 }
8667 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechPhoneConverter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8668     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8669         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8670     }
8671 }
8672 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechPhoneConverter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8673     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8674         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8675     }
8676 }
8677 #[cfg(feature = "Win32_System_Ole_Automation")]
8678 impl ::std::convert::From<ISpeechPhoneConverter> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechPhoneConverter) -> Self8679     fn from(value: ISpeechPhoneConverter) -> Self {
8680         unsafe { ::std::mem::transmute(value) }
8681     }
8682 }
8683 #[cfg(feature = "Win32_System_Ole_Automation")]
8684 impl ::std::convert::From<&ISpeechPhoneConverter> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechPhoneConverter) -> Self8685     fn from(value: &ISpeechPhoneConverter) -> Self {
8686         ::std::convert::From::from(::std::clone::Clone::clone(value))
8687     }
8688 }
8689 #[cfg(feature = "Win32_System_Ole_Automation")]
8690 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechPhoneConverter {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>8691     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8692         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
8693     }
8694 }
8695 #[cfg(feature = "Win32_System_Ole_Automation")]
8696 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechPhoneConverter {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>8697     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8698         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
8699     }
8700 }
8701 #[repr(C)]
8702 #[doc(hidden)]
8703 pub struct ISpeechPhoneConverter_abi(
8704     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8705     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8706     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8707     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
8708     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8709     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
8710     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
8711     #[cfg(not(feature = "Win32_Foundation"))] usize,
8712     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8713     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
8714     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8715     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, languageid: *mut i32) -> ::windows::runtime::HRESULT,
8716     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, languageid: i32) -> ::windows::runtime::HRESULT,
8717     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, phonemes: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, idarray: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
8718     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8719     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, idarray: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, phonemes: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8720     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8721 );
8722 #[repr(transparent)]
8723 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8724 pub struct ISpeechPhraseAlternate(::windows::runtime::IUnknown);
8725 impl ISpeechPhraseAlternate {
RecoResult(&self) -> ::windows::runtime::Result<ISpeechRecoResult>8726     pub unsafe fn RecoResult(&self) -> ::windows::runtime::Result<ISpeechRecoResult> {
8727         let mut result__: <ISpeechRecoResult as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8728         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechRecoResult>(result__)
8729     }
StartElementInResult(&self) -> ::windows::runtime::Result<i32>8730     pub unsafe fn StartElementInResult(&self) -> ::windows::runtime::Result<i32> {
8731         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8732         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8733     }
NumberOfElementsInResult(&self) -> ::windows::runtime::Result<i32>8734     pub unsafe fn NumberOfElementsInResult(&self) -> ::windows::runtime::Result<i32> {
8735         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8736         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8737     }
PhraseInfo(&self) -> ::windows::runtime::Result<ISpeechPhraseInfo>8738     pub unsafe fn PhraseInfo(&self) -> ::windows::runtime::Result<ISpeechPhraseInfo> {
8739         let mut result__: <ISpeechPhraseInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8740         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechPhraseInfo>(result__)
8741     }
Commit(&self) -> ::windows::runtime::Result<()>8742     pub unsafe fn Commit(&self) -> ::windows::runtime::Result<()> {
8743         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
8744     }
8745 }
8746 unsafe impl ::windows::runtime::Interface for ISpeechPhraseAlternate {
8747     type Vtable = ISpeechPhraseAlternate_abi;
8748     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(663112234, 11167, 19640, [146, 211, 13, 39, 34, 253, 30, 115]);
8749 }
8750 impl ::std::convert::From<ISpeechPhraseAlternate> for ::windows::runtime::IUnknown {
from(value: ISpeechPhraseAlternate) -> Self8751     fn from(value: ISpeechPhraseAlternate) -> Self {
8752         unsafe { ::std::mem::transmute(value) }
8753     }
8754 }
8755 impl ::std::convert::From<&ISpeechPhraseAlternate> for ::windows::runtime::IUnknown {
from(value: &ISpeechPhraseAlternate) -> Self8756     fn from(value: &ISpeechPhraseAlternate) -> Self {
8757         ::std::convert::From::from(::std::clone::Clone::clone(value))
8758     }
8759 }
8760 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechPhraseAlternate {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8761     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8762         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8763     }
8764 }
8765 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechPhraseAlternate {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8766     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8767         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8768     }
8769 }
8770 #[cfg(feature = "Win32_System_Ole_Automation")]
8771 impl ::std::convert::From<ISpeechPhraseAlternate> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechPhraseAlternate) -> Self8772     fn from(value: ISpeechPhraseAlternate) -> Self {
8773         unsafe { ::std::mem::transmute(value) }
8774     }
8775 }
8776 #[cfg(feature = "Win32_System_Ole_Automation")]
8777 impl ::std::convert::From<&ISpeechPhraseAlternate> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechPhraseAlternate) -> Self8778     fn from(value: &ISpeechPhraseAlternate) -> Self {
8779         ::std::convert::From::from(::std::clone::Clone::clone(value))
8780     }
8781 }
8782 #[cfg(feature = "Win32_System_Ole_Automation")]
8783 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechPhraseAlternate {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>8784     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8785         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
8786     }
8787 }
8788 #[cfg(feature = "Win32_System_Ole_Automation")]
8789 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechPhraseAlternate {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>8790     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8791         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
8792     }
8793 }
8794 #[repr(C)]
8795 #[doc(hidden)]
8796 pub struct ISpeechPhraseAlternate_abi(
8797     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8798     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8799     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8800     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
8801     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8802     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
8803     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
8804     #[cfg(not(feature = "Win32_Foundation"))] usize,
8805     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8806     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
8807     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8808     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, recoresult: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8809     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, startelement: *mut i32) -> ::windows::runtime::HRESULT,
8810     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numberofelements: *mut i32) -> ::windows::runtime::HRESULT,
8811     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, phraseinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8812     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8813 );
8814 #[repr(transparent)]
8815 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8816 pub struct ISpeechPhraseAlternates(::windows::runtime::IUnknown);
8817 impl ISpeechPhraseAlternates {
Count(&self) -> ::windows::runtime::Result<i32>8818     pub unsafe fn Count(&self) -> ::windows::runtime::Result<i32> {
8819         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8820         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8821     }
Item(&self, index: i32) -> ::windows::runtime::Result<ISpeechPhraseAlternate>8822     pub unsafe fn Item(&self, index: i32) -> ::windows::runtime::Result<ISpeechPhraseAlternate> {
8823         let mut result__: <ISpeechPhraseAlternate as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8824         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<ISpeechPhraseAlternate>(result__)
8825     }
_NewEnum(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown>8826     pub unsafe fn _NewEnum(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
8827         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8828         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
8829     }
8830 }
8831 unsafe impl ::windows::runtime::Interface for ISpeechPhraseAlternates {
8832     type Vtable = ISpeechPhraseAlternates_abi;
8833     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2990061269, 62070, 19517, [166, 193, 41, 116, 128, 28, 60, 194]);
8834 }
8835 impl ::std::convert::From<ISpeechPhraseAlternates> for ::windows::runtime::IUnknown {
from(value: ISpeechPhraseAlternates) -> Self8836     fn from(value: ISpeechPhraseAlternates) -> Self {
8837         unsafe { ::std::mem::transmute(value) }
8838     }
8839 }
8840 impl ::std::convert::From<&ISpeechPhraseAlternates> for ::windows::runtime::IUnknown {
from(value: &ISpeechPhraseAlternates) -> Self8841     fn from(value: &ISpeechPhraseAlternates) -> Self {
8842         ::std::convert::From::from(::std::clone::Clone::clone(value))
8843     }
8844 }
8845 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechPhraseAlternates {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8846     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8847         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8848     }
8849 }
8850 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechPhraseAlternates {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8851     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8852         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8853     }
8854 }
8855 #[cfg(feature = "Win32_System_Ole_Automation")]
8856 impl ::std::convert::From<ISpeechPhraseAlternates> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechPhraseAlternates) -> Self8857     fn from(value: ISpeechPhraseAlternates) -> Self {
8858         unsafe { ::std::mem::transmute(value) }
8859     }
8860 }
8861 #[cfg(feature = "Win32_System_Ole_Automation")]
8862 impl ::std::convert::From<&ISpeechPhraseAlternates> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechPhraseAlternates) -> Self8863     fn from(value: &ISpeechPhraseAlternates) -> Self {
8864         ::std::convert::From::from(::std::clone::Clone::clone(value))
8865     }
8866 }
8867 #[cfg(feature = "Win32_System_Ole_Automation")]
8868 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechPhraseAlternates {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>8869     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8870         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
8871     }
8872 }
8873 #[cfg(feature = "Win32_System_Ole_Automation")]
8874 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechPhraseAlternates {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>8875     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8876         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
8877     }
8878 }
8879 #[repr(C)]
8880 #[doc(hidden)]
8881 pub struct ISpeechPhraseAlternates_abi(
8882     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8883     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8884     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8885     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
8886     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8887     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
8888     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
8889     #[cfg(not(feature = "Win32_Foundation"))] usize,
8890     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8891     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
8892     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8893     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut i32) -> ::windows::runtime::HRESULT,
8894     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32, phrasealternate: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8895     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enumvariant: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8896 );
8897 #[repr(transparent)]
8898 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8899 pub struct ISpeechPhraseElement(::windows::runtime::IUnknown);
8900 impl ISpeechPhraseElement {
AudioTimeOffset(&self) -> ::windows::runtime::Result<i32>8901     pub unsafe fn AudioTimeOffset(&self) -> ::windows::runtime::Result<i32> {
8902         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8903         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8904     }
AudioSizeTime(&self) -> ::windows::runtime::Result<i32>8905     pub unsafe fn AudioSizeTime(&self) -> ::windows::runtime::Result<i32> {
8906         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8907         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8908     }
AudioStreamOffset(&self) -> ::windows::runtime::Result<i32>8909     pub unsafe fn AudioStreamOffset(&self) -> ::windows::runtime::Result<i32> {
8910         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8911         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8912     }
AudioSizeBytes(&self) -> ::windows::runtime::Result<i32>8913     pub unsafe fn AudioSizeBytes(&self) -> ::windows::runtime::Result<i32> {
8914         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8915         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8916     }
RetainedStreamOffset(&self) -> ::windows::runtime::Result<i32>8917     pub unsafe fn RetainedStreamOffset(&self) -> ::windows::runtime::Result<i32> {
8918         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8919         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8920     }
RetainedSizeBytes(&self) -> ::windows::runtime::Result<i32>8921     pub unsafe fn RetainedSizeBytes(&self) -> ::windows::runtime::Result<i32> {
8922         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8923         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8924     }
8925     #[cfg(feature = "Win32_Foundation")]
DisplayText(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>8926     pub unsafe fn DisplayText(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8927         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8928         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8929     }
8930     #[cfg(feature = "Win32_Foundation")]
LexicalForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>8931     pub unsafe fn LexicalForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8932         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8933         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8934     }
8935     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Pronunciation(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>8936     pub unsafe fn Pronunciation(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
8937         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8938         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
8939     }
DisplayAttributes(&self) -> ::windows::runtime::Result<SpeechDisplayAttributes>8940     pub unsafe fn DisplayAttributes(&self) -> ::windows::runtime::Result<SpeechDisplayAttributes> {
8941         let mut result__: <SpeechDisplayAttributes as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8942         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SpeechDisplayAttributes>(result__)
8943     }
RequiredConfidence(&self) -> ::windows::runtime::Result<SpeechEngineConfidence>8944     pub unsafe fn RequiredConfidence(&self) -> ::windows::runtime::Result<SpeechEngineConfidence> {
8945         let mut result__: <SpeechEngineConfidence as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8946         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SpeechEngineConfidence>(result__)
8947     }
ActualConfidence(&self) -> ::windows::runtime::Result<SpeechEngineConfidence>8948     pub unsafe fn ActualConfidence(&self) -> ::windows::runtime::Result<SpeechEngineConfidence> {
8949         let mut result__: <SpeechEngineConfidence as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8950         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SpeechEngineConfidence>(result__)
8951     }
EngineConfidence(&self) -> ::windows::runtime::Result<f32>8952     pub unsafe fn EngineConfidence(&self) -> ::windows::runtime::Result<f32> {
8953         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8954         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
8955     }
8956 }
8957 unsafe impl ::windows::runtime::Interface for ISpeechPhraseElement {
8958     type Vtable = ISpeechPhraseElement_abi;
8959     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3860295574, 58227, 18433, [178, 35, 59, 98, 192, 104, 192, 180]);
8960 }
8961 impl ::std::convert::From<ISpeechPhraseElement> for ::windows::runtime::IUnknown {
from(value: ISpeechPhraseElement) -> Self8962     fn from(value: ISpeechPhraseElement) -> Self {
8963         unsafe { ::std::mem::transmute(value) }
8964     }
8965 }
8966 impl ::std::convert::From<&ISpeechPhraseElement> for ::windows::runtime::IUnknown {
from(value: &ISpeechPhraseElement) -> Self8967     fn from(value: &ISpeechPhraseElement) -> Self {
8968         ::std::convert::From::from(::std::clone::Clone::clone(value))
8969     }
8970 }
8971 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechPhraseElement {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8972     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8973         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8974     }
8975 }
8976 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechPhraseElement {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8977     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8978         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8979     }
8980 }
8981 #[cfg(feature = "Win32_System_Ole_Automation")]
8982 impl ::std::convert::From<ISpeechPhraseElement> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechPhraseElement) -> Self8983     fn from(value: ISpeechPhraseElement) -> Self {
8984         unsafe { ::std::mem::transmute(value) }
8985     }
8986 }
8987 #[cfg(feature = "Win32_System_Ole_Automation")]
8988 impl ::std::convert::From<&ISpeechPhraseElement> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechPhraseElement) -> Self8989     fn from(value: &ISpeechPhraseElement) -> Self {
8990         ::std::convert::From::from(::std::clone::Clone::clone(value))
8991     }
8992 }
8993 #[cfg(feature = "Win32_System_Ole_Automation")]
8994 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechPhraseElement {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>8995     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8996         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
8997     }
8998 }
8999 #[cfg(feature = "Win32_System_Ole_Automation")]
9000 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechPhraseElement {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>9001     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9002         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
9003     }
9004 }
9005 #[repr(C)]
9006 #[doc(hidden)]
9007 pub struct ISpeechPhraseElement_abi(
9008     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9009     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9010     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9011     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
9012     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9013     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
9014     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
9015     #[cfg(not(feature = "Win32_Foundation"))] usize,
9016     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9017     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
9018     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9019     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audiotimeoffset: *mut i32) -> ::windows::runtime::HRESULT,
9020     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audiosizetime: *mut i32) -> ::windows::runtime::HRESULT,
9021     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audiostreamoffset: *mut i32) -> ::windows::runtime::HRESULT,
9022     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audiosizebytes: *mut i32) -> ::windows::runtime::HRESULT,
9023     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retainedstreamoffset: *mut i32) -> ::windows::runtime::HRESULT,
9024     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retainedsizebytes: *mut i32) -> ::windows::runtime::HRESULT,
9025     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, displaytext: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9026     #[cfg(not(feature = "Win32_Foundation"))] usize,
9027     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lexicalform: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9028     #[cfg(not(feature = "Win32_Foundation"))] usize,
9029     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pronunciation: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
9030     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9031     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, displayattributes: *mut SpeechDisplayAttributes) -> ::windows::runtime::HRESULT,
9032     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, requiredconfidence: *mut SpeechEngineConfidence) -> ::windows::runtime::HRESULT,
9033     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, actualconfidence: *mut SpeechEngineConfidence) -> ::windows::runtime::HRESULT,
9034     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, engineconfidence: *mut f32) -> ::windows::runtime::HRESULT,
9035 );
9036 #[repr(transparent)]
9037 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9038 pub struct ISpeechPhraseElements(::windows::runtime::IUnknown);
9039 impl ISpeechPhraseElements {
Count(&self) -> ::windows::runtime::Result<i32>9040     pub unsafe fn Count(&self) -> ::windows::runtime::Result<i32> {
9041         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9042         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9043     }
Item(&self, index: i32) -> ::windows::runtime::Result<ISpeechPhraseElement>9044     pub unsafe fn Item(&self, index: i32) -> ::windows::runtime::Result<ISpeechPhraseElement> {
9045         let mut result__: <ISpeechPhraseElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9046         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<ISpeechPhraseElement>(result__)
9047     }
_NewEnum(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown>9048     pub unsafe fn _NewEnum(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
9049         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9050         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
9051     }
9052 }
9053 unsafe impl ::windows::runtime::Interface for ISpeechPhraseElements {
9054     type Vtable = ISpeechPhraseElements_abi;
9055     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(103199528, 13432, 18045, [160, 179, 208, 133, 59, 147, 221, 163]);
9056 }
9057 impl ::std::convert::From<ISpeechPhraseElements> for ::windows::runtime::IUnknown {
from(value: ISpeechPhraseElements) -> Self9058     fn from(value: ISpeechPhraseElements) -> Self {
9059         unsafe { ::std::mem::transmute(value) }
9060     }
9061 }
9062 impl ::std::convert::From<&ISpeechPhraseElements> for ::windows::runtime::IUnknown {
from(value: &ISpeechPhraseElements) -> Self9063     fn from(value: &ISpeechPhraseElements) -> Self {
9064         ::std::convert::From::from(::std::clone::Clone::clone(value))
9065     }
9066 }
9067 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechPhraseElements {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9068     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9069         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9070     }
9071 }
9072 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechPhraseElements {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9073     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9074         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9075     }
9076 }
9077 #[cfg(feature = "Win32_System_Ole_Automation")]
9078 impl ::std::convert::From<ISpeechPhraseElements> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechPhraseElements) -> Self9079     fn from(value: ISpeechPhraseElements) -> Self {
9080         unsafe { ::std::mem::transmute(value) }
9081     }
9082 }
9083 #[cfg(feature = "Win32_System_Ole_Automation")]
9084 impl ::std::convert::From<&ISpeechPhraseElements> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechPhraseElements) -> Self9085     fn from(value: &ISpeechPhraseElements) -> Self {
9086         ::std::convert::From::from(::std::clone::Clone::clone(value))
9087     }
9088 }
9089 #[cfg(feature = "Win32_System_Ole_Automation")]
9090 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechPhraseElements {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>9091     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9092         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
9093     }
9094 }
9095 #[cfg(feature = "Win32_System_Ole_Automation")]
9096 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechPhraseElements {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>9097     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9098         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
9099     }
9100 }
9101 #[repr(C)]
9102 #[doc(hidden)]
9103 pub struct ISpeechPhraseElements_abi(
9104     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9105     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9106     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9107     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
9108     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9109     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
9110     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
9111     #[cfg(not(feature = "Win32_Foundation"))] usize,
9112     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9113     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
9114     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9115     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut i32) -> ::windows::runtime::HRESULT,
9116     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9117     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enumvariant: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9118 );
9119 #[repr(transparent)]
9120 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9121 pub struct ISpeechPhraseInfo(::windows::runtime::IUnknown);
9122 impl ISpeechPhraseInfo {
LanguageId(&self) -> ::windows::runtime::Result<i32>9123     pub unsafe fn LanguageId(&self) -> ::windows::runtime::Result<i32> {
9124         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9125         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9126     }
9127     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
GrammarId(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>9128     pub unsafe fn GrammarId(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
9129         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9130         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
9131     }
9132     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
StartTime(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>9133     pub unsafe fn StartTime(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
9134         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9135         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
9136     }
9137     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
AudioStreamPosition(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>9138     pub unsafe fn AudioStreamPosition(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
9139         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9140         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
9141     }
AudioSizeBytes(&self) -> ::windows::runtime::Result<i32>9142     pub unsafe fn AudioSizeBytes(&self) -> ::windows::runtime::Result<i32> {
9143         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9144         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9145     }
RetainedSizeBytes(&self) -> ::windows::runtime::Result<i32>9146     pub unsafe fn RetainedSizeBytes(&self) -> ::windows::runtime::Result<i32> {
9147         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9148         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9149     }
AudioSizeTime(&self) -> ::windows::runtime::Result<i32>9150     pub unsafe fn AudioSizeTime(&self) -> ::windows::runtime::Result<i32> {
9151         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9152         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9153     }
Rule(&self) -> ::windows::runtime::Result<ISpeechPhraseRule>9154     pub unsafe fn Rule(&self) -> ::windows::runtime::Result<ISpeechPhraseRule> {
9155         let mut result__: <ISpeechPhraseRule as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9156         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechPhraseRule>(result__)
9157     }
Properties(&self) -> ::windows::runtime::Result<ISpeechPhraseProperties>9158     pub unsafe fn Properties(&self) -> ::windows::runtime::Result<ISpeechPhraseProperties> {
9159         let mut result__: <ISpeechPhraseProperties as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9160         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechPhraseProperties>(result__)
9161     }
Elements(&self) -> ::windows::runtime::Result<ISpeechPhraseElements>9162     pub unsafe fn Elements(&self) -> ::windows::runtime::Result<ISpeechPhraseElements> {
9163         let mut result__: <ISpeechPhraseElements as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9164         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechPhraseElements>(result__)
9165     }
Replacements(&self) -> ::windows::runtime::Result<ISpeechPhraseReplacements>9166     pub unsafe fn Replacements(&self) -> ::windows::runtime::Result<ISpeechPhraseReplacements> {
9167         let mut result__: <ISpeechPhraseReplacements as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9168         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechPhraseReplacements>(result__)
9169     }
9170     #[cfg(feature = "Win32_Foundation")]
EngineId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>9171     pub unsafe fn EngineId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9172         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9173         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9174     }
9175     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
EnginePrivateData(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>9176     pub unsafe fn EnginePrivateData(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
9177         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9178         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
9179     }
9180     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
SaveToMemory(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>9181     pub unsafe fn SaveToMemory(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
9182         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9183         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
9184     }
9185     #[cfg(feature = "Win32_Foundation")]
GetText(&self, startelement: i32, elements: i32, usereplacements: i16) -> ::windows::runtime::Result<super::super::Foundation::BSTR>9186     pub unsafe fn GetText(&self, startelement: i32, elements: i32, usereplacements: i16) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9187         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9188         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(startelement), ::std::mem::transmute(elements), ::std::mem::transmute(usereplacements), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9189     }
GetDisplayAttributes(&self, startelement: i32, elements: i32, usereplacements: i16) -> ::windows::runtime::Result<SpeechDisplayAttributes>9190     pub unsafe fn GetDisplayAttributes(&self, startelement: i32, elements: i32, usereplacements: i16) -> ::windows::runtime::Result<SpeechDisplayAttributes> {
9191         let mut result__: <SpeechDisplayAttributes as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9192         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(startelement), ::std::mem::transmute(elements), ::std::mem::transmute(usereplacements), &mut result__).from_abi::<SpeechDisplayAttributes>(result__)
9193     }
9194 }
9195 unsafe impl ::windows::runtime::Interface for ISpeechPhraseInfo {
9196     type Vtable = ISpeechPhraseInfo_abi;
9197     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2517981647, 20071, 18018, [139, 240, 217, 63, 31, 205, 97, 179]);
9198 }
9199 impl ::std::convert::From<ISpeechPhraseInfo> for ::windows::runtime::IUnknown {
from(value: ISpeechPhraseInfo) -> Self9200     fn from(value: ISpeechPhraseInfo) -> Self {
9201         unsafe { ::std::mem::transmute(value) }
9202     }
9203 }
9204 impl ::std::convert::From<&ISpeechPhraseInfo> for ::windows::runtime::IUnknown {
from(value: &ISpeechPhraseInfo) -> Self9205     fn from(value: &ISpeechPhraseInfo) -> Self {
9206         ::std::convert::From::from(::std::clone::Clone::clone(value))
9207     }
9208 }
9209 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechPhraseInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9210     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9211         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9212     }
9213 }
9214 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechPhraseInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9215     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9216         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9217     }
9218 }
9219 #[cfg(feature = "Win32_System_Ole_Automation")]
9220 impl ::std::convert::From<ISpeechPhraseInfo> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechPhraseInfo) -> Self9221     fn from(value: ISpeechPhraseInfo) -> Self {
9222         unsafe { ::std::mem::transmute(value) }
9223     }
9224 }
9225 #[cfg(feature = "Win32_System_Ole_Automation")]
9226 impl ::std::convert::From<&ISpeechPhraseInfo> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechPhraseInfo) -> Self9227     fn from(value: &ISpeechPhraseInfo) -> Self {
9228         ::std::convert::From::from(::std::clone::Clone::clone(value))
9229     }
9230 }
9231 #[cfg(feature = "Win32_System_Ole_Automation")]
9232 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechPhraseInfo {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>9233     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9234         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
9235     }
9236 }
9237 #[cfg(feature = "Win32_System_Ole_Automation")]
9238 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechPhraseInfo {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>9239     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9240         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
9241     }
9242 }
9243 #[repr(C)]
9244 #[doc(hidden)]
9245 pub struct ISpeechPhraseInfo_abi(
9246     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9247     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9248     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9249     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
9250     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9251     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
9252     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
9253     #[cfg(not(feature = "Win32_Foundation"))] usize,
9254     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9255     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
9256     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9257     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, languageid: *mut i32) -> ::windows::runtime::HRESULT,
9258     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, grammarid: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
9259     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9260     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, starttime: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
9261     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9262     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audiostreamposition: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
9263     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9264     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paudiosizebytes: *mut i32) -> ::windows::runtime::HRESULT,
9265     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retainedsizebytes: *mut i32) -> ::windows::runtime::HRESULT,
9266     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audiosizetime: *mut i32) -> ::windows::runtime::HRESULT,
9267     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rule: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9268     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, properties: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9269     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, elements: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9270     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, replacements: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9271     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, engineidguid: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9272     #[cfg(not(feature = "Win32_Foundation"))] usize,
9273     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, privatedata: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
9274     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9275     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, phraseblock: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
9276     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9277     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, startelement: i32, elements: i32, usereplacements: i16, text: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9278     #[cfg(not(feature = "Win32_Foundation"))] usize,
9279     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, startelement: i32, elements: i32, usereplacements: i16, displayattributes: *mut SpeechDisplayAttributes) -> ::windows::runtime::HRESULT,
9280 );
9281 #[repr(transparent)]
9282 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9283 pub struct ISpeechPhraseInfoBuilder(::windows::runtime::IUnknown);
9284 impl ISpeechPhraseInfoBuilder {
9285     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
RestorePhraseFromMemory(&self, phraseinmemory: *const super::super::System::Com::VARIANT) -> ::windows::runtime::Result<ISpeechPhraseInfo>9286     pub unsafe fn RestorePhraseFromMemory(&self, phraseinmemory: *const super::super::System::Com::VARIANT) -> ::windows::runtime::Result<ISpeechPhraseInfo> {
9287         let mut result__: <ISpeechPhraseInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9288         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(phraseinmemory), &mut result__).from_abi::<ISpeechPhraseInfo>(result__)
9289     }
9290 }
9291 unsafe impl ::windows::runtime::Interface for ISpeechPhraseInfoBuilder {
9292     type Vtable = ISpeechPhraseInfoBuilder_abi;
9293     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(991238198, 57146, 19978, [132, 108, 210, 173, 201, 51, 67, 51]);
9294 }
9295 impl ::std::convert::From<ISpeechPhraseInfoBuilder> for ::windows::runtime::IUnknown {
from(value: ISpeechPhraseInfoBuilder) -> Self9296     fn from(value: ISpeechPhraseInfoBuilder) -> Self {
9297         unsafe { ::std::mem::transmute(value) }
9298     }
9299 }
9300 impl ::std::convert::From<&ISpeechPhraseInfoBuilder> for ::windows::runtime::IUnknown {
from(value: &ISpeechPhraseInfoBuilder) -> Self9301     fn from(value: &ISpeechPhraseInfoBuilder) -> Self {
9302         ::std::convert::From::from(::std::clone::Clone::clone(value))
9303     }
9304 }
9305 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechPhraseInfoBuilder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9306     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9307         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9308     }
9309 }
9310 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechPhraseInfoBuilder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9311     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9312         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9313     }
9314 }
9315 #[cfg(feature = "Win32_System_Ole_Automation")]
9316 impl ::std::convert::From<ISpeechPhraseInfoBuilder> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechPhraseInfoBuilder) -> Self9317     fn from(value: ISpeechPhraseInfoBuilder) -> Self {
9318         unsafe { ::std::mem::transmute(value) }
9319     }
9320 }
9321 #[cfg(feature = "Win32_System_Ole_Automation")]
9322 impl ::std::convert::From<&ISpeechPhraseInfoBuilder> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechPhraseInfoBuilder) -> Self9323     fn from(value: &ISpeechPhraseInfoBuilder) -> Self {
9324         ::std::convert::From::from(::std::clone::Clone::clone(value))
9325     }
9326 }
9327 #[cfg(feature = "Win32_System_Ole_Automation")]
9328 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechPhraseInfoBuilder {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>9329     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9330         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
9331     }
9332 }
9333 #[cfg(feature = "Win32_System_Ole_Automation")]
9334 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechPhraseInfoBuilder {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>9335     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9336         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
9337     }
9338 }
9339 #[repr(C)]
9340 #[doc(hidden)]
9341 pub struct ISpeechPhraseInfoBuilder_abi(
9342     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9343     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9344     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9345     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
9346     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9347     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
9348     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
9349     #[cfg(not(feature = "Win32_Foundation"))] usize,
9350     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9351     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
9352     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9353     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, phraseinmemory: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, phraseinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9354     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9355 );
9356 #[repr(transparent)]
9357 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9358 pub struct ISpeechPhraseProperties(::windows::runtime::IUnknown);
9359 impl ISpeechPhraseProperties {
Count(&self) -> ::windows::runtime::Result<i32>9360     pub unsafe fn Count(&self) -> ::windows::runtime::Result<i32> {
9361         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9362         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9363     }
Item(&self, index: i32) -> ::windows::runtime::Result<ISpeechPhraseProperty>9364     pub unsafe fn Item(&self, index: i32) -> ::windows::runtime::Result<ISpeechPhraseProperty> {
9365         let mut result__: <ISpeechPhraseProperty as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9366         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<ISpeechPhraseProperty>(result__)
9367     }
_NewEnum(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown>9368     pub unsafe fn _NewEnum(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
9369         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9370         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
9371     }
9372 }
9373 unsafe impl ::windows::runtime::Interface for ISpeechPhraseProperties {
9374     type Vtable = ISpeechPhraseProperties_abi;
9375     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(135686983, 4142, 19235, [165, 153, 189, 185, 141, 191, 209, 244]);
9376 }
9377 impl ::std::convert::From<ISpeechPhraseProperties> for ::windows::runtime::IUnknown {
from(value: ISpeechPhraseProperties) -> Self9378     fn from(value: ISpeechPhraseProperties) -> Self {
9379         unsafe { ::std::mem::transmute(value) }
9380     }
9381 }
9382 impl ::std::convert::From<&ISpeechPhraseProperties> for ::windows::runtime::IUnknown {
from(value: &ISpeechPhraseProperties) -> Self9383     fn from(value: &ISpeechPhraseProperties) -> Self {
9384         ::std::convert::From::from(::std::clone::Clone::clone(value))
9385     }
9386 }
9387 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechPhraseProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9388     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9389         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9390     }
9391 }
9392 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechPhraseProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9393     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9394         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9395     }
9396 }
9397 #[cfg(feature = "Win32_System_Ole_Automation")]
9398 impl ::std::convert::From<ISpeechPhraseProperties> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechPhraseProperties) -> Self9399     fn from(value: ISpeechPhraseProperties) -> Self {
9400         unsafe { ::std::mem::transmute(value) }
9401     }
9402 }
9403 #[cfg(feature = "Win32_System_Ole_Automation")]
9404 impl ::std::convert::From<&ISpeechPhraseProperties> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechPhraseProperties) -> Self9405     fn from(value: &ISpeechPhraseProperties) -> Self {
9406         ::std::convert::From::from(::std::clone::Clone::clone(value))
9407     }
9408 }
9409 #[cfg(feature = "Win32_System_Ole_Automation")]
9410 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechPhraseProperties {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>9411     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9412         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
9413     }
9414 }
9415 #[cfg(feature = "Win32_System_Ole_Automation")]
9416 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechPhraseProperties {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>9417     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9418         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
9419     }
9420 }
9421 #[repr(C)]
9422 #[doc(hidden)]
9423 pub struct ISpeechPhraseProperties_abi(
9424     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9425     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9426     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9427     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
9428     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9429     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
9430     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
9431     #[cfg(not(feature = "Win32_Foundation"))] usize,
9432     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9433     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
9434     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9435     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut i32) -> ::windows::runtime::HRESULT,
9436     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32, property: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9437     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enumvariant: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9438 );
9439 #[repr(transparent)]
9440 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9441 pub struct ISpeechPhraseProperty(::windows::runtime::IUnknown);
9442 impl ISpeechPhraseProperty {
9443     #[cfg(feature = "Win32_Foundation")]
Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>9444     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9445         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9446         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9447     }
Id(&self) -> ::windows::runtime::Result<i32>9448     pub unsafe fn Id(&self) -> ::windows::runtime::Result<i32> {
9449         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9450         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9451     }
9452     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Value(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>9453     pub unsafe fn Value(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
9454         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9455         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
9456     }
FirstElement(&self) -> ::windows::runtime::Result<i32>9457     pub unsafe fn FirstElement(&self) -> ::windows::runtime::Result<i32> {
9458         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9459         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9460     }
NumberOfElements(&self) -> ::windows::runtime::Result<i32>9461     pub unsafe fn NumberOfElements(&self) -> ::windows::runtime::Result<i32> {
9462         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9463         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9464     }
EngineConfidence(&self) -> ::windows::runtime::Result<f32>9465     pub unsafe fn EngineConfidence(&self) -> ::windows::runtime::Result<f32> {
9466         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9467         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
9468     }
Confidence(&self) -> ::windows::runtime::Result<SpeechEngineConfidence>9469     pub unsafe fn Confidence(&self) -> ::windows::runtime::Result<SpeechEngineConfidence> {
9470         let mut result__: <SpeechEngineConfidence as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9471         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SpeechEngineConfidence>(result__)
9472     }
Parent(&self) -> ::windows::runtime::Result<ISpeechPhraseProperty>9473     pub unsafe fn Parent(&self) -> ::windows::runtime::Result<ISpeechPhraseProperty> {
9474         let mut result__: <ISpeechPhraseProperty as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9475         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechPhraseProperty>(result__)
9476     }
Children(&self) -> ::windows::runtime::Result<ISpeechPhraseProperties>9477     pub unsafe fn Children(&self) -> ::windows::runtime::Result<ISpeechPhraseProperties> {
9478         let mut result__: <ISpeechPhraseProperties as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9479         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechPhraseProperties>(result__)
9480     }
9481 }
9482 unsafe impl ::windows::runtime::Interface for ISpeechPhraseProperty {
9483     type Vtable = ISpeechPhraseProperty_abi;
9484     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3461758280, 38430, 18226, [162, 225, 55, 138, 66, 180, 48, 190]);
9485 }
9486 impl ::std::convert::From<ISpeechPhraseProperty> for ::windows::runtime::IUnknown {
from(value: ISpeechPhraseProperty) -> Self9487     fn from(value: ISpeechPhraseProperty) -> Self {
9488         unsafe { ::std::mem::transmute(value) }
9489     }
9490 }
9491 impl ::std::convert::From<&ISpeechPhraseProperty> for ::windows::runtime::IUnknown {
from(value: &ISpeechPhraseProperty) -> Self9492     fn from(value: &ISpeechPhraseProperty) -> Self {
9493         ::std::convert::From::from(::std::clone::Clone::clone(value))
9494     }
9495 }
9496 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechPhraseProperty {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9497     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9498         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9499     }
9500 }
9501 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechPhraseProperty {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9502     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9503         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9504     }
9505 }
9506 #[cfg(feature = "Win32_System_Ole_Automation")]
9507 impl ::std::convert::From<ISpeechPhraseProperty> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechPhraseProperty) -> Self9508     fn from(value: ISpeechPhraseProperty) -> Self {
9509         unsafe { ::std::mem::transmute(value) }
9510     }
9511 }
9512 #[cfg(feature = "Win32_System_Ole_Automation")]
9513 impl ::std::convert::From<&ISpeechPhraseProperty> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechPhraseProperty) -> Self9514     fn from(value: &ISpeechPhraseProperty) -> Self {
9515         ::std::convert::From::from(::std::clone::Clone::clone(value))
9516     }
9517 }
9518 #[cfg(feature = "Win32_System_Ole_Automation")]
9519 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechPhraseProperty {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>9520     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9521         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
9522     }
9523 }
9524 #[cfg(feature = "Win32_System_Ole_Automation")]
9525 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechPhraseProperty {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>9526     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9527         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
9528     }
9529 }
9530 #[repr(C)]
9531 #[doc(hidden)]
9532 pub struct ISpeechPhraseProperty_abi(
9533     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9534     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9535     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9536     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
9537     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9538     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
9539     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
9540     #[cfg(not(feature = "Win32_Foundation"))] usize,
9541     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9542     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
9543     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9544     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9545     #[cfg(not(feature = "Win32_Foundation"))] usize,
9546     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut i32) -> ::windows::runtime::HRESULT,
9547     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
9548     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9549     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, firstelement: *mut i32) -> ::windows::runtime::HRESULT,
9550     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numberofelements: *mut i32) -> ::windows::runtime::HRESULT,
9551     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, confidence: *mut f32) -> ::windows::runtime::HRESULT,
9552     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, confidence: *mut SpeechEngineConfidence) -> ::windows::runtime::HRESULT,
9553     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parentproperty: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9554     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, children: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9555 );
9556 #[repr(transparent)]
9557 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9558 pub struct ISpeechPhraseReplacement(::windows::runtime::IUnknown);
9559 impl ISpeechPhraseReplacement {
DisplayAttributes(&self) -> ::windows::runtime::Result<SpeechDisplayAttributes>9560     pub unsafe fn DisplayAttributes(&self) -> ::windows::runtime::Result<SpeechDisplayAttributes> {
9561         let mut result__: <SpeechDisplayAttributes as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9562         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SpeechDisplayAttributes>(result__)
9563     }
9564     #[cfg(feature = "Win32_Foundation")]
Text(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>9565     pub unsafe fn Text(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9566         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9567         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9568     }
FirstElement(&self) -> ::windows::runtime::Result<i32>9569     pub unsafe fn FirstElement(&self) -> ::windows::runtime::Result<i32> {
9570         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9571         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9572     }
NumberOfElements(&self) -> ::windows::runtime::Result<i32>9573     pub unsafe fn NumberOfElements(&self) -> ::windows::runtime::Result<i32> {
9574         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9575         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9576     }
9577 }
9578 unsafe impl ::windows::runtime::Interface for ISpeechPhraseReplacement {
9579     type Vtable = ISpeechPhraseReplacement_abi;
9580     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(680567824, 21415, 20405, [148, 236, 6, 212, 153, 142, 61, 2]);
9581 }
9582 impl ::std::convert::From<ISpeechPhraseReplacement> for ::windows::runtime::IUnknown {
from(value: ISpeechPhraseReplacement) -> Self9583     fn from(value: ISpeechPhraseReplacement) -> Self {
9584         unsafe { ::std::mem::transmute(value) }
9585     }
9586 }
9587 impl ::std::convert::From<&ISpeechPhraseReplacement> for ::windows::runtime::IUnknown {
from(value: &ISpeechPhraseReplacement) -> Self9588     fn from(value: &ISpeechPhraseReplacement) -> Self {
9589         ::std::convert::From::from(::std::clone::Clone::clone(value))
9590     }
9591 }
9592 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechPhraseReplacement {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9593     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9594         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9595     }
9596 }
9597 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechPhraseReplacement {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9598     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9599         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9600     }
9601 }
9602 #[cfg(feature = "Win32_System_Ole_Automation")]
9603 impl ::std::convert::From<ISpeechPhraseReplacement> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechPhraseReplacement) -> Self9604     fn from(value: ISpeechPhraseReplacement) -> Self {
9605         unsafe { ::std::mem::transmute(value) }
9606     }
9607 }
9608 #[cfg(feature = "Win32_System_Ole_Automation")]
9609 impl ::std::convert::From<&ISpeechPhraseReplacement> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechPhraseReplacement) -> Self9610     fn from(value: &ISpeechPhraseReplacement) -> Self {
9611         ::std::convert::From::from(::std::clone::Clone::clone(value))
9612     }
9613 }
9614 #[cfg(feature = "Win32_System_Ole_Automation")]
9615 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechPhraseReplacement {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>9616     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9617         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
9618     }
9619 }
9620 #[cfg(feature = "Win32_System_Ole_Automation")]
9621 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechPhraseReplacement {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>9622     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9623         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
9624     }
9625 }
9626 #[repr(C)]
9627 #[doc(hidden)]
9628 pub struct ISpeechPhraseReplacement_abi(
9629     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9630     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9631     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9632     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
9633     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9634     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
9635     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
9636     #[cfg(not(feature = "Win32_Foundation"))] usize,
9637     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9638     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
9639     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9640     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, displayattributes: *mut SpeechDisplayAttributes) -> ::windows::runtime::HRESULT,
9641     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, text: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9642     #[cfg(not(feature = "Win32_Foundation"))] usize,
9643     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, firstelement: *mut i32) -> ::windows::runtime::HRESULT,
9644     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numberofelements: *mut i32) -> ::windows::runtime::HRESULT,
9645 );
9646 #[repr(transparent)]
9647 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9648 pub struct ISpeechPhraseReplacements(::windows::runtime::IUnknown);
9649 impl ISpeechPhraseReplacements {
Count(&self) -> ::windows::runtime::Result<i32>9650     pub unsafe fn Count(&self) -> ::windows::runtime::Result<i32> {
9651         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9652         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9653     }
Item(&self, index: i32) -> ::windows::runtime::Result<ISpeechPhraseReplacement>9654     pub unsafe fn Item(&self, index: i32) -> ::windows::runtime::Result<ISpeechPhraseReplacement> {
9655         let mut result__: <ISpeechPhraseReplacement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9656         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<ISpeechPhraseReplacement>(result__)
9657     }
_NewEnum(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown>9658     pub unsafe fn _NewEnum(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
9659         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9660         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
9661     }
9662 }
9663 unsafe impl ::windows::runtime::Interface for ISpeechPhraseReplacements {
9664     type Vtable = ISpeechPhraseReplacements_abi;
9665     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(951871023, 8791, 17701, [149, 158, 32, 105, 210, 89, 108, 5]);
9666 }
9667 impl ::std::convert::From<ISpeechPhraseReplacements> for ::windows::runtime::IUnknown {
from(value: ISpeechPhraseReplacements) -> Self9668     fn from(value: ISpeechPhraseReplacements) -> Self {
9669         unsafe { ::std::mem::transmute(value) }
9670     }
9671 }
9672 impl ::std::convert::From<&ISpeechPhraseReplacements> for ::windows::runtime::IUnknown {
from(value: &ISpeechPhraseReplacements) -> Self9673     fn from(value: &ISpeechPhraseReplacements) -> Self {
9674         ::std::convert::From::from(::std::clone::Clone::clone(value))
9675     }
9676 }
9677 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechPhraseReplacements {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9678     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9679         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9680     }
9681 }
9682 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechPhraseReplacements {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9683     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9684         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9685     }
9686 }
9687 #[cfg(feature = "Win32_System_Ole_Automation")]
9688 impl ::std::convert::From<ISpeechPhraseReplacements> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechPhraseReplacements) -> Self9689     fn from(value: ISpeechPhraseReplacements) -> Self {
9690         unsafe { ::std::mem::transmute(value) }
9691     }
9692 }
9693 #[cfg(feature = "Win32_System_Ole_Automation")]
9694 impl ::std::convert::From<&ISpeechPhraseReplacements> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechPhraseReplacements) -> Self9695     fn from(value: &ISpeechPhraseReplacements) -> Self {
9696         ::std::convert::From::from(::std::clone::Clone::clone(value))
9697     }
9698 }
9699 #[cfg(feature = "Win32_System_Ole_Automation")]
9700 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechPhraseReplacements {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>9701     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9702         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
9703     }
9704 }
9705 #[cfg(feature = "Win32_System_Ole_Automation")]
9706 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechPhraseReplacements {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>9707     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9708         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
9709     }
9710 }
9711 #[repr(C)]
9712 #[doc(hidden)]
9713 pub struct ISpeechPhraseReplacements_abi(
9714     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9715     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9716     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9717     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
9718     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9719     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
9720     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
9721     #[cfg(not(feature = "Win32_Foundation"))] usize,
9722     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9723     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
9724     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9725     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut i32) -> ::windows::runtime::HRESULT,
9726     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32, reps: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9727     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enumvariant: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9728 );
9729 #[repr(transparent)]
9730 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9731 pub struct ISpeechPhraseRule(::windows::runtime::IUnknown);
9732 impl ISpeechPhraseRule {
9733     #[cfg(feature = "Win32_Foundation")]
Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>9734     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9735         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9736         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9737     }
Id(&self) -> ::windows::runtime::Result<i32>9738     pub unsafe fn Id(&self) -> ::windows::runtime::Result<i32> {
9739         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9740         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9741     }
FirstElement(&self) -> ::windows::runtime::Result<i32>9742     pub unsafe fn FirstElement(&self) -> ::windows::runtime::Result<i32> {
9743         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9744         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9745     }
NumberOfElements(&self) -> ::windows::runtime::Result<i32>9746     pub unsafe fn NumberOfElements(&self) -> ::windows::runtime::Result<i32> {
9747         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9748         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9749     }
Parent(&self) -> ::windows::runtime::Result<ISpeechPhraseRule>9750     pub unsafe fn Parent(&self) -> ::windows::runtime::Result<ISpeechPhraseRule> {
9751         let mut result__: <ISpeechPhraseRule as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9752         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechPhraseRule>(result__)
9753     }
Children(&self) -> ::windows::runtime::Result<ISpeechPhraseRules>9754     pub unsafe fn Children(&self) -> ::windows::runtime::Result<ISpeechPhraseRules> {
9755         let mut result__: <ISpeechPhraseRules as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9756         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechPhraseRules>(result__)
9757     }
Confidence(&self) -> ::windows::runtime::Result<SpeechEngineConfidence>9758     pub unsafe fn Confidence(&self) -> ::windows::runtime::Result<SpeechEngineConfidence> {
9759         let mut result__: <SpeechEngineConfidence as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9760         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SpeechEngineConfidence>(result__)
9761     }
EngineConfidence(&self) -> ::windows::runtime::Result<f32>9762     pub unsafe fn EngineConfidence(&self) -> ::windows::runtime::Result<f32> {
9763         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9764         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
9765     }
9766 }
9767 unsafe impl ::windows::runtime::Interface for ISpeechPhraseRule {
9768     type Vtable = ISpeechPhraseRule_abi;
9769     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2814370066, 42144, 18649, [182, 2, 195, 19, 132, 63, 105, 100]);
9770 }
9771 impl ::std::convert::From<ISpeechPhraseRule> for ::windows::runtime::IUnknown {
from(value: ISpeechPhraseRule) -> Self9772     fn from(value: ISpeechPhraseRule) -> Self {
9773         unsafe { ::std::mem::transmute(value) }
9774     }
9775 }
9776 impl ::std::convert::From<&ISpeechPhraseRule> for ::windows::runtime::IUnknown {
from(value: &ISpeechPhraseRule) -> Self9777     fn from(value: &ISpeechPhraseRule) -> Self {
9778         ::std::convert::From::from(::std::clone::Clone::clone(value))
9779     }
9780 }
9781 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechPhraseRule {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9782     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9783         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9784     }
9785 }
9786 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechPhraseRule {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9787     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9788         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9789     }
9790 }
9791 #[cfg(feature = "Win32_System_Ole_Automation")]
9792 impl ::std::convert::From<ISpeechPhraseRule> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechPhraseRule) -> Self9793     fn from(value: ISpeechPhraseRule) -> Self {
9794         unsafe { ::std::mem::transmute(value) }
9795     }
9796 }
9797 #[cfg(feature = "Win32_System_Ole_Automation")]
9798 impl ::std::convert::From<&ISpeechPhraseRule> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechPhraseRule) -> Self9799     fn from(value: &ISpeechPhraseRule) -> Self {
9800         ::std::convert::From::from(::std::clone::Clone::clone(value))
9801     }
9802 }
9803 #[cfg(feature = "Win32_System_Ole_Automation")]
9804 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechPhraseRule {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>9805     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9806         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
9807     }
9808 }
9809 #[cfg(feature = "Win32_System_Ole_Automation")]
9810 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechPhraseRule {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>9811     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9812         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
9813     }
9814 }
9815 #[repr(C)]
9816 #[doc(hidden)]
9817 pub struct ISpeechPhraseRule_abi(
9818     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9819     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9820     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9821     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
9822     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9823     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
9824     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
9825     #[cfg(not(feature = "Win32_Foundation"))] usize,
9826     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9827     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
9828     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9829     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9830     #[cfg(not(feature = "Win32_Foundation"))] usize,
9831     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut i32) -> ::windows::runtime::HRESULT,
9832     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, firstelement: *mut i32) -> ::windows::runtime::HRESULT,
9833     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numberofelements: *mut i32) -> ::windows::runtime::HRESULT,
9834     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parent: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9835     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, children: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9836     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, actualconfidence: *mut SpeechEngineConfidence) -> ::windows::runtime::HRESULT,
9837     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, engineconfidence: *mut f32) -> ::windows::runtime::HRESULT,
9838 );
9839 #[repr(transparent)]
9840 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9841 pub struct ISpeechPhraseRules(::windows::runtime::IUnknown);
9842 impl ISpeechPhraseRules {
Count(&self) -> ::windows::runtime::Result<i32>9843     pub unsafe fn Count(&self) -> ::windows::runtime::Result<i32> {
9844         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9845         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9846     }
Item(&self, index: i32) -> ::windows::runtime::Result<ISpeechPhraseRule>9847     pub unsafe fn Item(&self, index: i32) -> ::windows::runtime::Result<ISpeechPhraseRule> {
9848         let mut result__: <ISpeechPhraseRule as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9849         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<ISpeechPhraseRule>(result__)
9850     }
_NewEnum(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown>9851     pub unsafe fn _NewEnum(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
9852         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9853         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
9854     }
9855 }
9856 unsafe impl ::windows::runtime::Interface for ISpeechPhraseRules {
9857     type Vtable = ISpeechPhraseRules_abi;
9858     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2420626835, 477, 19314, [129, 163, 228, 160, 202, 105, 244, 7]);
9859 }
9860 impl ::std::convert::From<ISpeechPhraseRules> for ::windows::runtime::IUnknown {
from(value: ISpeechPhraseRules) -> Self9861     fn from(value: ISpeechPhraseRules) -> Self {
9862         unsafe { ::std::mem::transmute(value) }
9863     }
9864 }
9865 impl ::std::convert::From<&ISpeechPhraseRules> for ::windows::runtime::IUnknown {
from(value: &ISpeechPhraseRules) -> Self9866     fn from(value: &ISpeechPhraseRules) -> Self {
9867         ::std::convert::From::from(::std::clone::Clone::clone(value))
9868     }
9869 }
9870 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechPhraseRules {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9871     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9872         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9873     }
9874 }
9875 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechPhraseRules {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9876     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9877         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9878     }
9879 }
9880 #[cfg(feature = "Win32_System_Ole_Automation")]
9881 impl ::std::convert::From<ISpeechPhraseRules> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechPhraseRules) -> Self9882     fn from(value: ISpeechPhraseRules) -> Self {
9883         unsafe { ::std::mem::transmute(value) }
9884     }
9885 }
9886 #[cfg(feature = "Win32_System_Ole_Automation")]
9887 impl ::std::convert::From<&ISpeechPhraseRules> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechPhraseRules) -> Self9888     fn from(value: &ISpeechPhraseRules) -> Self {
9889         ::std::convert::From::from(::std::clone::Clone::clone(value))
9890     }
9891 }
9892 #[cfg(feature = "Win32_System_Ole_Automation")]
9893 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechPhraseRules {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>9894     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9895         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
9896     }
9897 }
9898 #[cfg(feature = "Win32_System_Ole_Automation")]
9899 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechPhraseRules {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>9900     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9901         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
9902     }
9903 }
9904 #[repr(C)]
9905 #[doc(hidden)]
9906 pub struct ISpeechPhraseRules_abi(
9907     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9908     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9909     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9910     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
9911     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9912     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
9913     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
9914     #[cfg(not(feature = "Win32_Foundation"))] usize,
9915     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9916     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
9917     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9918     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut i32) -> ::windows::runtime::HRESULT,
9919     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32, rule: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9920     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enumvariant: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9921 );
9922 #[repr(transparent)]
9923 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9924 pub struct ISpeechRecoContext(::windows::runtime::IUnknown);
9925 impl ISpeechRecoContext {
Recognizer(&self) -> ::windows::runtime::Result<ISpeechRecognizer>9926     pub unsafe fn Recognizer(&self) -> ::windows::runtime::Result<ISpeechRecognizer> {
9927         let mut result__: <ISpeechRecognizer as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9928         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechRecognizer>(result__)
9929     }
AudioInputInterferenceStatus(&self) -> ::windows::runtime::Result<SpeechInterference>9930     pub unsafe fn AudioInputInterferenceStatus(&self) -> ::windows::runtime::Result<SpeechInterference> {
9931         let mut result__: <SpeechInterference as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9932         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SpeechInterference>(result__)
9933     }
9934     #[cfg(feature = "Win32_Foundation")]
RequestedUIType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>9935     pub unsafe fn RequestedUIType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9936         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9937         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9938     }
putref_Voice<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechVoice>>(&self, voice: Param0) -> ::windows::runtime::Result<()>9939     pub unsafe fn putref_Voice<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechVoice>>(&self, voice: Param0) -> ::windows::runtime::Result<()> {
9940         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), voice.into_param().abi()).ok()
9941     }
Voice(&self) -> ::windows::runtime::Result<ISpeechVoice>9942     pub unsafe fn Voice(&self) -> ::windows::runtime::Result<ISpeechVoice> {
9943         let mut result__: <ISpeechVoice as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9944         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechVoice>(result__)
9945     }
SetAllowVoiceFormatMatchingOnNextSet(&self, allow: i16) -> ::windows::runtime::Result<()>9946     pub unsafe fn SetAllowVoiceFormatMatchingOnNextSet(&self, allow: i16) -> ::windows::runtime::Result<()> {
9947         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(allow)).ok()
9948     }
AllowVoiceFormatMatchingOnNextSet(&self) -> ::windows::runtime::Result<i16>9949     pub unsafe fn AllowVoiceFormatMatchingOnNextSet(&self) -> ::windows::runtime::Result<i16> {
9950         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9951         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
9952     }
SetVoicePurgeEvent(&self, eventinterest: SpeechRecoEvents) -> ::windows::runtime::Result<()>9953     pub unsafe fn SetVoicePurgeEvent(&self, eventinterest: SpeechRecoEvents) -> ::windows::runtime::Result<()> {
9954         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(eventinterest)).ok()
9955     }
VoicePurgeEvent(&self) -> ::windows::runtime::Result<SpeechRecoEvents>9956     pub unsafe fn VoicePurgeEvent(&self) -> ::windows::runtime::Result<SpeechRecoEvents> {
9957         let mut result__: <SpeechRecoEvents as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9958         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SpeechRecoEvents>(result__)
9959     }
SetEventInterests(&self, eventinterest: SpeechRecoEvents) -> ::windows::runtime::Result<()>9960     pub unsafe fn SetEventInterests(&self, eventinterest: SpeechRecoEvents) -> ::windows::runtime::Result<()> {
9961         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(eventinterest)).ok()
9962     }
EventInterests(&self) -> ::windows::runtime::Result<SpeechRecoEvents>9963     pub unsafe fn EventInterests(&self) -> ::windows::runtime::Result<SpeechRecoEvents> {
9964         let mut result__: <SpeechRecoEvents as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9965         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SpeechRecoEvents>(result__)
9966     }
SetCmdMaxAlternates(&self, maxalternates: i32) -> ::windows::runtime::Result<()>9967     pub unsafe fn SetCmdMaxAlternates(&self, maxalternates: i32) -> ::windows::runtime::Result<()> {
9968         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(maxalternates)).ok()
9969     }
CmdMaxAlternates(&self) -> ::windows::runtime::Result<i32>9970     pub unsafe fn CmdMaxAlternates(&self) -> ::windows::runtime::Result<i32> {
9971         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9972         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9973     }
SetState(&self, state: SpeechRecoContextState) -> ::windows::runtime::Result<()>9974     pub unsafe fn SetState(&self, state: SpeechRecoContextState) -> ::windows::runtime::Result<()> {
9975         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(state)).ok()
9976     }
State(&self) -> ::windows::runtime::Result<SpeechRecoContextState>9977     pub unsafe fn State(&self) -> ::windows::runtime::Result<SpeechRecoContextState> {
9978         let mut result__: <SpeechRecoContextState as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9979         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SpeechRecoContextState>(result__)
9980     }
SetRetainedAudio(&self, option: SpeechRetainedAudioOptions) -> ::windows::runtime::Result<()>9981     pub unsafe fn SetRetainedAudio(&self, option: SpeechRetainedAudioOptions) -> ::windows::runtime::Result<()> {
9982         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(option)).ok()
9983     }
RetainedAudio(&self) -> ::windows::runtime::Result<SpeechRetainedAudioOptions>9984     pub unsafe fn RetainedAudio(&self) -> ::windows::runtime::Result<SpeechRetainedAudioOptions> {
9985         let mut result__: <SpeechRetainedAudioOptions as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9986         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SpeechRetainedAudioOptions>(result__)
9987     }
putref_RetainedAudioFormat<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechAudioFormat>>(&self, format: Param0) -> ::windows::runtime::Result<()>9988     pub unsafe fn putref_RetainedAudioFormat<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechAudioFormat>>(&self, format: Param0) -> ::windows::runtime::Result<()> {
9989         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), format.into_param().abi()).ok()
9990     }
RetainedAudioFormat(&self) -> ::windows::runtime::Result<ISpeechAudioFormat>9991     pub unsafe fn RetainedAudioFormat(&self) -> ::windows::runtime::Result<ISpeechAudioFormat> {
9992         let mut result__: <ISpeechAudioFormat as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9993         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechAudioFormat>(result__)
9994     }
Pause(&self) -> ::windows::runtime::Result<()>9995     pub unsafe fn Pause(&self) -> ::windows::runtime::Result<()> {
9996         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self)).ok()
9997     }
Resume(&self) -> ::windows::runtime::Result<()>9998     pub unsafe fn Resume(&self) -> ::windows::runtime::Result<()> {
9999         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self)).ok()
10000     }
10001     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
CreateGrammar<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, grammarid: Param0) -> ::windows::runtime::Result<ISpeechRecoGrammar>10002     pub unsafe fn CreateGrammar<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, grammarid: Param0) -> ::windows::runtime::Result<ISpeechRecoGrammar> {
10003         let mut result__: <ISpeechRecoGrammar as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10004         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), grammarid.into_param().abi(), &mut result__).from_abi::<ISpeechRecoGrammar>(result__)
10005     }
10006     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
CreateResultFromMemory(&self, resultblock: *const super::super::System::Com::VARIANT) -> ::windows::runtime::Result<ISpeechRecoResult>10007     pub unsafe fn CreateResultFromMemory(&self, resultblock: *const super::super::System::Com::VARIANT) -> ::windows::runtime::Result<ISpeechRecoResult> {
10008         let mut result__: <ISpeechRecoResult as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10009         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(resultblock), &mut result__).from_abi::<ISpeechRecoResult>(result__)
10010     }
10011     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Bookmark<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>, Param2: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, options: SpeechBookmarkOptions, streampos: Param1, bookmarkid: Param2) -> ::windows::runtime::Result<()>10012     pub unsafe fn Bookmark<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>, Param2: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, options: SpeechBookmarkOptions, streampos: Param1, bookmarkid: Param2) -> ::windows::runtime::Result<()> {
10013         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(options), streampos.into_param().abi(), bookmarkid.into_param().abi()).ok()
10014     }
10015     #[cfg(feature = "Win32_Foundation")]
SetAdaptationData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, adaptationstring: Param0) -> ::windows::runtime::Result<()>10016     pub unsafe fn SetAdaptationData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, adaptationstring: Param0) -> ::windows::runtime::Result<()> {
10017         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), adaptationstring.into_param().abi()).ok()
10018     }
10019 }
10020 unsafe impl ::windows::runtime::Interface for ISpeechRecoContext {
10021     type Vtable = ISpeechRecoContext_abi;
10022     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1477092509, 32286, 18441, [184, 226, 87, 218, 128, 97, 4, 184]);
10023 }
10024 impl ::std::convert::From<ISpeechRecoContext> for ::windows::runtime::IUnknown {
from(value: ISpeechRecoContext) -> Self10025     fn from(value: ISpeechRecoContext) -> Self {
10026         unsafe { ::std::mem::transmute(value) }
10027     }
10028 }
10029 impl ::std::convert::From<&ISpeechRecoContext> for ::windows::runtime::IUnknown {
from(value: &ISpeechRecoContext) -> Self10030     fn from(value: &ISpeechRecoContext) -> Self {
10031         ::std::convert::From::from(::std::clone::Clone::clone(value))
10032     }
10033 }
10034 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechRecoContext {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10035     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10036         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10037     }
10038 }
10039 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechRecoContext {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10040     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10041         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10042     }
10043 }
10044 #[cfg(feature = "Win32_System_Ole_Automation")]
10045 impl ::std::convert::From<ISpeechRecoContext> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechRecoContext) -> Self10046     fn from(value: ISpeechRecoContext) -> Self {
10047         unsafe { ::std::mem::transmute(value) }
10048     }
10049 }
10050 #[cfg(feature = "Win32_System_Ole_Automation")]
10051 impl ::std::convert::From<&ISpeechRecoContext> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechRecoContext) -> Self10052     fn from(value: &ISpeechRecoContext) -> Self {
10053         ::std::convert::From::from(::std::clone::Clone::clone(value))
10054     }
10055 }
10056 #[cfg(feature = "Win32_System_Ole_Automation")]
10057 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechRecoContext {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>10058     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10059         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
10060     }
10061 }
10062 #[cfg(feature = "Win32_System_Ole_Automation")]
10063 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechRecoContext {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>10064     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10065         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
10066     }
10067 }
10068 #[repr(C)]
10069 #[doc(hidden)]
10070 pub struct ISpeechRecoContext_abi(
10071     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10072     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10073     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10074     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
10075     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10076     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
10077     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
10078     #[cfg(not(feature = "Win32_Foundation"))] usize,
10079     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10080     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
10081     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10082     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, recognizer: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10083     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, interference: *mut SpeechInterference) -> ::windows::runtime::HRESULT,
10084     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uitype: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10085     #[cfg(not(feature = "Win32_Foundation"))] usize,
10086     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, voice: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10087     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, voice: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10088     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, allow: i16) -> ::windows::runtime::HRESULT,
10089     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pallow: *mut i16) -> ::windows::runtime::HRESULT,
10090     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventinterest: SpeechRecoEvents) -> ::windows::runtime::HRESULT,
10091     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventinterest: *mut SpeechRecoEvents) -> ::windows::runtime::HRESULT,
10092     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventinterest: SpeechRecoEvents) -> ::windows::runtime::HRESULT,
10093     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventinterest: *mut SpeechRecoEvents) -> ::windows::runtime::HRESULT,
10094     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, maxalternates: i32) -> ::windows::runtime::HRESULT,
10095     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, maxalternates: *mut i32) -> ::windows::runtime::HRESULT,
10096     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, state: SpeechRecoContextState) -> ::windows::runtime::HRESULT,
10097     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, state: *mut SpeechRecoContextState) -> ::windows::runtime::HRESULT,
10098     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, option: SpeechRetainedAudioOptions) -> ::windows::runtime::HRESULT,
10099     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, option: *mut SpeechRetainedAudioOptions) -> ::windows::runtime::HRESULT,
10100     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, format: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10101     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, format: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10102     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10103     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10104     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, grammarid: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, grammar: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10105     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10106     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, resultblock: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, result: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10107     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10108     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: SpeechBookmarkOptions, streampos: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, bookmarkid: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
10109     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10110     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, adaptationstring: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10111     #[cfg(not(feature = "Win32_Foundation"))] usize,
10112 );
10113 #[repr(transparent)]
10114 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10115 pub struct ISpeechRecoGrammar(::windows::runtime::IUnknown);
10116 impl ISpeechRecoGrammar {
10117     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Id(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>10118     pub unsafe fn Id(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
10119         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10120         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
10121     }
RecoContext(&self) -> ::windows::runtime::Result<ISpeechRecoContext>10122     pub unsafe fn RecoContext(&self) -> ::windows::runtime::Result<ISpeechRecoContext> {
10123         let mut result__: <ISpeechRecoContext as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10124         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechRecoContext>(result__)
10125     }
SetState(&self, state: SpeechGrammarState) -> ::windows::runtime::Result<()>10126     pub unsafe fn SetState(&self, state: SpeechGrammarState) -> ::windows::runtime::Result<()> {
10127         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(state)).ok()
10128     }
State(&self) -> ::windows::runtime::Result<SpeechGrammarState>10129     pub unsafe fn State(&self) -> ::windows::runtime::Result<SpeechGrammarState> {
10130         let mut result__: <SpeechGrammarState as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10131         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SpeechGrammarState>(result__)
10132     }
Rules(&self) -> ::windows::runtime::Result<ISpeechGrammarRules>10133     pub unsafe fn Rules(&self) -> ::windows::runtime::Result<ISpeechGrammarRules> {
10134         let mut result__: <ISpeechGrammarRules as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10135         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechGrammarRules>(result__)
10136     }
Reset(&self, newlanguage: i32) -> ::windows::runtime::Result<()>10137     pub unsafe fn Reset(&self, newlanguage: i32) -> ::windows::runtime::Result<()> {
10138         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(newlanguage)).ok()
10139     }
10140     #[cfg(feature = "Win32_Foundation")]
CmdLoadFromFile<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, filename: Param0, loadoption: SpeechLoadOption) -> ::windows::runtime::Result<()>10141     pub unsafe fn CmdLoadFromFile<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, filename: Param0, loadoption: SpeechLoadOption) -> ::windows::runtime::Result<()> {
10142         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), filename.into_param().abi(), ::std::mem::transmute(loadoption)).ok()
10143     }
10144     #[cfg(feature = "Win32_Foundation")]
CmdLoadFromObject<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, classid: Param0, grammarname: Param1, loadoption: SpeechLoadOption) -> ::windows::runtime::Result<()>10145     pub unsafe fn CmdLoadFromObject<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, classid: Param0, grammarname: Param1, loadoption: SpeechLoadOption) -> ::windows::runtime::Result<()> {
10146         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), classid.into_param().abi(), grammarname.into_param().abi(), ::std::mem::transmute(loadoption)).ok()
10147     }
10148     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
CmdLoadFromResource<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>, Param2: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, hmodule: i32, resourcename: Param1, resourcetype: Param2, languageid: i32, loadoption: SpeechLoadOption) -> ::windows::runtime::Result<()>10149     pub unsafe fn CmdLoadFromResource<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>, Param2: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, hmodule: i32, resourcename: Param1, resourcetype: Param2, languageid: i32, loadoption: SpeechLoadOption) -> ::windows::runtime::Result<()> {
10150         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(hmodule), resourcename.into_param().abi(), resourcetype.into_param().abi(), ::std::mem::transmute(languageid), ::std::mem::transmute(loadoption)).ok()
10151     }
10152     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
CmdLoadFromMemory<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, grammardata: Param0, loadoption: SpeechLoadOption) -> ::windows::runtime::Result<()>10153     pub unsafe fn CmdLoadFromMemory<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, grammardata: Param0, loadoption: SpeechLoadOption) -> ::windows::runtime::Result<()> {
10154         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), grammardata.into_param().abi(), ::std::mem::transmute(loadoption)).ok()
10155     }
10156     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
CmdLoadFromProprietaryGrammar<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, proprietaryguid: Param0, proprietarystring: Param1, proprietarydata: Param2, loadoption: SpeechLoadOption) -> ::windows::runtime::Result<()>10157     pub unsafe fn CmdLoadFromProprietaryGrammar<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, proprietaryguid: Param0, proprietarystring: Param1, proprietarydata: Param2, loadoption: SpeechLoadOption) -> ::windows::runtime::Result<()> {
10158         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), proprietaryguid.into_param().abi(), proprietarystring.into_param().abi(), proprietarydata.into_param().abi(), ::std::mem::transmute(loadoption)).ok()
10159     }
10160     #[cfg(feature = "Win32_Foundation")]
CmdSetRuleState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0, state: SpeechRuleState) -> ::windows::runtime::Result<()>10161     pub unsafe fn CmdSetRuleState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0, state: SpeechRuleState) -> ::windows::runtime::Result<()> {
10162         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), name.into_param().abi(), ::std::mem::transmute(state)).ok()
10163     }
CmdSetRuleIdState(&self, ruleid: i32, state: SpeechRuleState) -> ::windows::runtime::Result<()>10164     pub unsafe fn CmdSetRuleIdState(&self, ruleid: i32, state: SpeechRuleState) -> ::windows::runtime::Result<()> {
10165         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(ruleid), ::std::mem::transmute(state)).ok()
10166     }
10167     #[cfg(feature = "Win32_Foundation")]
DictationLoad<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, topicname: Param0, loadoption: SpeechLoadOption) -> ::windows::runtime::Result<()>10168     pub unsafe fn DictationLoad<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, topicname: Param0, loadoption: SpeechLoadOption) -> ::windows::runtime::Result<()> {
10169         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), topicname.into_param().abi(), ::std::mem::transmute(loadoption)).ok()
10170     }
DictationUnload(&self) -> ::windows::runtime::Result<()>10171     pub unsafe fn DictationUnload(&self) -> ::windows::runtime::Result<()> {
10172         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self)).ok()
10173     }
DictationSetState(&self, state: SpeechRuleState) -> ::windows::runtime::Result<()>10174     pub unsafe fn DictationSetState(&self, state: SpeechRuleState) -> ::windows::runtime::Result<()> {
10175         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(state)).ok()
10176     }
10177     #[cfg(feature = "Win32_Foundation")]
SetWordSequenceData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, ISpeechTextSelectionInformation>>(&self, text: Param0, textlength: i32, info: Param2) -> ::windows::runtime::Result<()>10178     pub unsafe fn SetWordSequenceData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, ISpeechTextSelectionInformation>>(&self, text: Param0, textlength: i32, info: Param2) -> ::windows::runtime::Result<()> {
10179         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), text.into_param().abi(), ::std::mem::transmute(textlength), info.into_param().abi()).ok()
10180     }
SetTextSelection<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechTextSelectionInformation>>(&self, info: Param0) -> ::windows::runtime::Result<()>10181     pub unsafe fn SetTextSelection<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechTextSelectionInformation>>(&self, info: Param0) -> ::windows::runtime::Result<()> {
10182         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), info.into_param().abi()).ok()
10183     }
10184     #[cfg(feature = "Win32_Foundation")]
IsPronounceable<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, word: Param0) -> ::windows::runtime::Result<SpeechWordPronounceable>10185     pub unsafe fn IsPronounceable<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, word: Param0) -> ::windows::runtime::Result<SpeechWordPronounceable> {
10186         let mut result__: <SpeechWordPronounceable as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10187         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), word.into_param().abi(), &mut result__).from_abi::<SpeechWordPronounceable>(result__)
10188     }
10189 }
10190 unsafe impl ::windows::runtime::Interface for ISpeechRecoGrammar {
10191     type Vtable = ISpeechRecoGrammar_abi;
10192     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3067541407, 8536, 20048, [181, 188, 154, 156, 205, 133, 42, 9]);
10193 }
10194 impl ::std::convert::From<ISpeechRecoGrammar> for ::windows::runtime::IUnknown {
from(value: ISpeechRecoGrammar) -> Self10195     fn from(value: ISpeechRecoGrammar) -> Self {
10196         unsafe { ::std::mem::transmute(value) }
10197     }
10198 }
10199 impl ::std::convert::From<&ISpeechRecoGrammar> for ::windows::runtime::IUnknown {
from(value: &ISpeechRecoGrammar) -> Self10200     fn from(value: &ISpeechRecoGrammar) -> Self {
10201         ::std::convert::From::from(::std::clone::Clone::clone(value))
10202     }
10203 }
10204 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechRecoGrammar {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10205     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10206         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10207     }
10208 }
10209 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechRecoGrammar {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10210     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10211         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10212     }
10213 }
10214 #[cfg(feature = "Win32_System_Ole_Automation")]
10215 impl ::std::convert::From<ISpeechRecoGrammar> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechRecoGrammar) -> Self10216     fn from(value: ISpeechRecoGrammar) -> Self {
10217         unsafe { ::std::mem::transmute(value) }
10218     }
10219 }
10220 #[cfg(feature = "Win32_System_Ole_Automation")]
10221 impl ::std::convert::From<&ISpeechRecoGrammar> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechRecoGrammar) -> Self10222     fn from(value: &ISpeechRecoGrammar) -> Self {
10223         ::std::convert::From::from(::std::clone::Clone::clone(value))
10224     }
10225 }
10226 #[cfg(feature = "Win32_System_Ole_Automation")]
10227 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechRecoGrammar {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>10228     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10229         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
10230     }
10231 }
10232 #[cfg(feature = "Win32_System_Ole_Automation")]
10233 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechRecoGrammar {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>10234     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10235         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
10236     }
10237 }
10238 #[repr(C)]
10239 #[doc(hidden)]
10240 pub struct ISpeechRecoGrammar_abi(
10241     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10242     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10243     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10244     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
10245     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10246     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
10247     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
10248     #[cfg(not(feature = "Win32_Foundation"))] usize,
10249     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10250     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
10251     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10252     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
10253     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10254     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, recocontext: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10255     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, state: SpeechGrammarState) -> ::windows::runtime::HRESULT,
10256     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, state: *mut SpeechGrammarState) -> ::windows::runtime::HRESULT,
10257     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rules: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10258     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newlanguage: i32) -> ::windows::runtime::HRESULT,
10259     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, loadoption: SpeechLoadOption) -> ::windows::runtime::HRESULT,
10260     #[cfg(not(feature = "Win32_Foundation"))] usize,
10261     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, classid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, grammarname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, loadoption: SpeechLoadOption) -> ::windows::runtime::HRESULT,
10262     #[cfg(not(feature = "Win32_Foundation"))] usize,
10263     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hmodule: i32, resourcename: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, resourcetype: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, languageid: i32, loadoption: SpeechLoadOption) -> ::windows::runtime::HRESULT,
10264     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10265     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, grammardata: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, loadoption: SpeechLoadOption) -> ::windows::runtime::HRESULT,
10266     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10267     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, proprietaryguid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, proprietarystring: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, proprietarydata: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, loadoption: SpeechLoadOption) -> ::windows::runtime::HRESULT,
10268     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10269     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, state: SpeechRuleState) -> ::windows::runtime::HRESULT,
10270     #[cfg(not(feature = "Win32_Foundation"))] usize,
10271     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ruleid: i32, state: SpeechRuleState) -> ::windows::runtime::HRESULT,
10272     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, topicname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, loadoption: SpeechLoadOption) -> ::windows::runtime::HRESULT,
10273     #[cfg(not(feature = "Win32_Foundation"))] usize,
10274     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10275     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, state: SpeechRuleState) -> ::windows::runtime::HRESULT,
10276     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, text: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, textlength: i32, info: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10277     #[cfg(not(feature = "Win32_Foundation"))] usize,
10278     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, info: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10279     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, word: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, wordpronounceable: *mut SpeechWordPronounceable) -> ::windows::runtime::HRESULT,
10280     #[cfg(not(feature = "Win32_Foundation"))] usize,
10281 );
10282 #[repr(transparent)]
10283 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10284 pub struct ISpeechRecoResult(::windows::runtime::IUnknown);
10285 impl ISpeechRecoResult {
RecoContext(&self) -> ::windows::runtime::Result<ISpeechRecoContext>10286     pub unsafe fn RecoContext(&self) -> ::windows::runtime::Result<ISpeechRecoContext> {
10287         let mut result__: <ISpeechRecoContext as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10288         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechRecoContext>(result__)
10289     }
Times(&self) -> ::windows::runtime::Result<ISpeechRecoResultTimes>10290     pub unsafe fn Times(&self) -> ::windows::runtime::Result<ISpeechRecoResultTimes> {
10291         let mut result__: <ISpeechRecoResultTimes as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10292         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechRecoResultTimes>(result__)
10293     }
putref_AudioFormat<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechAudioFormat>>(&self, format: Param0) -> ::windows::runtime::Result<()>10294     pub unsafe fn putref_AudioFormat<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechAudioFormat>>(&self, format: Param0) -> ::windows::runtime::Result<()> {
10295         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), format.into_param().abi()).ok()
10296     }
AudioFormat(&self) -> ::windows::runtime::Result<ISpeechAudioFormat>10297     pub unsafe fn AudioFormat(&self) -> ::windows::runtime::Result<ISpeechAudioFormat> {
10298         let mut result__: <ISpeechAudioFormat as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10299         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechAudioFormat>(result__)
10300     }
PhraseInfo(&self) -> ::windows::runtime::Result<ISpeechPhraseInfo>10301     pub unsafe fn PhraseInfo(&self) -> ::windows::runtime::Result<ISpeechPhraseInfo> {
10302         let mut result__: <ISpeechPhraseInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10303         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechPhraseInfo>(result__)
10304     }
Alternates(&self, requestcount: i32, startelement: i32, elements: i32) -> ::windows::runtime::Result<ISpeechPhraseAlternates>10305     pub unsafe fn Alternates(&self, requestcount: i32, startelement: i32, elements: i32) -> ::windows::runtime::Result<ISpeechPhraseAlternates> {
10306         let mut result__: <ISpeechPhraseAlternates as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10307         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(requestcount), ::std::mem::transmute(startelement), ::std::mem::transmute(elements), &mut result__).from_abi::<ISpeechPhraseAlternates>(result__)
10308     }
Audio(&self, startelement: i32, elements: i32) -> ::windows::runtime::Result<ISpeechMemoryStream>10309     pub unsafe fn Audio(&self, startelement: i32, elements: i32) -> ::windows::runtime::Result<ISpeechMemoryStream> {
10310         let mut result__: <ISpeechMemoryStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10311         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(startelement), ::std::mem::transmute(elements), &mut result__).from_abi::<ISpeechMemoryStream>(result__)
10312     }
SpeakAudio(&self, startelement: i32, elements: i32, flags: SpeechVoiceSpeakFlags) -> ::windows::runtime::Result<i32>10313     pub unsafe fn SpeakAudio(&self, startelement: i32, elements: i32, flags: SpeechVoiceSpeakFlags) -> ::windows::runtime::Result<i32> {
10314         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10315         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(startelement), ::std::mem::transmute(elements), ::std::mem::transmute(flags), &mut result__).from_abi::<i32>(result__)
10316     }
10317     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
SaveToMemory(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>10318     pub unsafe fn SaveToMemory(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
10319         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10320         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
10321     }
DiscardResultInfo(&self, valuetypes: SpeechDiscardType) -> ::windows::runtime::Result<()>10322     pub unsafe fn DiscardResultInfo(&self, valuetypes: SpeechDiscardType) -> ::windows::runtime::Result<()> {
10323         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(valuetypes)).ok()
10324     }
10325 }
10326 unsafe impl ::windows::runtime::Interface for ISpeechRecoResult {
10327     type Vtable = ISpeechRecoResult_abi;
10328     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3978852815, 52953, 20198, [165, 52, 222, 1, 145, 213, 70, 141]);
10329 }
10330 impl ::std::convert::From<ISpeechRecoResult> for ::windows::runtime::IUnknown {
from(value: ISpeechRecoResult) -> Self10331     fn from(value: ISpeechRecoResult) -> Self {
10332         unsafe { ::std::mem::transmute(value) }
10333     }
10334 }
10335 impl ::std::convert::From<&ISpeechRecoResult> for ::windows::runtime::IUnknown {
from(value: &ISpeechRecoResult) -> Self10336     fn from(value: &ISpeechRecoResult) -> Self {
10337         ::std::convert::From::from(::std::clone::Clone::clone(value))
10338     }
10339 }
10340 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechRecoResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10341     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10342         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10343     }
10344 }
10345 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechRecoResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10346     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10347         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10348     }
10349 }
10350 #[cfg(feature = "Win32_System_Ole_Automation")]
10351 impl ::std::convert::From<ISpeechRecoResult> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechRecoResult) -> Self10352     fn from(value: ISpeechRecoResult) -> Self {
10353         unsafe { ::std::mem::transmute(value) }
10354     }
10355 }
10356 #[cfg(feature = "Win32_System_Ole_Automation")]
10357 impl ::std::convert::From<&ISpeechRecoResult> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechRecoResult) -> Self10358     fn from(value: &ISpeechRecoResult) -> Self {
10359         ::std::convert::From::from(::std::clone::Clone::clone(value))
10360     }
10361 }
10362 #[cfg(feature = "Win32_System_Ole_Automation")]
10363 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechRecoResult {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>10364     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10365         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
10366     }
10367 }
10368 #[cfg(feature = "Win32_System_Ole_Automation")]
10369 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechRecoResult {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>10370     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10371         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
10372     }
10373 }
10374 #[repr(C)]
10375 #[doc(hidden)]
10376 pub struct ISpeechRecoResult_abi(
10377     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10378     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10379     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10380     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
10381     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10382     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
10383     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
10384     #[cfg(not(feature = "Win32_Foundation"))] usize,
10385     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10386     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
10387     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10388     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, recocontext: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10389     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, times: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10390     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, format: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10391     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, format: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10392     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, phraseinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10393     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, requestcount: i32, startelement: i32, elements: i32, alternates: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10394     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, startelement: i32, elements: i32, stream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10395     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, startelement: i32, elements: i32, flags: SpeechVoiceSpeakFlags, streamnumber: *mut i32) -> ::windows::runtime::HRESULT,
10396     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, resultblock: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
10397     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10398     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, valuetypes: SpeechDiscardType) -> ::windows::runtime::HRESULT,
10399 );
10400 #[repr(transparent)]
10401 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10402 pub struct ISpeechRecoResult2(::windows::runtime::IUnknown);
10403 impl ISpeechRecoResult2 {
GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32>10404     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
10405         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10406         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
10407     }
10408     #[cfg(feature = "Win32_System_Ole_Automation")]
GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo>10409     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
10410         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10411         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
10412     }
10413     #[cfg(feature = "Win32_Foundation")]
GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()>10414     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
10415         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
10416     }
10417     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()>10418     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
10419         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
10420     }
RecoContext(&self) -> ::windows::runtime::Result<ISpeechRecoContext>10421     pub unsafe fn RecoContext(&self) -> ::windows::runtime::Result<ISpeechRecoContext> {
10422         let mut result__: <ISpeechRecoContext as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10423         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechRecoContext>(result__)
10424     }
Times(&self) -> ::windows::runtime::Result<ISpeechRecoResultTimes>10425     pub unsafe fn Times(&self) -> ::windows::runtime::Result<ISpeechRecoResultTimes> {
10426         let mut result__: <ISpeechRecoResultTimes as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10427         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechRecoResultTimes>(result__)
10428     }
putref_AudioFormat<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechAudioFormat>>(&self, format: Param0) -> ::windows::runtime::Result<()>10429     pub unsafe fn putref_AudioFormat<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechAudioFormat>>(&self, format: Param0) -> ::windows::runtime::Result<()> {
10430         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), format.into_param().abi()).ok()
10431     }
AudioFormat(&self) -> ::windows::runtime::Result<ISpeechAudioFormat>10432     pub unsafe fn AudioFormat(&self) -> ::windows::runtime::Result<ISpeechAudioFormat> {
10433         let mut result__: <ISpeechAudioFormat as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10434         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechAudioFormat>(result__)
10435     }
PhraseInfo(&self) -> ::windows::runtime::Result<ISpeechPhraseInfo>10436     pub unsafe fn PhraseInfo(&self) -> ::windows::runtime::Result<ISpeechPhraseInfo> {
10437         let mut result__: <ISpeechPhraseInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10438         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechPhraseInfo>(result__)
10439     }
Alternates(&self, requestcount: i32, startelement: i32, elements: i32) -> ::windows::runtime::Result<ISpeechPhraseAlternates>10440     pub unsafe fn Alternates(&self, requestcount: i32, startelement: i32, elements: i32) -> ::windows::runtime::Result<ISpeechPhraseAlternates> {
10441         let mut result__: <ISpeechPhraseAlternates as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10442         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(requestcount), ::std::mem::transmute(startelement), ::std::mem::transmute(elements), &mut result__).from_abi::<ISpeechPhraseAlternates>(result__)
10443     }
Audio(&self, startelement: i32, elements: i32) -> ::windows::runtime::Result<ISpeechMemoryStream>10444     pub unsafe fn Audio(&self, startelement: i32, elements: i32) -> ::windows::runtime::Result<ISpeechMemoryStream> {
10445         let mut result__: <ISpeechMemoryStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10446         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(startelement), ::std::mem::transmute(elements), &mut result__).from_abi::<ISpeechMemoryStream>(result__)
10447     }
SpeakAudio(&self, startelement: i32, elements: i32, flags: SpeechVoiceSpeakFlags) -> ::windows::runtime::Result<i32>10448     pub unsafe fn SpeakAudio(&self, startelement: i32, elements: i32, flags: SpeechVoiceSpeakFlags) -> ::windows::runtime::Result<i32> {
10449         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10450         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(startelement), ::std::mem::transmute(elements), ::std::mem::transmute(flags), &mut result__).from_abi::<i32>(result__)
10451     }
10452     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
SaveToMemory(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>10453     pub unsafe fn SaveToMemory(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
10454         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10455         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
10456     }
DiscardResultInfo(&self, valuetypes: SpeechDiscardType) -> ::windows::runtime::Result<()>10457     pub unsafe fn DiscardResultInfo(&self, valuetypes: SpeechDiscardType) -> ::windows::runtime::Result<()> {
10458         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(valuetypes)).ok()
10459     }
10460     #[cfg(feature = "Win32_Foundation")]
SetTextFeedback<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, feedback: Param0, wassuccessful: i16) -> ::windows::runtime::Result<()>10461     pub unsafe fn SetTextFeedback<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, feedback: Param0, wassuccessful: i16) -> ::windows::runtime::Result<()> {
10462         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), feedback.into_param().abi(), ::std::mem::transmute(wassuccessful)).ok()
10463     }
10464 }
10465 unsafe impl ::windows::runtime::Interface for ISpeechRecoResult2 {
10466     type Vtable = ISpeechRecoResult2_abi;
10467     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2383029357, 54216, 17886, [134, 87, 4, 41, 12, 69, 140, 60]);
10468 }
10469 impl ::std::convert::From<ISpeechRecoResult2> for ::windows::runtime::IUnknown {
from(value: ISpeechRecoResult2) -> Self10470     fn from(value: ISpeechRecoResult2) -> Self {
10471         unsafe { ::std::mem::transmute(value) }
10472     }
10473 }
10474 impl ::std::convert::From<&ISpeechRecoResult2> for ::windows::runtime::IUnknown {
from(value: &ISpeechRecoResult2) -> Self10475     fn from(value: &ISpeechRecoResult2) -> Self {
10476         ::std::convert::From::from(::std::clone::Clone::clone(value))
10477     }
10478 }
10479 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechRecoResult2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10480     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10481         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10482     }
10483 }
10484 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechRecoResult2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10485     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10486         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10487     }
10488 }
10489 impl ::std::convert::From<ISpeechRecoResult2> for ISpeechRecoResult {
from(value: ISpeechRecoResult2) -> Self10490     fn from(value: ISpeechRecoResult2) -> Self {
10491         unsafe { ::std::mem::transmute(value) }
10492     }
10493 }
10494 impl ::std::convert::From<&ISpeechRecoResult2> for ISpeechRecoResult {
from(value: &ISpeechRecoResult2) -> Self10495     fn from(value: &ISpeechRecoResult2) -> Self {
10496         ::std::convert::From::from(::std::clone::Clone::clone(value))
10497     }
10498 }
10499 impl<'a> ::windows::runtime::IntoParam<'a, ISpeechRecoResult> for ISpeechRecoResult2 {
into_param(self) -> ::windows::runtime::Param<'a, ISpeechRecoResult>10500     fn into_param(self) -> ::windows::runtime::Param<'a, ISpeechRecoResult> {
10501         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpeechRecoResult>::into(self))
10502     }
10503 }
10504 impl<'a> ::windows::runtime::IntoParam<'a, ISpeechRecoResult> for &ISpeechRecoResult2 {
into_param(self) -> ::windows::runtime::Param<'a, ISpeechRecoResult>10505     fn into_param(self) -> ::windows::runtime::Param<'a, ISpeechRecoResult> {
10506         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpeechRecoResult>::into(::std::clone::Clone::clone(self)))
10507     }
10508 }
10509 #[cfg(feature = "Win32_System_Ole_Automation")]
10510 impl ::std::convert::From<ISpeechRecoResult2> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechRecoResult2) -> Self10511     fn from(value: ISpeechRecoResult2) -> Self {
10512         unsafe { ::std::mem::transmute(value) }
10513     }
10514 }
10515 #[cfg(feature = "Win32_System_Ole_Automation")]
10516 impl ::std::convert::From<&ISpeechRecoResult2> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechRecoResult2) -> Self10517     fn from(value: &ISpeechRecoResult2) -> Self {
10518         ::std::convert::From::from(::std::clone::Clone::clone(value))
10519     }
10520 }
10521 #[cfg(feature = "Win32_System_Ole_Automation")]
10522 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechRecoResult2 {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>10523     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10524         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
10525     }
10526 }
10527 #[cfg(feature = "Win32_System_Ole_Automation")]
10528 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechRecoResult2 {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>10529     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10530         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
10531     }
10532 }
10533 #[repr(C)]
10534 #[doc(hidden)]
10535 pub struct ISpeechRecoResult2_abi(
10536     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10537     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10538     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10539     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
10540     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10541     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
10542     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
10543     #[cfg(not(feature = "Win32_Foundation"))] usize,
10544     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10545     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
10546     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10547     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, recocontext: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10548     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, times: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10549     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, format: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10550     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, format: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10551     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, phraseinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10552     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, requestcount: i32, startelement: i32, elements: i32, alternates: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10553     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, startelement: i32, elements: i32, stream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10554     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, startelement: i32, elements: i32, flags: SpeechVoiceSpeakFlags, streamnumber: *mut i32) -> ::windows::runtime::HRESULT,
10555     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, resultblock: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
10556     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10557     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, valuetypes: SpeechDiscardType) -> ::windows::runtime::HRESULT,
10558     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, feedback: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, wassuccessful: i16) -> ::windows::runtime::HRESULT,
10559     #[cfg(not(feature = "Win32_Foundation"))] usize,
10560 );
10561 #[repr(transparent)]
10562 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10563 pub struct ISpeechRecoResultDispatch(::windows::runtime::IUnknown);
10564 impl ISpeechRecoResultDispatch {
RecoContext(&self) -> ::windows::runtime::Result<ISpeechRecoContext>10565     pub unsafe fn RecoContext(&self) -> ::windows::runtime::Result<ISpeechRecoContext> {
10566         let mut result__: <ISpeechRecoContext as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10567         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechRecoContext>(result__)
10568     }
Times(&self) -> ::windows::runtime::Result<ISpeechRecoResultTimes>10569     pub unsafe fn Times(&self) -> ::windows::runtime::Result<ISpeechRecoResultTimes> {
10570         let mut result__: <ISpeechRecoResultTimes as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10571         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechRecoResultTimes>(result__)
10572     }
putref_AudioFormat<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechAudioFormat>>(&self, format: Param0) -> ::windows::runtime::Result<()>10573     pub unsafe fn putref_AudioFormat<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechAudioFormat>>(&self, format: Param0) -> ::windows::runtime::Result<()> {
10574         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), format.into_param().abi()).ok()
10575     }
AudioFormat(&self) -> ::windows::runtime::Result<ISpeechAudioFormat>10576     pub unsafe fn AudioFormat(&self) -> ::windows::runtime::Result<ISpeechAudioFormat> {
10577         let mut result__: <ISpeechAudioFormat as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10578         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechAudioFormat>(result__)
10579     }
PhraseInfo(&self) -> ::windows::runtime::Result<ISpeechPhraseInfo>10580     pub unsafe fn PhraseInfo(&self) -> ::windows::runtime::Result<ISpeechPhraseInfo> {
10581         let mut result__: <ISpeechPhraseInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10582         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechPhraseInfo>(result__)
10583     }
Alternates(&self, requestcount: i32, startelement: i32, elements: i32) -> ::windows::runtime::Result<ISpeechPhraseAlternates>10584     pub unsafe fn Alternates(&self, requestcount: i32, startelement: i32, elements: i32) -> ::windows::runtime::Result<ISpeechPhraseAlternates> {
10585         let mut result__: <ISpeechPhraseAlternates as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10586         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(requestcount), ::std::mem::transmute(startelement), ::std::mem::transmute(elements), &mut result__).from_abi::<ISpeechPhraseAlternates>(result__)
10587     }
Audio(&self, startelement: i32, elements: i32) -> ::windows::runtime::Result<ISpeechMemoryStream>10588     pub unsafe fn Audio(&self, startelement: i32, elements: i32) -> ::windows::runtime::Result<ISpeechMemoryStream> {
10589         let mut result__: <ISpeechMemoryStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10590         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(startelement), ::std::mem::transmute(elements), &mut result__).from_abi::<ISpeechMemoryStream>(result__)
10591     }
SpeakAudio(&self, startelement: i32, elements: i32, flags: SpeechVoiceSpeakFlags) -> ::windows::runtime::Result<i32>10592     pub unsafe fn SpeakAudio(&self, startelement: i32, elements: i32, flags: SpeechVoiceSpeakFlags) -> ::windows::runtime::Result<i32> {
10593         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10594         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(startelement), ::std::mem::transmute(elements), ::std::mem::transmute(flags), &mut result__).from_abi::<i32>(result__)
10595     }
10596     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
SaveToMemory(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>10597     pub unsafe fn SaveToMemory(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
10598         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10599         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
10600     }
DiscardResultInfo(&self, valuetypes: SpeechDiscardType) -> ::windows::runtime::Result<()>10601     pub unsafe fn DiscardResultInfo(&self, valuetypes: SpeechDiscardType) -> ::windows::runtime::Result<()> {
10602         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(valuetypes)).ok()
10603     }
10604     #[cfg(feature = "Win32_Foundation")]
GetXMLResult(&self, options: SPXMLRESULTOPTIONS) -> ::windows::runtime::Result<super::super::Foundation::BSTR>10605     pub unsafe fn GetXMLResult(&self, options: SPXMLRESULTOPTIONS) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10606         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10607         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(options), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10608     }
10609     #[cfg(feature = "Win32_Foundation")]
GetXMLErrorInfo(&self, linenumber: *mut i32, scriptline: *mut super::super::Foundation::BSTR, source: *mut super::super::Foundation::BSTR, description: *mut super::super::Foundation::BSTR, resultcode: *mut ::windows::runtime::HRESULT, iserror: *mut i16) -> ::windows::runtime::Result<()>10610     pub unsafe fn GetXMLErrorInfo(&self, linenumber: *mut i32, scriptline: *mut super::super::Foundation::BSTR, source: *mut super::super::Foundation::BSTR, description: *mut super::super::Foundation::BSTR, resultcode: *mut ::windows::runtime::HRESULT, iserror: *mut i16) -> ::windows::runtime::Result<()> {
10611         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(linenumber), ::std::mem::transmute(scriptline), ::std::mem::transmute(source), ::std::mem::transmute(description), ::std::mem::transmute(resultcode), ::std::mem::transmute(iserror)).ok()
10612     }
10613     #[cfg(feature = "Win32_Foundation")]
SetTextFeedback<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, feedback: Param0, wassuccessful: i16) -> ::windows::runtime::Result<()>10614     pub unsafe fn SetTextFeedback<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, feedback: Param0, wassuccessful: i16) -> ::windows::runtime::Result<()> {
10615         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), feedback.into_param().abi(), ::std::mem::transmute(wassuccessful)).ok()
10616     }
10617 }
10618 unsafe impl ::windows::runtime::Interface for ISpeechRecoResultDispatch {
10619     type Vtable = ISpeechRecoResultDispatch_abi;
10620     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1835068260, 44269, 16550, [187, 243, 78, 85, 127, 113, 222, 226]);
10621 }
10622 impl ::std::convert::From<ISpeechRecoResultDispatch> for ::windows::runtime::IUnknown {
from(value: ISpeechRecoResultDispatch) -> Self10623     fn from(value: ISpeechRecoResultDispatch) -> Self {
10624         unsafe { ::std::mem::transmute(value) }
10625     }
10626 }
10627 impl ::std::convert::From<&ISpeechRecoResultDispatch> for ::windows::runtime::IUnknown {
from(value: &ISpeechRecoResultDispatch) -> Self10628     fn from(value: &ISpeechRecoResultDispatch) -> Self {
10629         ::std::convert::From::from(::std::clone::Clone::clone(value))
10630     }
10631 }
10632 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechRecoResultDispatch {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10633     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10634         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10635     }
10636 }
10637 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechRecoResultDispatch {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10638     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10639         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10640     }
10641 }
10642 #[cfg(feature = "Win32_System_Ole_Automation")]
10643 impl ::std::convert::From<ISpeechRecoResultDispatch> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechRecoResultDispatch) -> Self10644     fn from(value: ISpeechRecoResultDispatch) -> Self {
10645         unsafe { ::std::mem::transmute(value) }
10646     }
10647 }
10648 #[cfg(feature = "Win32_System_Ole_Automation")]
10649 impl ::std::convert::From<&ISpeechRecoResultDispatch> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechRecoResultDispatch) -> Self10650     fn from(value: &ISpeechRecoResultDispatch) -> Self {
10651         ::std::convert::From::from(::std::clone::Clone::clone(value))
10652     }
10653 }
10654 #[cfg(feature = "Win32_System_Ole_Automation")]
10655 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechRecoResultDispatch {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>10656     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10657         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
10658     }
10659 }
10660 #[cfg(feature = "Win32_System_Ole_Automation")]
10661 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechRecoResultDispatch {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>10662     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10663         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
10664     }
10665 }
10666 #[repr(C)]
10667 #[doc(hidden)]
10668 pub struct ISpeechRecoResultDispatch_abi(
10669     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10670     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10671     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10672     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
10673     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10674     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
10675     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
10676     #[cfg(not(feature = "Win32_Foundation"))] usize,
10677     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10678     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
10679     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10680     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, recocontext: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10681     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, times: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10682     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, format: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10683     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, format: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10684     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, phraseinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10685     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, requestcount: i32, startelement: i32, elements: i32, alternates: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10686     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, startelement: i32, elements: i32, stream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10687     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, startelement: i32, elements: i32, flags: SpeechVoiceSpeakFlags, streamnumber: *mut i32) -> ::windows::runtime::HRESULT,
10688     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, resultblock: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
10689     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10690     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, valuetypes: SpeechDiscardType) -> ::windows::runtime::HRESULT,
10691     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: SPXMLRESULTOPTIONS, presult: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10692     #[cfg(not(feature = "Win32_Foundation"))] usize,
10693     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, linenumber: *mut i32, scriptline: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, source: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, description: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, resultcode: *mut ::windows::runtime::HRESULT, iserror: *mut i16) -> ::windows::runtime::HRESULT,
10694     #[cfg(not(feature = "Win32_Foundation"))] usize,
10695     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, feedback: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, wassuccessful: i16) -> ::windows::runtime::HRESULT,
10696     #[cfg(not(feature = "Win32_Foundation"))] usize,
10697 );
10698 #[repr(transparent)]
10699 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10700 pub struct ISpeechRecoResultTimes(::windows::runtime::IUnknown);
10701 impl ISpeechRecoResultTimes {
10702     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
StreamTime(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>10703     pub unsafe fn StreamTime(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
10704         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10705         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
10706     }
10707     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Length(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>10708     pub unsafe fn Length(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
10709         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10710         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
10711     }
TickCount(&self) -> ::windows::runtime::Result<i32>10712     pub unsafe fn TickCount(&self) -> ::windows::runtime::Result<i32> {
10713         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10714         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10715     }
10716     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
OffsetFromStart(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>10717     pub unsafe fn OffsetFromStart(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
10718         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10719         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
10720     }
10721 }
10722 unsafe impl ::windows::runtime::Interface for ISpeechRecoResultTimes {
10723     type Vtable = ISpeechRecoResultTimes_abi;
10724     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1655945467, 63207, 16830, [189, 203, 5, 107, 28, 41, 239, 192]);
10725 }
10726 impl ::std::convert::From<ISpeechRecoResultTimes> for ::windows::runtime::IUnknown {
from(value: ISpeechRecoResultTimes) -> Self10727     fn from(value: ISpeechRecoResultTimes) -> Self {
10728         unsafe { ::std::mem::transmute(value) }
10729     }
10730 }
10731 impl ::std::convert::From<&ISpeechRecoResultTimes> for ::windows::runtime::IUnknown {
from(value: &ISpeechRecoResultTimes) -> Self10732     fn from(value: &ISpeechRecoResultTimes) -> Self {
10733         ::std::convert::From::from(::std::clone::Clone::clone(value))
10734     }
10735 }
10736 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechRecoResultTimes {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10737     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10738         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10739     }
10740 }
10741 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechRecoResultTimes {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10742     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10743         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10744     }
10745 }
10746 #[cfg(feature = "Win32_System_Ole_Automation")]
10747 impl ::std::convert::From<ISpeechRecoResultTimes> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechRecoResultTimes) -> Self10748     fn from(value: ISpeechRecoResultTimes) -> Self {
10749         unsafe { ::std::mem::transmute(value) }
10750     }
10751 }
10752 #[cfg(feature = "Win32_System_Ole_Automation")]
10753 impl ::std::convert::From<&ISpeechRecoResultTimes> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechRecoResultTimes) -> Self10754     fn from(value: &ISpeechRecoResultTimes) -> Self {
10755         ::std::convert::From::from(::std::clone::Clone::clone(value))
10756     }
10757 }
10758 #[cfg(feature = "Win32_System_Ole_Automation")]
10759 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechRecoResultTimes {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>10760     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10761         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
10762     }
10763 }
10764 #[cfg(feature = "Win32_System_Ole_Automation")]
10765 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechRecoResultTimes {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>10766     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10767         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
10768     }
10769 }
10770 #[repr(C)]
10771 #[doc(hidden)]
10772 pub struct ISpeechRecoResultTimes_abi(
10773     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10774     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10775     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10776     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
10777     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10778     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
10779     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
10780     #[cfg(not(feature = "Win32_Foundation"))] usize,
10781     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10782     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
10783     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10784     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, time: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
10785     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10786     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, length: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
10787     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10788     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, tickcount: *mut i32) -> ::windows::runtime::HRESULT,
10789     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, offsetfromstart: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
10790     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10791 );
10792 #[repr(transparent)]
10793 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10794 pub struct ISpeechRecognizer(::windows::runtime::IUnknown);
10795 impl ISpeechRecognizer {
putref_Recognizer<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechObjectToken>>(&self, recognizer: Param0) -> ::windows::runtime::Result<()>10796     pub unsafe fn putref_Recognizer<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechObjectToken>>(&self, recognizer: Param0) -> ::windows::runtime::Result<()> {
10797         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), recognizer.into_param().abi()).ok()
10798     }
Recognizer(&self) -> ::windows::runtime::Result<ISpeechObjectToken>10799     pub unsafe fn Recognizer(&self) -> ::windows::runtime::Result<ISpeechObjectToken> {
10800         let mut result__: <ISpeechObjectToken as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10801         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechObjectToken>(result__)
10802     }
SetAllowAudioInputFormatChangesOnNextSet(&self, allow: i16) -> ::windows::runtime::Result<()>10803     pub unsafe fn SetAllowAudioInputFormatChangesOnNextSet(&self, allow: i16) -> ::windows::runtime::Result<()> {
10804         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(allow)).ok()
10805     }
AllowAudioInputFormatChangesOnNextSet(&self) -> ::windows::runtime::Result<i16>10806     pub unsafe fn AllowAudioInputFormatChangesOnNextSet(&self) -> ::windows::runtime::Result<i16> {
10807         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10808         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
10809     }
putref_AudioInput<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechObjectToken>>(&self, audioinput: Param0) -> ::windows::runtime::Result<()>10810     pub unsafe fn putref_AudioInput<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechObjectToken>>(&self, audioinput: Param0) -> ::windows::runtime::Result<()> {
10811         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), audioinput.into_param().abi()).ok()
10812     }
AudioInput(&self) -> ::windows::runtime::Result<ISpeechObjectToken>10813     pub unsafe fn AudioInput(&self) -> ::windows::runtime::Result<ISpeechObjectToken> {
10814         let mut result__: <ISpeechObjectToken as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10815         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechObjectToken>(result__)
10816     }
putref_AudioInputStream<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechBaseStream>>(&self, audioinputstream: Param0) -> ::windows::runtime::Result<()>10817     pub unsafe fn putref_AudioInputStream<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechBaseStream>>(&self, audioinputstream: Param0) -> ::windows::runtime::Result<()> {
10818         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), audioinputstream.into_param().abi()).ok()
10819     }
AudioInputStream(&self) -> ::windows::runtime::Result<ISpeechBaseStream>10820     pub unsafe fn AudioInputStream(&self) -> ::windows::runtime::Result<ISpeechBaseStream> {
10821         let mut result__: <ISpeechBaseStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10822         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechBaseStream>(result__)
10823     }
IsShared(&self) -> ::windows::runtime::Result<i16>10824     pub unsafe fn IsShared(&self) -> ::windows::runtime::Result<i16> {
10825         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10826         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
10827     }
SetState(&self, state: SpeechRecognizerState) -> ::windows::runtime::Result<()>10828     pub unsafe fn SetState(&self, state: SpeechRecognizerState) -> ::windows::runtime::Result<()> {
10829         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(state)).ok()
10830     }
State(&self) -> ::windows::runtime::Result<SpeechRecognizerState>10831     pub unsafe fn State(&self) -> ::windows::runtime::Result<SpeechRecognizerState> {
10832         let mut result__: <SpeechRecognizerState as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10833         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SpeechRecognizerState>(result__)
10834     }
Status(&self) -> ::windows::runtime::Result<ISpeechRecognizerStatus>10835     pub unsafe fn Status(&self) -> ::windows::runtime::Result<ISpeechRecognizerStatus> {
10836         let mut result__: <ISpeechRecognizerStatus as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10837         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechRecognizerStatus>(result__)
10838     }
putref_Profile<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechObjectToken>>(&self, profile: Param0) -> ::windows::runtime::Result<()>10839     pub unsafe fn putref_Profile<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechObjectToken>>(&self, profile: Param0) -> ::windows::runtime::Result<()> {
10840         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), profile.into_param().abi()).ok()
10841     }
Profile(&self) -> ::windows::runtime::Result<ISpeechObjectToken>10842     pub unsafe fn Profile(&self) -> ::windows::runtime::Result<ISpeechObjectToken> {
10843         let mut result__: <ISpeechObjectToken as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10844         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechObjectToken>(result__)
10845     }
10846     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
EmulateRecognition<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, textelements: Param0, elementdisplayattributes: *const super::super::System::Com::VARIANT, languageid: i32) -> ::windows::runtime::Result<()>10847     pub unsafe fn EmulateRecognition<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, textelements: Param0, elementdisplayattributes: *const super::super::System::Com::VARIANT, languageid: i32) -> ::windows::runtime::Result<()> {
10848         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), textelements.into_param().abi(), ::std::mem::transmute(elementdisplayattributes), ::std::mem::transmute(languageid)).ok()
10849     }
CreateRecoContext(&self) -> ::windows::runtime::Result<ISpeechRecoContext>10850     pub unsafe fn CreateRecoContext(&self) -> ::windows::runtime::Result<ISpeechRecoContext> {
10851         let mut result__: <ISpeechRecoContext as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10852         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechRecoContext>(result__)
10853     }
GetFormat(&self, r#type: SpeechFormatType) -> ::windows::runtime::Result<ISpeechAudioFormat>10854     pub unsafe fn GetFormat(&self, r#type: SpeechFormatType) -> ::windows::runtime::Result<ISpeechAudioFormat> {
10855         let mut result__: <ISpeechAudioFormat as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10856         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#type), &mut result__).from_abi::<ISpeechAudioFormat>(result__)
10857     }
10858     #[cfg(feature = "Win32_Foundation")]
SetPropertyNumber<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0, value: i32) -> ::windows::runtime::Result<i16>10859     pub unsafe fn SetPropertyNumber<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0, value: i32) -> ::windows::runtime::Result<i16> {
10860         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10861         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), name.into_param().abi(), ::std::mem::transmute(value), &mut result__).from_abi::<i16>(result__)
10862     }
10863     #[cfg(feature = "Win32_Foundation")]
GetPropertyNumber<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0, value: *mut i32, supported: *mut i16) -> ::windows::runtime::Result<()>10864     pub unsafe fn GetPropertyNumber<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0, value: *mut i32, supported: *mut i16) -> ::windows::runtime::Result<()> {
10865         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), name.into_param().abi(), ::std::mem::transmute(value), ::std::mem::transmute(supported)).ok()
10866     }
10867     #[cfg(feature = "Win32_Foundation")]
SetPropertyString<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0, value: Param1) -> ::windows::runtime::Result<i16>10868     pub unsafe fn SetPropertyString<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0, value: Param1) -> ::windows::runtime::Result<i16> {
10869         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10870         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), name.into_param().abi(), value.into_param().abi(), &mut result__).from_abi::<i16>(result__)
10871     }
10872     #[cfg(feature = "Win32_Foundation")]
GetPropertyString<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0, value: *mut super::super::Foundation::BSTR, supported: *mut i16) -> ::windows::runtime::Result<()>10873     pub unsafe fn GetPropertyString<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0, value: *mut super::super::Foundation::BSTR, supported: *mut i16) -> ::windows::runtime::Result<()> {
10874         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), name.into_param().abi(), ::std::mem::transmute(value), ::std::mem::transmute(supported)).ok()
10875     }
10876     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
IsUISupported<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, typeofui: Param0, extradata: *const super::super::System::Com::VARIANT) -> ::windows::runtime::Result<i16>10877     pub unsafe fn IsUISupported<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, typeofui: Param0, extradata: *const super::super::System::Com::VARIANT) -> ::windows::runtime::Result<i16> {
10878         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10879         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), typeofui.into_param().abi(), ::std::mem::transmute(extradata), &mut result__).from_abi::<i16>(result__)
10880     }
10881     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
DisplayUI<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, hwndparent: i32, title: Param1, typeofui: Param2, extradata: *const super::super::System::Com::VARIANT) -> ::windows::runtime::Result<()>10882     pub unsafe fn DisplayUI<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, hwndparent: i32, title: Param1, typeofui: Param2, extradata: *const super::super::System::Com::VARIANT) -> ::windows::runtime::Result<()> {
10883         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(hwndparent), title.into_param().abi(), typeofui.into_param().abi(), ::std::mem::transmute(extradata)).ok()
10884     }
10885     #[cfg(feature = "Win32_Foundation")]
GetRecognizers<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, requiredattributes: Param0, optionalattributes: Param1) -> ::windows::runtime::Result<ISpeechObjectTokens>10886     pub unsafe fn GetRecognizers<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, requiredattributes: Param0, optionalattributes: Param1) -> ::windows::runtime::Result<ISpeechObjectTokens> {
10887         let mut result__: <ISpeechObjectTokens as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10888         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), requiredattributes.into_param().abi(), optionalattributes.into_param().abi(), &mut result__).from_abi::<ISpeechObjectTokens>(result__)
10889     }
10890     #[cfg(feature = "Win32_Foundation")]
GetAudioInputs<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, requiredattributes: Param0, optionalattributes: Param1) -> ::windows::runtime::Result<ISpeechObjectTokens>10891     pub unsafe fn GetAudioInputs<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, requiredattributes: Param0, optionalattributes: Param1) -> ::windows::runtime::Result<ISpeechObjectTokens> {
10892         let mut result__: <ISpeechObjectTokens as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10893         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), requiredattributes.into_param().abi(), optionalattributes.into_param().abi(), &mut result__).from_abi::<ISpeechObjectTokens>(result__)
10894     }
10895     #[cfg(feature = "Win32_Foundation")]
GetProfiles<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, requiredattributes: Param0, optionalattributes: Param1) -> ::windows::runtime::Result<ISpeechObjectTokens>10896     pub unsafe fn GetProfiles<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, requiredattributes: Param0, optionalattributes: Param1) -> ::windows::runtime::Result<ISpeechObjectTokens> {
10897         let mut result__: <ISpeechObjectTokens as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10898         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), requiredattributes.into_param().abi(), optionalattributes.into_param().abi(), &mut result__).from_abi::<ISpeechObjectTokens>(result__)
10899     }
10900 }
10901 unsafe impl ::windows::runtime::Interface for ISpeechRecognizer {
10902     type Vtable = ISpeechRecognizer_abi;
10903     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(761207820, 48501, 19208, [148, 120, 59, 17, 254, 162, 88, 108]);
10904 }
10905 impl ::std::convert::From<ISpeechRecognizer> for ::windows::runtime::IUnknown {
from(value: ISpeechRecognizer) -> Self10906     fn from(value: ISpeechRecognizer) -> Self {
10907         unsafe { ::std::mem::transmute(value) }
10908     }
10909 }
10910 impl ::std::convert::From<&ISpeechRecognizer> for ::windows::runtime::IUnknown {
from(value: &ISpeechRecognizer) -> Self10911     fn from(value: &ISpeechRecognizer) -> Self {
10912         ::std::convert::From::from(::std::clone::Clone::clone(value))
10913     }
10914 }
10915 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechRecognizer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10916     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10917         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10918     }
10919 }
10920 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechRecognizer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10921     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10922         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10923     }
10924 }
10925 #[cfg(feature = "Win32_System_Ole_Automation")]
10926 impl ::std::convert::From<ISpeechRecognizer> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechRecognizer) -> Self10927     fn from(value: ISpeechRecognizer) -> Self {
10928         unsafe { ::std::mem::transmute(value) }
10929     }
10930 }
10931 #[cfg(feature = "Win32_System_Ole_Automation")]
10932 impl ::std::convert::From<&ISpeechRecognizer> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechRecognizer) -> Self10933     fn from(value: &ISpeechRecognizer) -> Self {
10934         ::std::convert::From::from(::std::clone::Clone::clone(value))
10935     }
10936 }
10937 #[cfg(feature = "Win32_System_Ole_Automation")]
10938 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechRecognizer {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>10939     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10940         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
10941     }
10942 }
10943 #[cfg(feature = "Win32_System_Ole_Automation")]
10944 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechRecognizer {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>10945     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10946         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
10947     }
10948 }
10949 #[repr(C)]
10950 #[doc(hidden)]
10951 pub struct ISpeechRecognizer_abi(
10952     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10953     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10954     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10955     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
10956     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10957     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
10958     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
10959     #[cfg(not(feature = "Win32_Foundation"))] usize,
10960     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10961     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
10962     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10963     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, recognizer: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10964     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, recognizer: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10965     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, allow: i16) -> ::windows::runtime::HRESULT,
10966     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, allow: *mut i16) -> ::windows::runtime::HRESULT,
10967     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audioinput: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10968     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audioinput: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10969     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audioinputstream: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10970     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audioinputstream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10971     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, shared: *mut i16) -> ::windows::runtime::HRESULT,
10972     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, state: SpeechRecognizerState) -> ::windows::runtime::HRESULT,
10973     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, state: *mut SpeechRecognizerState) -> ::windows::runtime::HRESULT,
10974     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, status: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10975     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, profile: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10976     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, profile: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10977     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, textelements: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, elementdisplayattributes: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, languageid: i32) -> ::windows::runtime::HRESULT,
10978     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10979     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newcontext: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10980     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: SpeechFormatType, format: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10981     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, value: i32, supported: *mut i16) -> ::windows::runtime::HRESULT,
10982     #[cfg(not(feature = "Win32_Foundation"))] usize,
10983     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, value: *mut i32, supported: *mut i16) -> ::windows::runtime::HRESULT,
10984     #[cfg(not(feature = "Win32_Foundation"))] usize,
10985     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, value: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, supported: *mut i16) -> ::windows::runtime::HRESULT,
10986     #[cfg(not(feature = "Win32_Foundation"))] usize,
10987     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, value: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, supported: *mut i16) -> ::windows::runtime::HRESULT,
10988     #[cfg(not(feature = "Win32_Foundation"))] usize,
10989     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, typeofui: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, extradata: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, supported: *mut i16) -> ::windows::runtime::HRESULT,
10990     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10991     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwndparent: i32, title: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, typeofui: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, extradata: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
10992     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10993     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, requiredattributes: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, optionalattributes: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, objecttokens: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10994     #[cfg(not(feature = "Win32_Foundation"))] usize,
10995     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, requiredattributes: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, optionalattributes: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, objecttokens: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10996     #[cfg(not(feature = "Win32_Foundation"))] usize,
10997     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, requiredattributes: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, optionalattributes: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, objecttokens: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10998     #[cfg(not(feature = "Win32_Foundation"))] usize,
10999 );
11000 #[repr(transparent)]
11001 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
11002 pub struct ISpeechRecognizerStatus(::windows::runtime::IUnknown);
11003 impl ISpeechRecognizerStatus {
AudioStatus(&self) -> ::windows::runtime::Result<ISpeechAudioStatus>11004     pub unsafe fn AudioStatus(&self) -> ::windows::runtime::Result<ISpeechAudioStatus> {
11005         let mut result__: <ISpeechAudioStatus as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11006         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechAudioStatus>(result__)
11007     }
11008     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
CurrentStreamPosition(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>11009     pub unsafe fn CurrentStreamPosition(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
11010         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11011         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
11012     }
CurrentStreamNumber(&self) -> ::windows::runtime::Result<i32>11013     pub unsafe fn CurrentStreamNumber(&self) -> ::windows::runtime::Result<i32> {
11014         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11015         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11016     }
NumberOfActiveRules(&self) -> ::windows::runtime::Result<i32>11017     pub unsafe fn NumberOfActiveRules(&self) -> ::windows::runtime::Result<i32> {
11018         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11019         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11020     }
11021     #[cfg(feature = "Win32_Foundation")]
ClsidEngine(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>11022     pub unsafe fn ClsidEngine(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11023         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11024         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11025     }
11026     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
SupportedLanguages(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>11027     pub unsafe fn SupportedLanguages(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
11028         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11029         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
11030     }
11031 }
11032 unsafe impl ::windows::runtime::Interface for ISpeechRecognizerStatus {
11033     type Vtable = ISpeechRecognizerStatus_abi;
11034     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3220825985, 21484, 18510, [187, 138, 14, 27, 85, 81, 227, 92]);
11035 }
11036 impl ::std::convert::From<ISpeechRecognizerStatus> for ::windows::runtime::IUnknown {
from(value: ISpeechRecognizerStatus) -> Self11037     fn from(value: ISpeechRecognizerStatus) -> Self {
11038         unsafe { ::std::mem::transmute(value) }
11039     }
11040 }
11041 impl ::std::convert::From<&ISpeechRecognizerStatus> for ::windows::runtime::IUnknown {
from(value: &ISpeechRecognizerStatus) -> Self11042     fn from(value: &ISpeechRecognizerStatus) -> Self {
11043         ::std::convert::From::from(::std::clone::Clone::clone(value))
11044     }
11045 }
11046 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechRecognizerStatus {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>11047     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11048         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
11049     }
11050 }
11051 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechRecognizerStatus {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>11052     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11053         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
11054     }
11055 }
11056 #[cfg(feature = "Win32_System_Ole_Automation")]
11057 impl ::std::convert::From<ISpeechRecognizerStatus> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechRecognizerStatus) -> Self11058     fn from(value: ISpeechRecognizerStatus) -> Self {
11059         unsafe { ::std::mem::transmute(value) }
11060     }
11061 }
11062 #[cfg(feature = "Win32_System_Ole_Automation")]
11063 impl ::std::convert::From<&ISpeechRecognizerStatus> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechRecognizerStatus) -> Self11064     fn from(value: &ISpeechRecognizerStatus) -> Self {
11065         ::std::convert::From::from(::std::clone::Clone::clone(value))
11066     }
11067 }
11068 #[cfg(feature = "Win32_System_Ole_Automation")]
11069 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechRecognizerStatus {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>11070     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11071         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
11072     }
11073 }
11074 #[cfg(feature = "Win32_System_Ole_Automation")]
11075 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechRecognizerStatus {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>11076     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11077         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
11078     }
11079 }
11080 #[repr(C)]
11081 #[doc(hidden)]
11082 pub struct ISpeechRecognizerStatus_abi(
11083     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11084     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11085     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11086     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
11087     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11088     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
11089     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
11090     #[cfg(not(feature = "Win32_Foundation"))] usize,
11091     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11092     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
11093     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11094     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audiostatus: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11095     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcurrentstreampos: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
11096     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11097     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, streamnumber: *mut i32) -> ::windows::runtime::HRESULT,
11098     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numberofactiverules: *mut i32) -> ::windows::runtime::HRESULT,
11099     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, clsidengine: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11100     #[cfg(not(feature = "Win32_Foundation"))] usize,
11101     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, supportedlanguages: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
11102     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11103 );
11104 #[repr(transparent)]
11105 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
11106 pub struct ISpeechResourceLoader(::windows::runtime::IUnknown);
11107 impl ISpeechResourceLoader {
11108     #[cfg(feature = "Win32_Foundation")]
LoadResource<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrresourceuri: Param0, falwaysreload: i16, pstream: *mut ::std::option::Option<::windows::runtime::IUnknown>, pbstrmimetype: *mut super::super::Foundation::BSTR, pfmodified: *mut i16, pbstrredirecturl: *mut super::super::Foundation::BSTR) -> ::windows::runtime::Result<()>11109     pub unsafe fn LoadResource<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrresourceuri: Param0, falwaysreload: i16, pstream: *mut ::std::option::Option<::windows::runtime::IUnknown>, pbstrmimetype: *mut super::super::Foundation::BSTR, pfmodified: *mut i16, pbstrredirecturl: *mut super::super::Foundation::BSTR) -> ::windows::runtime::Result<()> {
11110         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), bstrresourceuri.into_param().abi(), ::std::mem::transmute(falwaysreload), ::std::mem::transmute(pstream), ::std::mem::transmute(pbstrmimetype), ::std::mem::transmute(pfmodified), ::std::mem::transmute(pbstrredirecturl)).ok()
11111     }
11112     #[cfg(feature = "Win32_Foundation")]
GetLocalCopy<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrresourceuri: Param0, pbstrlocalpath: *mut super::super::Foundation::BSTR, pbstrmimetype: *mut super::super::Foundation::BSTR, pbstrredirecturl: *mut super::super::Foundation::BSTR) -> ::windows::runtime::Result<()>11113     pub unsafe fn GetLocalCopy<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrresourceuri: Param0, pbstrlocalpath: *mut super::super::Foundation::BSTR, pbstrmimetype: *mut super::super::Foundation::BSTR, pbstrredirecturl: *mut super::super::Foundation::BSTR) -> ::windows::runtime::Result<()> {
11114         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), bstrresourceuri.into_param().abi(), ::std::mem::transmute(pbstrlocalpath), ::std::mem::transmute(pbstrmimetype), ::std::mem::transmute(pbstrredirecturl)).ok()
11115     }
11116     #[cfg(feature = "Win32_Foundation")]
ReleaseLocalCopy<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pbstrlocalpath: Param0) -> ::windows::runtime::Result<()>11117     pub unsafe fn ReleaseLocalCopy<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pbstrlocalpath: Param0) -> ::windows::runtime::Result<()> {
11118         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), pbstrlocalpath.into_param().abi()).ok()
11119     }
11120 }
11121 unsafe impl ::windows::runtime::Interface for ISpeechResourceLoader {
11122     type Vtable = ISpeechResourceLoader_abi;
11123     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3115079555, 64720, 19233, [177, 25, 180, 248, 218, 143, 210, 195]);
11124 }
11125 impl ::std::convert::From<ISpeechResourceLoader> for ::windows::runtime::IUnknown {
from(value: ISpeechResourceLoader) -> Self11126     fn from(value: ISpeechResourceLoader) -> Self {
11127         unsafe { ::std::mem::transmute(value) }
11128     }
11129 }
11130 impl ::std::convert::From<&ISpeechResourceLoader> for ::windows::runtime::IUnknown {
from(value: &ISpeechResourceLoader) -> Self11131     fn from(value: &ISpeechResourceLoader) -> Self {
11132         ::std::convert::From::from(::std::clone::Clone::clone(value))
11133     }
11134 }
11135 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechResourceLoader {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>11136     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11137         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
11138     }
11139 }
11140 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechResourceLoader {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>11141     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11142         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
11143     }
11144 }
11145 #[cfg(feature = "Win32_System_Ole_Automation")]
11146 impl ::std::convert::From<ISpeechResourceLoader> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechResourceLoader) -> Self11147     fn from(value: ISpeechResourceLoader) -> Self {
11148         unsafe { ::std::mem::transmute(value) }
11149     }
11150 }
11151 #[cfg(feature = "Win32_System_Ole_Automation")]
11152 impl ::std::convert::From<&ISpeechResourceLoader> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechResourceLoader) -> Self11153     fn from(value: &ISpeechResourceLoader) -> Self {
11154         ::std::convert::From::from(::std::clone::Clone::clone(value))
11155     }
11156 }
11157 #[cfg(feature = "Win32_System_Ole_Automation")]
11158 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechResourceLoader {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>11159     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11160         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
11161     }
11162 }
11163 #[cfg(feature = "Win32_System_Ole_Automation")]
11164 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechResourceLoader {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>11165     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11166         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
11167     }
11168 }
11169 #[repr(C)]
11170 #[doc(hidden)]
11171 pub struct ISpeechResourceLoader_abi(
11172     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11173     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11174     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11175     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
11176     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11177     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
11178     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
11179     #[cfg(not(feature = "Win32_Foundation"))] usize,
11180     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11181     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
11182     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11183     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrresourceuri: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, falwaysreload: i16, pstream: *mut ::windows::runtime::RawPtr, pbstrmimetype: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pfmodified: *mut i16, pbstrredirecturl: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11184     #[cfg(not(feature = "Win32_Foundation"))] usize,
11185     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrresourceuri: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pbstrlocalpath: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pbstrmimetype: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pbstrredirecturl: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11186     #[cfg(not(feature = "Win32_Foundation"))] usize,
11187     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbstrlocalpath: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11188     #[cfg(not(feature = "Win32_Foundation"))] usize,
11189 );
11190 #[repr(transparent)]
11191 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
11192 pub struct ISpeechTextSelectionInformation(::windows::runtime::IUnknown);
11193 impl ISpeechTextSelectionInformation {
SetActiveOffset(&self, activeoffset: i32) -> ::windows::runtime::Result<()>11194     pub unsafe fn SetActiveOffset(&self, activeoffset: i32) -> ::windows::runtime::Result<()> {
11195         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(activeoffset)).ok()
11196     }
ActiveOffset(&self) -> ::windows::runtime::Result<i32>11197     pub unsafe fn ActiveOffset(&self) -> ::windows::runtime::Result<i32> {
11198         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11199         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11200     }
SetActiveLength(&self, activelength: i32) -> ::windows::runtime::Result<()>11201     pub unsafe fn SetActiveLength(&self, activelength: i32) -> ::windows::runtime::Result<()> {
11202         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(activelength)).ok()
11203     }
ActiveLength(&self) -> ::windows::runtime::Result<i32>11204     pub unsafe fn ActiveLength(&self) -> ::windows::runtime::Result<i32> {
11205         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11206         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11207     }
SetSelectionOffset(&self, selectionoffset: i32) -> ::windows::runtime::Result<()>11208     pub unsafe fn SetSelectionOffset(&self, selectionoffset: i32) -> ::windows::runtime::Result<()> {
11209         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(selectionoffset)).ok()
11210     }
SelectionOffset(&self) -> ::windows::runtime::Result<i32>11211     pub unsafe fn SelectionOffset(&self) -> ::windows::runtime::Result<i32> {
11212         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11213         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11214     }
SetSelectionLength(&self, selectionlength: i32) -> ::windows::runtime::Result<()>11215     pub unsafe fn SetSelectionLength(&self, selectionlength: i32) -> ::windows::runtime::Result<()> {
11216         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(selectionlength)).ok()
11217     }
SelectionLength(&self) -> ::windows::runtime::Result<i32>11218     pub unsafe fn SelectionLength(&self) -> ::windows::runtime::Result<i32> {
11219         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11220         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11221     }
11222 }
11223 unsafe impl ::windows::runtime::Interface for ISpeechTextSelectionInformation {
11224     type Vtable = ISpeechTextSelectionInformation_abi;
11225     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1000111738, 28398, 19949, [144, 146, 17, 101, 114, 121, 173, 190]);
11226 }
11227 impl ::std::convert::From<ISpeechTextSelectionInformation> for ::windows::runtime::IUnknown {
from(value: ISpeechTextSelectionInformation) -> Self11228     fn from(value: ISpeechTextSelectionInformation) -> Self {
11229         unsafe { ::std::mem::transmute(value) }
11230     }
11231 }
11232 impl ::std::convert::From<&ISpeechTextSelectionInformation> for ::windows::runtime::IUnknown {
from(value: &ISpeechTextSelectionInformation) -> Self11233     fn from(value: &ISpeechTextSelectionInformation) -> Self {
11234         ::std::convert::From::from(::std::clone::Clone::clone(value))
11235     }
11236 }
11237 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechTextSelectionInformation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>11238     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11239         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
11240     }
11241 }
11242 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechTextSelectionInformation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>11243     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11244         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
11245     }
11246 }
11247 #[cfg(feature = "Win32_System_Ole_Automation")]
11248 impl ::std::convert::From<ISpeechTextSelectionInformation> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechTextSelectionInformation) -> Self11249     fn from(value: ISpeechTextSelectionInformation) -> Self {
11250         unsafe { ::std::mem::transmute(value) }
11251     }
11252 }
11253 #[cfg(feature = "Win32_System_Ole_Automation")]
11254 impl ::std::convert::From<&ISpeechTextSelectionInformation> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechTextSelectionInformation) -> Self11255     fn from(value: &ISpeechTextSelectionInformation) -> Self {
11256         ::std::convert::From::from(::std::clone::Clone::clone(value))
11257     }
11258 }
11259 #[cfg(feature = "Win32_System_Ole_Automation")]
11260 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechTextSelectionInformation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>11261     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11262         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
11263     }
11264 }
11265 #[cfg(feature = "Win32_System_Ole_Automation")]
11266 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechTextSelectionInformation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>11267     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11268         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
11269     }
11270 }
11271 #[repr(C)]
11272 #[doc(hidden)]
11273 pub struct ISpeechTextSelectionInformation_abi(
11274     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11275     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11276     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11277     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
11278     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11279     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
11280     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
11281     #[cfg(not(feature = "Win32_Foundation"))] usize,
11282     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11283     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
11284     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11285     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, activeoffset: i32) -> ::windows::runtime::HRESULT,
11286     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, activeoffset: *mut i32) -> ::windows::runtime::HRESULT,
11287     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, activelength: i32) -> ::windows::runtime::HRESULT,
11288     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, activelength: *mut i32) -> ::windows::runtime::HRESULT,
11289     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, selectionoffset: i32) -> ::windows::runtime::HRESULT,
11290     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, selectionoffset: *mut i32) -> ::windows::runtime::HRESULT,
11291     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, selectionlength: i32) -> ::windows::runtime::HRESULT,
11292     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, selectionlength: *mut i32) -> ::windows::runtime::HRESULT,
11293 );
11294 #[repr(transparent)]
11295 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
11296 pub struct ISpeechVoice(::windows::runtime::IUnknown);
11297 impl ISpeechVoice {
Status(&self) -> ::windows::runtime::Result<ISpeechVoiceStatus>11298     pub unsafe fn Status(&self) -> ::windows::runtime::Result<ISpeechVoiceStatus> {
11299         let mut result__: <ISpeechVoiceStatus as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11300         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechVoiceStatus>(result__)
11301     }
Voice(&self) -> ::windows::runtime::Result<ISpeechObjectToken>11302     pub unsafe fn Voice(&self) -> ::windows::runtime::Result<ISpeechObjectToken> {
11303         let mut result__: <ISpeechObjectToken as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11304         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechObjectToken>(result__)
11305     }
putref_Voice<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechObjectToken>>(&self, voice: Param0) -> ::windows::runtime::Result<()>11306     pub unsafe fn putref_Voice<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechObjectToken>>(&self, voice: Param0) -> ::windows::runtime::Result<()> {
11307         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), voice.into_param().abi()).ok()
11308     }
AudioOutput(&self) -> ::windows::runtime::Result<ISpeechObjectToken>11309     pub unsafe fn AudioOutput(&self) -> ::windows::runtime::Result<ISpeechObjectToken> {
11310         let mut result__: <ISpeechObjectToken as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11311         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechObjectToken>(result__)
11312     }
putref_AudioOutput<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechObjectToken>>(&self, audiooutput: Param0) -> ::windows::runtime::Result<()>11313     pub unsafe fn putref_AudioOutput<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechObjectToken>>(&self, audiooutput: Param0) -> ::windows::runtime::Result<()> {
11314         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), audiooutput.into_param().abi()).ok()
11315     }
AudioOutputStream(&self) -> ::windows::runtime::Result<ISpeechBaseStream>11316     pub unsafe fn AudioOutputStream(&self) -> ::windows::runtime::Result<ISpeechBaseStream> {
11317         let mut result__: <ISpeechBaseStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11318         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechBaseStream>(result__)
11319     }
putref_AudioOutputStream<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechBaseStream>>(&self, audiooutputstream: Param0) -> ::windows::runtime::Result<()>11320     pub unsafe fn putref_AudioOutputStream<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechBaseStream>>(&self, audiooutputstream: Param0) -> ::windows::runtime::Result<()> {
11321         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), audiooutputstream.into_param().abi()).ok()
11322     }
Rate(&self) -> ::windows::runtime::Result<i32>11323     pub unsafe fn Rate(&self) -> ::windows::runtime::Result<i32> {
11324         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11325         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11326     }
SetRate(&self, rate: i32) -> ::windows::runtime::Result<()>11327     pub unsafe fn SetRate(&self, rate: i32) -> ::windows::runtime::Result<()> {
11328         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(rate)).ok()
11329     }
Volume(&self) -> ::windows::runtime::Result<i32>11330     pub unsafe fn Volume(&self) -> ::windows::runtime::Result<i32> {
11331         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11332         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11333     }
SetVolume(&self, volume: i32) -> ::windows::runtime::Result<()>11334     pub unsafe fn SetVolume(&self, volume: i32) -> ::windows::runtime::Result<()> {
11335         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(volume)).ok()
11336     }
SetAllowAudioOutputFormatChangesOnNextSet(&self, allow: i16) -> ::windows::runtime::Result<()>11337     pub unsafe fn SetAllowAudioOutputFormatChangesOnNextSet(&self, allow: i16) -> ::windows::runtime::Result<()> {
11338         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(allow)).ok()
11339     }
AllowAudioOutputFormatChangesOnNextSet(&self) -> ::windows::runtime::Result<i16>11340     pub unsafe fn AllowAudioOutputFormatChangesOnNextSet(&self) -> ::windows::runtime::Result<i16> {
11341         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11342         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
11343     }
EventInterests(&self) -> ::windows::runtime::Result<SpeechVoiceEvents>11344     pub unsafe fn EventInterests(&self) -> ::windows::runtime::Result<SpeechVoiceEvents> {
11345         let mut result__: <SpeechVoiceEvents as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11346         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SpeechVoiceEvents>(result__)
11347     }
SetEventInterests(&self, eventinterestflags: SpeechVoiceEvents) -> ::windows::runtime::Result<()>11348     pub unsafe fn SetEventInterests(&self, eventinterestflags: SpeechVoiceEvents) -> ::windows::runtime::Result<()> {
11349         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(eventinterestflags)).ok()
11350     }
SetPriority(&self, priority: SpeechVoicePriority) -> ::windows::runtime::Result<()>11351     pub unsafe fn SetPriority(&self, priority: SpeechVoicePriority) -> ::windows::runtime::Result<()> {
11352         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(priority)).ok()
11353     }
Priority(&self) -> ::windows::runtime::Result<SpeechVoicePriority>11354     pub unsafe fn Priority(&self) -> ::windows::runtime::Result<SpeechVoicePriority> {
11355         let mut result__: <SpeechVoicePriority as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11356         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SpeechVoicePriority>(result__)
11357     }
SetAlertBoundary(&self, boundary: SpeechVoiceEvents) -> ::windows::runtime::Result<()>11358     pub unsafe fn SetAlertBoundary(&self, boundary: SpeechVoiceEvents) -> ::windows::runtime::Result<()> {
11359         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(boundary)).ok()
11360     }
AlertBoundary(&self) -> ::windows::runtime::Result<SpeechVoiceEvents>11361     pub unsafe fn AlertBoundary(&self) -> ::windows::runtime::Result<SpeechVoiceEvents> {
11362         let mut result__: <SpeechVoiceEvents as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11363         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SpeechVoiceEvents>(result__)
11364     }
SetSynchronousSpeakTimeout(&self, mstimeout: i32) -> ::windows::runtime::Result<()>11365     pub unsafe fn SetSynchronousSpeakTimeout(&self, mstimeout: i32) -> ::windows::runtime::Result<()> {
11366         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(mstimeout)).ok()
11367     }
SynchronousSpeakTimeout(&self) -> ::windows::runtime::Result<i32>11368     pub unsafe fn SynchronousSpeakTimeout(&self) -> ::windows::runtime::Result<i32> {
11369         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11370         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11371     }
11372     #[cfg(feature = "Win32_Foundation")]
Speak<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, text: Param0, flags: SpeechVoiceSpeakFlags) -> ::windows::runtime::Result<i32>11373     pub unsafe fn Speak<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, text: Param0, flags: SpeechVoiceSpeakFlags) -> ::windows::runtime::Result<i32> {
11374         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11375         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), text.into_param().abi(), ::std::mem::transmute(flags), &mut result__).from_abi::<i32>(result__)
11376     }
SpeakStream<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechBaseStream>>(&self, stream: Param0, flags: SpeechVoiceSpeakFlags) -> ::windows::runtime::Result<i32>11377     pub unsafe fn SpeakStream<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechBaseStream>>(&self, stream: Param0, flags: SpeechVoiceSpeakFlags) -> ::windows::runtime::Result<i32> {
11378         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11379         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), stream.into_param().abi(), ::std::mem::transmute(flags), &mut result__).from_abi::<i32>(result__)
11380     }
Pause(&self) -> ::windows::runtime::Result<()>11381     pub unsafe fn Pause(&self) -> ::windows::runtime::Result<()> {
11382         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self)).ok()
11383     }
Resume(&self) -> ::windows::runtime::Result<()>11384     pub unsafe fn Resume(&self) -> ::windows::runtime::Result<()> {
11385         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self)).ok()
11386     }
11387     #[cfg(feature = "Win32_Foundation")]
Skip<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, r#type: Param0, numitems: i32) -> ::windows::runtime::Result<i32>11388     pub unsafe fn Skip<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, r#type: Param0, numitems: i32) -> ::windows::runtime::Result<i32> {
11389         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11390         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), r#type.into_param().abi(), ::std::mem::transmute(numitems), &mut result__).from_abi::<i32>(result__)
11391     }
11392     #[cfg(feature = "Win32_Foundation")]
GetVoices<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, requiredattributes: Param0, optionalattributes: Param1) -> ::windows::runtime::Result<ISpeechObjectTokens>11393     pub unsafe fn GetVoices<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, requiredattributes: Param0, optionalattributes: Param1) -> ::windows::runtime::Result<ISpeechObjectTokens> {
11394         let mut result__: <ISpeechObjectTokens as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11395         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), requiredattributes.into_param().abi(), optionalattributes.into_param().abi(), &mut result__).from_abi::<ISpeechObjectTokens>(result__)
11396     }
11397     #[cfg(feature = "Win32_Foundation")]
GetAudioOutputs<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, requiredattributes: Param0, optionalattributes: Param1) -> ::windows::runtime::Result<ISpeechObjectTokens>11398     pub unsafe fn GetAudioOutputs<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, requiredattributes: Param0, optionalattributes: Param1) -> ::windows::runtime::Result<ISpeechObjectTokens> {
11399         let mut result__: <ISpeechObjectTokens as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11400         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), requiredattributes.into_param().abi(), optionalattributes.into_param().abi(), &mut result__).from_abi::<ISpeechObjectTokens>(result__)
11401     }
WaitUntilDone(&self, mstimeout: i32) -> ::windows::runtime::Result<i16>11402     pub unsafe fn WaitUntilDone(&self, mstimeout: i32) -> ::windows::runtime::Result<i16> {
11403         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11404         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), ::std::mem::transmute(mstimeout), &mut result__).from_abi::<i16>(result__)
11405     }
SpeakCompleteEvent(&self) -> ::windows::runtime::Result<i32>11406     pub unsafe fn SpeakCompleteEvent(&self) -> ::windows::runtime::Result<i32> {
11407         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11408         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11409     }
11410     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
IsUISupported<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, typeofui: Param0, extradata: *const super::super::System::Com::VARIANT) -> ::windows::runtime::Result<i16>11411     pub unsafe fn IsUISupported<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, typeofui: Param0, extradata: *const super::super::System::Com::VARIANT) -> ::windows::runtime::Result<i16> {
11412         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11413         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), typeofui.into_param().abi(), ::std::mem::transmute(extradata), &mut result__).from_abi::<i16>(result__)
11414     }
11415     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
DisplayUI<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, hwndparent: i32, title: Param1, typeofui: Param2, extradata: *const super::super::System::Com::VARIANT) -> ::windows::runtime::Result<()>11416     pub unsafe fn DisplayUI<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, hwndparent: i32, title: Param1, typeofui: Param2, extradata: *const super::super::System::Com::VARIANT) -> ::windows::runtime::Result<()> {
11417         (::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), ::std::mem::transmute(hwndparent), title.into_param().abi(), typeofui.into_param().abi(), ::std::mem::transmute(extradata)).ok()
11418     }
11419 }
11420 unsafe impl ::windows::runtime::Interface for ISpeechVoice {
11421     type Vtable = ISpeechVoice_abi;
11422     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(647173848, 22461, 4562, [158, 238, 0, 192, 79, 121, 115, 150]);
11423 }
11424 impl ::std::convert::From<ISpeechVoice> for ::windows::runtime::IUnknown {
from(value: ISpeechVoice) -> Self11425     fn from(value: ISpeechVoice) -> Self {
11426         unsafe { ::std::mem::transmute(value) }
11427     }
11428 }
11429 impl ::std::convert::From<&ISpeechVoice> for ::windows::runtime::IUnknown {
from(value: &ISpeechVoice) -> Self11430     fn from(value: &ISpeechVoice) -> Self {
11431         ::std::convert::From::from(::std::clone::Clone::clone(value))
11432     }
11433 }
11434 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechVoice {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>11435     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11436         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
11437     }
11438 }
11439 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechVoice {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>11440     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11441         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
11442     }
11443 }
11444 #[cfg(feature = "Win32_System_Ole_Automation")]
11445 impl ::std::convert::From<ISpeechVoice> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechVoice) -> Self11446     fn from(value: ISpeechVoice) -> Self {
11447         unsafe { ::std::mem::transmute(value) }
11448     }
11449 }
11450 #[cfg(feature = "Win32_System_Ole_Automation")]
11451 impl ::std::convert::From<&ISpeechVoice> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechVoice) -> Self11452     fn from(value: &ISpeechVoice) -> Self {
11453         ::std::convert::From::from(::std::clone::Clone::clone(value))
11454     }
11455 }
11456 #[cfg(feature = "Win32_System_Ole_Automation")]
11457 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechVoice {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>11458     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11459         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
11460     }
11461 }
11462 #[cfg(feature = "Win32_System_Ole_Automation")]
11463 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechVoice {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>11464     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11465         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
11466     }
11467 }
11468 #[repr(C)]
11469 #[doc(hidden)]
11470 pub struct ISpeechVoice_abi(
11471     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11472     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11473     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11474     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
11475     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11476     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
11477     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
11478     #[cfg(not(feature = "Win32_Foundation"))] usize,
11479     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11480     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
11481     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11482     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, status: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11483     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, voice: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11484     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, voice: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11485     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audiooutput: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11486     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audiooutput: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11487     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audiooutputstream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11488     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audiooutputstream: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11489     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rate: *mut i32) -> ::windows::runtime::HRESULT,
11490     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rate: i32) -> ::windows::runtime::HRESULT,
11491     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, volume: *mut i32) -> ::windows::runtime::HRESULT,
11492     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, volume: i32) -> ::windows::runtime::HRESULT,
11493     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, allow: i16) -> ::windows::runtime::HRESULT,
11494     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, allow: *mut i16) -> ::windows::runtime::HRESULT,
11495     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventinterestflags: *mut SpeechVoiceEvents) -> ::windows::runtime::HRESULT,
11496     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventinterestflags: SpeechVoiceEvents) -> ::windows::runtime::HRESULT,
11497     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, priority: SpeechVoicePriority) -> ::windows::runtime::HRESULT,
11498     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, priority: *mut SpeechVoicePriority) -> ::windows::runtime::HRESULT,
11499     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, boundary: SpeechVoiceEvents) -> ::windows::runtime::HRESULT,
11500     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, boundary: *mut SpeechVoiceEvents) -> ::windows::runtime::HRESULT,
11501     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mstimeout: i32) -> ::windows::runtime::HRESULT,
11502     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mstimeout: *mut i32) -> ::windows::runtime::HRESULT,
11503     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, text: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, flags: SpeechVoiceSpeakFlags, streamnumber: *mut i32) -> ::windows::runtime::HRESULT,
11504     #[cfg(not(feature = "Win32_Foundation"))] usize,
11505     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, stream: ::windows::runtime::RawPtr, flags: SpeechVoiceSpeakFlags, streamnumber: *mut i32) -> ::windows::runtime::HRESULT,
11506     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11507     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11508     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, numitems: i32, numskipped: *mut i32) -> ::windows::runtime::HRESULT,
11509     #[cfg(not(feature = "Win32_Foundation"))] usize,
11510     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, requiredattributes: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, optionalattributes: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, objecttokens: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11511     #[cfg(not(feature = "Win32_Foundation"))] usize,
11512     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, requiredattributes: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, optionalattributes: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, objecttokens: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11513     #[cfg(not(feature = "Win32_Foundation"))] usize,
11514     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mstimeout: i32, done: *mut i16) -> ::windows::runtime::HRESULT,
11515     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handle: *mut i32) -> ::windows::runtime::HRESULT,
11516     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, typeofui: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, extradata: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, supported: *mut i16) -> ::windows::runtime::HRESULT,
11517     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11518     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwndparent: i32, title: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, typeofui: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, extradata: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
11519     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11520 );
11521 #[repr(transparent)]
11522 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
11523 pub struct ISpeechVoiceStatus(::windows::runtime::IUnknown);
11524 impl ISpeechVoiceStatus {
CurrentStreamNumber(&self) -> ::windows::runtime::Result<i32>11525     pub unsafe fn CurrentStreamNumber(&self) -> ::windows::runtime::Result<i32> {
11526         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11527         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11528     }
LastStreamNumberQueued(&self) -> ::windows::runtime::Result<i32>11529     pub unsafe fn LastStreamNumberQueued(&self) -> ::windows::runtime::Result<i32> {
11530         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11531         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11532     }
LastHResult(&self) -> ::windows::runtime::Result<i32>11533     pub unsafe fn LastHResult(&self) -> ::windows::runtime::Result<i32> {
11534         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11535         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11536     }
RunningState(&self) -> ::windows::runtime::Result<SpeechRunState>11537     pub unsafe fn RunningState(&self) -> ::windows::runtime::Result<SpeechRunState> {
11538         let mut result__: <SpeechRunState as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11539         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SpeechRunState>(result__)
11540     }
InputWordPosition(&self) -> ::windows::runtime::Result<i32>11541     pub unsafe fn InputWordPosition(&self) -> ::windows::runtime::Result<i32> {
11542         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11543         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11544     }
InputWordLength(&self) -> ::windows::runtime::Result<i32>11545     pub unsafe fn InputWordLength(&self) -> ::windows::runtime::Result<i32> {
11546         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11547         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11548     }
InputSentencePosition(&self) -> ::windows::runtime::Result<i32>11549     pub unsafe fn InputSentencePosition(&self) -> ::windows::runtime::Result<i32> {
11550         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11551         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11552     }
InputSentenceLength(&self) -> ::windows::runtime::Result<i32>11553     pub unsafe fn InputSentenceLength(&self) -> ::windows::runtime::Result<i32> {
11554         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11555         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11556     }
11557     #[cfg(feature = "Win32_Foundation")]
LastBookmark(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>11558     pub unsafe fn LastBookmark(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11559         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11560         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11561     }
LastBookmarkId(&self) -> ::windows::runtime::Result<i32>11562     pub unsafe fn LastBookmarkId(&self) -> ::windows::runtime::Result<i32> {
11563         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11564         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11565     }
PhonemeId(&self) -> ::windows::runtime::Result<i16>11566     pub unsafe fn PhonemeId(&self) -> ::windows::runtime::Result<i16> {
11567         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11568         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
11569     }
VisemeId(&self) -> ::windows::runtime::Result<i16>11570     pub unsafe fn VisemeId(&self) -> ::windows::runtime::Result<i16> {
11571         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11572         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
11573     }
11574 }
11575 unsafe impl ::windows::runtime::Interface for ISpeechVoiceStatus {
11576     type Vtable = ISpeechVoiceStatus_abi;
11577     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2347006727, 22518, 4562, [158, 238, 0, 192, 79, 121, 115, 150]);
11578 }
11579 impl ::std::convert::From<ISpeechVoiceStatus> for ::windows::runtime::IUnknown {
from(value: ISpeechVoiceStatus) -> Self11580     fn from(value: ISpeechVoiceStatus) -> Self {
11581         unsafe { ::std::mem::transmute(value) }
11582     }
11583 }
11584 impl ::std::convert::From<&ISpeechVoiceStatus> for ::windows::runtime::IUnknown {
from(value: &ISpeechVoiceStatus) -> Self11585     fn from(value: &ISpeechVoiceStatus) -> Self {
11586         ::std::convert::From::from(::std::clone::Clone::clone(value))
11587     }
11588 }
11589 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechVoiceStatus {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>11590     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11591         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
11592     }
11593 }
11594 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechVoiceStatus {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>11595     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11596         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
11597     }
11598 }
11599 #[cfg(feature = "Win32_System_Ole_Automation")]
11600 impl ::std::convert::From<ISpeechVoiceStatus> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechVoiceStatus) -> Self11601     fn from(value: ISpeechVoiceStatus) -> Self {
11602         unsafe { ::std::mem::transmute(value) }
11603     }
11604 }
11605 #[cfg(feature = "Win32_System_Ole_Automation")]
11606 impl ::std::convert::From<&ISpeechVoiceStatus> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechVoiceStatus) -> Self11607     fn from(value: &ISpeechVoiceStatus) -> Self {
11608         ::std::convert::From::from(::std::clone::Clone::clone(value))
11609     }
11610 }
11611 #[cfg(feature = "Win32_System_Ole_Automation")]
11612 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechVoiceStatus {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>11613     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11614         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
11615     }
11616 }
11617 #[cfg(feature = "Win32_System_Ole_Automation")]
11618 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechVoiceStatus {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>11619     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11620         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
11621     }
11622 }
11623 #[repr(C)]
11624 #[doc(hidden)]
11625 pub struct ISpeechVoiceStatus_abi(
11626     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11627     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11628     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11629     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
11630     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11631     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
11632     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
11633     #[cfg(not(feature = "Win32_Foundation"))] usize,
11634     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11635     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
11636     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11637     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, streamnumber: *mut i32) -> ::windows::runtime::HRESULT,
11638     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, streamnumber: *mut i32) -> ::windows::runtime::HRESULT,
11639     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hresult: *mut i32) -> ::windows::runtime::HRESULT,
11640     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, state: *mut SpeechRunState) -> ::windows::runtime::HRESULT,
11641     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, position: *mut i32) -> ::windows::runtime::HRESULT,
11642     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, length: *mut i32) -> ::windows::runtime::HRESULT,
11643     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, position: *mut i32) -> ::windows::runtime::HRESULT,
11644     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, length: *mut i32) -> ::windows::runtime::HRESULT,
11645     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bookmark: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11646     #[cfg(not(feature = "Win32_Foundation"))] usize,
11647     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bookmarkid: *mut i32) -> ::windows::runtime::HRESULT,
11648     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, phoneid: *mut i16) -> ::windows::runtime::HRESULT,
11649     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, visemeid: *mut i16) -> ::windows::runtime::HRESULT,
11650 );
11651 #[repr(transparent)]
11652 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
11653 pub struct ISpeechWaveFormatEx(::windows::runtime::IUnknown);
11654 impl ISpeechWaveFormatEx {
FormatTag(&self) -> ::windows::runtime::Result<i16>11655     pub unsafe fn FormatTag(&self) -> ::windows::runtime::Result<i16> {
11656         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11657         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
11658     }
SetFormatTag(&self, formattag: i16) -> ::windows::runtime::Result<()>11659     pub unsafe fn SetFormatTag(&self, formattag: i16) -> ::windows::runtime::Result<()> {
11660         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(formattag)).ok()
11661     }
Channels(&self) -> ::windows::runtime::Result<i16>11662     pub unsafe fn Channels(&self) -> ::windows::runtime::Result<i16> {
11663         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11664         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
11665     }
SetChannels(&self, channels: i16) -> ::windows::runtime::Result<()>11666     pub unsafe fn SetChannels(&self, channels: i16) -> ::windows::runtime::Result<()> {
11667         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(channels)).ok()
11668     }
SamplesPerSec(&self) -> ::windows::runtime::Result<i32>11669     pub unsafe fn SamplesPerSec(&self) -> ::windows::runtime::Result<i32> {
11670         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11671         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11672     }
SetSamplesPerSec(&self, samplespersec: i32) -> ::windows::runtime::Result<()>11673     pub unsafe fn SetSamplesPerSec(&self, samplespersec: i32) -> ::windows::runtime::Result<()> {
11674         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(samplespersec)).ok()
11675     }
AvgBytesPerSec(&self) -> ::windows::runtime::Result<i32>11676     pub unsafe fn AvgBytesPerSec(&self) -> ::windows::runtime::Result<i32> {
11677         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11678         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11679     }
SetAvgBytesPerSec(&self, avgbytespersec: i32) -> ::windows::runtime::Result<()>11680     pub unsafe fn SetAvgBytesPerSec(&self, avgbytespersec: i32) -> ::windows::runtime::Result<()> {
11681         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(avgbytespersec)).ok()
11682     }
BlockAlign(&self) -> ::windows::runtime::Result<i16>11683     pub unsafe fn BlockAlign(&self) -> ::windows::runtime::Result<i16> {
11684         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11685         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
11686     }
SetBlockAlign(&self, blockalign: i16) -> ::windows::runtime::Result<()>11687     pub unsafe fn SetBlockAlign(&self, blockalign: i16) -> ::windows::runtime::Result<()> {
11688         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(blockalign)).ok()
11689     }
BitsPerSample(&self) -> ::windows::runtime::Result<i16>11690     pub unsafe fn BitsPerSample(&self) -> ::windows::runtime::Result<i16> {
11691         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11692         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
11693     }
SetBitsPerSample(&self, bitspersample: i16) -> ::windows::runtime::Result<()>11694     pub unsafe fn SetBitsPerSample(&self, bitspersample: i16) -> ::windows::runtime::Result<()> {
11695         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(bitspersample)).ok()
11696     }
11697     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
ExtraData(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>11698     pub unsafe fn ExtraData(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
11699         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11700         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
11701     }
11702     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
SetExtraData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, extradata: Param0) -> ::windows::runtime::Result<()>11703     pub unsafe fn SetExtraData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, extradata: Param0) -> ::windows::runtime::Result<()> {
11704         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), extradata.into_param().abi()).ok()
11705     }
11706 }
11707 unsafe impl ::windows::runtime::Interface for ISpeechWaveFormatEx {
11708     type Vtable = ISpeechWaveFormatEx_abi;
11709     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2048848085, 5505, 18241, [136, 228, 32, 154, 73, 241, 26, 16]);
11710 }
11711 impl ::std::convert::From<ISpeechWaveFormatEx> for ::windows::runtime::IUnknown {
from(value: ISpeechWaveFormatEx) -> Self11712     fn from(value: ISpeechWaveFormatEx) -> Self {
11713         unsafe { ::std::mem::transmute(value) }
11714     }
11715 }
11716 impl ::std::convert::From<&ISpeechWaveFormatEx> for ::windows::runtime::IUnknown {
from(value: &ISpeechWaveFormatEx) -> Self11717     fn from(value: &ISpeechWaveFormatEx) -> Self {
11718         ::std::convert::From::from(::std::clone::Clone::clone(value))
11719     }
11720 }
11721 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechWaveFormatEx {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>11722     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11723         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
11724     }
11725 }
11726 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechWaveFormatEx {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>11727     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11728         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
11729     }
11730 }
11731 #[cfg(feature = "Win32_System_Ole_Automation")]
11732 impl ::std::convert::From<ISpeechWaveFormatEx> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechWaveFormatEx) -> Self11733     fn from(value: ISpeechWaveFormatEx) -> Self {
11734         unsafe { ::std::mem::transmute(value) }
11735     }
11736 }
11737 #[cfg(feature = "Win32_System_Ole_Automation")]
11738 impl ::std::convert::From<&ISpeechWaveFormatEx> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechWaveFormatEx) -> Self11739     fn from(value: &ISpeechWaveFormatEx) -> Self {
11740         ::std::convert::From::from(::std::clone::Clone::clone(value))
11741     }
11742 }
11743 #[cfg(feature = "Win32_System_Ole_Automation")]
11744 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechWaveFormatEx {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>11745     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11746         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
11747     }
11748 }
11749 #[cfg(feature = "Win32_System_Ole_Automation")]
11750 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechWaveFormatEx {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>11751     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11752         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
11753     }
11754 }
11755 #[repr(C)]
11756 #[doc(hidden)]
11757 pub struct ISpeechWaveFormatEx_abi(
11758     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11759     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11760     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11761     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
11762     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11763     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
11764     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
11765     #[cfg(not(feature = "Win32_Foundation"))] usize,
11766     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11767     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
11768     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11769     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, formattag: *mut i16) -> ::windows::runtime::HRESULT,
11770     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, formattag: i16) -> ::windows::runtime::HRESULT,
11771     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, channels: *mut i16) -> ::windows::runtime::HRESULT,
11772     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, channels: i16) -> ::windows::runtime::HRESULT,
11773     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, samplespersec: *mut i32) -> ::windows::runtime::HRESULT,
11774     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, samplespersec: i32) -> ::windows::runtime::HRESULT,
11775     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, avgbytespersec: *mut i32) -> ::windows::runtime::HRESULT,
11776     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, avgbytespersec: i32) -> ::windows::runtime::HRESULT,
11777     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, blockalign: *mut i16) -> ::windows::runtime::HRESULT,
11778     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, blockalign: i16) -> ::windows::runtime::HRESULT,
11779     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bitspersample: *mut i16) -> ::windows::runtime::HRESULT,
11780     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bitspersample: i16) -> ::windows::runtime::HRESULT,
11781     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, extradata: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
11782     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11783     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, extradata: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
11784     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11785 );
11786 #[repr(transparent)]
11787 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
11788 pub struct ISpeechXMLRecoResult(::windows::runtime::IUnknown);
11789 impl ISpeechXMLRecoResult {
GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32>11790     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
11791         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11792         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
11793     }
11794     #[cfg(feature = "Win32_System_Ole_Automation")]
GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo>11795     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
11796         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11797         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
11798     }
11799     #[cfg(feature = "Win32_Foundation")]
GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()>11800     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
11801         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
11802     }
11803     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()>11804     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
11805         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
11806     }
RecoContext(&self) -> ::windows::runtime::Result<ISpeechRecoContext>11807     pub unsafe fn RecoContext(&self) -> ::windows::runtime::Result<ISpeechRecoContext> {
11808         let mut result__: <ISpeechRecoContext as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11809         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechRecoContext>(result__)
11810     }
Times(&self) -> ::windows::runtime::Result<ISpeechRecoResultTimes>11811     pub unsafe fn Times(&self) -> ::windows::runtime::Result<ISpeechRecoResultTimes> {
11812         let mut result__: <ISpeechRecoResultTimes as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11813         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechRecoResultTimes>(result__)
11814     }
putref_AudioFormat<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechAudioFormat>>(&self, format: Param0) -> ::windows::runtime::Result<()>11815     pub unsafe fn putref_AudioFormat<'a, Param0: ::windows::runtime::IntoParam<'a, ISpeechAudioFormat>>(&self, format: Param0) -> ::windows::runtime::Result<()> {
11816         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), format.into_param().abi()).ok()
11817     }
AudioFormat(&self) -> ::windows::runtime::Result<ISpeechAudioFormat>11818     pub unsafe fn AudioFormat(&self) -> ::windows::runtime::Result<ISpeechAudioFormat> {
11819         let mut result__: <ISpeechAudioFormat as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11820         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechAudioFormat>(result__)
11821     }
PhraseInfo(&self) -> ::windows::runtime::Result<ISpeechPhraseInfo>11822     pub unsafe fn PhraseInfo(&self) -> ::windows::runtime::Result<ISpeechPhraseInfo> {
11823         let mut result__: <ISpeechPhraseInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11824         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpeechPhraseInfo>(result__)
11825     }
Alternates(&self, requestcount: i32, startelement: i32, elements: i32) -> ::windows::runtime::Result<ISpeechPhraseAlternates>11826     pub unsafe fn Alternates(&self, requestcount: i32, startelement: i32, elements: i32) -> ::windows::runtime::Result<ISpeechPhraseAlternates> {
11827         let mut result__: <ISpeechPhraseAlternates as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11828         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(requestcount), ::std::mem::transmute(startelement), ::std::mem::transmute(elements), &mut result__).from_abi::<ISpeechPhraseAlternates>(result__)
11829     }
Audio(&self, startelement: i32, elements: i32) -> ::windows::runtime::Result<ISpeechMemoryStream>11830     pub unsafe fn Audio(&self, startelement: i32, elements: i32) -> ::windows::runtime::Result<ISpeechMemoryStream> {
11831         let mut result__: <ISpeechMemoryStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11832         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(startelement), ::std::mem::transmute(elements), &mut result__).from_abi::<ISpeechMemoryStream>(result__)
11833     }
SpeakAudio(&self, startelement: i32, elements: i32, flags: SpeechVoiceSpeakFlags) -> ::windows::runtime::Result<i32>11834     pub unsafe fn SpeakAudio(&self, startelement: i32, elements: i32, flags: SpeechVoiceSpeakFlags) -> ::windows::runtime::Result<i32> {
11835         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11836         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(startelement), ::std::mem::transmute(elements), ::std::mem::transmute(flags), &mut result__).from_abi::<i32>(result__)
11837     }
11838     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
SaveToMemory(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>11839     pub unsafe fn SaveToMemory(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
11840         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11841         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
11842     }
DiscardResultInfo(&self, valuetypes: SpeechDiscardType) -> ::windows::runtime::Result<()>11843     pub unsafe fn DiscardResultInfo(&self, valuetypes: SpeechDiscardType) -> ::windows::runtime::Result<()> {
11844         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(valuetypes)).ok()
11845     }
11846     #[cfg(feature = "Win32_Foundation")]
GetXMLResult(&self, options: SPXMLRESULTOPTIONS) -> ::windows::runtime::Result<super::super::Foundation::BSTR>11847     pub unsafe fn GetXMLResult(&self, options: SPXMLRESULTOPTIONS) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11848         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11849         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(options), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11850     }
11851     #[cfg(feature = "Win32_Foundation")]
GetXMLErrorInfo(&self, linenumber: *mut i32, scriptline: *mut super::super::Foundation::BSTR, source: *mut super::super::Foundation::BSTR, description: *mut super::super::Foundation::BSTR, resultcode: *mut i32, iserror: *mut i16) -> ::windows::runtime::Result<()>11852     pub unsafe fn GetXMLErrorInfo(&self, linenumber: *mut i32, scriptline: *mut super::super::Foundation::BSTR, source: *mut super::super::Foundation::BSTR, description: *mut super::super::Foundation::BSTR, resultcode: *mut i32, iserror: *mut i16) -> ::windows::runtime::Result<()> {
11853         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(linenumber), ::std::mem::transmute(scriptline), ::std::mem::transmute(source), ::std::mem::transmute(description), ::std::mem::transmute(resultcode), ::std::mem::transmute(iserror)).ok()
11854     }
11855 }
11856 unsafe impl ::windows::runtime::Interface for ISpeechXMLRecoResult {
11857     type Vtable = ISpeechXMLRecoResult_abi;
11858     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2867614895, 36741, 18724, [148, 77, 183, 157, 57, 215, 46, 25]);
11859 }
11860 impl ::std::convert::From<ISpeechXMLRecoResult> for ::windows::runtime::IUnknown {
from(value: ISpeechXMLRecoResult) -> Self11861     fn from(value: ISpeechXMLRecoResult) -> Self {
11862         unsafe { ::std::mem::transmute(value) }
11863     }
11864 }
11865 impl ::std::convert::From<&ISpeechXMLRecoResult> for ::windows::runtime::IUnknown {
from(value: &ISpeechXMLRecoResult) -> Self11866     fn from(value: &ISpeechXMLRecoResult) -> Self {
11867         ::std::convert::From::from(::std::clone::Clone::clone(value))
11868     }
11869 }
11870 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpeechXMLRecoResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>11871     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11872         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
11873     }
11874 }
11875 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpeechXMLRecoResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>11876     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11877         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
11878     }
11879 }
11880 impl ::std::convert::From<ISpeechXMLRecoResult> for ISpeechRecoResult {
from(value: ISpeechXMLRecoResult) -> Self11881     fn from(value: ISpeechXMLRecoResult) -> Self {
11882         unsafe { ::std::mem::transmute(value) }
11883     }
11884 }
11885 impl ::std::convert::From<&ISpeechXMLRecoResult> for ISpeechRecoResult {
from(value: &ISpeechXMLRecoResult) -> Self11886     fn from(value: &ISpeechXMLRecoResult) -> Self {
11887         ::std::convert::From::from(::std::clone::Clone::clone(value))
11888     }
11889 }
11890 impl<'a> ::windows::runtime::IntoParam<'a, ISpeechRecoResult> for ISpeechXMLRecoResult {
into_param(self) -> ::windows::runtime::Param<'a, ISpeechRecoResult>11891     fn into_param(self) -> ::windows::runtime::Param<'a, ISpeechRecoResult> {
11892         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpeechRecoResult>::into(self))
11893     }
11894 }
11895 impl<'a> ::windows::runtime::IntoParam<'a, ISpeechRecoResult> for &ISpeechXMLRecoResult {
into_param(self) -> ::windows::runtime::Param<'a, ISpeechRecoResult>11896     fn into_param(self) -> ::windows::runtime::Param<'a, ISpeechRecoResult> {
11897         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpeechRecoResult>::into(::std::clone::Clone::clone(self)))
11898     }
11899 }
11900 #[cfg(feature = "Win32_System_Ole_Automation")]
11901 impl ::std::convert::From<ISpeechXMLRecoResult> for super::super::System::Ole::Automation::IDispatch {
from(value: ISpeechXMLRecoResult) -> Self11902     fn from(value: ISpeechXMLRecoResult) -> Self {
11903         unsafe { ::std::mem::transmute(value) }
11904     }
11905 }
11906 #[cfg(feature = "Win32_System_Ole_Automation")]
11907 impl ::std::convert::From<&ISpeechXMLRecoResult> for super::super::System::Ole::Automation::IDispatch {
from(value: &ISpeechXMLRecoResult) -> Self11908     fn from(value: &ISpeechXMLRecoResult) -> Self {
11909         ::std::convert::From::from(::std::clone::Clone::clone(value))
11910     }
11911 }
11912 #[cfg(feature = "Win32_System_Ole_Automation")]
11913 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ISpeechXMLRecoResult {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>11914     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11915         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
11916     }
11917 }
11918 #[cfg(feature = "Win32_System_Ole_Automation")]
11919 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ISpeechXMLRecoResult {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>11920     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11921         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
11922     }
11923 }
11924 #[repr(C)]
11925 #[doc(hidden)]
11926 pub struct ISpeechXMLRecoResult_abi(
11927     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11928     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11929     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11930     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
11931     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11932     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
11933     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
11934     #[cfg(not(feature = "Win32_Foundation"))] usize,
11935     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11936     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
11937     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11938     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, recocontext: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11939     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, times: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11940     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, format: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11941     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, format: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11942     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, phraseinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11943     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, requestcount: i32, startelement: i32, elements: i32, alternates: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11944     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, startelement: i32, elements: i32, stream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11945     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, startelement: i32, elements: i32, flags: SpeechVoiceSpeakFlags, streamnumber: *mut i32) -> ::windows::runtime::HRESULT,
11946     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, resultblock: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
11947     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11948     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, valuetypes: SpeechDiscardType) -> ::windows::runtime::HRESULT,
11949     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: SPXMLRESULTOPTIONS, presult: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11950     #[cfg(not(feature = "Win32_Foundation"))] usize,
11951     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, linenumber: *mut i32, scriptline: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, source: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, description: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, resultcode: *mut i32, iserror: *mut i16) -> ::windows::runtime::HRESULT,
11952     #[cfg(not(feature = "Win32_Foundation"))] usize,
11953 );
11954 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11955 #[repr(transparent)]
11956 pub struct PHONETICALPHABET(pub i32);
11957 pub const PA_Ipa: PHONETICALPHABET = PHONETICALPHABET(0i32);
11958 pub const PA_Ups: PHONETICALPHABET = PHONETICALPHABET(1i32);
11959 pub const PA_Sapi: PHONETICALPHABET = PHONETICALPHABET(2i32);
11960 impl ::std::convert::From<i32> for PHONETICALPHABET {
from(value: i32) -> Self11961     fn from(value: i32) -> Self {
11962         Self(value)
11963     }
11964 }
11965 unsafe impl ::windows::runtime::Abi for PHONETICALPHABET {
11966     type Abi = Self;
11967     type DefaultType = Self;
11968 }
11969 pub const SAPI_ERROR_BASE: u32 = 20480u32;
11970 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11971 #[repr(transparent)]
11972 pub struct SPADAPTATIONRELEVANCE(pub i32);
11973 pub const SPAR_Unknown: SPADAPTATIONRELEVANCE = SPADAPTATIONRELEVANCE(0i32);
11974 pub const SPAR_Low: SPADAPTATIONRELEVANCE = SPADAPTATIONRELEVANCE(1i32);
11975 pub const SPAR_Medium: SPADAPTATIONRELEVANCE = SPADAPTATIONRELEVANCE(2i32);
11976 pub const SPAR_High: SPADAPTATIONRELEVANCE = SPADAPTATIONRELEVANCE(3i32);
11977 impl ::std::convert::From<i32> for SPADAPTATIONRELEVANCE {
from(value: i32) -> Self11978     fn from(value: i32) -> Self {
11979         Self(value)
11980     }
11981 }
11982 unsafe impl ::windows::runtime::Abi for SPADAPTATIONRELEVANCE {
11983     type Abi = Self;
11984     type DefaultType = Self;
11985 }
11986 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11987 #[repr(transparent)]
11988 pub struct SPADAPTATIONSETTINGS(pub i32);
11989 pub const SPADS_Default: SPADAPTATIONSETTINGS = SPADAPTATIONSETTINGS(0i32);
11990 pub const SPADS_CurrentRecognizer: SPADAPTATIONSETTINGS = SPADAPTATIONSETTINGS(1i32);
11991 pub const SPADS_RecoProfile: SPADAPTATIONSETTINGS = SPADAPTATIONSETTINGS(2i32);
11992 pub const SPADS_Immediate: SPADAPTATIONSETTINGS = SPADAPTATIONSETTINGS(4i32);
11993 pub const SPADS_Reset: SPADAPTATIONSETTINGS = SPADAPTATIONSETTINGS(8i32);
11994 pub const SPADS_HighVolumeDataSource: SPADAPTATIONSETTINGS = SPADAPTATIONSETTINGS(16i32);
11995 impl ::std::convert::From<i32> for SPADAPTATIONSETTINGS {
from(value: i32) -> Self11996     fn from(value: i32) -> Self {
11997         Self(value)
11998     }
11999 }
12000 unsafe impl ::windows::runtime::Abi for SPADAPTATIONSETTINGS {
12001     type Abi = Self;
12002     type DefaultType = Self;
12003 }
12004 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12005 #[repr(C)]
12006 pub struct SPAUDIOBUFFERINFO {
12007     pub ulMsMinNotification: u32,
12008     pub ulMsBufferSize: u32,
12009     pub ulMsEventBias: u32,
12010 }
12011 impl SPAUDIOBUFFERINFO {}
12012 impl ::std::default::Default for SPAUDIOBUFFERINFO {
default() -> Self12013     fn default() -> Self {
12014         unsafe { ::std::mem::zeroed() }
12015     }
12016 }
12017 impl ::std::fmt::Debug for SPAUDIOBUFFERINFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12018     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12019         fmt.debug_struct("SPAUDIOBUFFERINFO").field("ulMsMinNotification", &self.ulMsMinNotification).field("ulMsBufferSize", &self.ulMsBufferSize).field("ulMsEventBias", &self.ulMsEventBias).finish()
12020     }
12021 }
12022 impl ::std::cmp::PartialEq for SPAUDIOBUFFERINFO {
eq(&self, other: &Self) -> bool12023     fn eq(&self, other: &Self) -> bool {
12024         self.ulMsMinNotification == other.ulMsMinNotification && self.ulMsBufferSize == other.ulMsBufferSize && self.ulMsEventBias == other.ulMsEventBias
12025     }
12026 }
12027 impl ::std::cmp::Eq for SPAUDIOBUFFERINFO {}
12028 unsafe impl ::windows::runtime::Abi for SPAUDIOBUFFERINFO {
12029     type Abi = Self;
12030     type DefaultType = Self;
12031 }
12032 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12033 #[repr(transparent)]
12034 pub struct SPAUDIOOPTIONS(pub i32);
12035 pub const SPAO_NONE: SPAUDIOOPTIONS = SPAUDIOOPTIONS(0i32);
12036 pub const SPAO_RETAIN_AUDIO: SPAUDIOOPTIONS = SPAUDIOOPTIONS(1i32);
12037 impl ::std::convert::From<i32> for SPAUDIOOPTIONS {
from(value: i32) -> Self12038     fn from(value: i32) -> Self {
12039         Self(value)
12040     }
12041 }
12042 unsafe impl ::windows::runtime::Abi for SPAUDIOOPTIONS {
12043     type Abi = Self;
12044     type DefaultType = Self;
12045 }
12046 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12047 #[repr(transparent)]
12048 pub struct SPAUDIOSTATE(pub i32);
12049 pub const SPAS_CLOSED: SPAUDIOSTATE = SPAUDIOSTATE(0i32);
12050 pub const SPAS_STOP: SPAUDIOSTATE = SPAUDIOSTATE(1i32);
12051 pub const SPAS_PAUSE: SPAUDIOSTATE = SPAUDIOSTATE(2i32);
12052 pub const SPAS_RUN: SPAUDIOSTATE = SPAUDIOSTATE(3i32);
12053 impl ::std::convert::From<i32> for SPAUDIOSTATE {
from(value: i32) -> Self12054     fn from(value: i32) -> Self {
12055         Self(value)
12056     }
12057 }
12058 unsafe impl ::windows::runtime::Abi for SPAUDIOSTATE {
12059     type Abi = Self;
12060     type DefaultType = Self;
12061 }
12062 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12063 #[repr(C)]
12064 pub struct SPAUDIOSTATUS {
12065     pub cbFreeBuffSpace: i32,
12066     pub cbNonBlockingIO: u32,
12067     pub State: SPAUDIOSTATE,
12068     pub CurSeekPos: u64,
12069     pub CurDevicePos: u64,
12070     pub dwAudioLevel: u32,
12071     pub dwReserved2: u32,
12072 }
12073 impl SPAUDIOSTATUS {}
12074 impl ::std::default::Default for SPAUDIOSTATUS {
default() -> Self12075     fn default() -> Self {
12076         unsafe { ::std::mem::zeroed() }
12077     }
12078 }
12079 impl ::std::fmt::Debug for SPAUDIOSTATUS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12080     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12081         fmt.debug_struct("SPAUDIOSTATUS")
12082             .field("cbFreeBuffSpace", &self.cbFreeBuffSpace)
12083             .field("cbNonBlockingIO", &self.cbNonBlockingIO)
12084             .field("State", &self.State)
12085             .field("CurSeekPos", &self.CurSeekPos)
12086             .field("CurDevicePos", &self.CurDevicePos)
12087             .field("dwAudioLevel", &self.dwAudioLevel)
12088             .field("dwReserved2", &self.dwReserved2)
12089             .finish()
12090     }
12091 }
12092 impl ::std::cmp::PartialEq for SPAUDIOSTATUS {
eq(&self, other: &Self) -> bool12093     fn eq(&self, other: &Self) -> bool {
12094         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
12095     }
12096 }
12097 impl ::std::cmp::Eq for SPAUDIOSTATUS {}
12098 unsafe impl ::windows::runtime::Abi for SPAUDIOSTATUS {
12099     type Abi = Self;
12100     type DefaultType = Self;
12101 }
12102 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12103 #[repr(C)]
12104 pub struct SPBINARYGRAMMAR {
12105     pub ulTotalSerializedSize: u32,
12106 }
12107 impl SPBINARYGRAMMAR {}
12108 impl ::std::default::Default for SPBINARYGRAMMAR {
default() -> Self12109     fn default() -> Self {
12110         unsafe { ::std::mem::zeroed() }
12111     }
12112 }
12113 impl ::std::fmt::Debug for SPBINARYGRAMMAR {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12114     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12115         fmt.debug_struct("SPBINARYGRAMMAR").field("ulTotalSerializedSize", &self.ulTotalSerializedSize).finish()
12116     }
12117 }
12118 impl ::std::cmp::PartialEq for SPBINARYGRAMMAR {
eq(&self, other: &Self) -> bool12119     fn eq(&self, other: &Self) -> bool {
12120         self.ulTotalSerializedSize == other.ulTotalSerializedSize
12121     }
12122 }
12123 impl ::std::cmp::Eq for SPBINARYGRAMMAR {}
12124 unsafe impl ::windows::runtime::Abi for SPBINARYGRAMMAR {
12125     type Abi = Self;
12126     type DefaultType = Self;
12127 }
12128 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12129 #[repr(transparent)]
12130 pub struct SPBOOKMARKOPTIONS(pub i32);
12131 pub const SPBO_NONE: SPBOOKMARKOPTIONS = SPBOOKMARKOPTIONS(0i32);
12132 pub const SPBO_PAUSE: SPBOOKMARKOPTIONS = SPBOOKMARKOPTIONS(1i32);
12133 pub const SPBO_AHEAD: SPBOOKMARKOPTIONS = SPBOOKMARKOPTIONS(2i32);
12134 pub const SPBO_TIME_UNITS: SPBOOKMARKOPTIONS = SPBOOKMARKOPTIONS(4i32);
12135 impl ::std::convert::From<i32> for SPBOOKMARKOPTIONS {
from(value: i32) -> Self12136     fn from(value: i32) -> Self {
12137         Self(value)
12138     }
12139 }
12140 unsafe impl ::windows::runtime::Abi for SPBOOKMARKOPTIONS {
12141     type Abi = Self;
12142     type DefaultType = Self;
12143 }
12144 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12145 #[repr(transparent)]
12146 pub struct SPCFGRULEATTRIBUTES(pub i32);
12147 pub const SPRAF_TopLevel: SPCFGRULEATTRIBUTES = SPCFGRULEATTRIBUTES(1i32);
12148 pub const SPRAF_Active: SPCFGRULEATTRIBUTES = SPCFGRULEATTRIBUTES(2i32);
12149 pub const SPRAF_Export: SPCFGRULEATTRIBUTES = SPCFGRULEATTRIBUTES(4i32);
12150 pub const SPRAF_Import: SPCFGRULEATTRIBUTES = SPCFGRULEATTRIBUTES(8i32);
12151 pub const SPRAF_Interpreter: SPCFGRULEATTRIBUTES = SPCFGRULEATTRIBUTES(16i32);
12152 pub const SPRAF_Dynamic: SPCFGRULEATTRIBUTES = SPCFGRULEATTRIBUTES(32i32);
12153 pub const SPRAF_Root: SPCFGRULEATTRIBUTES = SPCFGRULEATTRIBUTES(64i32);
12154 pub const SPRAF_AutoPause: SPCFGRULEATTRIBUTES = SPCFGRULEATTRIBUTES(65536i32);
12155 pub const SPRAF_UserDelimited: SPCFGRULEATTRIBUTES = SPCFGRULEATTRIBUTES(131072i32);
12156 impl ::std::convert::From<i32> for SPCFGRULEATTRIBUTES {
from(value: i32) -> Self12157     fn from(value: i32) -> Self {
12158         Self(value)
12159     }
12160 }
12161 unsafe impl ::windows::runtime::Abi for SPCFGRULEATTRIBUTES {
12162     type Abi = Self;
12163     type DefaultType = Self;
12164 }
12165 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12166 #[repr(transparent)]
12167 pub struct SPCOMMITFLAGS(pub i32);
12168 pub const SPCF_NONE: SPCOMMITFLAGS = SPCOMMITFLAGS(0i32);
12169 pub const SPCF_ADD_TO_USER_LEXICON: SPCOMMITFLAGS = SPCOMMITFLAGS(1i32);
12170 pub const SPCF_DEFINITE_CORRECTION: SPCOMMITFLAGS = SPCOMMITFLAGS(2i32);
12171 impl ::std::convert::From<i32> for SPCOMMITFLAGS {
from(value: i32) -> Self12172     fn from(value: i32) -> Self {
12173         Self(value)
12174     }
12175 }
12176 unsafe impl ::windows::runtime::Abi for SPCOMMITFLAGS {
12177     type Abi = Self;
12178     type DefaultType = Self;
12179 }
12180 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12181 #[repr(transparent)]
12182 pub struct SPCONTEXTSTATE(pub i32);
12183 pub const SPCS_DISABLED: SPCONTEXTSTATE = SPCONTEXTSTATE(0i32);
12184 pub const SPCS_ENABLED: SPCONTEXTSTATE = SPCONTEXTSTATE(1i32);
12185 impl ::std::convert::From<i32> for SPCONTEXTSTATE {
from(value: i32) -> Self12186     fn from(value: i32) -> Self {
12187         Self(value)
12188     }
12189 }
12190 unsafe impl ::windows::runtime::Abi for SPCONTEXTSTATE {
12191     type Abi = Self;
12192     type DefaultType = Self;
12193 }
12194 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12195 #[repr(transparent)]
12196 pub struct SPDATAKEYLOCATION(pub i32);
12197 pub const SPDKL_DefaultLocation: SPDATAKEYLOCATION = SPDATAKEYLOCATION(0i32);
12198 pub const SPDKL_CurrentUser: SPDATAKEYLOCATION = SPDATAKEYLOCATION(1i32);
12199 pub const SPDKL_LocalMachine: SPDATAKEYLOCATION = SPDATAKEYLOCATION(2i32);
12200 pub const SPDKL_CurrentConfig: SPDATAKEYLOCATION = SPDATAKEYLOCATION(5i32);
12201 impl ::std::convert::From<i32> for SPDATAKEYLOCATION {
from(value: i32) -> Self12202     fn from(value: i32) -> Self {
12203         Self(value)
12204     }
12205 }
12206 unsafe impl ::windows::runtime::Abi for SPDATAKEYLOCATION {
12207     type Abi = Self;
12208     type DefaultType = Self;
12209 }
12210 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12211 #[repr(C)]
12212 #[cfg(feature = "Win32_Foundation")]
12213 pub struct SPDISPLAYPHRASE {
12214     pub ulNumTokens: u32,
12215     pub pTokens: *mut SPDISPLAYTOKEN,
12216 }
12217 #[cfg(feature = "Win32_Foundation")]
12218 impl SPDISPLAYPHRASE {}
12219 #[cfg(feature = "Win32_Foundation")]
12220 impl ::std::default::Default for SPDISPLAYPHRASE {
default() -> Self12221     fn default() -> Self {
12222         unsafe { ::std::mem::zeroed() }
12223     }
12224 }
12225 #[cfg(feature = "Win32_Foundation")]
12226 impl ::std::fmt::Debug for SPDISPLAYPHRASE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12227     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12228         fmt.debug_struct("SPDISPLAYPHRASE").field("ulNumTokens", &self.ulNumTokens).field("pTokens", &self.pTokens).finish()
12229     }
12230 }
12231 #[cfg(feature = "Win32_Foundation")]
12232 impl ::std::cmp::PartialEq for SPDISPLAYPHRASE {
eq(&self, other: &Self) -> bool12233     fn eq(&self, other: &Self) -> bool {
12234         self.ulNumTokens == other.ulNumTokens && self.pTokens == other.pTokens
12235     }
12236 }
12237 #[cfg(feature = "Win32_Foundation")]
12238 impl ::std::cmp::Eq for SPDISPLAYPHRASE {}
12239 #[cfg(feature = "Win32_Foundation")]
12240 unsafe impl ::windows::runtime::Abi for SPDISPLAYPHRASE {
12241     type Abi = Self;
12242     type DefaultType = Self;
12243 }
12244 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12245 #[repr(C)]
12246 #[cfg(feature = "Win32_Foundation")]
12247 pub struct SPDISPLAYTOKEN {
12248     pub pszLexical: super::super::Foundation::PWSTR,
12249     pub pszDisplay: super::super::Foundation::PWSTR,
12250     pub bDisplayAttributes: u8,
12251 }
12252 #[cfg(feature = "Win32_Foundation")]
12253 impl SPDISPLAYTOKEN {}
12254 #[cfg(feature = "Win32_Foundation")]
12255 impl ::std::default::Default for SPDISPLAYTOKEN {
default() -> Self12256     fn default() -> Self {
12257         unsafe { ::std::mem::zeroed() }
12258     }
12259 }
12260 #[cfg(feature = "Win32_Foundation")]
12261 impl ::std::fmt::Debug for SPDISPLAYTOKEN {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12262     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12263         fmt.debug_struct("SPDISPLAYTOKEN").field("pszLexical", &self.pszLexical).field("pszDisplay", &self.pszDisplay).field("bDisplayAttributes", &self.bDisplayAttributes).finish()
12264     }
12265 }
12266 #[cfg(feature = "Win32_Foundation")]
12267 impl ::std::cmp::PartialEq for SPDISPLAYTOKEN {
eq(&self, other: &Self) -> bool12268     fn eq(&self, other: &Self) -> bool {
12269         self.pszLexical == other.pszLexical && self.pszDisplay == other.pszDisplay && self.bDisplayAttributes == other.bDisplayAttributes
12270     }
12271 }
12272 #[cfg(feature = "Win32_Foundation")]
12273 impl ::std::cmp::Eq for SPDISPLAYTOKEN {}
12274 #[cfg(feature = "Win32_Foundation")]
12275 unsafe impl ::windows::runtime::Abi for SPDISPLAYTOKEN {
12276     type Abi = Self;
12277     type DefaultType = Self;
12278 }
12279 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12280 #[repr(transparent)]
12281 pub struct SPDISPLYATTRIBUTES(pub i32);
12282 pub const SPAF_ONE_TRAILING_SPACE: SPDISPLYATTRIBUTES = SPDISPLYATTRIBUTES(2i32);
12283 pub const SPAF_TWO_TRAILING_SPACES: SPDISPLYATTRIBUTES = SPDISPLYATTRIBUTES(4i32);
12284 pub const SPAF_CONSUME_LEADING_SPACES: SPDISPLYATTRIBUTES = SPDISPLYATTRIBUTES(8i32);
12285 pub const SPAF_BUFFER_POSITION: SPDISPLYATTRIBUTES = SPDISPLYATTRIBUTES(16i32);
12286 pub const SPAF_ALL: SPDISPLYATTRIBUTES = SPDISPLYATTRIBUTES(31i32);
12287 pub const SPAF_USER_SPECIFIED: SPDISPLYATTRIBUTES = SPDISPLYATTRIBUTES(128i32);
12288 impl ::std::convert::From<i32> for SPDISPLYATTRIBUTES {
from(value: i32) -> Self12289     fn from(value: i32) -> Self {
12290         Self(value)
12291     }
12292 }
12293 unsafe impl ::windows::runtime::Abi for SPDISPLYATTRIBUTES {
12294     type Abi = Self;
12295     type DefaultType = Self;
12296 }
12297 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12298 #[repr(transparent)]
12299 pub struct SPEAKFLAGS(pub i32);
12300 pub const SPF_DEFAULT: SPEAKFLAGS = SPEAKFLAGS(0i32);
12301 pub const SPF_ASYNC: SPEAKFLAGS = SPEAKFLAGS(1i32);
12302 pub const SPF_PURGEBEFORESPEAK: SPEAKFLAGS = SPEAKFLAGS(2i32);
12303 pub const SPF_IS_FILENAME: SPEAKFLAGS = SPEAKFLAGS(4i32);
12304 pub const SPF_IS_XML: SPEAKFLAGS = SPEAKFLAGS(8i32);
12305 pub const SPF_IS_NOT_XML: SPEAKFLAGS = SPEAKFLAGS(16i32);
12306 pub const SPF_PERSIST_XML: SPEAKFLAGS = SPEAKFLAGS(32i32);
12307 pub const SPF_NLP_SPEAK_PUNC: SPEAKFLAGS = SPEAKFLAGS(64i32);
12308 pub const SPF_PARSE_SAPI: SPEAKFLAGS = SPEAKFLAGS(128i32);
12309 pub const SPF_PARSE_SSML: SPEAKFLAGS = SPEAKFLAGS(256i32);
12310 pub const SPF_PARSE_AUTODETECT: SPEAKFLAGS = SPEAKFLAGS(0i32);
12311 pub const SPF_NLP_MASK: SPEAKFLAGS = SPEAKFLAGS(64i32);
12312 pub const SPF_PARSE_MASK: SPEAKFLAGS = SPEAKFLAGS(384i32);
12313 pub const SPF_VOICE_MASK: SPEAKFLAGS = SPEAKFLAGS(511i32);
12314 pub const SPF_UNUSED_FLAGS: SPEAKFLAGS = SPEAKFLAGS(-512i32);
12315 impl ::std::convert::From<i32> for SPEAKFLAGS {
from(value: i32) -> Self12316     fn from(value: i32) -> Self {
12317         Self(value)
12318     }
12319 }
12320 unsafe impl ::windows::runtime::Abi for SPEAKFLAGS {
12321     type Abi = Self;
12322     type DefaultType = Self;
12323 }
12324 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12325 #[repr(transparent)]
12326 pub struct SPENDSRSTREAMFLAGS(pub i32);
12327 pub const SPESF_NONE: SPENDSRSTREAMFLAGS = SPENDSRSTREAMFLAGS(0i32);
12328 pub const SPESF_STREAM_RELEASED: SPENDSRSTREAMFLAGS = SPENDSRSTREAMFLAGS(1i32);
12329 pub const SPESF_EMULATED: SPENDSRSTREAMFLAGS = SPENDSRSTREAMFLAGS(2i32);
12330 impl ::std::convert::From<i32> for SPENDSRSTREAMFLAGS {
from(value: i32) -> Self12331     fn from(value: i32) -> Self {
12332         Self(value)
12333     }
12334 }
12335 unsafe impl ::windows::runtime::Abi for SPENDSRSTREAMFLAGS {
12336     type Abi = Self;
12337     type DefaultType = Self;
12338 }
12339 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12340 #[repr(C)]
12341 #[cfg(feature = "Win32_Foundation")]
12342 pub struct SPEVENT {
12343     pub _bitfield: i32,
12344     pub ulStreamNum: u32,
12345     pub ullAudioStreamOffset: u64,
12346     pub wParam: super::super::Foundation::WPARAM,
12347     pub lParam: super::super::Foundation::LPARAM,
12348 }
12349 #[cfg(feature = "Win32_Foundation")]
12350 impl SPEVENT {}
12351 #[cfg(feature = "Win32_Foundation")]
12352 impl ::std::default::Default for SPEVENT {
default() -> Self12353     fn default() -> Self {
12354         unsafe { ::std::mem::zeroed() }
12355     }
12356 }
12357 #[cfg(feature = "Win32_Foundation")]
12358 impl ::std::fmt::Debug for SPEVENT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12359     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12360         fmt.debug_struct("SPEVENT").field("_bitfield", &self._bitfield).field("ulStreamNum", &self.ulStreamNum).field("ullAudioStreamOffset", &self.ullAudioStreamOffset).field("wParam", &self.wParam).field("lParam", &self.lParam).finish()
12361     }
12362 }
12363 #[cfg(feature = "Win32_Foundation")]
12364 impl ::std::cmp::PartialEq for SPEVENT {
eq(&self, other: &Self) -> bool12365     fn eq(&self, other: &Self) -> bool {
12366         self._bitfield == other._bitfield && self.ulStreamNum == other.ulStreamNum && self.ullAudioStreamOffset == other.ullAudioStreamOffset && self.wParam == other.wParam && self.lParam == other.lParam
12367     }
12368 }
12369 #[cfg(feature = "Win32_Foundation")]
12370 impl ::std::cmp::Eq for SPEVENT {}
12371 #[cfg(feature = "Win32_Foundation")]
12372 unsafe impl ::windows::runtime::Abi for SPEVENT {
12373     type Abi = Self;
12374     type DefaultType = Self;
12375 }
12376 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12377 #[repr(transparent)]
12378 pub struct SPEVENTENUM(pub i32);
12379 pub const SPEI_UNDEFINED: SPEVENTENUM = SPEVENTENUM(0i32);
12380 pub const SPEI_START_INPUT_STREAM: SPEVENTENUM = SPEVENTENUM(1i32);
12381 pub const SPEI_END_INPUT_STREAM: SPEVENTENUM = SPEVENTENUM(2i32);
12382 pub const SPEI_VOICE_CHANGE: SPEVENTENUM = SPEVENTENUM(3i32);
12383 pub const SPEI_TTS_BOOKMARK: SPEVENTENUM = SPEVENTENUM(4i32);
12384 pub const SPEI_WORD_BOUNDARY: SPEVENTENUM = SPEVENTENUM(5i32);
12385 pub const SPEI_PHONEME: SPEVENTENUM = SPEVENTENUM(6i32);
12386 pub const SPEI_SENTENCE_BOUNDARY: SPEVENTENUM = SPEVENTENUM(7i32);
12387 pub const SPEI_VISEME: SPEVENTENUM = SPEVENTENUM(8i32);
12388 pub const SPEI_TTS_AUDIO_LEVEL: SPEVENTENUM = SPEVENTENUM(9i32);
12389 pub const SPEI_TTS_PRIVATE: SPEVENTENUM = SPEVENTENUM(15i32);
12390 pub const SPEI_MIN_TTS: SPEVENTENUM = SPEVENTENUM(1i32);
12391 pub const SPEI_MAX_TTS: SPEVENTENUM = SPEVENTENUM(15i32);
12392 pub const SPEI_END_SR_STREAM: SPEVENTENUM = SPEVENTENUM(34i32);
12393 pub const SPEI_SOUND_START: SPEVENTENUM = SPEVENTENUM(35i32);
12394 pub const SPEI_SOUND_END: SPEVENTENUM = SPEVENTENUM(36i32);
12395 pub const SPEI_PHRASE_START: SPEVENTENUM = SPEVENTENUM(37i32);
12396 pub const SPEI_RECOGNITION: SPEVENTENUM = SPEVENTENUM(38i32);
12397 pub const SPEI_HYPOTHESIS: SPEVENTENUM = SPEVENTENUM(39i32);
12398 pub const SPEI_SR_BOOKMARK: SPEVENTENUM = SPEVENTENUM(40i32);
12399 pub const SPEI_PROPERTY_NUM_CHANGE: SPEVENTENUM = SPEVENTENUM(41i32);
12400 pub const SPEI_PROPERTY_STRING_CHANGE: SPEVENTENUM = SPEVENTENUM(42i32);
12401 pub const SPEI_FALSE_RECOGNITION: SPEVENTENUM = SPEVENTENUM(43i32);
12402 pub const SPEI_INTERFERENCE: SPEVENTENUM = SPEVENTENUM(44i32);
12403 pub const SPEI_REQUEST_UI: SPEVENTENUM = SPEVENTENUM(45i32);
12404 pub const SPEI_RECO_STATE_CHANGE: SPEVENTENUM = SPEVENTENUM(46i32);
12405 pub const SPEI_ADAPTATION: SPEVENTENUM = SPEVENTENUM(47i32);
12406 pub const SPEI_START_SR_STREAM: SPEVENTENUM = SPEVENTENUM(48i32);
12407 pub const SPEI_RECO_OTHER_CONTEXT: SPEVENTENUM = SPEVENTENUM(49i32);
12408 pub const SPEI_SR_AUDIO_LEVEL: SPEVENTENUM = SPEVENTENUM(50i32);
12409 pub const SPEI_SR_RETAINEDAUDIO: SPEVENTENUM = SPEVENTENUM(51i32);
12410 pub const SPEI_SR_PRIVATE: SPEVENTENUM = SPEVENTENUM(52i32);
12411 pub const SPEI_RESERVED4: SPEVENTENUM = SPEVENTENUM(53i32);
12412 pub const SPEI_RESERVED5: SPEVENTENUM = SPEVENTENUM(54i32);
12413 pub const SPEI_RESERVED6: SPEVENTENUM = SPEVENTENUM(55i32);
12414 pub const SPEI_MIN_SR: SPEVENTENUM = SPEVENTENUM(34i32);
12415 pub const SPEI_MAX_SR: SPEVENTENUM = SPEVENTENUM(55i32);
12416 pub const SPEI_RESERVED1: SPEVENTENUM = SPEVENTENUM(30i32);
12417 pub const SPEI_RESERVED2: SPEVENTENUM = SPEVENTENUM(33i32);
12418 pub const SPEI_RESERVED3: SPEVENTENUM = SPEVENTENUM(63i32);
12419 impl ::std::convert::From<i32> for SPEVENTENUM {
from(value: i32) -> Self12420     fn from(value: i32) -> Self {
12421         Self(value)
12422     }
12423 }
12424 unsafe impl ::windows::runtime::Abi for SPEVENTENUM {
12425     type Abi = Self;
12426     type DefaultType = Self;
12427 }
12428 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12429 #[repr(C)]
12430 #[cfg(feature = "Win32_Foundation")]
12431 pub struct SPEVENTEX {
12432     pub _bitfield: i32,
12433     pub ulStreamNum: u32,
12434     pub ullAudioStreamOffset: u64,
12435     pub wParam: super::super::Foundation::WPARAM,
12436     pub lParam: super::super::Foundation::LPARAM,
12437     pub ullAudioTimeOffset: u64,
12438 }
12439 #[cfg(feature = "Win32_Foundation")]
12440 impl SPEVENTEX {}
12441 #[cfg(feature = "Win32_Foundation")]
12442 impl ::std::default::Default for SPEVENTEX {
default() -> Self12443     fn default() -> Self {
12444         unsafe { ::std::mem::zeroed() }
12445     }
12446 }
12447 #[cfg(feature = "Win32_Foundation")]
12448 impl ::std::fmt::Debug for SPEVENTEX {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12449     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12450         fmt.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()
12451     }
12452 }
12453 #[cfg(feature = "Win32_Foundation")]
12454 impl ::std::cmp::PartialEq for SPEVENTEX {
eq(&self, other: &Self) -> bool12455     fn eq(&self, other: &Self) -> bool {
12456         self._bitfield == other._bitfield && self.ulStreamNum == other.ulStreamNum && self.ullAudioStreamOffset == other.ullAudioStreamOffset && self.wParam == other.wParam && self.lParam == other.lParam && self.ullAudioTimeOffset == other.ullAudioTimeOffset
12457     }
12458 }
12459 #[cfg(feature = "Win32_Foundation")]
12460 impl ::std::cmp::Eq for SPEVENTEX {}
12461 #[cfg(feature = "Win32_Foundation")]
12462 unsafe impl ::windows::runtime::Abi for SPEVENTEX {
12463     type Abi = Self;
12464     type DefaultType = Self;
12465 }
12466 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12467 #[repr(transparent)]
12468 pub struct SPEVENTLPARAMTYPE(pub i32);
12469 pub const SPET_LPARAM_IS_UNDEFINED: SPEVENTLPARAMTYPE = SPEVENTLPARAMTYPE(0i32);
12470 pub const SPET_LPARAM_IS_TOKEN: SPEVENTLPARAMTYPE = SPEVENTLPARAMTYPE(1i32);
12471 pub const SPET_LPARAM_IS_OBJECT: SPEVENTLPARAMTYPE = SPEVENTLPARAMTYPE(2i32);
12472 pub const SPET_LPARAM_IS_POINTER: SPEVENTLPARAMTYPE = SPEVENTLPARAMTYPE(3i32);
12473 pub const SPET_LPARAM_IS_STRING: SPEVENTLPARAMTYPE = SPEVENTLPARAMTYPE(4i32);
12474 impl ::std::convert::From<i32> for SPEVENTLPARAMTYPE {
from(value: i32) -> Self12475     fn from(value: i32) -> Self {
12476         Self(value)
12477     }
12478 }
12479 unsafe impl ::windows::runtime::Abi for SPEVENTLPARAMTYPE {
12480     type Abi = Self;
12481     type DefaultType = Self;
12482 }
12483 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12484 #[repr(C)]
12485 pub struct SPEVENTSOURCEINFO {
12486     pub ullEventInterest: u64,
12487     pub ullQueuedInterest: u64,
12488     pub ulCount: u32,
12489 }
12490 impl SPEVENTSOURCEINFO {}
12491 impl ::std::default::Default for SPEVENTSOURCEINFO {
default() -> Self12492     fn default() -> Self {
12493         unsafe { ::std::mem::zeroed() }
12494     }
12495 }
12496 impl ::std::fmt::Debug for SPEVENTSOURCEINFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12497     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12498         fmt.debug_struct("SPEVENTSOURCEINFO").field("ullEventInterest", &self.ullEventInterest).field("ullQueuedInterest", &self.ullQueuedInterest).field("ulCount", &self.ulCount).finish()
12499     }
12500 }
12501 impl ::std::cmp::PartialEq for SPEVENTSOURCEINFO {
eq(&self, other: &Self) -> bool12502     fn eq(&self, other: &Self) -> bool {
12503         self.ullEventInterest == other.ullEventInterest && self.ullQueuedInterest == other.ullQueuedInterest && self.ulCount == other.ulCount
12504     }
12505 }
12506 impl ::std::cmp::Eq for SPEVENTSOURCEINFO {}
12507 unsafe impl ::windows::runtime::Abi for SPEVENTSOURCEINFO {
12508     type Abi = Self;
12509     type DefaultType = Self;
12510 }
12511 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12512 #[repr(transparent)]
12513 pub struct SPFILEMODE(pub i32);
12514 pub const SPFM_OPEN_READONLY: SPFILEMODE = SPFILEMODE(0i32);
12515 pub const SPFM_OPEN_READWRITE: SPFILEMODE = SPFILEMODE(1i32);
12516 pub const SPFM_CREATE: SPFILEMODE = SPFILEMODE(2i32);
12517 pub const SPFM_CREATE_ALWAYS: SPFILEMODE = SPFILEMODE(3i32);
12518 pub const SPFM_NUM_MODES: SPFILEMODE = SPFILEMODE(4i32);
12519 impl ::std::convert::From<i32> for SPFILEMODE {
from(value: i32) -> Self12520     fn from(value: i32) -> Self {
12521         Self(value)
12522     }
12523 }
12524 unsafe impl ::windows::runtime::Abi for SPFILEMODE {
12525     type Abi = Self;
12526     type DefaultType = Self;
12527 }
12528 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12529 #[repr(transparent)]
12530 pub struct SPGRAMMAROPTIONS(pub i32);
12531 pub const SPGO_SAPI: SPGRAMMAROPTIONS = SPGRAMMAROPTIONS(1i32);
12532 pub const SPGO_SRGS: SPGRAMMAROPTIONS = SPGRAMMAROPTIONS(2i32);
12533 pub const SPGO_UPS: SPGRAMMAROPTIONS = SPGRAMMAROPTIONS(4i32);
12534 pub const SPGO_SRGS_MS_SCRIPT: SPGRAMMAROPTIONS = SPGRAMMAROPTIONS(8i32);
12535 pub const SPGO_SRGS_W3C_SCRIPT: SPGRAMMAROPTIONS = SPGRAMMAROPTIONS(256i32);
12536 pub const SPGO_SRGS_STG_SCRIPT: SPGRAMMAROPTIONS = SPGRAMMAROPTIONS(512i32);
12537 pub const SPGO_SRGS_SCRIPT: SPGRAMMAROPTIONS = SPGRAMMAROPTIONS(778i32);
12538 pub const SPGO_FILE: SPGRAMMAROPTIONS = SPGRAMMAROPTIONS(16i32);
12539 pub const SPGO_HTTP: SPGRAMMAROPTIONS = SPGRAMMAROPTIONS(32i32);
12540 pub const SPGO_RES: SPGRAMMAROPTIONS = SPGRAMMAROPTIONS(64i32);
12541 pub const SPGO_OBJECT: SPGRAMMAROPTIONS = SPGRAMMAROPTIONS(128i32);
12542 pub const SPGO_DEFAULT: SPGRAMMAROPTIONS = SPGRAMMAROPTIONS(1019i32);
12543 pub const SPGO_ALL: SPGRAMMAROPTIONS = SPGRAMMAROPTIONS(1023i32);
12544 impl ::std::convert::From<i32> for SPGRAMMAROPTIONS {
from(value: i32) -> Self12545     fn from(value: i32) -> Self {
12546         Self(value)
12547     }
12548 }
12549 unsafe impl ::windows::runtime::Abi for SPGRAMMAROPTIONS {
12550     type Abi = Self;
12551     type DefaultType = Self;
12552 }
12553 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12554 #[repr(transparent)]
12555 pub struct SPGRAMMARSTATE(pub i32);
12556 pub const SPGS_DISABLED: SPGRAMMARSTATE = SPGRAMMARSTATE(0i32);
12557 pub const SPGS_ENABLED: SPGRAMMARSTATE = SPGRAMMARSTATE(1i32);
12558 pub const SPGS_EXCLUSIVE: SPGRAMMARSTATE = SPGRAMMARSTATE(3i32);
12559 impl ::std::convert::From<i32> for SPGRAMMARSTATE {
from(value: i32) -> Self12560     fn from(value: i32) -> Self {
12561         Self(value)
12562     }
12563 }
12564 unsafe impl ::windows::runtime::Abi for SPGRAMMARSTATE {
12565     type Abi = Self;
12566     type DefaultType = Self;
12567 }
12568 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12569 #[repr(transparent)]
12570 pub struct SPGRAMMARWORDTYPE(pub i32);
12571 pub const SPWT_DISPLAY: SPGRAMMARWORDTYPE = SPGRAMMARWORDTYPE(0i32);
12572 pub const SPWT_LEXICAL: SPGRAMMARWORDTYPE = SPGRAMMARWORDTYPE(1i32);
12573 pub const SPWT_PRONUNCIATION: SPGRAMMARWORDTYPE = SPGRAMMARWORDTYPE(2i32);
12574 pub const SPWT_LEXICAL_NO_SPECIAL_CHARS: SPGRAMMARWORDTYPE = SPGRAMMARWORDTYPE(3i32);
12575 impl ::std::convert::From<i32> for SPGRAMMARWORDTYPE {
from(value: i32) -> Self12576     fn from(value: i32) -> Self {
12577         Self(value)
12578     }
12579 }
12580 unsafe impl ::windows::runtime::Abi for SPGRAMMARWORDTYPE {
12581     type Abi = Self;
12582     type DefaultType = Self;
12583 }
12584 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12585 #[repr(transparent)]
12586 pub struct SPINTERFERENCE(pub i32);
12587 pub const SPINTERFERENCE_NONE: SPINTERFERENCE = SPINTERFERENCE(0i32);
12588 pub const SPINTERFERENCE_NOISE: SPINTERFERENCE = SPINTERFERENCE(1i32);
12589 pub const SPINTERFERENCE_NOSIGNAL: SPINTERFERENCE = SPINTERFERENCE(2i32);
12590 pub const SPINTERFERENCE_TOOLOUD: SPINTERFERENCE = SPINTERFERENCE(3i32);
12591 pub const SPINTERFERENCE_TOOQUIET: SPINTERFERENCE = SPINTERFERENCE(4i32);
12592 pub const SPINTERFERENCE_TOOFAST: SPINTERFERENCE = SPINTERFERENCE(5i32);
12593 pub const SPINTERFERENCE_TOOSLOW: SPINTERFERENCE = SPINTERFERENCE(6i32);
12594 pub const SPINTERFERENCE_LATENCY_WARNING: SPINTERFERENCE = SPINTERFERENCE(7i32);
12595 pub const SPINTERFERENCE_LATENCY_TRUNCATE_BEGIN: SPINTERFERENCE = SPINTERFERENCE(8i32);
12596 pub const SPINTERFERENCE_LATENCY_TRUNCATE_END: SPINTERFERENCE = SPINTERFERENCE(9i32);
12597 impl ::std::convert::From<i32> for SPINTERFERENCE {
from(value: i32) -> Self12598     fn from(value: i32) -> Self {
12599         Self(value)
12600     }
12601 }
12602 unsafe impl ::windows::runtime::Abi for SPINTERFERENCE {
12603     type Abi = Self;
12604     type DefaultType = Self;
12605 }
12606 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12607 #[repr(transparent)]
12608 pub struct SPLEXICONTYPE(pub i32);
12609 pub const eLEXTYPE_USER: SPLEXICONTYPE = SPLEXICONTYPE(1i32);
12610 pub const eLEXTYPE_APP: SPLEXICONTYPE = SPLEXICONTYPE(2i32);
12611 pub const eLEXTYPE_VENDORLEXICON: SPLEXICONTYPE = SPLEXICONTYPE(4i32);
12612 pub const eLEXTYPE_LETTERTOSOUND: SPLEXICONTYPE = SPLEXICONTYPE(8i32);
12613 pub const eLEXTYPE_MORPHOLOGY: SPLEXICONTYPE = SPLEXICONTYPE(16i32);
12614 pub const eLEXTYPE_RESERVED4: SPLEXICONTYPE = SPLEXICONTYPE(32i32);
12615 pub const eLEXTYPE_USER_SHORTCUT: SPLEXICONTYPE = SPLEXICONTYPE(64i32);
12616 pub const eLEXTYPE_RESERVED6: SPLEXICONTYPE = SPLEXICONTYPE(128i32);
12617 pub const eLEXTYPE_RESERVED7: SPLEXICONTYPE = SPLEXICONTYPE(256i32);
12618 pub const eLEXTYPE_RESERVED8: SPLEXICONTYPE = SPLEXICONTYPE(512i32);
12619 pub const eLEXTYPE_RESERVED9: SPLEXICONTYPE = SPLEXICONTYPE(1024i32);
12620 pub const eLEXTYPE_RESERVED10: SPLEXICONTYPE = SPLEXICONTYPE(2048i32);
12621 pub const eLEXTYPE_PRIVATE1: SPLEXICONTYPE = SPLEXICONTYPE(4096i32);
12622 pub const eLEXTYPE_PRIVATE2: SPLEXICONTYPE = SPLEXICONTYPE(8192i32);
12623 pub const eLEXTYPE_PRIVATE3: SPLEXICONTYPE = SPLEXICONTYPE(16384i32);
12624 pub const eLEXTYPE_PRIVATE4: SPLEXICONTYPE = SPLEXICONTYPE(32768i32);
12625 pub const eLEXTYPE_PRIVATE5: SPLEXICONTYPE = SPLEXICONTYPE(65536i32);
12626 pub const eLEXTYPE_PRIVATE6: SPLEXICONTYPE = SPLEXICONTYPE(131072i32);
12627 pub const eLEXTYPE_PRIVATE7: SPLEXICONTYPE = SPLEXICONTYPE(262144i32);
12628 pub const eLEXTYPE_PRIVATE8: SPLEXICONTYPE = SPLEXICONTYPE(524288i32);
12629 pub const eLEXTYPE_PRIVATE9: SPLEXICONTYPE = SPLEXICONTYPE(1048576i32);
12630 pub const eLEXTYPE_PRIVATE10: SPLEXICONTYPE = SPLEXICONTYPE(2097152i32);
12631 pub const eLEXTYPE_PRIVATE11: SPLEXICONTYPE = SPLEXICONTYPE(4194304i32);
12632 pub const eLEXTYPE_PRIVATE12: SPLEXICONTYPE = SPLEXICONTYPE(8388608i32);
12633 pub const eLEXTYPE_PRIVATE13: SPLEXICONTYPE = SPLEXICONTYPE(16777216i32);
12634 pub const eLEXTYPE_PRIVATE14: SPLEXICONTYPE = SPLEXICONTYPE(33554432i32);
12635 pub const eLEXTYPE_PRIVATE15: SPLEXICONTYPE = SPLEXICONTYPE(67108864i32);
12636 pub const eLEXTYPE_PRIVATE16: SPLEXICONTYPE = SPLEXICONTYPE(134217728i32);
12637 pub const eLEXTYPE_PRIVATE17: SPLEXICONTYPE = SPLEXICONTYPE(268435456i32);
12638 pub const eLEXTYPE_PRIVATE18: SPLEXICONTYPE = SPLEXICONTYPE(536870912i32);
12639 pub const eLEXTYPE_PRIVATE19: SPLEXICONTYPE = SPLEXICONTYPE(1073741824i32);
12640 pub const eLEXTYPE_PRIVATE20: SPLEXICONTYPE = SPLEXICONTYPE(-2147483648i32);
12641 impl ::std::convert::From<i32> for SPLEXICONTYPE {
from(value: i32) -> Self12642     fn from(value: i32) -> Self {
12643         Self(value)
12644     }
12645 }
12646 unsafe impl ::windows::runtime::Abi for SPLEXICONTYPE {
12647     type Abi = Self;
12648     type DefaultType = Self;
12649 }
12650 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12651 #[repr(transparent)]
12652 pub struct SPLOADOPTIONS(pub i32);
12653 pub const SPLO_STATIC: SPLOADOPTIONS = SPLOADOPTIONS(0i32);
12654 pub const SPLO_DYNAMIC: SPLOADOPTIONS = SPLOADOPTIONS(1i32);
12655 impl ::std::convert::From<i32> for SPLOADOPTIONS {
from(value: i32) -> Self12656     fn from(value: i32) -> Self {
12657         Self(value)
12658     }
12659 }
12660 unsafe impl ::windows::runtime::Abi for SPLOADOPTIONS {
12661     type Abi = Self;
12662     type DefaultType = Self;
12663 }
12664 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12665 #[repr(transparent)]
12666 pub struct SPMATCHINGMODE(pub i32);
12667 pub const AllWords: SPMATCHINGMODE = SPMATCHINGMODE(0i32);
12668 pub const Subsequence: SPMATCHINGMODE = SPMATCHINGMODE(1i32);
12669 pub const OrderedSubset: SPMATCHINGMODE = SPMATCHINGMODE(3i32);
12670 pub const SubsequenceContentRequired: SPMATCHINGMODE = SPMATCHINGMODE(5i32);
12671 pub const OrderedSubsetContentRequired: SPMATCHINGMODE = SPMATCHINGMODE(7i32);
12672 impl ::std::convert::From<i32> for SPMATCHINGMODE {
from(value: i32) -> Self12673     fn from(value: i32) -> Self {
12674         Self(value)
12675     }
12676 }
12677 unsafe impl ::windows::runtime::Abi for SPMATCHINGMODE {
12678     type Abi = Self;
12679     type DefaultType = Self;
12680 }
12681 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12682 #[repr(C)]
12683 pub struct SPNORMALIZATIONLIST {
12684     pub ulSize: u32,
12685     pub ppszzNormalizedList: *mut *mut u16,
12686 }
12687 impl SPNORMALIZATIONLIST {}
12688 impl ::std::default::Default for SPNORMALIZATIONLIST {
default() -> Self12689     fn default() -> Self {
12690         unsafe { ::std::mem::zeroed() }
12691     }
12692 }
12693 impl ::std::fmt::Debug for SPNORMALIZATIONLIST {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12694     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12695         fmt.debug_struct("SPNORMALIZATIONLIST").field("ulSize", &self.ulSize).field("ppszzNormalizedList", &self.ppszzNormalizedList).finish()
12696     }
12697 }
12698 impl ::std::cmp::PartialEq for SPNORMALIZATIONLIST {
eq(&self, other: &Self) -> bool12699     fn eq(&self, other: &Self) -> bool {
12700         self.ulSize == other.ulSize && self.ppszzNormalizedList == other.ppszzNormalizedList
12701     }
12702 }
12703 impl ::std::cmp::Eq for SPNORMALIZATIONLIST {}
12704 unsafe impl ::windows::runtime::Abi for SPNORMALIZATIONLIST {
12705     type Abi = Self;
12706     type DefaultType = Self;
12707 }
12708 #[cfg(feature = "Win32_Foundation")]
12709 pub type SPNOTIFYCALLBACK = unsafe extern "system" fn(wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM);
12710 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12711 #[repr(transparent)]
12712 pub struct SPPARTOFSPEECH(pub i32);
12713 pub const SPPS_NotOverriden: SPPARTOFSPEECH = SPPARTOFSPEECH(-1i32);
12714 pub const SPPS_Unknown: SPPARTOFSPEECH = SPPARTOFSPEECH(0i32);
12715 pub const SPPS_Noun: SPPARTOFSPEECH = SPPARTOFSPEECH(4096i32);
12716 pub const SPPS_Verb: SPPARTOFSPEECH = SPPARTOFSPEECH(8192i32);
12717 pub const SPPS_Modifier: SPPARTOFSPEECH = SPPARTOFSPEECH(12288i32);
12718 pub const SPPS_Function: SPPARTOFSPEECH = SPPARTOFSPEECH(16384i32);
12719 pub const SPPS_Interjection: SPPARTOFSPEECH = SPPARTOFSPEECH(20480i32);
12720 pub const SPPS_Noncontent: SPPARTOFSPEECH = SPPARTOFSPEECH(24576i32);
12721 pub const SPPS_LMA: SPPARTOFSPEECH = SPPARTOFSPEECH(28672i32);
12722 pub const SPPS_SuppressWord: SPPARTOFSPEECH = SPPARTOFSPEECH(61440i32);
12723 impl ::std::convert::From<i32> for SPPARTOFSPEECH {
from(value: i32) -> Self12724     fn from(value: i32) -> Self {
12725         Self(value)
12726     }
12727 }
12728 unsafe impl ::windows::runtime::Abi for SPPARTOFSPEECH {
12729     type Abi = Self;
12730     type DefaultType = Self;
12731 }
12732 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12733 #[repr(C)]
12734 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
12735 pub struct SPPHRASE {
12736     pub __AnonymousBase_sapi53_L5821_C34: SPPHRASE_50,
12737     pub pSML: super::super::Foundation::PWSTR,
12738     pub pSemanticErrorInfo: *mut SPSEMANTICERRORINFO,
12739 }
12740 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
12741 impl SPPHRASE {}
12742 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
12743 impl ::std::default::Default for SPPHRASE {
default() -> Self12744     fn default() -> Self {
12745         unsafe { ::std::mem::zeroed() }
12746     }
12747 }
12748 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
12749 impl ::std::fmt::Debug for SPPHRASE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12750     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12751         fmt.debug_struct("SPPHRASE").field("__AnonymousBase_sapi53_L5821_C34", &self.__AnonymousBase_sapi53_L5821_C34).field("pSML", &self.pSML).field("pSemanticErrorInfo", &self.pSemanticErrorInfo).finish()
12752     }
12753 }
12754 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
12755 impl ::std::cmp::PartialEq for SPPHRASE {
eq(&self, other: &Self) -> bool12756     fn eq(&self, other: &Self) -> bool {
12757         self.__AnonymousBase_sapi53_L5821_C34 == other.__AnonymousBase_sapi53_L5821_C34 && self.pSML == other.pSML && self.pSemanticErrorInfo == other.pSemanticErrorInfo
12758     }
12759 }
12760 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
12761 impl ::std::cmp::Eq for SPPHRASE {}
12762 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
12763 unsafe impl ::windows::runtime::Abi for SPPHRASE {
12764     type Abi = Self;
12765     type DefaultType = Self;
12766 }
12767 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12768 #[repr(C)]
12769 #[cfg(feature = "Win32_Foundation")]
12770 pub struct SPPHRASEELEMENT {
12771     pub ulAudioTimeOffset: u32,
12772     pub ulAudioSizeTime: u32,
12773     pub ulAudioStreamOffset: u32,
12774     pub ulAudioSizeBytes: u32,
12775     pub ulRetainedStreamOffset: u32,
12776     pub ulRetainedSizeBytes: u32,
12777     pub pszDisplayText: super::super::Foundation::PWSTR,
12778     pub pszLexicalForm: super::super::Foundation::PWSTR,
12779     pub pszPronunciation: *mut u16,
12780     pub bDisplayAttributes: u8,
12781     pub RequiredConfidence: i8,
12782     pub ActualConfidence: i8,
12783     pub Reserved: u8,
12784     pub SREngineConfidence: f32,
12785 }
12786 #[cfg(feature = "Win32_Foundation")]
12787 impl SPPHRASEELEMENT {}
12788 #[cfg(feature = "Win32_Foundation")]
12789 impl ::std::default::Default for SPPHRASEELEMENT {
default() -> Self12790     fn default() -> Self {
12791         unsafe { ::std::mem::zeroed() }
12792     }
12793 }
12794 #[cfg(feature = "Win32_Foundation")]
12795 impl ::std::fmt::Debug for SPPHRASEELEMENT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12796     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12797         fmt.debug_struct("SPPHRASEELEMENT")
12798             .field("ulAudioTimeOffset", &self.ulAudioTimeOffset)
12799             .field("ulAudioSizeTime", &self.ulAudioSizeTime)
12800             .field("ulAudioStreamOffset", &self.ulAudioStreamOffset)
12801             .field("ulAudioSizeBytes", &self.ulAudioSizeBytes)
12802             .field("ulRetainedStreamOffset", &self.ulRetainedStreamOffset)
12803             .field("ulRetainedSizeBytes", &self.ulRetainedSizeBytes)
12804             .field("pszDisplayText", &self.pszDisplayText)
12805             .field("pszLexicalForm", &self.pszLexicalForm)
12806             .field("pszPronunciation", &self.pszPronunciation)
12807             .field("bDisplayAttributes", &self.bDisplayAttributes)
12808             .field("RequiredConfidence", &self.RequiredConfidence)
12809             .field("ActualConfidence", &self.ActualConfidence)
12810             .field("Reserved", &self.Reserved)
12811             .field("SREngineConfidence", &self.SREngineConfidence)
12812             .finish()
12813     }
12814 }
12815 #[cfg(feature = "Win32_Foundation")]
12816 impl ::std::cmp::PartialEq for SPPHRASEELEMENT {
eq(&self, other: &Self) -> bool12817     fn eq(&self, other: &Self) -> bool {
12818         self.ulAudioTimeOffset == other.ulAudioTimeOffset
12819             && self.ulAudioSizeTime == other.ulAudioSizeTime
12820             && self.ulAudioStreamOffset == other.ulAudioStreamOffset
12821             && self.ulAudioSizeBytes == other.ulAudioSizeBytes
12822             && self.ulRetainedStreamOffset == other.ulRetainedStreamOffset
12823             && self.ulRetainedSizeBytes == other.ulRetainedSizeBytes
12824             && self.pszDisplayText == other.pszDisplayText
12825             && self.pszLexicalForm == other.pszLexicalForm
12826             && self.pszPronunciation == other.pszPronunciation
12827             && self.bDisplayAttributes == other.bDisplayAttributes
12828             && self.RequiredConfidence == other.RequiredConfidence
12829             && self.ActualConfidence == other.ActualConfidence
12830             && self.Reserved == other.Reserved
12831             && self.SREngineConfidence == other.SREngineConfidence
12832     }
12833 }
12834 #[cfg(feature = "Win32_Foundation")]
12835 impl ::std::cmp::Eq for SPPHRASEELEMENT {}
12836 #[cfg(feature = "Win32_Foundation")]
12837 unsafe impl ::windows::runtime::Abi for SPPHRASEELEMENT {
12838     type Abi = Self;
12839     type DefaultType = Self;
12840 }
12841 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
12842 impl ::std::clone::Clone for SPPHRASEPROPERTY {
clone(&self) -> Self12843     fn clone(&self) -> Self {
12844         unimplemented!()
12845     }
12846 }
12847 #[repr(C)]
12848 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
12849 pub struct SPPHRASEPROPERTY {
12850     pub pszName: super::super::Foundation::PWSTR,
12851     pub Anonymous: SPPHRASEPROPERTY_0,
12852     pub pszValue: super::super::Foundation::PWSTR,
12853     pub vValue: super::super::System::Com::VARIANT,
12854     pub ulFirstElement: u32,
12855     pub ulCountOfElements: u32,
12856     pub pNextSibling: *mut SPPHRASEPROPERTY,
12857     pub pFirstChild: *mut SPPHRASEPROPERTY,
12858     pub SREngineConfidence: f32,
12859     pub Confidence: i8,
12860 }
12861 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
12862 impl SPPHRASEPROPERTY {}
12863 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
12864 impl ::std::default::Default for SPPHRASEPROPERTY {
default() -> Self12865     fn default() -> Self {
12866         unsafe { ::std::mem::zeroed() }
12867     }
12868 }
12869 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
12870 impl ::std::cmp::PartialEq for SPPHRASEPROPERTY {
eq(&self, _other: &Self) -> bool12871     fn eq(&self, _other: &Self) -> bool {
12872         unimplemented!()
12873     }
12874 }
12875 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
12876 impl ::std::cmp::Eq for SPPHRASEPROPERTY {}
12877 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
12878 unsafe impl ::windows::runtime::Abi for SPPHRASEPROPERTY {
12879     type Abi = ::std::mem::ManuallyDrop<Self>;
12880     type DefaultType = Self;
12881 }
12882 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12883 #[repr(C)]
12884 pub union SPPHRASEPROPERTY_0 {
12885     pub ulId: u32,
12886     pub Anonymous: SPPHRASEPROPERTY_0_0,
12887 }
12888 impl SPPHRASEPROPERTY_0 {}
12889 impl ::std::default::Default for SPPHRASEPROPERTY_0 {
default() -> Self12890     fn default() -> Self {
12891         unsafe { ::std::mem::zeroed() }
12892     }
12893 }
12894 impl ::std::cmp::PartialEq for SPPHRASEPROPERTY_0 {
eq(&self, _other: &Self) -> bool12895     fn eq(&self, _other: &Self) -> bool {
12896         unimplemented!()
12897     }
12898 }
12899 impl ::std::cmp::Eq for SPPHRASEPROPERTY_0 {}
12900 unsafe impl ::windows::runtime::Abi for SPPHRASEPROPERTY_0 {
12901     type Abi = Self;
12902     type DefaultType = Self;
12903 }
12904 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12905 #[repr(C)]
12906 pub struct SPPHRASEPROPERTY_0_0 {
12907     pub bType: u8,
12908     pub bReserved: u8,
12909     pub usArrayIndex: u16,
12910 }
12911 impl SPPHRASEPROPERTY_0_0 {}
12912 impl ::std::default::Default for SPPHRASEPROPERTY_0_0 {
default() -> Self12913     fn default() -> Self {
12914         unsafe { ::std::mem::zeroed() }
12915     }
12916 }
12917 impl ::std::fmt::Debug for SPPHRASEPROPERTY_0_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12918     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12919         fmt.debug_struct("_Anonymous_e__Struct").field("bType", &self.bType).field("bReserved", &self.bReserved).field("usArrayIndex", &self.usArrayIndex).finish()
12920     }
12921 }
12922 impl ::std::cmp::PartialEq for SPPHRASEPROPERTY_0_0 {
eq(&self, other: &Self) -> bool12923     fn eq(&self, other: &Self) -> bool {
12924         self.bType == other.bType && self.bReserved == other.bReserved && self.usArrayIndex == other.usArrayIndex
12925     }
12926 }
12927 impl ::std::cmp::Eq for SPPHRASEPROPERTY_0_0 {}
12928 unsafe impl ::windows::runtime::Abi for SPPHRASEPROPERTY_0_0 {
12929     type Abi = Self;
12930     type DefaultType = Self;
12931 }
12932 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12933 #[repr(transparent)]
12934 pub struct SPPHRASEPROPERTYUNIONTYPE(pub i32);
12935 pub const SPPPUT_UNUSED: SPPHRASEPROPERTYUNIONTYPE = SPPHRASEPROPERTYUNIONTYPE(0i32);
12936 pub const SPPPUT_ARRAY_INDEX: SPPHRASEPROPERTYUNIONTYPE = SPPHRASEPROPERTYUNIONTYPE(1i32);
12937 impl ::std::convert::From<i32> for SPPHRASEPROPERTYUNIONTYPE {
from(value: i32) -> Self12938     fn from(value: i32) -> Self {
12939         Self(value)
12940     }
12941 }
12942 unsafe impl ::windows::runtime::Abi for SPPHRASEPROPERTYUNIONTYPE {
12943     type Abi = Self;
12944     type DefaultType = Self;
12945 }
12946 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12947 #[repr(C)]
12948 #[cfg(feature = "Win32_Foundation")]
12949 pub struct SPPHRASEREPLACEMENT {
12950     pub bDisplayAttributes: u8,
12951     pub pszReplacementText: super::super::Foundation::PWSTR,
12952     pub ulFirstElement: u32,
12953     pub ulCountOfElements: u32,
12954 }
12955 #[cfg(feature = "Win32_Foundation")]
12956 impl SPPHRASEREPLACEMENT {}
12957 #[cfg(feature = "Win32_Foundation")]
12958 impl ::std::default::Default for SPPHRASEREPLACEMENT {
default() -> Self12959     fn default() -> Self {
12960         unsafe { ::std::mem::zeroed() }
12961     }
12962 }
12963 #[cfg(feature = "Win32_Foundation")]
12964 impl ::std::fmt::Debug for SPPHRASEREPLACEMENT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12965     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12966         fmt.debug_struct("SPPHRASEREPLACEMENT").field("bDisplayAttributes", &self.bDisplayAttributes).field("pszReplacementText", &self.pszReplacementText).field("ulFirstElement", &self.ulFirstElement).field("ulCountOfElements", &self.ulCountOfElements).finish()
12967     }
12968 }
12969 #[cfg(feature = "Win32_Foundation")]
12970 impl ::std::cmp::PartialEq for SPPHRASEREPLACEMENT {
eq(&self, other: &Self) -> bool12971     fn eq(&self, other: &Self) -> bool {
12972         self.bDisplayAttributes == other.bDisplayAttributes && self.pszReplacementText == other.pszReplacementText && self.ulFirstElement == other.ulFirstElement && self.ulCountOfElements == other.ulCountOfElements
12973     }
12974 }
12975 #[cfg(feature = "Win32_Foundation")]
12976 impl ::std::cmp::Eq for SPPHRASEREPLACEMENT {}
12977 #[cfg(feature = "Win32_Foundation")]
12978 unsafe impl ::windows::runtime::Abi for SPPHRASEREPLACEMENT {
12979     type Abi = Self;
12980     type DefaultType = Self;
12981 }
12982 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12983 #[repr(transparent)]
12984 pub struct SPPHRASERNG(pub i32);
12985 pub const SPPR_ALL_ELEMENTS: SPPHRASERNG = SPPHRASERNG(-1i32);
12986 impl ::std::convert::From<i32> for SPPHRASERNG {
from(value: i32) -> Self12987     fn from(value: i32) -> Self {
12988         Self(value)
12989     }
12990 }
12991 unsafe impl ::windows::runtime::Abi for SPPHRASERNG {
12992     type Abi = Self;
12993     type DefaultType = Self;
12994 }
12995 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12996 #[repr(C)]
12997 #[cfg(feature = "Win32_Foundation")]
12998 pub struct SPPHRASERULE {
12999     pub pszName: super::super::Foundation::PWSTR,
13000     pub ulId: u32,
13001     pub ulFirstElement: u32,
13002     pub ulCountOfElements: u32,
13003     pub pNextSibling: *mut SPPHRASERULE,
13004     pub pFirstChild: *mut SPPHRASERULE,
13005     pub SREngineConfidence: f32,
13006     pub Confidence: i8,
13007 }
13008 #[cfg(feature = "Win32_Foundation")]
13009 impl SPPHRASERULE {}
13010 #[cfg(feature = "Win32_Foundation")]
13011 impl ::std::default::Default for SPPHRASERULE {
default() -> Self13012     fn default() -> Self {
13013         unsafe { ::std::mem::zeroed() }
13014     }
13015 }
13016 #[cfg(feature = "Win32_Foundation")]
13017 impl ::std::fmt::Debug for SPPHRASERULE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13018     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13019         fmt.debug_struct("SPPHRASERULE")
13020             .field("pszName", &self.pszName)
13021             .field("ulId", &self.ulId)
13022             .field("ulFirstElement", &self.ulFirstElement)
13023             .field("ulCountOfElements", &self.ulCountOfElements)
13024             .field("pNextSibling", &self.pNextSibling)
13025             .field("pFirstChild", &self.pFirstChild)
13026             .field("SREngineConfidence", &self.SREngineConfidence)
13027             .field("Confidence", &self.Confidence)
13028             .finish()
13029     }
13030 }
13031 #[cfg(feature = "Win32_Foundation")]
13032 impl ::std::cmp::PartialEq for SPPHRASERULE {
eq(&self, other: &Self) -> bool13033     fn eq(&self, other: &Self) -> bool {
13034         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
13035     }
13036 }
13037 #[cfg(feature = "Win32_Foundation")]
13038 impl ::std::cmp::Eq for SPPHRASERULE {}
13039 #[cfg(feature = "Win32_Foundation")]
13040 unsafe impl ::windows::runtime::Abi for SPPHRASERULE {
13041     type Abi = Self;
13042     type DefaultType = Self;
13043 }
13044 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13045 #[repr(C)]
13046 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
13047 pub struct SPPHRASE_50 {
13048     pub cbSize: u32,
13049     pub LangID: u16,
13050     pub wHomophoneGroupId: u16,
13051     pub ullGrammarID: u64,
13052     pub ftStartTime: u64,
13053     pub ullAudioStreamPosition: u64,
13054     pub ulAudioSizeBytes: u32,
13055     pub ulRetainedSizeBytes: u32,
13056     pub ulAudioSizeTime: u32,
13057     pub Rule: SPPHRASERULE,
13058     pub pProperties: *mut SPPHRASEPROPERTY,
13059     pub pElements: *mut SPPHRASEELEMENT,
13060     pub cReplacements: u32,
13061     pub pReplacements: *mut SPPHRASEREPLACEMENT,
13062     pub SREngineID: ::windows::runtime::GUID,
13063     pub ulSREnginePrivateDataSize: u32,
13064     pub pSREnginePrivateData: *mut u8,
13065 }
13066 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
13067 impl SPPHRASE_50 {}
13068 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
13069 impl ::std::default::Default for SPPHRASE_50 {
default() -> Self13070     fn default() -> Self {
13071         unsafe { ::std::mem::zeroed() }
13072     }
13073 }
13074 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
13075 impl ::std::fmt::Debug for SPPHRASE_50 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13076     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13077         fmt.debug_struct("SPPHRASE_50")
13078             .field("cbSize", &self.cbSize)
13079             .field("LangID", &self.LangID)
13080             .field("wHomophoneGroupId", &self.wHomophoneGroupId)
13081             .field("ullGrammarID", &self.ullGrammarID)
13082             .field("ftStartTime", &self.ftStartTime)
13083             .field("ullAudioStreamPosition", &self.ullAudioStreamPosition)
13084             .field("ulAudioSizeBytes", &self.ulAudioSizeBytes)
13085             .field("ulRetainedSizeBytes", &self.ulRetainedSizeBytes)
13086             .field("ulAudioSizeTime", &self.ulAudioSizeTime)
13087             .field("Rule", &self.Rule)
13088             .field("pProperties", &self.pProperties)
13089             .field("pElements", &self.pElements)
13090             .field("cReplacements", &self.cReplacements)
13091             .field("pReplacements", &self.pReplacements)
13092             .field("SREngineID", &self.SREngineID)
13093             .field("ulSREnginePrivateDataSize", &self.ulSREnginePrivateDataSize)
13094             .field("pSREnginePrivateData", &self.pSREnginePrivateData)
13095             .finish()
13096     }
13097 }
13098 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
13099 impl ::std::cmp::PartialEq for SPPHRASE_50 {
eq(&self, other: &Self) -> bool13100     fn eq(&self, other: &Self) -> bool {
13101         self.cbSize == other.cbSize
13102             && self.LangID == other.LangID
13103             && self.wHomophoneGroupId == other.wHomophoneGroupId
13104             && self.ullGrammarID == other.ullGrammarID
13105             && self.ftStartTime == other.ftStartTime
13106             && self.ullAudioStreamPosition == other.ullAudioStreamPosition
13107             && self.ulAudioSizeBytes == other.ulAudioSizeBytes
13108             && self.ulRetainedSizeBytes == other.ulRetainedSizeBytes
13109             && self.ulAudioSizeTime == other.ulAudioSizeTime
13110             && self.Rule == other.Rule
13111             && self.pProperties == other.pProperties
13112             && self.pElements == other.pElements
13113             && self.cReplacements == other.cReplacements
13114             && self.pReplacements == other.pReplacements
13115             && self.SREngineID == other.SREngineID
13116             && self.ulSREnginePrivateDataSize == other.ulSREnginePrivateDataSize
13117             && self.pSREnginePrivateData == other.pSREnginePrivateData
13118     }
13119 }
13120 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
13121 impl ::std::cmp::Eq for SPPHRASE_50 {}
13122 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
13123 unsafe impl ::windows::runtime::Abi for SPPHRASE_50 {
13124     type Abi = Self;
13125     type DefaultType = Self;
13126 }
13127 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13128 #[repr(transparent)]
13129 pub struct SPPRONUNCIATIONFLAGS(pub i32);
13130 pub const ePRONFLAG_USED: SPPRONUNCIATIONFLAGS = SPPRONUNCIATIONFLAGS(1i32);
13131 impl ::std::convert::From<i32> for SPPRONUNCIATIONFLAGS {
from(value: i32) -> Self13132     fn from(value: i32) -> Self {
13133         Self(value)
13134     }
13135 }
13136 unsafe impl ::windows::runtime::Abi for SPPRONUNCIATIONFLAGS {
13137     type Abi = Self;
13138     type DefaultType = Self;
13139 }
13140 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
13141 impl ::std::clone::Clone for SPPROPERTYINFO {
clone(&self) -> Self13142     fn clone(&self) -> Self {
13143         unimplemented!()
13144     }
13145 }
13146 #[repr(C)]
13147 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
13148 pub struct SPPROPERTYINFO {
13149     pub pszName: super::super::Foundation::PWSTR,
13150     pub ulId: u32,
13151     pub pszValue: super::super::Foundation::PWSTR,
13152     pub vValue: super::super::System::Com::VARIANT,
13153 }
13154 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
13155 impl SPPROPERTYINFO {}
13156 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
13157 impl ::std::default::Default for SPPROPERTYINFO {
default() -> Self13158     fn default() -> Self {
13159         unsafe { ::std::mem::zeroed() }
13160     }
13161 }
13162 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
13163 impl ::std::cmp::PartialEq for SPPROPERTYINFO {
eq(&self, _other: &Self) -> bool13164     fn eq(&self, _other: &Self) -> bool {
13165         unimplemented!()
13166     }
13167 }
13168 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
13169 impl ::std::cmp::Eq for SPPROPERTYINFO {}
13170 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
13171 unsafe impl ::windows::runtime::Abi for SPPROPERTYINFO {
13172     type Abi = ::std::mem::ManuallyDrop<Self>;
13173     type DefaultType = Self;
13174 }
13175 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13176 #[repr(C)]
13177 pub struct SPRECOCONTEXTSTATUS {
13178     pub eInterference: SPINTERFERENCE,
13179     pub szRequestTypeOfUI: [u16; 255],
13180     pub dwReserved1: u32,
13181     pub dwReserved2: u32,
13182 }
13183 impl SPRECOCONTEXTSTATUS {}
13184 impl ::std::default::Default for SPRECOCONTEXTSTATUS {
default() -> Self13185     fn default() -> Self {
13186         unsafe { ::std::mem::zeroed() }
13187     }
13188 }
13189 impl ::std::fmt::Debug for SPRECOCONTEXTSTATUS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13190     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13191         fmt.debug_struct("SPRECOCONTEXTSTATUS").field("eInterference", &self.eInterference).field("szRequestTypeOfUI", &self.szRequestTypeOfUI).field("dwReserved1", &self.dwReserved1).field("dwReserved2", &self.dwReserved2).finish()
13192     }
13193 }
13194 impl ::std::cmp::PartialEq for SPRECOCONTEXTSTATUS {
eq(&self, other: &Self) -> bool13195     fn eq(&self, other: &Self) -> bool {
13196         self.eInterference == other.eInterference && self.szRequestTypeOfUI == other.szRequestTypeOfUI && self.dwReserved1 == other.dwReserved1 && self.dwReserved2 == other.dwReserved2
13197     }
13198 }
13199 impl ::std::cmp::Eq for SPRECOCONTEXTSTATUS {}
13200 unsafe impl ::windows::runtime::Abi for SPRECOCONTEXTSTATUS {
13201     type Abi = Self;
13202     type DefaultType = Self;
13203 }
13204 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13205 #[repr(transparent)]
13206 pub struct SPRECOEVENTFLAGS(pub i32);
13207 pub const SPREF_AutoPause: SPRECOEVENTFLAGS = SPRECOEVENTFLAGS(1i32);
13208 pub const SPREF_Emulated: SPRECOEVENTFLAGS = SPRECOEVENTFLAGS(2i32);
13209 pub const SPREF_SMLTimeout: SPRECOEVENTFLAGS = SPRECOEVENTFLAGS(4i32);
13210 pub const SPREF_ExtendableParse: SPRECOEVENTFLAGS = SPRECOEVENTFLAGS(8i32);
13211 pub const SPREF_ReSent: SPRECOEVENTFLAGS = SPRECOEVENTFLAGS(16i32);
13212 pub const SPREF_Hypothesis: SPRECOEVENTFLAGS = SPRECOEVENTFLAGS(32i32);
13213 pub const SPREF_FalseRecognition: SPRECOEVENTFLAGS = SPRECOEVENTFLAGS(64i32);
13214 impl ::std::convert::From<i32> for SPRECOEVENTFLAGS {
from(value: i32) -> Self13215     fn from(value: i32) -> Self {
13216         Self(value)
13217     }
13218 }
13219 unsafe impl ::windows::runtime::Abi for SPRECOEVENTFLAGS {
13220     type Abi = Self;
13221     type DefaultType = Self;
13222 }
13223 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13224 #[repr(C)]
13225 pub struct SPRECOGNIZERSTATUS {
13226     pub AudioStatus: SPAUDIOSTATUS,
13227     pub ullRecognitionStreamPos: u64,
13228     pub ulStreamNumber: u32,
13229     pub ulNumActive: u32,
13230     pub clsidEngine: ::windows::runtime::GUID,
13231     pub cLangIDs: u32,
13232     pub aLangID: [u16; 20],
13233     pub ullRecognitionStreamTime: u64,
13234 }
13235 impl SPRECOGNIZERSTATUS {}
13236 impl ::std::default::Default for SPRECOGNIZERSTATUS {
default() -> Self13237     fn default() -> Self {
13238         unsafe { ::std::mem::zeroed() }
13239     }
13240 }
13241 impl ::std::fmt::Debug for SPRECOGNIZERSTATUS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13242     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13243         fmt.debug_struct("SPRECOGNIZERSTATUS")
13244             .field("AudioStatus", &self.AudioStatus)
13245             .field("ullRecognitionStreamPos", &self.ullRecognitionStreamPos)
13246             .field("ulStreamNumber", &self.ulStreamNumber)
13247             .field("ulNumActive", &self.ulNumActive)
13248             .field("clsidEngine", &self.clsidEngine)
13249             .field("cLangIDs", &self.cLangIDs)
13250             .field("aLangID", &self.aLangID)
13251             .field("ullRecognitionStreamTime", &self.ullRecognitionStreamTime)
13252             .finish()
13253     }
13254 }
13255 impl ::std::cmp::PartialEq for SPRECOGNIZERSTATUS {
eq(&self, other: &Self) -> bool13256     fn eq(&self, other: &Self) -> bool {
13257         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
13258     }
13259 }
13260 impl ::std::cmp::Eq for SPRECOGNIZERSTATUS {}
13261 unsafe impl ::windows::runtime::Abi for SPRECOGNIZERSTATUS {
13262     type Abi = Self;
13263     type DefaultType = Self;
13264 }
13265 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13266 #[repr(C)]
13267 #[cfg(feature = "Win32_Foundation")]
13268 pub struct SPRECORESULTTIMES {
13269     pub ftStreamTime: super::super::Foundation::FILETIME,
13270     pub ullLength: u64,
13271     pub dwTickCount: u32,
13272     pub ullStart: u64,
13273 }
13274 #[cfg(feature = "Win32_Foundation")]
13275 impl SPRECORESULTTIMES {}
13276 #[cfg(feature = "Win32_Foundation")]
13277 impl ::std::default::Default for SPRECORESULTTIMES {
default() -> Self13278     fn default() -> Self {
13279         unsafe { ::std::mem::zeroed() }
13280     }
13281 }
13282 #[cfg(feature = "Win32_Foundation")]
13283 impl ::std::fmt::Debug for SPRECORESULTTIMES {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13284     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13285         fmt.debug_struct("SPRECORESULTTIMES").field("ftStreamTime", &self.ftStreamTime).field("ullLength", &self.ullLength).field("dwTickCount", &self.dwTickCount).field("ullStart", &self.ullStart).finish()
13286     }
13287 }
13288 #[cfg(feature = "Win32_Foundation")]
13289 impl ::std::cmp::PartialEq for SPRECORESULTTIMES {
eq(&self, other: &Self) -> bool13290     fn eq(&self, other: &Self) -> bool {
13291         self.ftStreamTime == other.ftStreamTime && self.ullLength == other.ullLength && self.dwTickCount == other.dwTickCount && self.ullStart == other.ullStart
13292     }
13293 }
13294 #[cfg(feature = "Win32_Foundation")]
13295 impl ::std::cmp::Eq for SPRECORESULTTIMES {}
13296 #[cfg(feature = "Win32_Foundation")]
13297 unsafe impl ::windows::runtime::Abi for SPRECORESULTTIMES {
13298     type Abi = Self;
13299     type DefaultType = Self;
13300 }
13301 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13302 #[repr(transparent)]
13303 pub struct SPRECOSTATE(pub i32);
13304 pub const SPRST_INACTIVE: SPRECOSTATE = SPRECOSTATE(0i32);
13305 pub const SPRST_ACTIVE: SPRECOSTATE = SPRECOSTATE(1i32);
13306 pub const SPRST_ACTIVE_ALWAYS: SPRECOSTATE = SPRECOSTATE(2i32);
13307 pub const SPRST_INACTIVE_WITH_PURGE: SPRECOSTATE = SPRECOSTATE(3i32);
13308 pub const SPRST_NUM_STATES: SPRECOSTATE = SPRECOSTATE(4i32);
13309 impl ::std::convert::From<i32> for SPRECOSTATE {
from(value: i32) -> Self13310     fn from(value: i32) -> Self {
13311         Self(value)
13312     }
13313 }
13314 unsafe impl ::windows::runtime::Abi for SPRECOSTATE {
13315     type Abi = Self;
13316     type DefaultType = Self;
13317 }
13318 pub const SPRP_NORMAL: u32 = 0u32;
13319 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13320 #[repr(C)]
13321 #[cfg(feature = "Win32_Foundation")]
13322 pub struct SPRULE {
13323     pub pszRuleName: super::super::Foundation::PWSTR,
13324     pub ulRuleId: u32,
13325     pub dwAttributes: u32,
13326 }
13327 #[cfg(feature = "Win32_Foundation")]
13328 impl SPRULE {}
13329 #[cfg(feature = "Win32_Foundation")]
13330 impl ::std::default::Default for SPRULE {
default() -> Self13331     fn default() -> Self {
13332         unsafe { ::std::mem::zeroed() }
13333     }
13334 }
13335 #[cfg(feature = "Win32_Foundation")]
13336 impl ::std::fmt::Debug for SPRULE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13337     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13338         fmt.debug_struct("SPRULE").field("pszRuleName", &self.pszRuleName).field("ulRuleId", &self.ulRuleId).field("dwAttributes", &self.dwAttributes).finish()
13339     }
13340 }
13341 #[cfg(feature = "Win32_Foundation")]
13342 impl ::std::cmp::PartialEq for SPRULE {
eq(&self, other: &Self) -> bool13343     fn eq(&self, other: &Self) -> bool {
13344         self.pszRuleName == other.pszRuleName && self.ulRuleId == other.ulRuleId && self.dwAttributes == other.dwAttributes
13345     }
13346 }
13347 #[cfg(feature = "Win32_Foundation")]
13348 impl ::std::cmp::Eq for SPRULE {}
13349 #[cfg(feature = "Win32_Foundation")]
13350 unsafe impl ::windows::runtime::Abi for SPRULE {
13351     type Abi = Self;
13352     type DefaultType = Self;
13353 }
13354 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13355 #[repr(transparent)]
13356 pub struct SPRULESTATE(pub i32);
13357 pub const SPRS_INACTIVE: SPRULESTATE = SPRULESTATE(0i32);
13358 pub const SPRS_ACTIVE: SPRULESTATE = SPRULESTATE(1i32);
13359 pub const SPRS_ACTIVE_WITH_AUTO_PAUSE: SPRULESTATE = SPRULESTATE(3i32);
13360 pub const SPRS_ACTIVE_USER_DELIMITED: SPRULESTATE = SPRULESTATE(4i32);
13361 impl ::std::convert::From<i32> for SPRULESTATE {
from(value: i32) -> Self13362     fn from(value: i32) -> Self {
13363         Self(value)
13364     }
13365 }
13366 unsafe impl ::windows::runtime::Abi for SPRULESTATE {
13367     type Abi = Self;
13368     type DefaultType = Self;
13369 }
13370 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13371 #[repr(transparent)]
13372 pub struct SPRUNSTATE(pub i32);
13373 pub const SPRS_DONE: SPRUNSTATE = SPRUNSTATE(1i32);
13374 pub const SPRS_IS_SPEAKING: SPRUNSTATE = SPRUNSTATE(2i32);
13375 impl ::std::convert::From<i32> for SPRUNSTATE {
from(value: i32) -> Self13376     fn from(value: i32) -> Self {
13377         Self(value)
13378     }
13379 }
13380 unsafe impl ::windows::runtime::Abi for SPRUNSTATE {
13381     type Abi = Self;
13382     type DefaultType = Self;
13383 }
13384 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13385 #[repr(C)]
13386 #[cfg(feature = "Win32_Foundation")]
13387 pub struct SPSEMANTICERRORINFO {
13388     pub ulLineNumber: u32,
13389     pub pszScriptLine: super::super::Foundation::PWSTR,
13390     pub pszSource: super::super::Foundation::PWSTR,
13391     pub pszDescription: super::super::Foundation::PWSTR,
13392     pub hrResultCode: ::windows::runtime::HRESULT,
13393 }
13394 #[cfg(feature = "Win32_Foundation")]
13395 impl SPSEMANTICERRORINFO {}
13396 #[cfg(feature = "Win32_Foundation")]
13397 impl ::std::default::Default for SPSEMANTICERRORINFO {
default() -> Self13398     fn default() -> Self {
13399         unsafe { ::std::mem::zeroed() }
13400     }
13401 }
13402 #[cfg(feature = "Win32_Foundation")]
13403 impl ::std::fmt::Debug for SPSEMANTICERRORINFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13404     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13405         fmt.debug_struct("SPSEMANTICERRORINFO").field("ulLineNumber", &self.ulLineNumber).field("pszScriptLine", &self.pszScriptLine).field("pszSource", &self.pszSource).field("pszDescription", &self.pszDescription).field("hrResultCode", &self.hrResultCode).finish()
13406     }
13407 }
13408 #[cfg(feature = "Win32_Foundation")]
13409 impl ::std::cmp::PartialEq for SPSEMANTICERRORINFO {
eq(&self, other: &Self) -> bool13410     fn eq(&self, other: &Self) -> bool {
13411         self.ulLineNumber == other.ulLineNumber && self.pszScriptLine == other.pszScriptLine && self.pszSource == other.pszSource && self.pszDescription == other.pszDescription && self.hrResultCode == other.hrResultCode
13412     }
13413 }
13414 #[cfg(feature = "Win32_Foundation")]
13415 impl ::std::cmp::Eq for SPSEMANTICERRORINFO {}
13416 #[cfg(feature = "Win32_Foundation")]
13417 unsafe impl ::windows::runtime::Abi for SPSEMANTICERRORINFO {
13418     type Abi = Self;
13419     type DefaultType = Self;
13420 }
13421 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13422 #[repr(transparent)]
13423 pub struct SPSEMANTICFORMAT(pub i32);
13424 pub const SPSMF_SAPI_PROPERTIES: SPSEMANTICFORMAT = SPSEMANTICFORMAT(0i32);
13425 pub const SPSMF_SRGS_SEMANTICINTERPRETATION_MS: SPSEMANTICFORMAT = SPSEMANTICFORMAT(1i32);
13426 pub const SPSMF_SRGS_SAPIPROPERTIES: SPSEMANTICFORMAT = SPSEMANTICFORMAT(2i32);
13427 pub const SPSMF_UPS: SPSEMANTICFORMAT = SPSEMANTICFORMAT(4i32);
13428 pub const SPSMF_SRGS_SEMANTICINTERPRETATION_W3C: SPSEMANTICFORMAT = SPSEMANTICFORMAT(8i32);
13429 impl ::std::convert::From<i32> for SPSEMANTICFORMAT {
from(value: i32) -> Self13430     fn from(value: i32) -> Self {
13431         Self(value)
13432     }
13433 }
13434 unsafe impl ::windows::runtime::Abi for SPSEMANTICFORMAT {
13435     type Abi = Self;
13436     type DefaultType = Self;
13437 }
13438 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13439 #[repr(C)]
13440 pub struct SPSERIALIZEDEVENT {
13441     pub _bitfield: i32,
13442     pub ulStreamNum: u32,
13443     pub ullAudioStreamOffset: u64,
13444     pub SerializedwParam: u32,
13445     pub SerializedlParam: i32,
13446 }
13447 impl SPSERIALIZEDEVENT {}
13448 impl ::std::default::Default for SPSERIALIZEDEVENT {
default() -> Self13449     fn default() -> Self {
13450         unsafe { ::std::mem::zeroed() }
13451     }
13452 }
13453 impl ::std::fmt::Debug for SPSERIALIZEDEVENT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13454     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13455         fmt.debug_struct("SPSERIALIZEDEVENT").field("_bitfield", &self._bitfield).field("ulStreamNum", &self.ulStreamNum).field("ullAudioStreamOffset", &self.ullAudioStreamOffset).field("SerializedwParam", &self.SerializedwParam).field("SerializedlParam", &self.SerializedlParam).finish()
13456     }
13457 }
13458 impl ::std::cmp::PartialEq for SPSERIALIZEDEVENT {
eq(&self, other: &Self) -> bool13459     fn eq(&self, other: &Self) -> bool {
13460         self._bitfield == other._bitfield && self.ulStreamNum == other.ulStreamNum && self.ullAudioStreamOffset == other.ullAudioStreamOffset && self.SerializedwParam == other.SerializedwParam && self.SerializedlParam == other.SerializedlParam
13461     }
13462 }
13463 impl ::std::cmp::Eq for SPSERIALIZEDEVENT {}
13464 unsafe impl ::windows::runtime::Abi for SPSERIALIZEDEVENT {
13465     type Abi = Self;
13466     type DefaultType = Self;
13467 }
13468 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13469 #[repr(C)]
13470 pub struct SPSERIALIZEDEVENT64 {
13471     pub _bitfield: i32,
13472     pub ulStreamNum: u32,
13473     pub ullAudioStreamOffset: u64,
13474     pub SerializedwParam: u64,
13475     pub SerializedlParam: i64,
13476 }
13477 impl SPSERIALIZEDEVENT64 {}
13478 impl ::std::default::Default for SPSERIALIZEDEVENT64 {
default() -> Self13479     fn default() -> Self {
13480         unsafe { ::std::mem::zeroed() }
13481     }
13482 }
13483 impl ::std::fmt::Debug for SPSERIALIZEDEVENT64 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13484     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13485         fmt.debug_struct("SPSERIALIZEDEVENT64").field("_bitfield", &self._bitfield).field("ulStreamNum", &self.ulStreamNum).field("ullAudioStreamOffset", &self.ullAudioStreamOffset).field("SerializedwParam", &self.SerializedwParam).field("SerializedlParam", &self.SerializedlParam).finish()
13486     }
13487 }
13488 impl ::std::cmp::PartialEq for SPSERIALIZEDEVENT64 {
eq(&self, other: &Self) -> bool13489     fn eq(&self, other: &Self) -> bool {
13490         self._bitfield == other._bitfield && self.ulStreamNum == other.ulStreamNum && self.ullAudioStreamOffset == other.ullAudioStreamOffset && self.SerializedwParam == other.SerializedwParam && self.SerializedlParam == other.SerializedlParam
13491     }
13492 }
13493 impl ::std::cmp::Eq for SPSERIALIZEDEVENT64 {}
13494 unsafe impl ::windows::runtime::Abi for SPSERIALIZEDEVENT64 {
13495     type Abi = Self;
13496     type DefaultType = Self;
13497 }
13498 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13499 #[repr(C)]
13500 pub struct SPSERIALIZEDPHRASE {
13501     pub ulSerializedSize: u32,
13502 }
13503 impl SPSERIALIZEDPHRASE {}
13504 impl ::std::default::Default for SPSERIALIZEDPHRASE {
default() -> Self13505     fn default() -> Self {
13506         unsafe { ::std::mem::zeroed() }
13507     }
13508 }
13509 impl ::std::fmt::Debug for SPSERIALIZEDPHRASE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13510     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13511         fmt.debug_struct("SPSERIALIZEDPHRASE").field("ulSerializedSize", &self.ulSerializedSize).finish()
13512     }
13513 }
13514 impl ::std::cmp::PartialEq for SPSERIALIZEDPHRASE {
eq(&self, other: &Self) -> bool13515     fn eq(&self, other: &Self) -> bool {
13516         self.ulSerializedSize == other.ulSerializedSize
13517     }
13518 }
13519 impl ::std::cmp::Eq for SPSERIALIZEDPHRASE {}
13520 unsafe impl ::windows::runtime::Abi for SPSERIALIZEDPHRASE {
13521     type Abi = Self;
13522     type DefaultType = Self;
13523 }
13524 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13525 #[repr(C)]
13526 pub struct SPSERIALIZEDRESULT {
13527     pub ulSerializedSize: u32,
13528 }
13529 impl SPSERIALIZEDRESULT {}
13530 impl ::std::default::Default for SPSERIALIZEDRESULT {
default() -> Self13531     fn default() -> Self {
13532         unsafe { ::std::mem::zeroed() }
13533     }
13534 }
13535 impl ::std::fmt::Debug for SPSERIALIZEDRESULT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13536     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13537         fmt.debug_struct("SPSERIALIZEDRESULT").field("ulSerializedSize", &self.ulSerializedSize).finish()
13538     }
13539 }
13540 impl ::std::cmp::PartialEq for SPSERIALIZEDRESULT {
eq(&self, other: &Self) -> bool13541     fn eq(&self, other: &Self) -> bool {
13542         self.ulSerializedSize == other.ulSerializedSize
13543     }
13544 }
13545 impl ::std::cmp::Eq for SPSERIALIZEDRESULT {}
13546 unsafe impl ::windows::runtime::Abi for SPSERIALIZEDRESULT {
13547     type Abi = Self;
13548     type DefaultType = Self;
13549 }
13550 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13551 #[repr(C)]
13552 #[cfg(feature = "Win32_Foundation")]
13553 pub struct SPSHORTCUTPAIR {
13554     pub pNextSHORTCUTPAIR: *mut SPSHORTCUTPAIR,
13555     pub LangID: u16,
13556     pub shType: SPSHORTCUTTYPE,
13557     pub pszDisplay: super::super::Foundation::PWSTR,
13558     pub pszSpoken: super::super::Foundation::PWSTR,
13559 }
13560 #[cfg(feature = "Win32_Foundation")]
13561 impl SPSHORTCUTPAIR {}
13562 #[cfg(feature = "Win32_Foundation")]
13563 impl ::std::default::Default for SPSHORTCUTPAIR {
default() -> Self13564     fn default() -> Self {
13565         unsafe { ::std::mem::zeroed() }
13566     }
13567 }
13568 #[cfg(feature = "Win32_Foundation")]
13569 impl ::std::fmt::Debug for SPSHORTCUTPAIR {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13570     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13571         fmt.debug_struct("SPSHORTCUTPAIR").field("pNextSHORTCUTPAIR", &self.pNextSHORTCUTPAIR).field("LangID", &self.LangID).field("shType", &self.shType).field("pszDisplay", &self.pszDisplay).field("pszSpoken", &self.pszSpoken).finish()
13572     }
13573 }
13574 #[cfg(feature = "Win32_Foundation")]
13575 impl ::std::cmp::PartialEq for SPSHORTCUTPAIR {
eq(&self, other: &Self) -> bool13576     fn eq(&self, other: &Self) -> bool {
13577         self.pNextSHORTCUTPAIR == other.pNextSHORTCUTPAIR && self.LangID == other.LangID && self.shType == other.shType && self.pszDisplay == other.pszDisplay && self.pszSpoken == other.pszSpoken
13578     }
13579 }
13580 #[cfg(feature = "Win32_Foundation")]
13581 impl ::std::cmp::Eq for SPSHORTCUTPAIR {}
13582 #[cfg(feature = "Win32_Foundation")]
13583 unsafe impl ::windows::runtime::Abi for SPSHORTCUTPAIR {
13584     type Abi = Self;
13585     type DefaultType = Self;
13586 }
13587 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13588 #[repr(C)]
13589 #[cfg(feature = "Win32_Foundation")]
13590 pub struct SPSHORTCUTPAIRLIST {
13591     pub ulSize: u32,
13592     pub pvBuffer: *mut u8,
13593     pub pFirstShortcutPair: *mut SPSHORTCUTPAIR,
13594 }
13595 #[cfg(feature = "Win32_Foundation")]
13596 impl SPSHORTCUTPAIRLIST {}
13597 #[cfg(feature = "Win32_Foundation")]
13598 impl ::std::default::Default for SPSHORTCUTPAIRLIST {
default() -> Self13599     fn default() -> Self {
13600         unsafe { ::std::mem::zeroed() }
13601     }
13602 }
13603 #[cfg(feature = "Win32_Foundation")]
13604 impl ::std::fmt::Debug for SPSHORTCUTPAIRLIST {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13605     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13606         fmt.debug_struct("SPSHORTCUTPAIRLIST").field("ulSize", &self.ulSize).field("pvBuffer", &self.pvBuffer).field("pFirstShortcutPair", &self.pFirstShortcutPair).finish()
13607     }
13608 }
13609 #[cfg(feature = "Win32_Foundation")]
13610 impl ::std::cmp::PartialEq for SPSHORTCUTPAIRLIST {
eq(&self, other: &Self) -> bool13611     fn eq(&self, other: &Self) -> bool {
13612         self.ulSize == other.ulSize && self.pvBuffer == other.pvBuffer && self.pFirstShortcutPair == other.pFirstShortcutPair
13613     }
13614 }
13615 #[cfg(feature = "Win32_Foundation")]
13616 impl ::std::cmp::Eq for SPSHORTCUTPAIRLIST {}
13617 #[cfg(feature = "Win32_Foundation")]
13618 unsafe impl ::windows::runtime::Abi for SPSHORTCUTPAIRLIST {
13619     type Abi = Self;
13620     type DefaultType = Self;
13621 }
13622 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13623 #[repr(transparent)]
13624 pub struct SPSHORTCUTTYPE(pub i32);
13625 pub const SPSHT_NotOverriden: SPSHORTCUTTYPE = SPSHORTCUTTYPE(-1i32);
13626 pub const SPSHT_Unknown: SPSHORTCUTTYPE = SPSHORTCUTTYPE(0i32);
13627 pub const SPSHT_EMAIL: SPSHORTCUTTYPE = SPSHORTCUTTYPE(4096i32);
13628 pub const SPSHT_OTHER: SPSHORTCUTTYPE = SPSHORTCUTTYPE(8192i32);
13629 pub const SPPS_RESERVED1: SPSHORTCUTTYPE = SPSHORTCUTTYPE(12288i32);
13630 pub const SPPS_RESERVED2: SPSHORTCUTTYPE = SPSHORTCUTTYPE(16384i32);
13631 pub const SPPS_RESERVED3: SPSHORTCUTTYPE = SPSHORTCUTTYPE(20480i32);
13632 pub const SPPS_RESERVED4: SPSHORTCUTTYPE = SPSHORTCUTTYPE(61440i32);
13633 impl ::std::convert::From<i32> for SPSHORTCUTTYPE {
from(value: i32) -> Self13634     fn from(value: i32) -> Self {
13635         Self(value)
13636     }
13637 }
13638 unsafe impl ::windows::runtime::Abi for SPSHORTCUTTYPE {
13639     type Abi = Self;
13640     type DefaultType = Self;
13641 }
13642 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13643 #[repr(C)]
13644 pub struct SPSTATEHANDLE__ {
13645     pub unused: i32,
13646 }
13647 impl SPSTATEHANDLE__ {}
13648 impl ::std::default::Default for SPSTATEHANDLE__ {
default() -> Self13649     fn default() -> Self {
13650         unsafe { ::std::mem::zeroed() }
13651     }
13652 }
13653 impl ::std::fmt::Debug for SPSTATEHANDLE__ {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13654     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13655         fmt.debug_struct("SPSTATEHANDLE__").field("unused", &self.unused).finish()
13656     }
13657 }
13658 impl ::std::cmp::PartialEq for SPSTATEHANDLE__ {
eq(&self, other: &Self) -> bool13659     fn eq(&self, other: &Self) -> bool {
13660         self.unused == other.unused
13661     }
13662 }
13663 impl ::std::cmp::Eq for SPSTATEHANDLE__ {}
13664 unsafe impl ::windows::runtime::Abi for SPSTATEHANDLE__ {
13665     type Abi = Self;
13666     type DefaultType = Self;
13667 }
13668 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13669 #[repr(transparent)]
13670 pub struct SPSTREAMFORMAT(pub i32);
13671 pub const SPSF_Default: SPSTREAMFORMAT = SPSTREAMFORMAT(-1i32);
13672 pub const SPSF_NoAssignedFormat: SPSTREAMFORMAT = SPSTREAMFORMAT(0i32);
13673 pub const SPSF_Text: SPSTREAMFORMAT = SPSTREAMFORMAT(1i32);
13674 pub const SPSF_NonStandardFormat: SPSTREAMFORMAT = SPSTREAMFORMAT(2i32);
13675 pub const SPSF_ExtendedAudioFormat: SPSTREAMFORMAT = SPSTREAMFORMAT(3i32);
13676 pub const SPSF_8kHz8BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(4i32);
13677 pub const SPSF_8kHz8BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(5i32);
13678 pub const SPSF_8kHz16BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(6i32);
13679 pub const SPSF_8kHz16BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(7i32);
13680 pub const SPSF_11kHz8BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(8i32);
13681 pub const SPSF_11kHz8BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(9i32);
13682 pub const SPSF_11kHz16BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(10i32);
13683 pub const SPSF_11kHz16BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(11i32);
13684 pub const SPSF_12kHz8BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(12i32);
13685 pub const SPSF_12kHz8BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(13i32);
13686 pub const SPSF_12kHz16BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(14i32);
13687 pub const SPSF_12kHz16BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(15i32);
13688 pub const SPSF_16kHz8BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(16i32);
13689 pub const SPSF_16kHz8BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(17i32);
13690 pub const SPSF_16kHz16BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(18i32);
13691 pub const SPSF_16kHz16BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(19i32);
13692 pub const SPSF_22kHz8BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(20i32);
13693 pub const SPSF_22kHz8BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(21i32);
13694 pub const SPSF_22kHz16BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(22i32);
13695 pub const SPSF_22kHz16BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(23i32);
13696 pub const SPSF_24kHz8BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(24i32);
13697 pub const SPSF_24kHz8BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(25i32);
13698 pub const SPSF_24kHz16BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(26i32);
13699 pub const SPSF_24kHz16BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(27i32);
13700 pub const SPSF_32kHz8BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(28i32);
13701 pub const SPSF_32kHz8BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(29i32);
13702 pub const SPSF_32kHz16BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(30i32);
13703 pub const SPSF_32kHz16BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(31i32);
13704 pub const SPSF_44kHz8BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(32i32);
13705 pub const SPSF_44kHz8BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(33i32);
13706 pub const SPSF_44kHz16BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(34i32);
13707 pub const SPSF_44kHz16BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(35i32);
13708 pub const SPSF_48kHz8BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(36i32);
13709 pub const SPSF_48kHz8BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(37i32);
13710 pub const SPSF_48kHz16BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(38i32);
13711 pub const SPSF_48kHz16BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(39i32);
13712 pub const SPSF_TrueSpeech_8kHz1BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(40i32);
13713 pub const SPSF_CCITT_ALaw_8kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(41i32);
13714 pub const SPSF_CCITT_ALaw_8kHzStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(42i32);
13715 pub const SPSF_CCITT_ALaw_11kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(43i32);
13716 pub const SPSF_CCITT_ALaw_11kHzStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(44i32);
13717 pub const SPSF_CCITT_ALaw_22kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(45i32);
13718 pub const SPSF_CCITT_ALaw_22kHzStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(46i32);
13719 pub const SPSF_CCITT_ALaw_44kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(47i32);
13720 pub const SPSF_CCITT_ALaw_44kHzStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(48i32);
13721 pub const SPSF_CCITT_uLaw_8kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(49i32);
13722 pub const SPSF_CCITT_uLaw_8kHzStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(50i32);
13723 pub const SPSF_CCITT_uLaw_11kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(51i32);
13724 pub const SPSF_CCITT_uLaw_11kHzStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(52i32);
13725 pub const SPSF_CCITT_uLaw_22kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(53i32);
13726 pub const SPSF_CCITT_uLaw_22kHzStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(54i32);
13727 pub const SPSF_CCITT_uLaw_44kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(55i32);
13728 pub const SPSF_CCITT_uLaw_44kHzStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(56i32);
13729 pub const SPSF_ADPCM_8kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(57i32);
13730 pub const SPSF_ADPCM_8kHzStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(58i32);
13731 pub const SPSF_ADPCM_11kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(59i32);
13732 pub const SPSF_ADPCM_11kHzStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(60i32);
13733 pub const SPSF_ADPCM_22kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(61i32);
13734 pub const SPSF_ADPCM_22kHzStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(62i32);
13735 pub const SPSF_ADPCM_44kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(63i32);
13736 pub const SPSF_ADPCM_44kHzStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(64i32);
13737 pub const SPSF_GSM610_8kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(65i32);
13738 pub const SPSF_GSM610_11kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(66i32);
13739 pub const SPSF_GSM610_22kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(67i32);
13740 pub const SPSF_GSM610_44kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(68i32);
13741 pub const SPSF_NUM_FORMATS: SPSTREAMFORMAT = SPSTREAMFORMAT(69i32);
13742 impl ::std::convert::From<i32> for SPSTREAMFORMAT {
from(value: i32) -> Self13743     fn from(value: i32) -> Self {
13744         Self(value)
13745     }
13746 }
13747 unsafe impl ::windows::runtime::Abi for SPSTREAMFORMAT {
13748     type Abi = Self;
13749     type DefaultType = Self;
13750 }
13751 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13752 #[repr(C)]
13753 pub struct SPTEXTSELECTIONINFO {
13754     pub ulStartActiveOffset: u32,
13755     pub cchActiveChars: u32,
13756     pub ulStartSelection: u32,
13757     pub cchSelection: u32,
13758 }
13759 impl SPTEXTSELECTIONINFO {}
13760 impl ::std::default::Default for SPTEXTSELECTIONINFO {
default() -> Self13761     fn default() -> Self {
13762         unsafe { ::std::mem::zeroed() }
13763     }
13764 }
13765 impl ::std::fmt::Debug for SPTEXTSELECTIONINFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13766     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13767         fmt.debug_struct("SPTEXTSELECTIONINFO").field("ulStartActiveOffset", &self.ulStartActiveOffset).field("cchActiveChars", &self.cchActiveChars).field("ulStartSelection", &self.ulStartSelection).field("cchSelection", &self.cchSelection).finish()
13768     }
13769 }
13770 impl ::std::cmp::PartialEq for SPTEXTSELECTIONINFO {
eq(&self, other: &Self) -> bool13771     fn eq(&self, other: &Self) -> bool {
13772         self.ulStartActiveOffset == other.ulStartActiveOffset && self.cchActiveChars == other.cchActiveChars && self.ulStartSelection == other.ulStartSelection && self.cchSelection == other.cchSelection
13773     }
13774 }
13775 impl ::std::cmp::Eq for SPTEXTSELECTIONINFO {}
13776 unsafe impl ::windows::runtime::Abi for SPTEXTSELECTIONINFO {
13777     type Abi = Self;
13778     type DefaultType = Self;
13779 }
13780 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13781 #[repr(transparent)]
13782 pub struct SPVACTIONS(pub i32);
13783 pub const SPVA_Speak: SPVACTIONS = SPVACTIONS(0i32);
13784 pub const SPVA_Silence: SPVACTIONS = SPVACTIONS(1i32);
13785 pub const SPVA_Pronounce: SPVACTIONS = SPVACTIONS(2i32);
13786 pub const SPVA_Bookmark: SPVACTIONS = SPVACTIONS(3i32);
13787 pub const SPVA_SpellOut: SPVACTIONS = SPVACTIONS(4i32);
13788 pub const SPVA_Section: SPVACTIONS = SPVACTIONS(5i32);
13789 pub const SPVA_ParseUnknownTag: SPVACTIONS = SPVACTIONS(6i32);
13790 impl ::std::convert::From<i32> for SPVACTIONS {
from(value: i32) -> Self13791     fn from(value: i32) -> Self {
13792         Self(value)
13793     }
13794 }
13795 unsafe impl ::windows::runtime::Abi for SPVACTIONS {
13796     type Abi = Self;
13797     type DefaultType = Self;
13798 }
13799 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13800 #[repr(transparent)]
13801 pub struct SPVALUETYPE(pub i32);
13802 pub const SPDF_PROPERTY: SPVALUETYPE = SPVALUETYPE(1i32);
13803 pub const SPDF_REPLACEMENT: SPVALUETYPE = SPVALUETYPE(2i32);
13804 pub const SPDF_RULE: SPVALUETYPE = SPVALUETYPE(4i32);
13805 pub const SPDF_DISPLAYTEXT: SPVALUETYPE = SPVALUETYPE(8i32);
13806 pub const SPDF_LEXICALFORM: SPVALUETYPE = SPVALUETYPE(16i32);
13807 pub const SPDF_PRONUNCIATION: SPVALUETYPE = SPVALUETYPE(32i32);
13808 pub const SPDF_AUDIO: SPVALUETYPE = SPVALUETYPE(64i32);
13809 pub const SPDF_ALTERNATES: SPVALUETYPE = SPVALUETYPE(128i32);
13810 pub const SPDF_ALL: SPVALUETYPE = SPVALUETYPE(255i32);
13811 impl ::std::convert::From<i32> for SPVALUETYPE {
from(value: i32) -> Self13812     fn from(value: i32) -> Self {
13813         Self(value)
13814     }
13815 }
13816 unsafe impl ::windows::runtime::Abi for SPVALUETYPE {
13817     type Abi = Self;
13818     type DefaultType = Self;
13819 }
13820 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13821 #[repr(C)]
13822 #[cfg(feature = "Win32_Foundation")]
13823 pub struct SPVCONTEXT {
13824     pub pCategory: super::super::Foundation::PWSTR,
13825     pub pBefore: super::super::Foundation::PWSTR,
13826     pub pAfter: super::super::Foundation::PWSTR,
13827 }
13828 #[cfg(feature = "Win32_Foundation")]
13829 impl SPVCONTEXT {}
13830 #[cfg(feature = "Win32_Foundation")]
13831 impl ::std::default::Default for SPVCONTEXT {
default() -> Self13832     fn default() -> Self {
13833         unsafe { ::std::mem::zeroed() }
13834     }
13835 }
13836 #[cfg(feature = "Win32_Foundation")]
13837 impl ::std::fmt::Debug for SPVCONTEXT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13838     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13839         fmt.debug_struct("SPVCONTEXT").field("pCategory", &self.pCategory).field("pBefore", &self.pBefore).field("pAfter", &self.pAfter).finish()
13840     }
13841 }
13842 #[cfg(feature = "Win32_Foundation")]
13843 impl ::std::cmp::PartialEq for SPVCONTEXT {
eq(&self, other: &Self) -> bool13844     fn eq(&self, other: &Self) -> bool {
13845         self.pCategory == other.pCategory && self.pBefore == other.pBefore && self.pAfter == other.pAfter
13846     }
13847 }
13848 #[cfg(feature = "Win32_Foundation")]
13849 impl ::std::cmp::Eq for SPVCONTEXT {}
13850 #[cfg(feature = "Win32_Foundation")]
13851 unsafe impl ::windows::runtime::Abi for SPVCONTEXT {
13852     type Abi = Self;
13853     type DefaultType = Self;
13854 }
13855 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13856 #[repr(transparent)]
13857 pub struct SPVFEATURE(pub i32);
13858 pub const SPVFEATURE_STRESSED: SPVFEATURE = SPVFEATURE(1i32);
13859 pub const SPVFEATURE_EMPHASIS: SPVFEATURE = SPVFEATURE(2i32);
13860 impl ::std::convert::From<i32> for SPVFEATURE {
from(value: i32) -> Self13861     fn from(value: i32) -> Self {
13862         Self(value)
13863     }
13864 }
13865 unsafe impl ::windows::runtime::Abi for SPVFEATURE {
13866     type Abi = Self;
13867     type DefaultType = Self;
13868 }
13869 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13870 #[repr(transparent)]
13871 pub struct SPVISEMES(pub i32);
13872 pub const SP_VISEME_0: SPVISEMES = SPVISEMES(0i32);
13873 pub const SP_VISEME_1: SPVISEMES = SPVISEMES(1i32);
13874 pub const SP_VISEME_2: SPVISEMES = SPVISEMES(2i32);
13875 pub const SP_VISEME_3: SPVISEMES = SPVISEMES(3i32);
13876 pub const SP_VISEME_4: SPVISEMES = SPVISEMES(4i32);
13877 pub const SP_VISEME_5: SPVISEMES = SPVISEMES(5i32);
13878 pub const SP_VISEME_6: SPVISEMES = SPVISEMES(6i32);
13879 pub const SP_VISEME_7: SPVISEMES = SPVISEMES(7i32);
13880 pub const SP_VISEME_8: SPVISEMES = SPVISEMES(8i32);
13881 pub const SP_VISEME_9: SPVISEMES = SPVISEMES(9i32);
13882 pub const SP_VISEME_10: SPVISEMES = SPVISEMES(10i32);
13883 pub const SP_VISEME_11: SPVISEMES = SPVISEMES(11i32);
13884 pub const SP_VISEME_12: SPVISEMES = SPVISEMES(12i32);
13885 pub const SP_VISEME_13: SPVISEMES = SPVISEMES(13i32);
13886 pub const SP_VISEME_14: SPVISEMES = SPVISEMES(14i32);
13887 pub const SP_VISEME_15: SPVISEMES = SPVISEMES(15i32);
13888 pub const SP_VISEME_16: SPVISEMES = SPVISEMES(16i32);
13889 pub const SP_VISEME_17: SPVISEMES = SPVISEMES(17i32);
13890 pub const SP_VISEME_18: SPVISEMES = SPVISEMES(18i32);
13891 pub const SP_VISEME_19: SPVISEMES = SPVISEMES(19i32);
13892 pub const SP_VISEME_20: SPVISEMES = SPVISEMES(20i32);
13893 pub const SP_VISEME_21: SPVISEMES = SPVISEMES(21i32);
13894 impl ::std::convert::From<i32> for SPVISEMES {
from(value: i32) -> Self13895     fn from(value: i32) -> Self {
13896         Self(value)
13897     }
13898 }
13899 unsafe impl ::windows::runtime::Abi for SPVISEMES {
13900     type Abi = Self;
13901     type DefaultType = Self;
13902 }
13903 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13904 #[repr(transparent)]
13905 pub struct SPVLIMITS(pub i32);
13906 pub const SPMIN_VOLUME: SPVLIMITS = SPVLIMITS(0i32);
13907 pub const SPMAX_VOLUME: SPVLIMITS = SPVLIMITS(100i32);
13908 pub const SPMIN_RATE: SPVLIMITS = SPVLIMITS(-10i32);
13909 pub const SPMAX_RATE: SPVLIMITS = SPVLIMITS(10i32);
13910 impl ::std::convert::From<i32> for SPVLIMITS {
from(value: i32) -> Self13911     fn from(value: i32) -> Self {
13912         Self(value)
13913     }
13914 }
13915 unsafe impl ::windows::runtime::Abi for SPVLIMITS {
13916     type Abi = Self;
13917     type DefaultType = Self;
13918 }
13919 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13920 #[repr(C)]
13921 pub struct SPVOICESTATUS {
13922     pub ulCurrentStream: u32,
13923     pub ulLastStreamQueued: u32,
13924     pub hrLastResult: ::windows::runtime::HRESULT,
13925     pub dwRunningState: u32,
13926     pub ulInputWordPos: u32,
13927     pub ulInputWordLen: u32,
13928     pub ulInputSentPos: u32,
13929     pub ulInputSentLen: u32,
13930     pub lBookmarkId: i32,
13931     pub PhonemeId: u16,
13932     pub VisemeId: SPVISEMES,
13933     pub dwReserved1: u32,
13934     pub dwReserved2: u32,
13935 }
13936 impl SPVOICESTATUS {}
13937 impl ::std::default::Default for SPVOICESTATUS {
default() -> Self13938     fn default() -> Self {
13939         unsafe { ::std::mem::zeroed() }
13940     }
13941 }
13942 impl ::std::fmt::Debug for SPVOICESTATUS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13943     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13944         fmt.debug_struct("SPVOICESTATUS")
13945             .field("ulCurrentStream", &self.ulCurrentStream)
13946             .field("ulLastStreamQueued", &self.ulLastStreamQueued)
13947             .field("hrLastResult", &self.hrLastResult)
13948             .field("dwRunningState", &self.dwRunningState)
13949             .field("ulInputWordPos", &self.ulInputWordPos)
13950             .field("ulInputWordLen", &self.ulInputWordLen)
13951             .field("ulInputSentPos", &self.ulInputSentPos)
13952             .field("ulInputSentLen", &self.ulInputSentLen)
13953             .field("lBookmarkId", &self.lBookmarkId)
13954             .field("PhonemeId", &self.PhonemeId)
13955             .field("VisemeId", &self.VisemeId)
13956             .field("dwReserved1", &self.dwReserved1)
13957             .field("dwReserved2", &self.dwReserved2)
13958             .finish()
13959     }
13960 }
13961 impl ::std::cmp::PartialEq for SPVOICESTATUS {
eq(&self, other: &Self) -> bool13962     fn eq(&self, other: &Self) -> bool {
13963         self.ulCurrentStream == other.ulCurrentStream
13964             && self.ulLastStreamQueued == other.ulLastStreamQueued
13965             && self.hrLastResult == other.hrLastResult
13966             && self.dwRunningState == other.dwRunningState
13967             && self.ulInputWordPos == other.ulInputWordPos
13968             && self.ulInputWordLen == other.ulInputWordLen
13969             && self.ulInputSentPos == other.ulInputSentPos
13970             && self.ulInputSentLen == other.ulInputSentLen
13971             && self.lBookmarkId == other.lBookmarkId
13972             && self.PhonemeId == other.PhonemeId
13973             && self.VisemeId == other.VisemeId
13974             && self.dwReserved1 == other.dwReserved1
13975             && self.dwReserved2 == other.dwReserved2
13976     }
13977 }
13978 impl ::std::cmp::Eq for SPVOICESTATUS {}
13979 unsafe impl ::windows::runtime::Abi for SPVOICESTATUS {
13980     type Abi = Self;
13981     type DefaultType = Self;
13982 }
13983 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13984 #[repr(C)]
13985 pub struct SPVPITCH {
13986     pub MiddleAdj: i32,
13987     pub RangeAdj: i32,
13988 }
13989 impl SPVPITCH {}
13990 impl ::std::default::Default for SPVPITCH {
default() -> Self13991     fn default() -> Self {
13992         unsafe { ::std::mem::zeroed() }
13993     }
13994 }
13995 impl ::std::fmt::Debug for SPVPITCH {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13996     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13997         fmt.debug_struct("SPVPITCH").field("MiddleAdj", &self.MiddleAdj).field("RangeAdj", &self.RangeAdj).finish()
13998     }
13999 }
14000 impl ::std::cmp::PartialEq for SPVPITCH {
eq(&self, other: &Self) -> bool14001     fn eq(&self, other: &Self) -> bool {
14002         self.MiddleAdj == other.MiddleAdj && self.RangeAdj == other.RangeAdj
14003     }
14004 }
14005 impl ::std::cmp::Eq for SPVPITCH {}
14006 unsafe impl ::windows::runtime::Abi for SPVPITCH {
14007     type Abi = Self;
14008     type DefaultType = Self;
14009 }
14010 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14011 #[repr(transparent)]
14012 pub struct SPVPRIORITY(pub i32);
14013 pub const SPVPRI_NORMAL: SPVPRIORITY = SPVPRIORITY(0i32);
14014 pub const SPVPRI_ALERT: SPVPRIORITY = SPVPRIORITY(1i32);
14015 pub const SPVPRI_OVER: SPVPRIORITY = SPVPRIORITY(2i32);
14016 impl ::std::convert::From<i32> for SPVPRIORITY {
from(value: i32) -> Self14017     fn from(value: i32) -> Self {
14018         Self(value)
14019     }
14020 }
14021 unsafe impl ::windows::runtime::Abi for SPVPRIORITY {
14022     type Abi = Self;
14023     type DefaultType = Self;
14024 }
14025 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14026 #[repr(C)]
14027 #[cfg(feature = "Win32_Foundation")]
14028 pub struct SPVSTATE {
14029     pub eAction: SPVACTIONS,
14030     pub LangID: u16,
14031     pub wReserved: u16,
14032     pub EmphAdj: i32,
14033     pub RateAdj: i32,
14034     pub Volume: u32,
14035     pub PitchAdj: SPVPITCH,
14036     pub SilenceMSecs: u32,
14037     pub pPhoneIds: *mut u16,
14038     pub ePartOfSpeech: SPPARTOFSPEECH,
14039     pub Context: SPVCONTEXT,
14040 }
14041 #[cfg(feature = "Win32_Foundation")]
14042 impl SPVSTATE {}
14043 #[cfg(feature = "Win32_Foundation")]
14044 impl ::std::default::Default for SPVSTATE {
default() -> Self14045     fn default() -> Self {
14046         unsafe { ::std::mem::zeroed() }
14047     }
14048 }
14049 #[cfg(feature = "Win32_Foundation")]
14050 impl ::std::fmt::Debug for SPVSTATE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result14051     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14052         fmt.debug_struct("SPVSTATE")
14053             .field("eAction", &self.eAction)
14054             .field("LangID", &self.LangID)
14055             .field("wReserved", &self.wReserved)
14056             .field("EmphAdj", &self.EmphAdj)
14057             .field("RateAdj", &self.RateAdj)
14058             .field("Volume", &self.Volume)
14059             .field("PitchAdj", &self.PitchAdj)
14060             .field("SilenceMSecs", &self.SilenceMSecs)
14061             .field("pPhoneIds", &self.pPhoneIds)
14062             .field("ePartOfSpeech", &self.ePartOfSpeech)
14063             .field("Context", &self.Context)
14064             .finish()
14065     }
14066 }
14067 #[cfg(feature = "Win32_Foundation")]
14068 impl ::std::cmp::PartialEq for SPVSTATE {
eq(&self, other: &Self) -> bool14069     fn eq(&self, other: &Self) -> bool {
14070         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
14071     }
14072 }
14073 #[cfg(feature = "Win32_Foundation")]
14074 impl ::std::cmp::Eq for SPVSTATE {}
14075 #[cfg(feature = "Win32_Foundation")]
14076 unsafe impl ::windows::runtime::Abi for SPVSTATE {
14077     type Abi = Self;
14078     type DefaultType = Self;
14079 }
14080 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14081 #[repr(transparent)]
14082 pub struct SPWAVEFORMATTYPE(pub i32);
14083 pub const SPWF_INPUT: SPWAVEFORMATTYPE = SPWAVEFORMATTYPE(0i32);
14084 pub const SPWF_SRENGINE: SPWAVEFORMATTYPE = SPWAVEFORMATTYPE(1i32);
14085 impl ::std::convert::From<i32> for SPWAVEFORMATTYPE {
from(value: i32) -> Self14086     fn from(value: i32) -> Self {
14087         Self(value)
14088     }
14089 }
14090 unsafe impl ::windows::runtime::Abi for SPWAVEFORMATTYPE {
14091     type Abi = Self;
14092     type DefaultType = Self;
14093 }
14094 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14095 #[repr(C)]
14096 #[cfg(feature = "Win32_Foundation")]
14097 pub struct SPWORD {
14098     pub pNextWord: *mut SPWORD,
14099     pub LangID: u16,
14100     pub wReserved: u16,
14101     pub eWordType: SPWORDTYPE,
14102     pub pszWord: super::super::Foundation::PWSTR,
14103     pub pFirstWordPronunciation: *mut SPWORDPRONUNCIATION,
14104 }
14105 #[cfg(feature = "Win32_Foundation")]
14106 impl SPWORD {}
14107 #[cfg(feature = "Win32_Foundation")]
14108 impl ::std::default::Default for SPWORD {
default() -> Self14109     fn default() -> Self {
14110         unsafe { ::std::mem::zeroed() }
14111     }
14112 }
14113 #[cfg(feature = "Win32_Foundation")]
14114 impl ::std::fmt::Debug for SPWORD {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result14115     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14116         fmt.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()
14117     }
14118 }
14119 #[cfg(feature = "Win32_Foundation")]
14120 impl ::std::cmp::PartialEq for SPWORD {
eq(&self, other: &Self) -> bool14121     fn eq(&self, other: &Self) -> bool {
14122         self.pNextWord == other.pNextWord && self.LangID == other.LangID && self.wReserved == other.wReserved && self.eWordType == other.eWordType && self.pszWord == other.pszWord && self.pFirstWordPronunciation == other.pFirstWordPronunciation
14123     }
14124 }
14125 #[cfg(feature = "Win32_Foundation")]
14126 impl ::std::cmp::Eq for SPWORD {}
14127 #[cfg(feature = "Win32_Foundation")]
14128 unsafe impl ::windows::runtime::Abi for SPWORD {
14129     type Abi = Self;
14130     type DefaultType = Self;
14131 }
14132 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14133 #[repr(C)]
14134 #[cfg(feature = "Win32_Foundation")]
14135 pub struct SPWORDLIST {
14136     pub ulSize: u32,
14137     pub pvBuffer: *mut u8,
14138     pub pFirstWord: *mut SPWORD,
14139 }
14140 #[cfg(feature = "Win32_Foundation")]
14141 impl SPWORDLIST {}
14142 #[cfg(feature = "Win32_Foundation")]
14143 impl ::std::default::Default for SPWORDLIST {
default() -> Self14144     fn default() -> Self {
14145         unsafe { ::std::mem::zeroed() }
14146     }
14147 }
14148 #[cfg(feature = "Win32_Foundation")]
14149 impl ::std::fmt::Debug for SPWORDLIST {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result14150     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14151         fmt.debug_struct("SPWORDLIST").field("ulSize", &self.ulSize).field("pvBuffer", &self.pvBuffer).field("pFirstWord", &self.pFirstWord).finish()
14152     }
14153 }
14154 #[cfg(feature = "Win32_Foundation")]
14155 impl ::std::cmp::PartialEq for SPWORDLIST {
eq(&self, other: &Self) -> bool14156     fn eq(&self, other: &Self) -> bool {
14157         self.ulSize == other.ulSize && self.pvBuffer == other.pvBuffer && self.pFirstWord == other.pFirstWord
14158     }
14159 }
14160 #[cfg(feature = "Win32_Foundation")]
14161 impl ::std::cmp::Eq for SPWORDLIST {}
14162 #[cfg(feature = "Win32_Foundation")]
14163 unsafe impl ::windows::runtime::Abi for SPWORDLIST {
14164     type Abi = Self;
14165     type DefaultType = Self;
14166 }
14167 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14168 #[repr(transparent)]
14169 pub struct SPWORDPRONOUNCEABLE(pub i32);
14170 pub const SPWP_UNKNOWN_WORD_UNPRONOUNCEABLE: SPWORDPRONOUNCEABLE = SPWORDPRONOUNCEABLE(0i32);
14171 pub const SPWP_UNKNOWN_WORD_PRONOUNCEABLE: SPWORDPRONOUNCEABLE = SPWORDPRONOUNCEABLE(1i32);
14172 pub const SPWP_KNOWN_WORD_PRONOUNCEABLE: SPWORDPRONOUNCEABLE = SPWORDPRONOUNCEABLE(2i32);
14173 impl ::std::convert::From<i32> for SPWORDPRONOUNCEABLE {
from(value: i32) -> Self14174     fn from(value: i32) -> Self {
14175         Self(value)
14176     }
14177 }
14178 unsafe impl ::windows::runtime::Abi for SPWORDPRONOUNCEABLE {
14179     type Abi = Self;
14180     type DefaultType = Self;
14181 }
14182 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14183 #[repr(C)]
14184 pub struct SPWORDPRONUNCIATION {
14185     pub pNextWordPronunciation: *mut SPWORDPRONUNCIATION,
14186     pub eLexiconType: SPLEXICONTYPE,
14187     pub LangID: u16,
14188     pub wPronunciationFlags: u16,
14189     pub ePartOfSpeech: SPPARTOFSPEECH,
14190     pub szPronunciation: [u16; 1],
14191 }
14192 impl SPWORDPRONUNCIATION {}
14193 impl ::std::default::Default for SPWORDPRONUNCIATION {
default() -> Self14194     fn default() -> Self {
14195         unsafe { ::std::mem::zeroed() }
14196     }
14197 }
14198 impl ::std::fmt::Debug for SPWORDPRONUNCIATION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result14199     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14200         fmt.debug_struct("SPWORDPRONUNCIATION")
14201             .field("pNextWordPronunciation", &self.pNextWordPronunciation)
14202             .field("eLexiconType", &self.eLexiconType)
14203             .field("LangID", &self.LangID)
14204             .field("wPronunciationFlags", &self.wPronunciationFlags)
14205             .field("ePartOfSpeech", &self.ePartOfSpeech)
14206             .field("szPronunciation", &self.szPronunciation)
14207             .finish()
14208     }
14209 }
14210 impl ::std::cmp::PartialEq for SPWORDPRONUNCIATION {
eq(&self, other: &Self) -> bool14211     fn eq(&self, other: &Self) -> bool {
14212         self.pNextWordPronunciation == other.pNextWordPronunciation && self.eLexiconType == other.eLexiconType && self.LangID == other.LangID && self.wPronunciationFlags == other.wPronunciationFlags && self.ePartOfSpeech == other.ePartOfSpeech && self.szPronunciation == other.szPronunciation
14213     }
14214 }
14215 impl ::std::cmp::Eq for SPWORDPRONUNCIATION {}
14216 unsafe impl ::windows::runtime::Abi for SPWORDPRONUNCIATION {
14217     type Abi = Self;
14218     type DefaultType = Self;
14219 }
14220 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14221 #[repr(C)]
14222 pub struct SPWORDPRONUNCIATIONLIST {
14223     pub ulSize: u32,
14224     pub pvBuffer: *mut u8,
14225     pub pFirstWordPronunciation: *mut SPWORDPRONUNCIATION,
14226 }
14227 impl SPWORDPRONUNCIATIONLIST {}
14228 impl ::std::default::Default for SPWORDPRONUNCIATIONLIST {
default() -> Self14229     fn default() -> Self {
14230         unsafe { ::std::mem::zeroed() }
14231     }
14232 }
14233 impl ::std::fmt::Debug for SPWORDPRONUNCIATIONLIST {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result14234     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14235         fmt.debug_struct("SPWORDPRONUNCIATIONLIST").field("ulSize", &self.ulSize).field("pvBuffer", &self.pvBuffer).field("pFirstWordPronunciation", &self.pFirstWordPronunciation).finish()
14236     }
14237 }
14238 impl ::std::cmp::PartialEq for SPWORDPRONUNCIATIONLIST {
eq(&self, other: &Self) -> bool14239     fn eq(&self, other: &Self) -> bool {
14240         self.ulSize == other.ulSize && self.pvBuffer == other.pvBuffer && self.pFirstWordPronunciation == other.pFirstWordPronunciation
14241     }
14242 }
14243 impl ::std::cmp::Eq for SPWORDPRONUNCIATIONLIST {}
14244 unsafe impl ::windows::runtime::Abi for SPWORDPRONUNCIATIONLIST {
14245     type Abi = Self;
14246     type DefaultType = Self;
14247 }
14248 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14249 #[repr(transparent)]
14250 pub struct SPWORDTYPE(pub i32);
14251 pub const eWORDTYPE_ADDED: SPWORDTYPE = SPWORDTYPE(1i32);
14252 pub const eWORDTYPE_DELETED: SPWORDTYPE = SPWORDTYPE(2i32);
14253 impl ::std::convert::From<i32> for SPWORDTYPE {
from(value: i32) -> Self14254     fn from(value: i32) -> Self {
14255         Self(value)
14256     }
14257 }
14258 unsafe impl ::windows::runtime::Abi for SPWORDTYPE {
14259     type Abi = Self;
14260     type DefaultType = Self;
14261 }
14262 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14263 #[repr(transparent)]
14264 pub struct SPXMLRESULTOPTIONS(pub i32);
14265 pub const SPXRO_SML: SPXMLRESULTOPTIONS = SPXMLRESULTOPTIONS(0i32);
14266 pub const SPXRO_Alternates_SML: SPXMLRESULTOPTIONS = SPXMLRESULTOPTIONS(1i32);
14267 impl ::std::convert::From<i32> for SPXMLRESULTOPTIONS {
from(value: i32) -> Self14268     fn from(value: i32) -> Self {
14269         Self(value)
14270     }
14271 }
14272 unsafe impl ::windows::runtime::Abi for SPXMLRESULTOPTIONS {
14273     type Abi = Self;
14274     type DefaultType = Self;
14275 }
14276 pub const SP_EMULATE_RESULT: u32 = 1073741824u32;
14277 pub const SP_LOW_CONFIDENCE: i32 = -1i32;
14278 pub const SP_MAX_LANGIDS: u32 = 20u32;
14279 pub const SP_MAX_PRON_LENGTH: u32 = 384u32;
14280 pub const SP_MAX_WORD_LENGTH: u32 = 128u32;
14281 pub const SP_NORMAL_CONFIDENCE: u32 = 0u32;
14282 pub const SP_STREAMPOS_ASAP: u32 = 0u32;
14283 pub const SP_STREAMPOS_REALTIME: i32 = -1i32;
14284 pub const SpAudioFormat: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2667145328, 57696, 18322, [130, 13, 72, 207, 6, 73, 228, 236]);
14285 pub const SpCompressedLexicon: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2425370390, 12098, 4563, [156, 38, 0, 192, 79, 142, 248, 124]);
14286 pub const SpCustomStream: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2378101055, 6472, 19112, [140, 240, 4, 142, 235, 237, 149, 216]);
14287 pub const SpFileStream: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2490897075, 10977, 17988, [186, 134, 158, 144, 222, 215, 236, 145]);
14288 pub const SpInProcRecoContext: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1940744258, 44256, 17896, [164, 221, 135, 149, 136, 26, 44, 42]);
14289 pub const SpInprocRecognizer: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1102617451, 37785, 4562, [150, 35, 0, 192, 79, 142, 230, 40]);
14290 pub const SpLexicon: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(106292118, 9680, 4563, [156, 38, 0, 192, 79, 142, 248, 124]);
14291 pub const SpMMAudioEnum: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2870513824, 59679, 4562, [187, 145, 0, 192, 79, 142, 230, 192]);
14292 pub const SpMMAudioIn: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3476893264, 21490, 4562, [150, 12, 0, 192, 79, 142, 230, 40]);
14293 pub const SpMMAudioOut: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2831581419, 15666, 4562, [158, 231, 0, 192, 79, 121, 115, 150]);
14294 pub const SpMemoryStream: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1605889917, 57332, 18058, [182, 183, 47, 203, 209, 136, 249, 148]);
14295 pub const SpNotifyTranslator: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3803075442, 23872, 4562, [150, 14, 0, 192, 79, 142, 230, 40]);
14296 pub const SpNullPhoneConverter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1163863273, 29590, 18966, [151, 21, 124, 15, 219, 227, 239, 227]);
14297 pub const SpObjectToken: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4014020434, 14134, 19636, [156, 140, 142, 244, 204, 181, 142, 254]);
14298 pub const SpObjectTokenCategory: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2836404351, 3194, 17836, [146, 204, 89, 237, 175, 183, 123, 83]);
14299 pub const SpPhoneConverter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2441475907, 4419, 19496, [134, 181, 191, 241, 79, 32, 229, 200]);
14300 pub const SpPhoneticAlphabetConverter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1329676582, 57315, 17961, [153, 238, 121, 121, 120, 49, 126, 173]);
14301 pub const SpPhraseInfoBuilder: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3258958477, 50527, 18208, [139, 50, 145, 247, 60, 43, 213, 209]);
14302 pub const SpResourceManager: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2524222323, 13201, 4562, [158, 227, 0, 192, 79, 121, 115, 150]);
14303 pub const SpSharedRecoContext: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1193304580, 24266, 4562, [150, 15, 0, 192, 79, 142, 230, 40]);
14304 pub const SpSharedRecognizer: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1005471888, 20457, 18999, [140, 30, 94, 126, 18, 121, 28, 31]);
14305 pub const SpShortcut: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(225586970, 40911, 20066, [150, 216, 109, 248, 240, 26, 38, 170]);
14306 pub const SpStream: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1901960281, 17474, 4562, [150, 5, 0, 192, 79, 142, 230, 40]);
14307 pub const SpStreamFormatConverter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1880331322, 58092, 4562, [160, 134, 0, 192, 79, 142, 249, 181]);
14308 pub const SpTextSelectionInformation: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(261227274, 52221, 19128, [161, 100, 255, 89, 133, 84, 127, 246]);
14309 pub const SpUnCompressedLexicon: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3387128853, 57234, 18215, [133, 214, 114, 229, 238, 182, 153, 90]);
14310 pub const SpVoice: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2524222327, 13201, 4562, [158, 227, 0, 192, 79, 121, 115, 150]);
14311 pub const SpWaveFormatEx: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3348780876, 25534, 17593, [128, 31, 40, 63, 135, 248, 152, 190]);
14312 pub const SpeechAllElements: i32 = -1i32;
14313 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14314 #[repr(transparent)]
14315 pub struct SpeechAudioFormatType(pub i32);
14316 pub const SAFTDefault: SpeechAudioFormatType = SpeechAudioFormatType(-1i32);
14317 pub const SAFTNoAssignedFormat: SpeechAudioFormatType = SpeechAudioFormatType(0i32);
14318 pub const SAFTText: SpeechAudioFormatType = SpeechAudioFormatType(1i32);
14319 pub const SAFTNonStandardFormat: SpeechAudioFormatType = SpeechAudioFormatType(2i32);
14320 pub const SAFTExtendedAudioFormat: SpeechAudioFormatType = SpeechAudioFormatType(3i32);
14321 pub const SAFT8kHz8BitMono: SpeechAudioFormatType = SpeechAudioFormatType(4i32);
14322 pub const SAFT8kHz8BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(5i32);
14323 pub const SAFT8kHz16BitMono: SpeechAudioFormatType = SpeechAudioFormatType(6i32);
14324 pub const SAFT8kHz16BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(7i32);
14325 pub const SAFT11kHz8BitMono: SpeechAudioFormatType = SpeechAudioFormatType(8i32);
14326 pub const SAFT11kHz8BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(9i32);
14327 pub const SAFT11kHz16BitMono: SpeechAudioFormatType = SpeechAudioFormatType(10i32);
14328 pub const SAFT11kHz16BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(11i32);
14329 pub const SAFT12kHz8BitMono: SpeechAudioFormatType = SpeechAudioFormatType(12i32);
14330 pub const SAFT12kHz8BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(13i32);
14331 pub const SAFT12kHz16BitMono: SpeechAudioFormatType = SpeechAudioFormatType(14i32);
14332 pub const SAFT12kHz16BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(15i32);
14333 pub const SAFT16kHz8BitMono: SpeechAudioFormatType = SpeechAudioFormatType(16i32);
14334 pub const SAFT16kHz8BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(17i32);
14335 pub const SAFT16kHz16BitMono: SpeechAudioFormatType = SpeechAudioFormatType(18i32);
14336 pub const SAFT16kHz16BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(19i32);
14337 pub const SAFT22kHz8BitMono: SpeechAudioFormatType = SpeechAudioFormatType(20i32);
14338 pub const SAFT22kHz8BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(21i32);
14339 pub const SAFT22kHz16BitMono: SpeechAudioFormatType = SpeechAudioFormatType(22i32);
14340 pub const SAFT22kHz16BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(23i32);
14341 pub const SAFT24kHz8BitMono: SpeechAudioFormatType = SpeechAudioFormatType(24i32);
14342 pub const SAFT24kHz8BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(25i32);
14343 pub const SAFT24kHz16BitMono: SpeechAudioFormatType = SpeechAudioFormatType(26i32);
14344 pub const SAFT24kHz16BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(27i32);
14345 pub const SAFT32kHz8BitMono: SpeechAudioFormatType = SpeechAudioFormatType(28i32);
14346 pub const SAFT32kHz8BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(29i32);
14347 pub const SAFT32kHz16BitMono: SpeechAudioFormatType = SpeechAudioFormatType(30i32);
14348 pub const SAFT32kHz16BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(31i32);
14349 pub const SAFT44kHz8BitMono: SpeechAudioFormatType = SpeechAudioFormatType(32i32);
14350 pub const SAFT44kHz8BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(33i32);
14351 pub const SAFT44kHz16BitMono: SpeechAudioFormatType = SpeechAudioFormatType(34i32);
14352 pub const SAFT44kHz16BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(35i32);
14353 pub const SAFT48kHz8BitMono: SpeechAudioFormatType = SpeechAudioFormatType(36i32);
14354 pub const SAFT48kHz8BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(37i32);
14355 pub const SAFT48kHz16BitMono: SpeechAudioFormatType = SpeechAudioFormatType(38i32);
14356 pub const SAFT48kHz16BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(39i32);
14357 pub const SAFTTrueSpeech_8kHz1BitMono: SpeechAudioFormatType = SpeechAudioFormatType(40i32);
14358 pub const SAFTCCITT_ALaw_8kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(41i32);
14359 pub const SAFTCCITT_ALaw_8kHzStereo: SpeechAudioFormatType = SpeechAudioFormatType(42i32);
14360 pub const SAFTCCITT_ALaw_11kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(43i32);
14361 pub const SAFTCCITT_ALaw_11kHzStereo: SpeechAudioFormatType = SpeechAudioFormatType(44i32);
14362 pub const SAFTCCITT_ALaw_22kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(45i32);
14363 pub const SAFTCCITT_ALaw_22kHzStereo: SpeechAudioFormatType = SpeechAudioFormatType(46i32);
14364 pub const SAFTCCITT_ALaw_44kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(47i32);
14365 pub const SAFTCCITT_ALaw_44kHzStereo: SpeechAudioFormatType = SpeechAudioFormatType(48i32);
14366 pub const SAFTCCITT_uLaw_8kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(49i32);
14367 pub const SAFTCCITT_uLaw_8kHzStereo: SpeechAudioFormatType = SpeechAudioFormatType(50i32);
14368 pub const SAFTCCITT_uLaw_11kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(51i32);
14369 pub const SAFTCCITT_uLaw_11kHzStereo: SpeechAudioFormatType = SpeechAudioFormatType(52i32);
14370 pub const SAFTCCITT_uLaw_22kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(53i32);
14371 pub const SAFTCCITT_uLaw_22kHzStereo: SpeechAudioFormatType = SpeechAudioFormatType(54i32);
14372 pub const SAFTCCITT_uLaw_44kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(55i32);
14373 pub const SAFTCCITT_uLaw_44kHzStereo: SpeechAudioFormatType = SpeechAudioFormatType(56i32);
14374 pub const SAFTADPCM_8kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(57i32);
14375 pub const SAFTADPCM_8kHzStereo: SpeechAudioFormatType = SpeechAudioFormatType(58i32);
14376 pub const SAFTADPCM_11kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(59i32);
14377 pub const SAFTADPCM_11kHzStereo: SpeechAudioFormatType = SpeechAudioFormatType(60i32);
14378 pub const SAFTADPCM_22kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(61i32);
14379 pub const SAFTADPCM_22kHzStereo: SpeechAudioFormatType = SpeechAudioFormatType(62i32);
14380 pub const SAFTADPCM_44kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(63i32);
14381 pub const SAFTADPCM_44kHzStereo: SpeechAudioFormatType = SpeechAudioFormatType(64i32);
14382 pub const SAFTGSM610_8kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(65i32);
14383 pub const SAFTGSM610_11kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(66i32);
14384 pub const SAFTGSM610_22kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(67i32);
14385 pub const SAFTGSM610_44kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(68i32);
14386 impl ::std::convert::From<i32> for SpeechAudioFormatType {
from(value: i32) -> Self14387     fn from(value: i32) -> Self {
14388         Self(value)
14389     }
14390 }
14391 unsafe impl ::windows::runtime::Abi for SpeechAudioFormatType {
14392     type Abi = Self;
14393     type DefaultType = Self;
14394 }
14395 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14396 #[repr(transparent)]
14397 pub struct SpeechAudioState(pub i32);
14398 pub const SASClosed: SpeechAudioState = SpeechAudioState(0i32);
14399 pub const SASStop: SpeechAudioState = SpeechAudioState(1i32);
14400 pub const SASPause: SpeechAudioState = SpeechAudioState(2i32);
14401 pub const SASRun: SpeechAudioState = SpeechAudioState(3i32);
14402 impl ::std::convert::From<i32> for SpeechAudioState {
from(value: i32) -> Self14403     fn from(value: i32) -> Self {
14404         Self(value)
14405     }
14406 }
14407 unsafe impl ::windows::runtime::Abi for SpeechAudioState {
14408     type Abi = Self;
14409     type DefaultType = Self;
14410 }
14411 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14412 #[repr(transparent)]
14413 pub struct SpeechBookmarkOptions(pub i32);
14414 pub const SBONone: SpeechBookmarkOptions = SpeechBookmarkOptions(0i32);
14415 pub const SBOPause: SpeechBookmarkOptions = SpeechBookmarkOptions(1i32);
14416 impl ::std::convert::From<i32> for SpeechBookmarkOptions {
from(value: i32) -> Self14417     fn from(value: i32) -> Self {
14418         Self(value)
14419     }
14420 }
14421 unsafe impl ::windows::runtime::Abi for SpeechBookmarkOptions {
14422     type Abi = Self;
14423     type DefaultType = Self;
14424 }
14425 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14426 #[repr(transparent)]
14427 pub struct SpeechDataKeyLocation(pub i32);
14428 pub const SDKLDefaultLocation: SpeechDataKeyLocation = SpeechDataKeyLocation(0i32);
14429 pub const SDKLCurrentUser: SpeechDataKeyLocation = SpeechDataKeyLocation(1i32);
14430 pub const SDKLLocalMachine: SpeechDataKeyLocation = SpeechDataKeyLocation(2i32);
14431 pub const SDKLCurrentConfig: SpeechDataKeyLocation = SpeechDataKeyLocation(5i32);
14432 impl ::std::convert::From<i32> for SpeechDataKeyLocation {
from(value: i32) -> Self14433     fn from(value: i32) -> Self {
14434         Self(value)
14435     }
14436 }
14437 unsafe impl ::windows::runtime::Abi for SpeechDataKeyLocation {
14438     type Abi = Self;
14439     type DefaultType = Self;
14440 }
14441 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14442 #[repr(transparent)]
14443 pub struct SpeechDiscardType(pub i32);
14444 pub const SDTProperty: SpeechDiscardType = SpeechDiscardType(1i32);
14445 pub const SDTReplacement: SpeechDiscardType = SpeechDiscardType(2i32);
14446 pub const SDTRule: SpeechDiscardType = SpeechDiscardType(4i32);
14447 pub const SDTDisplayText: SpeechDiscardType = SpeechDiscardType(8i32);
14448 pub const SDTLexicalForm: SpeechDiscardType = SpeechDiscardType(16i32);
14449 pub const SDTPronunciation: SpeechDiscardType = SpeechDiscardType(32i32);
14450 pub const SDTAudio: SpeechDiscardType = SpeechDiscardType(64i32);
14451 pub const SDTAlternates: SpeechDiscardType = SpeechDiscardType(128i32);
14452 pub const SDTAll: SpeechDiscardType = SpeechDiscardType(255i32);
14453 impl ::std::convert::From<i32> for SpeechDiscardType {
from(value: i32) -> Self14454     fn from(value: i32) -> Self {
14455         Self(value)
14456     }
14457 }
14458 unsafe impl ::windows::runtime::Abi for SpeechDiscardType {
14459     type Abi = Self;
14460     type DefaultType = Self;
14461 }
14462 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14463 #[repr(transparent)]
14464 pub struct SpeechDisplayAttributes(pub i32);
14465 pub const SDA_No_Trailing_Space: SpeechDisplayAttributes = SpeechDisplayAttributes(0i32);
14466 pub const SDA_One_Trailing_Space: SpeechDisplayAttributes = SpeechDisplayAttributes(2i32);
14467 pub const SDA_Two_Trailing_Spaces: SpeechDisplayAttributes = SpeechDisplayAttributes(4i32);
14468 pub const SDA_Consume_Leading_Spaces: SpeechDisplayAttributes = SpeechDisplayAttributes(8i32);
14469 impl ::std::convert::From<i32> for SpeechDisplayAttributes {
from(value: i32) -> Self14470     fn from(value: i32) -> Self {
14471         Self(value)
14472     }
14473 }
14474 unsafe impl ::windows::runtime::Abi for SpeechDisplayAttributes {
14475     type Abi = Self;
14476     type DefaultType = Self;
14477 }
14478 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14479 #[repr(transparent)]
14480 pub struct SpeechEmulationCompareFlags(pub i32);
14481 pub const SECFIgnoreCase: SpeechEmulationCompareFlags = SpeechEmulationCompareFlags(1i32);
14482 pub const SECFIgnoreKanaType: SpeechEmulationCompareFlags = SpeechEmulationCompareFlags(65536i32);
14483 pub const SECFIgnoreWidth: SpeechEmulationCompareFlags = SpeechEmulationCompareFlags(131072i32);
14484 pub const SECFNoSpecialChars: SpeechEmulationCompareFlags = SpeechEmulationCompareFlags(536870912i32);
14485 pub const SECFEmulateResult: SpeechEmulationCompareFlags = SpeechEmulationCompareFlags(1073741824i32);
14486 pub const SECFDefault: SpeechEmulationCompareFlags = SpeechEmulationCompareFlags(196609i32);
14487 impl ::std::convert::From<i32> for SpeechEmulationCompareFlags {
from(value: i32) -> Self14488     fn from(value: i32) -> Self {
14489         Self(value)
14490     }
14491 }
14492 unsafe impl ::windows::runtime::Abi for SpeechEmulationCompareFlags {
14493     type Abi = Self;
14494     type DefaultType = Self;
14495 }
14496 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14497 #[repr(transparent)]
14498 pub struct SpeechEngineConfidence(pub i32);
14499 pub const SECLowConfidence: SpeechEngineConfidence = SpeechEngineConfidence(-1i32);
14500 pub const SECNormalConfidence: SpeechEngineConfidence = SpeechEngineConfidence(0i32);
14501 pub const SECHighConfidence: SpeechEngineConfidence = SpeechEngineConfidence(1i32);
14502 impl ::std::convert::From<i32> for SpeechEngineConfidence {
from(value: i32) -> Self14503     fn from(value: i32) -> Self {
14504         Self(value)
14505     }
14506 }
14507 unsafe impl ::windows::runtime::Abi for SpeechEngineConfidence {
14508     type Abi = Self;
14509     type DefaultType = Self;
14510 }
14511 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14512 #[repr(transparent)]
14513 pub struct SpeechFormatType(pub i32);
14514 pub const SFTInput: SpeechFormatType = SpeechFormatType(0i32);
14515 pub const SFTSREngine: SpeechFormatType = SpeechFormatType(1i32);
14516 impl ::std::convert::From<i32> for SpeechFormatType {
from(value: i32) -> Self14517     fn from(value: i32) -> Self {
14518         Self(value)
14519     }
14520 }
14521 unsafe impl ::windows::runtime::Abi for SpeechFormatType {
14522     type Abi = Self;
14523     type DefaultType = Self;
14524 }
14525 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14526 #[repr(transparent)]
14527 pub struct SpeechGrammarRuleStateTransitionType(pub i32);
14528 pub const SGRSTTEpsilon: SpeechGrammarRuleStateTransitionType = SpeechGrammarRuleStateTransitionType(0i32);
14529 pub const SGRSTTWord: SpeechGrammarRuleStateTransitionType = SpeechGrammarRuleStateTransitionType(1i32);
14530 pub const SGRSTTRule: SpeechGrammarRuleStateTransitionType = SpeechGrammarRuleStateTransitionType(2i32);
14531 pub const SGRSTTDictation: SpeechGrammarRuleStateTransitionType = SpeechGrammarRuleStateTransitionType(3i32);
14532 pub const SGRSTTWildcard: SpeechGrammarRuleStateTransitionType = SpeechGrammarRuleStateTransitionType(4i32);
14533 pub const SGRSTTTextBuffer: SpeechGrammarRuleStateTransitionType = SpeechGrammarRuleStateTransitionType(5i32);
14534 impl ::std::convert::From<i32> for SpeechGrammarRuleStateTransitionType {
from(value: i32) -> Self14535     fn from(value: i32) -> Self {
14536         Self(value)
14537     }
14538 }
14539 unsafe impl ::windows::runtime::Abi for SpeechGrammarRuleStateTransitionType {
14540     type Abi = Self;
14541     type DefaultType = Self;
14542 }
14543 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14544 #[repr(transparent)]
14545 pub struct SpeechGrammarState(pub i32);
14546 pub const SGSEnabled: SpeechGrammarState = SpeechGrammarState(1i32);
14547 pub const SGSDisabled: SpeechGrammarState = SpeechGrammarState(0i32);
14548 pub const SGSExclusive: SpeechGrammarState = SpeechGrammarState(3i32);
14549 impl ::std::convert::From<i32> for SpeechGrammarState {
from(value: i32) -> Self14550     fn from(value: i32) -> Self {
14551         Self(value)
14552     }
14553 }
14554 unsafe impl ::windows::runtime::Abi for SpeechGrammarState {
14555     type Abi = Self;
14556     type DefaultType = Self;
14557 }
14558 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14559 #[repr(transparent)]
14560 pub struct SpeechGrammarWordType(pub i32);
14561 pub const SGDisplay: SpeechGrammarWordType = SpeechGrammarWordType(0i32);
14562 pub const SGLexical: SpeechGrammarWordType = SpeechGrammarWordType(1i32);
14563 pub const SGPronounciation: SpeechGrammarWordType = SpeechGrammarWordType(2i32);
14564 pub const SGLexicalNoSpecialChars: SpeechGrammarWordType = SpeechGrammarWordType(3i32);
14565 impl ::std::convert::From<i32> for SpeechGrammarWordType {
from(value: i32) -> Self14566     fn from(value: i32) -> Self {
14567         Self(value)
14568     }
14569 }
14570 unsafe impl ::windows::runtime::Abi for SpeechGrammarWordType {
14571     type Abi = Self;
14572     type DefaultType = Self;
14573 }
14574 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14575 #[repr(transparent)]
14576 pub struct SpeechInterference(pub i32);
14577 pub const SINone: SpeechInterference = SpeechInterference(0i32);
14578 pub const SINoise: SpeechInterference = SpeechInterference(1i32);
14579 pub const SINoSignal: SpeechInterference = SpeechInterference(2i32);
14580 pub const SITooLoud: SpeechInterference = SpeechInterference(3i32);
14581 pub const SITooQuiet: SpeechInterference = SpeechInterference(4i32);
14582 pub const SITooFast: SpeechInterference = SpeechInterference(5i32);
14583 pub const SITooSlow: SpeechInterference = SpeechInterference(6i32);
14584 impl ::std::convert::From<i32> for SpeechInterference {
from(value: i32) -> Self14585     fn from(value: i32) -> Self {
14586         Self(value)
14587     }
14588 }
14589 unsafe impl ::windows::runtime::Abi for SpeechInterference {
14590     type Abi = Self;
14591     type DefaultType = Self;
14592 }
14593 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14594 #[repr(transparent)]
14595 pub struct SpeechLexiconType(pub i32);
14596 pub const SLTUser: SpeechLexiconType = SpeechLexiconType(1i32);
14597 pub const SLTApp: SpeechLexiconType = SpeechLexiconType(2i32);
14598 impl ::std::convert::From<i32> for SpeechLexiconType {
from(value: i32) -> Self14599     fn from(value: i32) -> Self {
14600         Self(value)
14601     }
14602 }
14603 unsafe impl ::windows::runtime::Abi for SpeechLexiconType {
14604     type Abi = Self;
14605     type DefaultType = Self;
14606 }
14607 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14608 #[repr(transparent)]
14609 pub struct SpeechLoadOption(pub i32);
14610 pub const SLOStatic: SpeechLoadOption = SpeechLoadOption(0i32);
14611 pub const SLODynamic: SpeechLoadOption = SpeechLoadOption(1i32);
14612 impl ::std::convert::From<i32> for SpeechLoadOption {
from(value: i32) -> Self14613     fn from(value: i32) -> Self {
14614         Self(value)
14615     }
14616 }
14617 unsafe impl ::windows::runtime::Abi for SpeechLoadOption {
14618     type Abi = Self;
14619     type DefaultType = Self;
14620 }
14621 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14622 #[repr(transparent)]
14623 pub struct SpeechPartOfSpeech(pub i32);
14624 pub const SPSNotOverriden: SpeechPartOfSpeech = SpeechPartOfSpeech(-1i32);
14625 pub const SPSUnknown: SpeechPartOfSpeech = SpeechPartOfSpeech(0i32);
14626 pub const SPSNoun: SpeechPartOfSpeech = SpeechPartOfSpeech(4096i32);
14627 pub const SPSVerb: SpeechPartOfSpeech = SpeechPartOfSpeech(8192i32);
14628 pub const SPSModifier: SpeechPartOfSpeech = SpeechPartOfSpeech(12288i32);
14629 pub const SPSFunction: SpeechPartOfSpeech = SpeechPartOfSpeech(16384i32);
14630 pub const SPSInterjection: SpeechPartOfSpeech = SpeechPartOfSpeech(20480i32);
14631 pub const SPSLMA: SpeechPartOfSpeech = SpeechPartOfSpeech(28672i32);
14632 pub const SPSSuppressWord: SpeechPartOfSpeech = SpeechPartOfSpeech(61440i32);
14633 impl ::std::convert::From<i32> for SpeechPartOfSpeech {
from(value: i32) -> Self14634     fn from(value: i32) -> Self {
14635         Self(value)
14636     }
14637 }
14638 unsafe impl ::windows::runtime::Abi for SpeechPartOfSpeech {
14639     type Abi = Self;
14640     type DefaultType = Self;
14641 }
14642 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14643 #[repr(transparent)]
14644 pub struct SpeechRecoContextState(pub i32);
14645 pub const SRCS_Disabled: SpeechRecoContextState = SpeechRecoContextState(0i32);
14646 pub const SRCS_Enabled: SpeechRecoContextState = SpeechRecoContextState(1i32);
14647 impl ::std::convert::From<i32> for SpeechRecoContextState {
from(value: i32) -> Self14648     fn from(value: i32) -> Self {
14649         Self(value)
14650     }
14651 }
14652 unsafe impl ::windows::runtime::Abi for SpeechRecoContextState {
14653     type Abi = Self;
14654     type DefaultType = Self;
14655 }
14656 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14657 #[repr(transparent)]
14658 pub struct SpeechRecoEvents(pub i32);
14659 pub const SREStreamEnd: SpeechRecoEvents = SpeechRecoEvents(1i32);
14660 pub const SRESoundStart: SpeechRecoEvents = SpeechRecoEvents(2i32);
14661 pub const SRESoundEnd: SpeechRecoEvents = SpeechRecoEvents(4i32);
14662 pub const SREPhraseStart: SpeechRecoEvents = SpeechRecoEvents(8i32);
14663 pub const SRERecognition: SpeechRecoEvents = SpeechRecoEvents(16i32);
14664 pub const SREHypothesis: SpeechRecoEvents = SpeechRecoEvents(32i32);
14665 pub const SREBookmark: SpeechRecoEvents = SpeechRecoEvents(64i32);
14666 pub const SREPropertyNumChange: SpeechRecoEvents = SpeechRecoEvents(128i32);
14667 pub const SREPropertyStringChange: SpeechRecoEvents = SpeechRecoEvents(256i32);
14668 pub const SREFalseRecognition: SpeechRecoEvents = SpeechRecoEvents(512i32);
14669 pub const SREInterference: SpeechRecoEvents = SpeechRecoEvents(1024i32);
14670 pub const SRERequestUI: SpeechRecoEvents = SpeechRecoEvents(2048i32);
14671 pub const SREStateChange: SpeechRecoEvents = SpeechRecoEvents(4096i32);
14672 pub const SREAdaptation: SpeechRecoEvents = SpeechRecoEvents(8192i32);
14673 pub const SREStreamStart: SpeechRecoEvents = SpeechRecoEvents(16384i32);
14674 pub const SRERecoOtherContext: SpeechRecoEvents = SpeechRecoEvents(32768i32);
14675 pub const SREAudioLevel: SpeechRecoEvents = SpeechRecoEvents(65536i32);
14676 pub const SREPrivate: SpeechRecoEvents = SpeechRecoEvents(262144i32);
14677 pub const SREAllEvents: SpeechRecoEvents = SpeechRecoEvents(393215i32);
14678 impl ::std::convert::From<i32> for SpeechRecoEvents {
from(value: i32) -> Self14679     fn from(value: i32) -> Self {
14680         Self(value)
14681     }
14682 }
14683 unsafe impl ::windows::runtime::Abi for SpeechRecoEvents {
14684     type Abi = Self;
14685     type DefaultType = Self;
14686 }
14687 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14688 #[repr(transparent)]
14689 pub struct SpeechRecognitionType(pub i32);
14690 pub const SRTStandard: SpeechRecognitionType = SpeechRecognitionType(0i32);
14691 pub const SRTAutopause: SpeechRecognitionType = SpeechRecognitionType(1i32);
14692 pub const SRTEmulated: SpeechRecognitionType = SpeechRecognitionType(2i32);
14693 pub const SRTSMLTimeout: SpeechRecognitionType = SpeechRecognitionType(4i32);
14694 pub const SRTExtendableParse: SpeechRecognitionType = SpeechRecognitionType(8i32);
14695 pub const SRTReSent: SpeechRecognitionType = SpeechRecognitionType(16i32);
14696 impl ::std::convert::From<i32> for SpeechRecognitionType {
from(value: i32) -> Self14697     fn from(value: i32) -> Self {
14698         Self(value)
14699     }
14700 }
14701 unsafe impl ::windows::runtime::Abi for SpeechRecognitionType {
14702     type Abi = Self;
14703     type DefaultType = Self;
14704 }
14705 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14706 #[repr(transparent)]
14707 pub struct SpeechRecognizerState(pub i32);
14708 pub const SRSInactive: SpeechRecognizerState = SpeechRecognizerState(0i32);
14709 pub const SRSActive: SpeechRecognizerState = SpeechRecognizerState(1i32);
14710 pub const SRSActiveAlways: SpeechRecognizerState = SpeechRecognizerState(2i32);
14711 pub const SRSInactiveWithPurge: SpeechRecognizerState = SpeechRecognizerState(3i32);
14712 impl ::std::convert::From<i32> for SpeechRecognizerState {
from(value: i32) -> Self14713     fn from(value: i32) -> Self {
14714         Self(value)
14715     }
14716 }
14717 unsafe impl ::windows::runtime::Abi for SpeechRecognizerState {
14718     type Abi = Self;
14719     type DefaultType = Self;
14720 }
14721 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14722 #[repr(transparent)]
14723 pub struct SpeechRetainedAudioOptions(pub i32);
14724 pub const SRAONone: SpeechRetainedAudioOptions = SpeechRetainedAudioOptions(0i32);
14725 pub const SRAORetainAudio: SpeechRetainedAudioOptions = SpeechRetainedAudioOptions(1i32);
14726 impl ::std::convert::From<i32> for SpeechRetainedAudioOptions {
from(value: i32) -> Self14727     fn from(value: i32) -> Self {
14728         Self(value)
14729     }
14730 }
14731 unsafe impl ::windows::runtime::Abi for SpeechRetainedAudioOptions {
14732     type Abi = Self;
14733     type DefaultType = Self;
14734 }
14735 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14736 #[repr(transparent)]
14737 pub struct SpeechRuleAttributes(pub i32);
14738 pub const SRATopLevel: SpeechRuleAttributes = SpeechRuleAttributes(1i32);
14739 pub const SRADefaultToActive: SpeechRuleAttributes = SpeechRuleAttributes(2i32);
14740 pub const SRAExport: SpeechRuleAttributes = SpeechRuleAttributes(4i32);
14741 pub const SRAImport: SpeechRuleAttributes = SpeechRuleAttributes(8i32);
14742 pub const SRAInterpreter: SpeechRuleAttributes = SpeechRuleAttributes(16i32);
14743 pub const SRADynamic: SpeechRuleAttributes = SpeechRuleAttributes(32i32);
14744 pub const SRARoot: SpeechRuleAttributes = SpeechRuleAttributes(64i32);
14745 impl ::std::convert::From<i32> for SpeechRuleAttributes {
from(value: i32) -> Self14746     fn from(value: i32) -> Self {
14747         Self(value)
14748     }
14749 }
14750 unsafe impl ::windows::runtime::Abi for SpeechRuleAttributes {
14751     type Abi = Self;
14752     type DefaultType = Self;
14753 }
14754 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14755 #[repr(transparent)]
14756 pub struct SpeechRuleState(pub i32);
14757 pub const SGDSInactive: SpeechRuleState = SpeechRuleState(0i32);
14758 pub const SGDSActive: SpeechRuleState = SpeechRuleState(1i32);
14759 pub const SGDSActiveWithAutoPause: SpeechRuleState = SpeechRuleState(3i32);
14760 pub const SGDSActiveUserDelimited: SpeechRuleState = SpeechRuleState(4i32);
14761 impl ::std::convert::From<i32> for SpeechRuleState {
from(value: i32) -> Self14762     fn from(value: i32) -> Self {
14763         Self(value)
14764     }
14765 }
14766 unsafe impl ::windows::runtime::Abi for SpeechRuleState {
14767     type Abi = Self;
14768     type DefaultType = Self;
14769 }
14770 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14771 #[repr(transparent)]
14772 pub struct SpeechRunState(pub i32);
14773 pub const SRSEDone: SpeechRunState = SpeechRunState(1i32);
14774 pub const SRSEIsSpeaking: SpeechRunState = SpeechRunState(2i32);
14775 impl ::std::convert::From<i32> for SpeechRunState {
from(value: i32) -> Self14776     fn from(value: i32) -> Self {
14777         Self(value)
14778     }
14779 }
14780 unsafe impl ::windows::runtime::Abi for SpeechRunState {
14781     type Abi = Self;
14782     type DefaultType = Self;
14783 }
14784 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14785 #[repr(transparent)]
14786 pub struct SpeechSpecialTransitionType(pub i32);
14787 pub const SSTTWildcard: SpeechSpecialTransitionType = SpeechSpecialTransitionType(1i32);
14788 pub const SSTTDictation: SpeechSpecialTransitionType = SpeechSpecialTransitionType(2i32);
14789 pub const SSTTTextBuffer: SpeechSpecialTransitionType = SpeechSpecialTransitionType(3i32);
14790 impl ::std::convert::From<i32> for SpeechSpecialTransitionType {
from(value: i32) -> Self14791     fn from(value: i32) -> Self {
14792         Self(value)
14793     }
14794 }
14795 unsafe impl ::windows::runtime::Abi for SpeechSpecialTransitionType {
14796     type Abi = Self;
14797     type DefaultType = Self;
14798 }
14799 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14800 #[repr(transparent)]
14801 pub struct SpeechStreamFileMode(pub i32);
14802 pub const SSFMOpenForRead: SpeechStreamFileMode = SpeechStreamFileMode(0i32);
14803 pub const SSFMOpenReadWrite: SpeechStreamFileMode = SpeechStreamFileMode(1i32);
14804 pub const SSFMCreate: SpeechStreamFileMode = SpeechStreamFileMode(2i32);
14805 pub const SSFMCreateForWrite: SpeechStreamFileMode = SpeechStreamFileMode(3i32);
14806 impl ::std::convert::From<i32> for SpeechStreamFileMode {
from(value: i32) -> Self14807     fn from(value: i32) -> Self {
14808         Self(value)
14809     }
14810 }
14811 unsafe impl ::windows::runtime::Abi for SpeechStreamFileMode {
14812     type Abi = Self;
14813     type DefaultType = Self;
14814 }
14815 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14816 #[repr(transparent)]
14817 pub struct SpeechStreamSeekPositionType(pub u32);
14818 pub const SSSPTRelativeToStart: SpeechStreamSeekPositionType = SpeechStreamSeekPositionType(0u32);
14819 pub const SSSPTRelativeToCurrentPosition: SpeechStreamSeekPositionType = SpeechStreamSeekPositionType(1u32);
14820 pub const SSSPTRelativeToEnd: SpeechStreamSeekPositionType = SpeechStreamSeekPositionType(2u32);
14821 impl ::std::convert::From<u32> for SpeechStreamSeekPositionType {
from(value: u32) -> Self14822     fn from(value: u32) -> Self {
14823         Self(value)
14824     }
14825 }
14826 unsafe impl ::windows::runtime::Abi for SpeechStreamSeekPositionType {
14827     type Abi = Self;
14828     type DefaultType = Self;
14829 }
14830 impl ::std::ops::BitOr for SpeechStreamSeekPositionType {
14831     type Output = Self;
bitor(self, rhs: Self) -> Self14832     fn bitor(self, rhs: Self) -> Self {
14833         Self(self.0 | rhs.0)
14834     }
14835 }
14836 impl ::std::ops::BitAnd for SpeechStreamSeekPositionType {
14837     type Output = Self;
bitand(self, rhs: Self) -> Self14838     fn bitand(self, rhs: Self) -> Self {
14839         Self(self.0 & rhs.0)
14840     }
14841 }
14842 impl ::std::ops::BitOrAssign for SpeechStreamSeekPositionType {
bitor_assign(&mut self, rhs: Self)14843     fn bitor_assign(&mut self, rhs: Self) {
14844         self.0.bitor_assign(rhs.0)
14845     }
14846 }
14847 impl ::std::ops::BitAndAssign for SpeechStreamSeekPositionType {
bitand_assign(&mut self, rhs: Self)14848     fn bitand_assign(&mut self, rhs: Self) {
14849         self.0.bitand_assign(rhs.0)
14850     }
14851 }
14852 impl ::std::ops::Not for SpeechStreamSeekPositionType {
14853     type Output = Self;
not(self) -> Self14854     fn not(self) -> Self {
14855         Self(self.0.not())
14856     }
14857 }
14858 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14859 #[repr(transparent)]
14860 pub struct SpeechTokenContext(pub u32);
14861 pub const STCInprocServer: SpeechTokenContext = SpeechTokenContext(1u32);
14862 pub const STCInprocHandler: SpeechTokenContext = SpeechTokenContext(2u32);
14863 pub const STCLocalServer: SpeechTokenContext = SpeechTokenContext(4u32);
14864 pub const STCRemoteServer: SpeechTokenContext = SpeechTokenContext(16u32);
14865 pub const STCAll: SpeechTokenContext = SpeechTokenContext(23u32);
14866 impl ::std::convert::From<u32> for SpeechTokenContext {
from(value: u32) -> Self14867     fn from(value: u32) -> Self {
14868         Self(value)
14869     }
14870 }
14871 unsafe impl ::windows::runtime::Abi for SpeechTokenContext {
14872     type Abi = Self;
14873     type DefaultType = Self;
14874 }
14875 impl ::std::ops::BitOr for SpeechTokenContext {
14876     type Output = Self;
bitor(self, rhs: Self) -> Self14877     fn bitor(self, rhs: Self) -> Self {
14878         Self(self.0 | rhs.0)
14879     }
14880 }
14881 impl ::std::ops::BitAnd for SpeechTokenContext {
14882     type Output = Self;
bitand(self, rhs: Self) -> Self14883     fn bitand(self, rhs: Self) -> Self {
14884         Self(self.0 & rhs.0)
14885     }
14886 }
14887 impl ::std::ops::BitOrAssign for SpeechTokenContext {
bitor_assign(&mut self, rhs: Self)14888     fn bitor_assign(&mut self, rhs: Self) {
14889         self.0.bitor_assign(rhs.0)
14890     }
14891 }
14892 impl ::std::ops::BitAndAssign for SpeechTokenContext {
bitand_assign(&mut self, rhs: Self)14893     fn bitand_assign(&mut self, rhs: Self) {
14894         self.0.bitand_assign(rhs.0)
14895     }
14896 }
14897 impl ::std::ops::Not for SpeechTokenContext {
14898     type Output = Self;
not(self) -> Self14899     fn not(self) -> Self {
14900         Self(self.0.not())
14901     }
14902 }
14903 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14904 #[repr(transparent)]
14905 pub struct SpeechTokenShellFolder(pub i32);
14906 pub const STSF_AppData: SpeechTokenShellFolder = SpeechTokenShellFolder(26i32);
14907 pub const STSF_LocalAppData: SpeechTokenShellFolder = SpeechTokenShellFolder(28i32);
14908 pub const STSF_CommonAppData: SpeechTokenShellFolder = SpeechTokenShellFolder(35i32);
14909 pub const STSF_FlagCreate: SpeechTokenShellFolder = SpeechTokenShellFolder(32768i32);
14910 impl ::std::convert::From<i32> for SpeechTokenShellFolder {
from(value: i32) -> Self14911     fn from(value: i32) -> Self {
14912         Self(value)
14913     }
14914 }
14915 unsafe impl ::windows::runtime::Abi for SpeechTokenShellFolder {
14916     type Abi = Self;
14917     type DefaultType = Self;
14918 }
14919 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14920 #[repr(transparent)]
14921 pub struct SpeechVisemeFeature(pub i32);
14922 pub const SVF_None: SpeechVisemeFeature = SpeechVisemeFeature(0i32);
14923 pub const SVF_Stressed: SpeechVisemeFeature = SpeechVisemeFeature(1i32);
14924 pub const SVF_Emphasis: SpeechVisemeFeature = SpeechVisemeFeature(2i32);
14925 impl ::std::convert::From<i32> for SpeechVisemeFeature {
from(value: i32) -> Self14926     fn from(value: i32) -> Self {
14927         Self(value)
14928     }
14929 }
14930 unsafe impl ::windows::runtime::Abi for SpeechVisemeFeature {
14931     type Abi = Self;
14932     type DefaultType = Self;
14933 }
14934 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14935 #[repr(transparent)]
14936 pub struct SpeechVisemeType(pub i32);
14937 pub const SVP_0: SpeechVisemeType = SpeechVisemeType(0i32);
14938 pub const SVP_1: SpeechVisemeType = SpeechVisemeType(1i32);
14939 pub const SVP_2: SpeechVisemeType = SpeechVisemeType(2i32);
14940 pub const SVP_3: SpeechVisemeType = SpeechVisemeType(3i32);
14941 pub const SVP_4: SpeechVisemeType = SpeechVisemeType(4i32);
14942 pub const SVP_5: SpeechVisemeType = SpeechVisemeType(5i32);
14943 pub const SVP_6: SpeechVisemeType = SpeechVisemeType(6i32);
14944 pub const SVP_7: SpeechVisemeType = SpeechVisemeType(7i32);
14945 pub const SVP_8: SpeechVisemeType = SpeechVisemeType(8i32);
14946 pub const SVP_9: SpeechVisemeType = SpeechVisemeType(9i32);
14947 pub const SVP_10: SpeechVisemeType = SpeechVisemeType(10i32);
14948 pub const SVP_11: SpeechVisemeType = SpeechVisemeType(11i32);
14949 pub const SVP_12: SpeechVisemeType = SpeechVisemeType(12i32);
14950 pub const SVP_13: SpeechVisemeType = SpeechVisemeType(13i32);
14951 pub const SVP_14: SpeechVisemeType = SpeechVisemeType(14i32);
14952 pub const SVP_15: SpeechVisemeType = SpeechVisemeType(15i32);
14953 pub const SVP_16: SpeechVisemeType = SpeechVisemeType(16i32);
14954 pub const SVP_17: SpeechVisemeType = SpeechVisemeType(17i32);
14955 pub const SVP_18: SpeechVisemeType = SpeechVisemeType(18i32);
14956 pub const SVP_19: SpeechVisemeType = SpeechVisemeType(19i32);
14957 pub const SVP_20: SpeechVisemeType = SpeechVisemeType(20i32);
14958 pub const SVP_21: SpeechVisemeType = SpeechVisemeType(21i32);
14959 impl ::std::convert::From<i32> for SpeechVisemeType {
from(value: i32) -> Self14960     fn from(value: i32) -> Self {
14961         Self(value)
14962     }
14963 }
14964 unsafe impl ::windows::runtime::Abi for SpeechVisemeType {
14965     type Abi = Self;
14966     type DefaultType = Self;
14967 }
14968 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14969 #[repr(transparent)]
14970 pub struct SpeechVoiceEvents(pub i32);
14971 pub const SVEStartInputStream: SpeechVoiceEvents = SpeechVoiceEvents(2i32);
14972 pub const SVEEndInputStream: SpeechVoiceEvents = SpeechVoiceEvents(4i32);
14973 pub const SVEVoiceChange: SpeechVoiceEvents = SpeechVoiceEvents(8i32);
14974 pub const SVEBookmark: SpeechVoiceEvents = SpeechVoiceEvents(16i32);
14975 pub const SVEWordBoundary: SpeechVoiceEvents = SpeechVoiceEvents(32i32);
14976 pub const SVEPhoneme: SpeechVoiceEvents = SpeechVoiceEvents(64i32);
14977 pub const SVESentenceBoundary: SpeechVoiceEvents = SpeechVoiceEvents(128i32);
14978 pub const SVEViseme: SpeechVoiceEvents = SpeechVoiceEvents(256i32);
14979 pub const SVEAudioLevel: SpeechVoiceEvents = SpeechVoiceEvents(512i32);
14980 pub const SVEPrivate: SpeechVoiceEvents = SpeechVoiceEvents(32768i32);
14981 pub const SVEAllEvents: SpeechVoiceEvents = SpeechVoiceEvents(33790i32);
14982 impl ::std::convert::From<i32> for SpeechVoiceEvents {
from(value: i32) -> Self14983     fn from(value: i32) -> Self {
14984         Self(value)
14985     }
14986 }
14987 unsafe impl ::windows::runtime::Abi for SpeechVoiceEvents {
14988     type Abi = Self;
14989     type DefaultType = Self;
14990 }
14991 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14992 #[repr(transparent)]
14993 pub struct SpeechVoicePriority(pub i32);
14994 pub const SVPNormal: SpeechVoicePriority = SpeechVoicePriority(0i32);
14995 pub const SVPAlert: SpeechVoicePriority = SpeechVoicePriority(1i32);
14996 pub const SVPOver: SpeechVoicePriority = SpeechVoicePriority(2i32);
14997 impl ::std::convert::From<i32> for SpeechVoicePriority {
from(value: i32) -> Self14998     fn from(value: i32) -> Self {
14999         Self(value)
15000     }
15001 }
15002 unsafe impl ::windows::runtime::Abi for SpeechVoicePriority {
15003     type Abi = Self;
15004     type DefaultType = Self;
15005 }
15006 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15007 #[repr(transparent)]
15008 pub struct SpeechVoiceSpeakFlags(pub i32);
15009 pub const SVSFDefault: SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags(0i32);
15010 pub const SVSFlagsAsync: SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags(1i32);
15011 pub const SVSFPurgeBeforeSpeak: SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags(2i32);
15012 pub const SVSFIsFilename: SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags(4i32);
15013 pub const SVSFIsXML: SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags(8i32);
15014 pub const SVSFIsNotXML: SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags(16i32);
15015 pub const SVSFPersistXML: SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags(32i32);
15016 pub const SVSFNLPSpeakPunc: SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags(64i32);
15017 pub const SVSFParseSapi: SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags(128i32);
15018 pub const SVSFParseSsml: SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags(256i32);
15019 pub const SVSFParseAutodetect: SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags(0i32);
15020 pub const SVSFNLPMask: SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags(64i32);
15021 pub const SVSFParseMask: SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags(384i32);
15022 pub const SVSFVoiceMask: SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags(511i32);
15023 pub const SVSFUnusedFlags: SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags(-512i32);
15024 impl ::std::convert::From<i32> for SpeechVoiceSpeakFlags {
from(value: i32) -> Self15025     fn from(value: i32) -> Self {
15026         Self(value)
15027     }
15028 }
15029 unsafe impl ::windows::runtime::Abi for SpeechVoiceSpeakFlags {
15030     type Abi = Self;
15031     type DefaultType = Self;
15032 }
15033 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15034 #[repr(transparent)]
15035 pub struct SpeechWordPronounceable(pub i32);
15036 pub const SWPUnknownWordUnpronounceable: SpeechWordPronounceable = SpeechWordPronounceable(0i32);
15037 pub const SWPUnknownWordPronounceable: SpeechWordPronounceable = SpeechWordPronounceable(1i32);
15038 pub const SWPKnownWordPronounceable: SpeechWordPronounceable = SpeechWordPronounceable(2i32);
15039 impl ::std::convert::From<i32> for SpeechWordPronounceable {
from(value: i32) -> Self15040     fn from(value: i32) -> Self {
15041         Self(value)
15042     }
15043 }
15044 unsafe impl ::windows::runtime::Abi for SpeechWordPronounceable {
15045     type Abi = Self;
15046     type DefaultType = Self;
15047 }
15048 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15049 #[repr(transparent)]
15050 pub struct SpeechWordType(pub i32);
15051 pub const SWTAdded: SpeechWordType = SpeechWordType(1i32);
15052 pub const SWTDeleted: SpeechWordType = SpeechWordType(2i32);
15053 impl ::std::convert::From<i32> for SpeechWordType {
from(value: i32) -> Self15054     fn from(value: i32) -> Self {
15055         Self(value)
15056     }
15057 }
15058 unsafe impl ::windows::runtime::Abi for SpeechWordType {
15059     type Abi = Self;
15060     type DefaultType = Self;
15061 }
15062 pub const Speech_Default_Weight: f32 = 1f32;
15063 pub const Speech_Max_Pron_Length: i32 = 384i32;
15064 pub const Speech_Max_Word_Length: i32 = 128i32;
15065 pub const Speech_StreamPos_Asap: i32 = 0i32;
15066 pub const Speech_StreamPos_RealTime: i32 = -1i32;
15067 #[repr(transparent)]
15068 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
15069 pub struct _ISpeechRecoContextEvents(::windows::runtime::IUnknown);
15070 impl _ISpeechRecoContextEvents {}
15071 unsafe impl ::windows::runtime::Interface for _ISpeechRecoContextEvents {
15072     type Vtable = _ISpeechRecoContextEvents_abi;
15073     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2073021250, 3741, 20224, [160, 72, 123, 4, 214, 23, 157, 61]);
15074 }
15075 impl ::std::convert::From<_ISpeechRecoContextEvents> for ::windows::runtime::IUnknown {
from(value: _ISpeechRecoContextEvents) -> Self15076     fn from(value: _ISpeechRecoContextEvents) -> Self {
15077         unsafe { ::std::mem::transmute(value) }
15078     }
15079 }
15080 impl ::std::convert::From<&_ISpeechRecoContextEvents> for ::windows::runtime::IUnknown {
from(value: &_ISpeechRecoContextEvents) -> Self15081     fn from(value: &_ISpeechRecoContextEvents) -> Self {
15082         ::std::convert::From::from(::std::clone::Clone::clone(value))
15083     }
15084 }
15085 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for _ISpeechRecoContextEvents {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15086     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15087         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
15088     }
15089 }
15090 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &_ISpeechRecoContextEvents {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15091     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15092         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15093     }
15094 }
15095 #[cfg(feature = "Win32_System_Ole_Automation")]
15096 impl ::std::convert::From<_ISpeechRecoContextEvents> for super::super::System::Ole::Automation::IDispatch {
from(value: _ISpeechRecoContextEvents) -> Self15097     fn from(value: _ISpeechRecoContextEvents) -> Self {
15098         unsafe { ::std::mem::transmute(value) }
15099     }
15100 }
15101 #[cfg(feature = "Win32_System_Ole_Automation")]
15102 impl ::std::convert::From<&_ISpeechRecoContextEvents> for super::super::System::Ole::Automation::IDispatch {
from(value: &_ISpeechRecoContextEvents) -> Self15103     fn from(value: &_ISpeechRecoContextEvents) -> Self {
15104         ::std::convert::From::from(::std::clone::Clone::clone(value))
15105     }
15106 }
15107 #[cfg(feature = "Win32_System_Ole_Automation")]
15108 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for _ISpeechRecoContextEvents {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>15109     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
15110         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
15111     }
15112 }
15113 #[cfg(feature = "Win32_System_Ole_Automation")]
15114 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &_ISpeechRecoContextEvents {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>15115     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
15116         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
15117     }
15118 }
15119 #[repr(C)]
15120 #[doc(hidden)]
15121 pub struct _ISpeechRecoContextEvents_abi(
15122     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15123     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15124     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15125     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
15126     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15127     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
15128     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
15129     #[cfg(not(feature = "Win32_Foundation"))] usize,
15130     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
15131     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
15132     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
15133 );
15134 #[repr(transparent)]
15135 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
15136 pub struct _ISpeechVoiceEvents(::windows::runtime::IUnknown);
15137 impl _ISpeechVoiceEvents {}
15138 unsafe impl ::windows::runtime::Interface for _ISpeechVoiceEvents {
15139     type Vtable = _ISpeechVoiceEvents_abi;
15140     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2742201553, 15343, 19389, [143, 251, 203, 62, 43, 65, 106, 248]);
15141 }
15142 impl ::std::convert::From<_ISpeechVoiceEvents> for ::windows::runtime::IUnknown {
from(value: _ISpeechVoiceEvents) -> Self15143     fn from(value: _ISpeechVoiceEvents) -> Self {
15144         unsafe { ::std::mem::transmute(value) }
15145     }
15146 }
15147 impl ::std::convert::From<&_ISpeechVoiceEvents> for ::windows::runtime::IUnknown {
from(value: &_ISpeechVoiceEvents) -> Self15148     fn from(value: &_ISpeechVoiceEvents) -> Self {
15149         ::std::convert::From::from(::std::clone::Clone::clone(value))
15150     }
15151 }
15152 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for _ISpeechVoiceEvents {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15153     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15154         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
15155     }
15156 }
15157 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &_ISpeechVoiceEvents {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15158     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15159         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15160     }
15161 }
15162 #[cfg(feature = "Win32_System_Ole_Automation")]
15163 impl ::std::convert::From<_ISpeechVoiceEvents> for super::super::System::Ole::Automation::IDispatch {
from(value: _ISpeechVoiceEvents) -> Self15164     fn from(value: _ISpeechVoiceEvents) -> Self {
15165         unsafe { ::std::mem::transmute(value) }
15166     }
15167 }
15168 #[cfg(feature = "Win32_System_Ole_Automation")]
15169 impl ::std::convert::From<&_ISpeechVoiceEvents> for super::super::System::Ole::Automation::IDispatch {
from(value: &_ISpeechVoiceEvents) -> Self15170     fn from(value: &_ISpeechVoiceEvents) -> Self {
15171         ::std::convert::From::from(::std::clone::Clone::clone(value))
15172     }
15173 }
15174 #[cfg(feature = "Win32_System_Ole_Automation")]
15175 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for _ISpeechVoiceEvents {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>15176     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
15177         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
15178     }
15179 }
15180 #[cfg(feature = "Win32_System_Ole_Automation")]
15181 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &_ISpeechVoiceEvents {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>15182     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
15183         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
15184     }
15185 }
15186 #[repr(C)]
15187 #[doc(hidden)]
15188 pub struct _ISpeechVoiceEvents_abi(
15189     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15190     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15191     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15192     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
15193     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15194     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
15195     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
15196     #[cfg(not(feature = "Win32_Foundation"))] usize,
15197     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
15198     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
15199     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
15200 );
15201