1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3 #[repr(transparent)]
4 pub struct ACDGROUP_EVENT(pub i32);
5 pub const ACDGE_NEW_GROUP: ACDGROUP_EVENT = ACDGROUP_EVENT(0i32);
6 pub const ACDGE_GROUP_REMOVED: ACDGROUP_EVENT = ACDGROUP_EVENT(1i32);
7 impl ::std::convert::From<i32> for ACDGROUP_EVENT {
8     fn from(value: i32) -> Self {
9         Self(value)
10     }
11 }
12 unsafe impl ::windows::runtime::Abi for ACDGROUP_EVENT {
13     type Abi = Self;
14     type DefaultType = Self;
15 }
16 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
17 #[repr(transparent)]
18 pub struct ACDQUEUE_EVENT(pub i32);
19 pub const ACDQE_NEW_QUEUE: ACDQUEUE_EVENT = ACDQUEUE_EVENT(0i32);
20 pub const ACDQE_QUEUE_REMOVED: ACDQUEUE_EVENT = ACDQUEUE_EVENT(1i32);
21 impl ::std::convert::From<i32> for ACDQUEUE_EVENT {
22     fn from(value: i32) -> Self {
23         Self(value)
24     }
25 }
26 unsafe impl ::windows::runtime::Abi for ACDQUEUE_EVENT {
27     type Abi = Self;
28     type DefaultType = Self;
29 }
30 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
clamp(const _Tp & __v,const _Tp & __lo,const _Tp & __hi,_Compare __comp)31 #[repr(transparent)]
32 pub struct ADDRESS_CAPABILITY(pub i32);
33 pub const AC_ADDRESSTYPES: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(0i32);
34 pub const AC_BEARERMODES: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(1i32);
35 pub const AC_MAXACTIVECALLS: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(2i32);
36 pub const AC_MAXONHOLDCALLS: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(3i32);
37 pub const AC_MAXONHOLDPENDINGCALLS: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(4i32);
38 pub const AC_MAXNUMCONFERENCE: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(5i32);
39 pub const AC_MAXNUMTRANSCONF: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(6i32);
40 pub const AC_MONITORDIGITSUPPORT: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(7i32);
41 pub const AC_GENERATEDIGITSUPPORT: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(8i32);
clamp(const _Tp & __v,const _Tp & __lo,const _Tp & __hi)42 pub const AC_GENERATETONEMODES: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(9i32);
43 pub const AC_GENERATETONEMAXNUMFREQ: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(10i32);
44 pub const AC_MONITORTONEMAXNUMFREQ: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(11i32);
45 pub const AC_MONITORTONEMAXNUMENTRIES: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(12i32);
46 pub const AC_DEVCAPFLAGS: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(13i32);
47 pub const AC_ANSWERMODES: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(14i32);
48 pub const AC_LINEFEATURES: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(15i32);
49 pub const AC_SETTABLEDEVSTATUS: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(16i32);
50 pub const AC_PARKSUPPORT: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(17i32);
51 pub const AC_CALLERIDSUPPORT: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(18i32);
52 pub const AC_CALLEDIDSUPPORT: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(19i32);
53 pub const AC_CONNECTEDIDSUPPORT: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(20i32);
54 pub const AC_REDIRECTIONIDSUPPORT: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(21i32);
55 pub const AC_REDIRECTINGIDSUPPORT: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(22i32);
56 pub const AC_ADDRESSCAPFLAGS: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(23i32);
57 pub const AC_CALLFEATURES1: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(24i32);
58 pub const AC_CALLFEATURES2: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(25i32);
59 pub const AC_REMOVEFROMCONFCAPS: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(26i32);
60 pub const AC_REMOVEFROMCONFSTATE: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(27i32);
61 pub const AC_TRANSFERMODES: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(28i32);
62 pub const AC_ADDRESSFEATURES: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(29i32);
63 pub const AC_PREDICTIVEAUTOTRANSFERSTATES: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(30i32);
64 pub const AC_MAXCALLDATASIZE: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(31i32);
65 pub const AC_LINEID: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(32i32);
66 pub const AC_ADDRESSID: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(33i32);
67 pub const AC_FORWARDMODES: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(34i32);
68 pub const AC_MAXFORWARDENTRIES: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(35i32);
69 pub const AC_MAXSPECIFICENTRIES: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(36i32);
70 pub const AC_MINFWDNUMRINGS: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(37i32);
71 pub const AC_MAXFWDNUMRINGS: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(38i32);
72 pub const AC_MAXCALLCOMPLETIONS: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(39i32);
73 pub const AC_CALLCOMPLETIONCONDITIONS: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(40i32);
74 pub const AC_CALLCOMPLETIONMODES: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(41i32);
75 pub const AC_PERMANENTDEVICEID: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(42i32);
76 pub const AC_GATHERDIGITSMINTIMEOUT: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(43i32);
77 pub const AC_GATHERDIGITSMAXTIMEOUT: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(44i32);
78 pub const AC_GENERATEDIGITMINDURATION: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(45i32);
79 pub const AC_GENERATEDIGITMAXDURATION: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(46i32);
80 pub const AC_GENERATEDIGITDEFAULTDURATION: ADDRESS_CAPABILITY = ADDRESS_CAPABILITY(47i32);
81 impl ::std::convert::From<i32> for ADDRESS_CAPABILITY {
82     fn from(value: i32) -> Self {
83         Self(value)
84     }
85 }
86 unsafe impl ::windows::runtime::Abi for ADDRESS_CAPABILITY {
87     type Abi = Self;
88     type DefaultType = Self;
89 }
90 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
91 #[repr(transparent)]
92 pub struct ADDRESS_CAPABILITY_STRING(pub i32);
93 pub const ACS_PROTOCOL: ADDRESS_CAPABILITY_STRING = ADDRESS_CAPABILITY_STRING(0i32);
94 pub const ACS_ADDRESSDEVICESPECIFIC: ADDRESS_CAPABILITY_STRING = ADDRESS_CAPABILITY_STRING(1i32);
95 pub const ACS_LINEDEVICESPECIFIC: ADDRESS_CAPABILITY_STRING = ADDRESS_CAPABILITY_STRING(2i32);
96 pub const ACS_PROVIDERSPECIFIC: ADDRESS_CAPABILITY_STRING = ADDRESS_CAPABILITY_STRING(3i32);
97 pub const ACS_SWITCHSPECIFIC: ADDRESS_CAPABILITY_STRING = ADDRESS_CAPABILITY_STRING(4i32);
98 pub const ACS_PERMANENTDEVICEGUID: ADDRESS_CAPABILITY_STRING = ADDRESS_CAPABILITY_STRING(5i32);
99 impl ::std::convert::From<i32> for ADDRESS_CAPABILITY_STRING {
100     fn from(value: i32) -> Self {
101         Self(value)
102     }
103 }
104 unsafe impl ::windows::runtime::Abi for ADDRESS_CAPABILITY_STRING {
105     type Abi = Self;
106     type DefaultType = Self;
107 }
108 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
109 #[repr(transparent)]
110 pub struct ADDRESS_EVENT(pub i32);
111 pub const AE_STATE: ADDRESS_EVENT = ADDRESS_EVENT(0i32);
112 pub const AE_CAPSCHANGE: ADDRESS_EVENT = ADDRESS_EVENT(1i32);
113 pub const AE_RINGING: ADDRESS_EVENT = ADDRESS_EVENT(2i32);
114 pub const AE_CONFIGCHANGE: ADDRESS_EVENT = ADDRESS_EVENT(3i32);
115 pub const AE_FORWARD: ADDRESS_EVENT = ADDRESS_EVENT(4i32);
116 pub const AE_NEWTERMINAL: ADDRESS_EVENT = ADDRESS_EVENT(5i32);
117 pub const AE_REMOVETERMINAL: ADDRESS_EVENT = ADDRESS_EVENT(6i32);
118 pub const AE_MSGWAITON: ADDRESS_EVENT = ADDRESS_EVENT(7i32);
119 pub const AE_MSGWAITOFF: ADDRESS_EVENT = ADDRESS_EVENT(8i32);
120 pub const AE_LASTITEM: ADDRESS_EVENT = ADDRESS_EVENT(8i32);
121 impl ::std::convert::From<i32> for ADDRESS_EVENT {
122     fn from(value: i32) -> Self {
123         Self(value)
124     }
125 }
126 unsafe impl ::windows::runtime::Abi for ADDRESS_EVENT {
127     type Abi = Self;
128     type DefaultType = Self;
129 }
130 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
131 #[repr(transparent)]
132 pub struct ADDRESS_STATE(pub i32);
133 pub const AS_INSERVICE: ADDRESS_STATE = ADDRESS_STATE(0i32);
134 pub const AS_OUTOFSERVICE: ADDRESS_STATE = ADDRESS_STATE(1i32);
135 impl ::std::convert::From<i32> for ADDRESS_STATE {
136     fn from(value: i32) -> Self {
137         Self(value)
138     }
139 }
140 unsafe impl ::windows::runtime::Abi for ADDRESS_STATE {
141     type Abi = Self;
142     type DefaultType = Self;
143 }
144 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
145 #[repr(transparent)]
146 pub struct AGENTHANDLER_EVENT(pub i32);
147 pub const AHE_NEW_AGENTHANDLER: AGENTHANDLER_EVENT = AGENTHANDLER_EVENT(0i32);
148 pub const AHE_AGENTHANDLER_REMOVED: AGENTHANDLER_EVENT = AGENTHANDLER_EVENT(1i32);
149 impl ::std::convert::From<i32> for AGENTHANDLER_EVENT {
150     fn from(value: i32) -> Self {
151         Self(value)
152     }
153 }
154 unsafe impl ::windows::runtime::Abi for AGENTHANDLER_EVENT {
155     type Abi = Self;
156     type DefaultType = Self;
157 }
158 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
159 #[repr(transparent)]
160 pub struct AGENT_EVENT(pub i32);
161 pub const AE_NOT_READY: AGENT_EVENT = AGENT_EVENT(0i32);
162 pub const AE_READY: AGENT_EVENT = AGENT_EVENT(1i32);
163 pub const AE_BUSY_ACD: AGENT_EVENT = AGENT_EVENT(2i32);
164 pub const AE_BUSY_INCOMING: AGENT_EVENT = AGENT_EVENT(3i32);
165 pub const AE_BUSY_OUTGOING: AGENT_EVENT = AGENT_EVENT(4i32);
166 pub const AE_UNKNOWN: AGENT_EVENT = AGENT_EVENT(5i32);
167 impl ::std::convert::From<i32> for AGENT_EVENT {
168     fn from(value: i32) -> Self {
169         Self(value)
170     }
171 }
172 unsafe impl ::windows::runtime::Abi for AGENT_EVENT {
173     type Abi = Self;
174     type DefaultType = Self;
175 }
176 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
177 #[repr(transparent)]
178 pub struct AGENT_SESSION_EVENT(pub i32);
179 pub const ASE_NEW_SESSION: AGENT_SESSION_EVENT = AGENT_SESSION_EVENT(0i32);
180 pub const ASE_NOT_READY: AGENT_SESSION_EVENT = AGENT_SESSION_EVENT(1i32);
181 pub const ASE_READY: AGENT_SESSION_EVENT = AGENT_SESSION_EVENT(2i32);
182 pub const ASE_BUSY: AGENT_SESSION_EVENT = AGENT_SESSION_EVENT(3i32);
183 pub const ASE_WRAPUP: AGENT_SESSION_EVENT = AGENT_SESSION_EVENT(4i32);
184 pub const ASE_END: AGENT_SESSION_EVENT = AGENT_SESSION_EVENT(5i32);
185 impl ::std::convert::From<i32> for AGENT_SESSION_EVENT {
186     fn from(value: i32) -> Self {
187         Self(value)
188     }
189 }
190 unsafe impl ::windows::runtime::Abi for AGENT_SESSION_EVENT {
191     type Abi = Self;
192     type DefaultType = Self;
193 }
194 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
195 #[repr(transparent)]
196 pub struct AGENT_SESSION_STATE(pub i32);
197 pub const ASST_NOT_READY: AGENT_SESSION_STATE = AGENT_SESSION_STATE(0i32);
198 pub const ASST_READY: AGENT_SESSION_STATE = AGENT_SESSION_STATE(1i32);
199 pub const ASST_BUSY_ON_CALL: AGENT_SESSION_STATE = AGENT_SESSION_STATE(2i32);
200 pub const ASST_BUSY_WRAPUP: AGENT_SESSION_STATE = AGENT_SESSION_STATE(3i32);
201 pub const ASST_SESSION_ENDED: AGENT_SESSION_STATE = AGENT_SESSION_STATE(4i32);
202 impl ::std::convert::From<i32> for AGENT_SESSION_STATE {
203     fn from(value: i32) -> Self {
204         Self(value)
205     }
206 }
207 unsafe impl ::windows::runtime::Abi for AGENT_SESSION_STATE {
208     type Abi = Self;
209     type DefaultType = Self;
210 }
211 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
212 #[repr(transparent)]
213 pub struct AGENT_STATE(pub i32);
214 pub const AS_NOT_READY: AGENT_STATE = AGENT_STATE(0i32);
215 pub const AS_READY: AGENT_STATE = AGENT_STATE(1i32);
216 pub const AS_BUSY_ACD: AGENT_STATE = AGENT_STATE(2i32);
217 pub const AS_BUSY_INCOMING: AGENT_STATE = AGENT_STATE(3i32);
218 pub const AS_BUSY_OUTGOING: AGENT_STATE = AGENT_STATE(4i32);
219 pub const AS_UNKNOWN: AGENT_STATE = AGENT_STATE(5i32);
220 impl ::std::convert::From<i32> for AGENT_STATE {
221     fn from(value: i32) -> Self {
222         Self(value)
223     }
224 }
225 unsafe impl ::windows::runtime::Abi for AGENT_STATE {
226     type Abi = Self;
227     type DefaultType = Self;
228 }
229 pub type ASYNC_COMPLETION = unsafe extern "system" fn(dwrequestid: u32, lresult: i32);
230 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
231 #[repr(transparent)]
232 pub struct CALLHUB_EVENT(pub i32);
233 pub const CHE_CALLJOIN: CALLHUB_EVENT = CALLHUB_EVENT(0i32);
234 pub const CHE_CALLLEAVE: CALLHUB_EVENT = CALLHUB_EVENT(1i32);
235 pub const CHE_CALLHUBNEW: CALLHUB_EVENT = CALLHUB_EVENT(2i32);
236 pub const CHE_CALLHUBIDLE: CALLHUB_EVENT = CALLHUB_EVENT(3i32);
237 pub const CHE_LASTITEM: CALLHUB_EVENT = CALLHUB_EVENT(3i32);
238 impl ::std::convert::From<i32> for CALLHUB_EVENT {
239     fn from(value: i32) -> Self {
240         Self(value)
241     }
242 }
243 unsafe impl ::windows::runtime::Abi for CALLHUB_EVENT {
244     type Abi = Self;
245     type DefaultType = Self;
246 }
247 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
248 #[repr(transparent)]
249 pub struct CALLHUB_STATE(pub i32);
250 pub const CHS_ACTIVE: CALLHUB_STATE = CALLHUB_STATE(0i32);
251 pub const CHS_IDLE: CALLHUB_STATE = CALLHUB_STATE(1i32);
252 impl ::std::convert::From<i32> for CALLHUB_STATE {
253     fn from(value: i32) -> Self {
254         Self(value)
255     }
256 }
257 unsafe impl ::windows::runtime::Abi for CALLHUB_STATE {
258     type Abi = Self;
259     type DefaultType = Self;
260 }
261 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
262 #[repr(transparent)]
263 pub struct CALLINFOCHANGE_CAUSE(pub i32);
264 pub const CIC_OTHER: CALLINFOCHANGE_CAUSE = CALLINFOCHANGE_CAUSE(0i32);
265 pub const CIC_DEVSPECIFIC: CALLINFOCHANGE_CAUSE = CALLINFOCHANGE_CAUSE(1i32);
266 pub const CIC_BEARERMODE: CALLINFOCHANGE_CAUSE = CALLINFOCHANGE_CAUSE(2i32);
267 pub const CIC_RATE: CALLINFOCHANGE_CAUSE = CALLINFOCHANGE_CAUSE(3i32);
268 pub const CIC_APPSPECIFIC: CALLINFOCHANGE_CAUSE = CALLINFOCHANGE_CAUSE(4i32);
269 pub const CIC_CALLID: CALLINFOCHANGE_CAUSE = CALLINFOCHANGE_CAUSE(5i32);
270 pub const CIC_RELATEDCALLID: CALLINFOCHANGE_CAUSE = CALLINFOCHANGE_CAUSE(6i32);
271 pub const CIC_ORIGIN: CALLINFOCHANGE_CAUSE = CALLINFOCHANGE_CAUSE(7i32);
272 pub const CIC_REASON: CALLINFOCHANGE_CAUSE = CALLINFOCHANGE_CAUSE(8i32);
273 pub const CIC_COMPLETIONID: CALLINFOCHANGE_CAUSE = CALLINFOCHANGE_CAUSE(9i32);
274 pub const CIC_NUMOWNERINCR: CALLINFOCHANGE_CAUSE = CALLINFOCHANGE_CAUSE(10i32);
275 pub const CIC_NUMOWNERDECR: CALLINFOCHANGE_CAUSE = CALLINFOCHANGE_CAUSE(11i32);
276 pub const CIC_NUMMONITORS: CALLINFOCHANGE_CAUSE = CALLINFOCHANGE_CAUSE(12i32);
277 pub const CIC_TRUNK: CALLINFOCHANGE_CAUSE = CALLINFOCHANGE_CAUSE(13i32);
278 pub const CIC_CALLERID: CALLINFOCHANGE_CAUSE = CALLINFOCHANGE_CAUSE(14i32);
279 pub const CIC_CALLEDID: CALLINFOCHANGE_CAUSE = CALLINFOCHANGE_CAUSE(15i32);
280 pub const CIC_CONNECTEDID: CALLINFOCHANGE_CAUSE = CALLINFOCHANGE_CAUSE(16i32);
281 pub const CIC_REDIRECTIONID: CALLINFOCHANGE_CAUSE = CALLINFOCHANGE_CAUSE(17i32);
282 pub const CIC_REDIRECTINGID: CALLINFOCHANGE_CAUSE = CALLINFOCHANGE_CAUSE(18i32);
283 pub const CIC_USERUSERINFO: CALLINFOCHANGE_CAUSE = CALLINFOCHANGE_CAUSE(19i32);
284 pub const CIC_HIGHLEVELCOMP: CALLINFOCHANGE_CAUSE = CALLINFOCHANGE_CAUSE(20i32);
285 pub const CIC_LOWLEVELCOMP: CALLINFOCHANGE_CAUSE = CALLINFOCHANGE_CAUSE(21i32);
286 pub const CIC_CHARGINGINFO: CALLINFOCHANGE_CAUSE = CALLINFOCHANGE_CAUSE(22i32);
287 pub const CIC_TREATMENT: CALLINFOCHANGE_CAUSE = CALLINFOCHANGE_CAUSE(23i32);
288 pub const CIC_CALLDATA: CALLINFOCHANGE_CAUSE = CALLINFOCHANGE_CAUSE(24i32);
289 pub const CIC_PRIVILEGE: CALLINFOCHANGE_CAUSE = CALLINFOCHANGE_CAUSE(25i32);
290 pub const CIC_MEDIATYPE: CALLINFOCHANGE_CAUSE = CALLINFOCHANGE_CAUSE(26i32);
291 pub const CIC_LASTITEM: CALLINFOCHANGE_CAUSE = CALLINFOCHANGE_CAUSE(26i32);
292 impl ::std::convert::From<i32> for CALLINFOCHANGE_CAUSE {
293     fn from(value: i32) -> Self {
294         Self(value)
295     }
296 }
297 unsafe impl ::windows::runtime::Abi for CALLINFOCHANGE_CAUSE {
298     type Abi = Self;
299     type DefaultType = Self;
300 }
301 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
302 #[repr(transparent)]
303 pub struct CALLINFO_BUFFER(pub i32);
304 pub const CIB_USERUSERINFO: CALLINFO_BUFFER = CALLINFO_BUFFER(0i32);
305 pub const CIB_DEVSPECIFICBUFFER: CALLINFO_BUFFER = CALLINFO_BUFFER(1i32);
306 pub const CIB_CALLDATABUFFER: CALLINFO_BUFFER = CALLINFO_BUFFER(2i32);
307 pub const CIB_CHARGINGINFOBUFFER: CALLINFO_BUFFER = CALLINFO_BUFFER(3i32);
308 pub const CIB_HIGHLEVELCOMPATIBILITYBUFFER: CALLINFO_BUFFER = CALLINFO_BUFFER(4i32);
309 pub const CIB_LOWLEVELCOMPATIBILITYBUFFER: CALLINFO_BUFFER = CALLINFO_BUFFER(5i32);
310 impl ::std::convert::From<i32> for CALLINFO_BUFFER {
311     fn from(value: i32) -> Self {
312         Self(value)
313     }
314 }
315 unsafe impl ::windows::runtime::Abi for CALLINFO_BUFFER {
316     type Abi = Self;
317     type DefaultType = Self;
318 }
319 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
320 #[repr(transparent)]
321 pub struct CALLINFO_LONG(pub i32);
322 pub const CIL_MEDIATYPESAVAILABLE: CALLINFO_LONG = CALLINFO_LONG(0i32);
323 pub const CIL_BEARERMODE: CALLINFO_LONG = CALLINFO_LONG(1i32);
324 pub const CIL_CALLERIDADDRESSTYPE: CALLINFO_LONG = CALLINFO_LONG(2i32);
325 pub const CIL_CALLEDIDADDRESSTYPE: CALLINFO_LONG = CALLINFO_LONG(3i32);
326 pub const CIL_CONNECTEDIDADDRESSTYPE: CALLINFO_LONG = CALLINFO_LONG(4i32);
327 pub const CIL_REDIRECTIONIDADDRESSTYPE: CALLINFO_LONG = CALLINFO_LONG(5i32);
328 pub const CIL_REDIRECTINGIDADDRESSTYPE: CALLINFO_LONG = CALLINFO_LONG(6i32);
329 pub const CIL_ORIGIN: CALLINFO_LONG = CALLINFO_LONG(7i32);
330 pub const CIL_REASON: CALLINFO_LONG = CALLINFO_LONG(8i32);
331 pub const CIL_APPSPECIFIC: CALLINFO_LONG = CALLINFO_LONG(9i32);
332 pub const CIL_CALLPARAMSFLAGS: CALLINFO_LONG = CALLINFO_LONG(10i32);
333 pub const CIL_CALLTREATMENT: CALLINFO_LONG = CALLINFO_LONG(11i32);
334 pub const CIL_MINRATE: CALLINFO_LONG = CALLINFO_LONG(12i32);
335 pub const CIL_MAXRATE: CALLINFO_LONG = CALLINFO_LONG(13i32);
336 pub const CIL_COUNTRYCODE: CALLINFO_LONG = CALLINFO_LONG(14i32);
337 pub const CIL_CALLID: CALLINFO_LONG = CALLINFO_LONG(15i32);
338 pub const CIL_RELATEDCALLID: CALLINFO_LONG = CALLINFO_LONG(16i32);
339 pub const CIL_COMPLETIONID: CALLINFO_LONG = CALLINFO_LONG(17i32);
340 pub const CIL_NUMBEROFOWNERS: CALLINFO_LONG = CALLINFO_LONG(18i32);
341 pub const CIL_NUMBEROFMONITORS: CALLINFO_LONG = CALLINFO_LONG(19i32);
342 pub const CIL_TRUNK: CALLINFO_LONG = CALLINFO_LONG(20i32);
343 pub const CIL_RATE: CALLINFO_LONG = CALLINFO_LONG(21i32);
344 pub const CIL_GENERATEDIGITDURATION: CALLINFO_LONG = CALLINFO_LONG(22i32);
345 pub const CIL_MONITORDIGITMODES: CALLINFO_LONG = CALLINFO_LONG(23i32);
346 pub const CIL_MONITORMEDIAMODES: CALLINFO_LONG = CALLINFO_LONG(24i32);
347 impl ::std::convert::From<i32> for CALLINFO_LONG {
348     fn from(value: i32) -> Self {
349         Self(value)
350     }
351 }
352 unsafe impl ::windows::runtime::Abi for CALLINFO_LONG {
353     type Abi = Self;
354     type DefaultType = Self;
355 }
356 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
357 #[repr(transparent)]
358 pub struct CALLINFO_STRING(pub i32);
359 pub const CIS_CALLERIDNAME: CALLINFO_STRING = CALLINFO_STRING(0i32);
360 pub const CIS_CALLERIDNUMBER: CALLINFO_STRING = CALLINFO_STRING(1i32);
361 pub const CIS_CALLEDIDNAME: CALLINFO_STRING = CALLINFO_STRING(2i32);
362 pub const CIS_CALLEDIDNUMBER: CALLINFO_STRING = CALLINFO_STRING(3i32);
363 pub const CIS_CONNECTEDIDNAME: CALLINFO_STRING = CALLINFO_STRING(4i32);
364 pub const CIS_CONNECTEDIDNUMBER: CALLINFO_STRING = CALLINFO_STRING(5i32);
365 pub const CIS_REDIRECTIONIDNAME: CALLINFO_STRING = CALLINFO_STRING(6i32);
366 pub const CIS_REDIRECTIONIDNUMBER: CALLINFO_STRING = CALLINFO_STRING(7i32);
367 pub const CIS_REDIRECTINGIDNAME: CALLINFO_STRING = CALLINFO_STRING(8i32);
368 pub const CIS_REDIRECTINGIDNUMBER: CALLINFO_STRING = CALLINFO_STRING(9i32);
369 pub const CIS_CALLEDPARTYFRIENDLYNAME: CALLINFO_STRING = CALLINFO_STRING(10i32);
370 pub const CIS_COMMENT: CALLINFO_STRING = CALLINFO_STRING(11i32);
371 pub const CIS_DISPLAYABLEADDRESS: CALLINFO_STRING = CALLINFO_STRING(12i32);
372 pub const CIS_CALLINGPARTYID: CALLINFO_STRING = CALLINFO_STRING(13i32);
373 impl ::std::convert::From<i32> for CALLINFO_STRING {
374     fn from(value: i32) -> Self {
375         Self(value)
376     }
377 }
378 unsafe impl ::windows::runtime::Abi for CALLINFO_STRING {
379     type Abi = Self;
380     type DefaultType = Self;
381 }
382 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
383 #[repr(transparent)]
384 pub struct CALL_MEDIA_EVENT(pub i32);
385 pub const CME_NEW_STREAM: CALL_MEDIA_EVENT = CALL_MEDIA_EVENT(0i32);
386 pub const CME_STREAM_FAIL: CALL_MEDIA_EVENT = CALL_MEDIA_EVENT(1i32);
387 pub const CME_TERMINAL_FAIL: CALL_MEDIA_EVENT = CALL_MEDIA_EVENT(2i32);
388 pub const CME_STREAM_NOT_USED: CALL_MEDIA_EVENT = CALL_MEDIA_EVENT(3i32);
389 pub const CME_STREAM_ACTIVE: CALL_MEDIA_EVENT = CALL_MEDIA_EVENT(4i32);
390 pub const CME_STREAM_INACTIVE: CALL_MEDIA_EVENT = CALL_MEDIA_EVENT(5i32);
391 pub const CME_LASTITEM: CALL_MEDIA_EVENT = CALL_MEDIA_EVENT(5i32);
392 impl ::std::convert::From<i32> for CALL_MEDIA_EVENT {
393     fn from(value: i32) -> Self {
394         Self(value)
395     }
396 }
397 unsafe impl ::windows::runtime::Abi for CALL_MEDIA_EVENT {
398     type Abi = Self;
399     type DefaultType = Self;
400 }
401 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
402 #[repr(transparent)]
403 pub struct CALL_MEDIA_EVENT_CAUSE(pub i32);
404 pub const CMC_UNKNOWN: CALL_MEDIA_EVENT_CAUSE = CALL_MEDIA_EVENT_CAUSE(0i32);
405 pub const CMC_BAD_DEVICE: CALL_MEDIA_EVENT_CAUSE = CALL_MEDIA_EVENT_CAUSE(1i32);
406 pub const CMC_CONNECT_FAIL: CALL_MEDIA_EVENT_CAUSE = CALL_MEDIA_EVENT_CAUSE(2i32);
407 pub const CMC_LOCAL_REQUEST: CALL_MEDIA_EVENT_CAUSE = CALL_MEDIA_EVENT_CAUSE(3i32);
408 pub const CMC_REMOTE_REQUEST: CALL_MEDIA_EVENT_CAUSE = CALL_MEDIA_EVENT_CAUSE(4i32);
409 pub const CMC_MEDIA_TIMEOUT: CALL_MEDIA_EVENT_CAUSE = CALL_MEDIA_EVENT_CAUSE(5i32);
410 pub const CMC_MEDIA_RECOVERED: CALL_MEDIA_EVENT_CAUSE = CALL_MEDIA_EVENT_CAUSE(6i32);
411 pub const CMC_QUALITY_OF_SERVICE: CALL_MEDIA_EVENT_CAUSE = CALL_MEDIA_EVENT_CAUSE(7i32);
412 impl ::std::convert::From<i32> for CALL_MEDIA_EVENT_CAUSE {
413     fn from(value: i32) -> Self {
414         Self(value)
415     }
416 }
417 unsafe impl ::windows::runtime::Abi for CALL_MEDIA_EVENT_CAUSE {
418     type Abi = Self;
419     type DefaultType = Self;
420 }
421 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
422 #[repr(transparent)]
423 pub struct CALL_NOTIFICATION_EVENT(pub i32);
424 pub const CNE_OWNER: CALL_NOTIFICATION_EVENT = CALL_NOTIFICATION_EVENT(0i32);
425 pub const CNE_MONITOR: CALL_NOTIFICATION_EVENT = CALL_NOTIFICATION_EVENT(1i32);
426 pub const CNE_LASTITEM: CALL_NOTIFICATION_EVENT = CALL_NOTIFICATION_EVENT(1i32);
427 impl ::std::convert::From<i32> for CALL_NOTIFICATION_EVENT {
428     fn from(value: i32) -> Self {
429         Self(value)
430     }
431 }
432 unsafe impl ::windows::runtime::Abi for CALL_NOTIFICATION_EVENT {
433     type Abi = Self;
434     type DefaultType = Self;
435 }
436 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
437 #[repr(transparent)]
438 pub struct CALL_PRIVILEGE(pub i32);
439 pub const CP_OWNER: CALL_PRIVILEGE = CALL_PRIVILEGE(0i32);
440 pub const CP_MONITOR: CALL_PRIVILEGE = CALL_PRIVILEGE(1i32);
441 impl ::std::convert::From<i32> for CALL_PRIVILEGE {
442     fn from(value: i32) -> Self {
443         Self(value)
444     }
445 }
446 unsafe impl ::windows::runtime::Abi for CALL_PRIVILEGE {
447     type Abi = Self;
448     type DefaultType = Self;
449 }
450 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
451 #[repr(transparent)]
452 pub struct CALL_STATE(pub i32);
453 pub const CS_IDLE: CALL_STATE = CALL_STATE(0i32);
454 pub const CS_INPROGRESS: CALL_STATE = CALL_STATE(1i32);
455 pub const CS_CONNECTED: CALL_STATE = CALL_STATE(2i32);
456 pub const CS_DISCONNECTED: CALL_STATE = CALL_STATE(3i32);
457 pub const CS_OFFERING: CALL_STATE = CALL_STATE(4i32);
458 pub const CS_HOLD: CALL_STATE = CALL_STATE(5i32);
459 pub const CS_QUEUED: CALL_STATE = CALL_STATE(6i32);
460 pub const CS_LASTITEM: CALL_STATE = CALL_STATE(6i32);
461 impl ::std::convert::From<i32> for CALL_STATE {
462     fn from(value: i32) -> Self {
463         Self(value)
464     }
465 }
466 unsafe impl ::windows::runtime::Abi for CALL_STATE {
467     type Abi = Self;
468     type DefaultType = Self;
469 }
470 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
471 #[repr(transparent)]
472 pub struct CALL_STATE_EVENT_CAUSE(pub i32);
473 pub const CEC_NONE: CALL_STATE_EVENT_CAUSE = CALL_STATE_EVENT_CAUSE(0i32);
474 pub const CEC_DISCONNECT_NORMAL: CALL_STATE_EVENT_CAUSE = CALL_STATE_EVENT_CAUSE(1i32);
475 pub const CEC_DISCONNECT_BUSY: CALL_STATE_EVENT_CAUSE = CALL_STATE_EVENT_CAUSE(2i32);
476 pub const CEC_DISCONNECT_BADADDRESS: CALL_STATE_EVENT_CAUSE = CALL_STATE_EVENT_CAUSE(3i32);
477 pub const CEC_DISCONNECT_NOANSWER: CALL_STATE_EVENT_CAUSE = CALL_STATE_EVENT_CAUSE(4i32);
478 pub const CEC_DISCONNECT_CANCELLED: CALL_STATE_EVENT_CAUSE = CALL_STATE_EVENT_CAUSE(5i32);
479 pub const CEC_DISCONNECT_REJECTED: CALL_STATE_EVENT_CAUSE = CALL_STATE_EVENT_CAUSE(6i32);
480 pub const CEC_DISCONNECT_FAILED: CALL_STATE_EVENT_CAUSE = CALL_STATE_EVENT_CAUSE(7i32);
481 pub const CEC_DISCONNECT_BLOCKED: CALL_STATE_EVENT_CAUSE = CALL_STATE_EVENT_CAUSE(8i32);
482 impl ::std::convert::From<i32> for CALL_STATE_EVENT_CAUSE {
483     fn from(value: i32) -> Self {
484         Self(value)
485     }
486 }
487 unsafe impl ::windows::runtime::Abi for CALL_STATE_EVENT_CAUSE {
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 DIRECTORY_OBJECT_TYPE(pub i32);
494 pub const OT_CONFERENCE: DIRECTORY_OBJECT_TYPE = DIRECTORY_OBJECT_TYPE(1i32);
495 pub const OT_USER: DIRECTORY_OBJECT_TYPE = DIRECTORY_OBJECT_TYPE(2i32);
496 impl ::std::convert::From<i32> for DIRECTORY_OBJECT_TYPE {
497     fn from(value: i32) -> Self {
498         Self(value)
499     }
500 }
501 unsafe impl ::windows::runtime::Abi for DIRECTORY_OBJECT_TYPE {
502     type Abi = Self;
503     type DefaultType = Self;
504 }
505 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
506 #[repr(transparent)]
507 pub struct DIRECTORY_TYPE(pub i32);
508 pub const DT_NTDS: DIRECTORY_TYPE = DIRECTORY_TYPE(1i32);
509 pub const DT_ILS: DIRECTORY_TYPE = DIRECTORY_TYPE(2i32);
510 impl ::std::convert::From<i32> for DIRECTORY_TYPE {
511     fn from(value: i32) -> Self {
512         Self(value)
513     }
514 }
515 unsafe impl ::windows::runtime::Abi for DIRECTORY_TYPE {
516     type Abi = Self;
517     type DefaultType = Self;
518 }
519 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
520 #[repr(transparent)]
521 pub struct DISCONNECT_CODE(pub i32);
522 pub const DC_NORMAL: DISCONNECT_CODE = DISCONNECT_CODE(0i32);
523 pub const DC_NOANSWER: DISCONNECT_CODE = DISCONNECT_CODE(1i32);
524 pub const DC_REJECTED: DISCONNECT_CODE = DISCONNECT_CODE(2i32);
525 impl ::std::convert::From<i32> for DISCONNECT_CODE {
526     fn from(value: i32) -> Self {
527         Self(value)
528     }
529 }
530 unsafe impl ::windows::runtime::Abi for DISCONNECT_CODE {
531     type Abi = Self;
532     type DefaultType = Self;
533 }
534 pub const DISPIDMASK: u32 = 65535u32;
535 pub const DispatchMapper: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3911340694, 51033, 4561, [160, 43, 0, 192, 79, 182, 128, 159]);
536 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
537 #[repr(transparent)]
538 pub struct FINISH_MODE(pub i32);
539 pub const FM_ASTRANSFER: FINISH_MODE = FINISH_MODE(0i32);
540 pub const FM_ASCONFERENCE: FINISH_MODE = FINISH_MODE(1i32);
541 impl ::std::convert::From<i32> for FINISH_MODE {
542     fn from(value: i32) -> Self {
543         Self(value)
544     }
545 }
546 unsafe impl ::windows::runtime::Abi for FINISH_MODE {
547     type Abi = Self;
548     type DefaultType = Self;
549 }
550 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
551 #[repr(transparent)]
552 pub struct FT_STATE_EVENT_CAUSE(pub i32);
553 pub const FTEC_NORMAL: FT_STATE_EVENT_CAUSE = FT_STATE_EVENT_CAUSE(0i32);
554 pub const FTEC_END_OF_FILE: FT_STATE_EVENT_CAUSE = FT_STATE_EVENT_CAUSE(1i32);
555 pub const FTEC_READ_ERROR: FT_STATE_EVENT_CAUSE = FT_STATE_EVENT_CAUSE(2i32);
556 pub const FTEC_WRITE_ERROR: FT_STATE_EVENT_CAUSE = FT_STATE_EVENT_CAUSE(3i32);
557 impl ::std::convert::From<i32> for FT_STATE_EVENT_CAUSE {
558     fn from(value: i32) -> Self {
559         Self(value)
560     }
561 }
562 unsafe impl ::windows::runtime::Abi for FT_STATE_EVENT_CAUSE {
563     type Abi = Self;
564     type DefaultType = Self;
565 }
566 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
567 #[repr(transparent)]
568 pub struct FULLDUPLEX_SUPPORT(pub i32);
569 pub const FDS_SUPPORTED: FULLDUPLEX_SUPPORT = FULLDUPLEX_SUPPORT(0i32);
570 pub const FDS_NOTSUPPORTED: FULLDUPLEX_SUPPORT = FULLDUPLEX_SUPPORT(1i32);
571 pub const FDS_UNKNOWN: FULLDUPLEX_SUPPORT = FULLDUPLEX_SUPPORT(2i32);
572 impl ::std::convert::From<i32> for FULLDUPLEX_SUPPORT {
573     fn from(value: i32) -> Self {
574         Self(value)
575     }
576 }
577 unsafe impl ::windows::runtime::Abi for FULLDUPLEX_SUPPORT {
578     type Abi = Self;
579     type DefaultType = Self;
580 }
581 #[cfg(feature = "Win32_System_Com")]
582 #[inline]
583 pub unsafe fn GetTnefStreamCodepage<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(lpstream: Param0, lpulcodepage: *mut u32, lpulsubcodepage: *mut u32) -> ::windows::runtime::Result<()> {
584     #[cfg(windows)]
585     {
586         #[link(name = "windows")]
587         extern "system" {
588             fn GetTnefStreamCodepage(lpstream: ::windows::runtime::RawPtr, lpulcodepage: *mut u32, lpulsubcodepage: *mut u32) -> ::windows::runtime::HRESULT;
589         }
590         GetTnefStreamCodepage(lpstream.into_param().abi(), ::std::mem::transmute(lpulcodepage), ::std::mem::transmute(lpulsubcodepage)).ok()
591     }
592     #[cfg(not(windows))]
593     unimplemented!("Unsupported target OS");
594 }
595 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
596 #[repr(C)]
597 pub struct HDRVCALL__ {
598     pub unused: i32,
599 }
600 impl HDRVCALL__ {}
601 impl ::std::default::Default for HDRVCALL__ {
602     fn default() -> Self {
603         unsafe { ::std::mem::zeroed() }
604     }
605 }
606 impl ::std::fmt::Debug for HDRVCALL__ {
607     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
608         fmt.debug_struct("HDRVCALL__").field("unused", &self.unused).finish()
609     }
610 }
611 impl ::std::cmp::PartialEq for HDRVCALL__ {
612     fn eq(&self, other: &Self) -> bool {
613         self.unused == other.unused
614     }
615 }
616 impl ::std::cmp::Eq for HDRVCALL__ {}
617 unsafe impl ::windows::runtime::Abi for HDRVCALL__ {
618     type Abi = Self;
619     type DefaultType = Self;
620 }
621 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
622 #[repr(C)]
623 pub struct HDRVDIALOGINSTANCE__ {
624     pub unused: i32,
625 }
626 impl HDRVDIALOGINSTANCE__ {}
627 impl ::std::default::Default for HDRVDIALOGINSTANCE__ {
628     fn default() -> Self {
629         unsafe { ::std::mem::zeroed() }
630     }
631 }
632 impl ::std::fmt::Debug for HDRVDIALOGINSTANCE__ {
633     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
634         fmt.debug_struct("HDRVDIALOGINSTANCE__").field("unused", &self.unused).finish()
635     }
636 }
637 impl ::std::cmp::PartialEq for HDRVDIALOGINSTANCE__ {
638     fn eq(&self, other: &Self) -> bool {
639         self.unused == other.unused
640     }
641 }
642 impl ::std::cmp::Eq for HDRVDIALOGINSTANCE__ {}
643 unsafe impl ::windows::runtime::Abi for HDRVDIALOGINSTANCE__ {
644     type Abi = Self;
645     type DefaultType = Self;
646 }
647 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
648 #[repr(C)]
649 pub struct HDRVLINE__ {
650     pub unused: i32,
651 }
652 impl HDRVLINE__ {}
653 impl ::std::default::Default for HDRVLINE__ {
654     fn default() -> Self {
655         unsafe { ::std::mem::zeroed() }
656     }
657 }
658 impl ::std::fmt::Debug for HDRVLINE__ {
659     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
660         fmt.debug_struct("HDRVLINE__").field("unused", &self.unused).finish()
661     }
662 }
663 impl ::std::cmp::PartialEq for HDRVLINE__ {
664     fn eq(&self, other: &Self) -> bool {
665         self.unused == other.unused
666     }
667 }
668 impl ::std::cmp::Eq for HDRVLINE__ {}
669 unsafe impl ::windows::runtime::Abi for HDRVLINE__ {
670     type Abi = Self;
671     type DefaultType = Self;
672 }
673 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
674 #[repr(C)]
675 pub struct HDRVMSPLINE__ {
676     pub unused: i32,
677 }
678 impl HDRVMSPLINE__ {}
679 impl ::std::default::Default for HDRVMSPLINE__ {
680     fn default() -> Self {
681         unsafe { ::std::mem::zeroed() }
682     }
683 }
684 impl ::std::fmt::Debug for HDRVMSPLINE__ {
685     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
686         fmt.debug_struct("HDRVMSPLINE__").field("unused", &self.unused).finish()
687     }
688 }
689 impl ::std::cmp::PartialEq for HDRVMSPLINE__ {
690     fn eq(&self, other: &Self) -> bool {
691         self.unused == other.unused
692     }
693 }
694 impl ::std::cmp::Eq for HDRVMSPLINE__ {}
695 unsafe impl ::windows::runtime::Abi for HDRVMSPLINE__ {
696     type Abi = Self;
697     type DefaultType = Self;
698 }
699 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
700 #[repr(C)]
701 pub struct HDRVPHONE__ {
702     pub unused: i32,
703 }
704 impl HDRVPHONE__ {}
705 impl ::std::default::Default for HDRVPHONE__ {
706     fn default() -> Self {
707         unsafe { ::std::mem::zeroed() }
708     }
709 }
710 impl ::std::fmt::Debug for HDRVPHONE__ {
711     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
712         fmt.debug_struct("HDRVPHONE__").field("unused", &self.unused).finish()
713     }
714 }
715 impl ::std::cmp::PartialEq for HDRVPHONE__ {
716     fn eq(&self, other: &Self) -> bool {
717         self.unused == other.unused
718     }
719 }
720 impl ::std::cmp::Eq for HDRVPHONE__ {}
721 unsafe impl ::windows::runtime::Abi for HDRVPHONE__ {
722     type Abi = Self;
723     type DefaultType = Self;
724 }
725 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
726 #[repr(C)]
727 pub struct HPROVIDER__ {
728     pub unused: i32,
729 }
730 impl HPROVIDER__ {}
731 impl ::std::default::Default for HPROVIDER__ {
732     fn default() -> Self {
733         unsafe { ::std::mem::zeroed() }
734     }
735 }
736 impl ::std::fmt::Debug for HPROVIDER__ {
737     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
738         fmt.debug_struct("HPROVIDER__").field("unused", &self.unused).finish()
739     }
740 }
741 impl ::std::cmp::PartialEq for HPROVIDER__ {
742     fn eq(&self, other: &Self) -> bool {
743         self.unused == other.unused
744     }
745 }
746 impl ::std::cmp::Eq for HPROVIDER__ {}
747 unsafe impl ::windows::runtime::Abi for HPROVIDER__ {
748     type Abi = Self;
749     type DefaultType = Self;
750 }
751 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
752 #[repr(C)]
753 pub struct HTAPICALL__ {
754     pub unused: i32,
755 }
756 impl HTAPICALL__ {}
757 impl ::std::default::Default for HTAPICALL__ {
758     fn default() -> Self {
759         unsafe { ::std::mem::zeroed() }
760     }
761 }
762 impl ::std::fmt::Debug for HTAPICALL__ {
763     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
764         fmt.debug_struct("HTAPICALL__").field("unused", &self.unused).finish()
765     }
766 }
767 impl ::std::cmp::PartialEq for HTAPICALL__ {
768     fn eq(&self, other: &Self) -> bool {
769         self.unused == other.unused
770     }
771 }
772 impl ::std::cmp::Eq for HTAPICALL__ {}
773 unsafe impl ::windows::runtime::Abi for HTAPICALL__ {
774     type Abi = Self;
775     type DefaultType = Self;
776 }
777 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
778 #[repr(C)]
779 pub struct HTAPILINE__ {
780     pub unused: i32,
781 }
782 impl HTAPILINE__ {}
783 impl ::std::default::Default for HTAPILINE__ {
784     fn default() -> Self {
785         unsafe { ::std::mem::zeroed() }
786     }
787 }
788 impl ::std::fmt::Debug for HTAPILINE__ {
789     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
790         fmt.debug_struct("HTAPILINE__").field("unused", &self.unused).finish()
791     }
792 }
793 impl ::std::cmp::PartialEq for HTAPILINE__ {
794     fn eq(&self, other: &Self) -> bool {
795         self.unused == other.unused
796     }
797 }
798 impl ::std::cmp::Eq for HTAPILINE__ {}
799 unsafe impl ::windows::runtime::Abi for HTAPILINE__ {
800     type Abi = Self;
801     type DefaultType = Self;
802 }
803 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
804 #[repr(C)]
805 pub struct HTAPIPHONE__ {
806     pub unused: i32,
807 }
808 impl HTAPIPHONE__ {}
809 impl ::std::default::Default for HTAPIPHONE__ {
810     fn default() -> Self {
811         unsafe { ::std::mem::zeroed() }
812     }
813 }
814 impl ::std::fmt::Debug for HTAPIPHONE__ {
815     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
816         fmt.debug_struct("HTAPIPHONE__").field("unused", &self.unused).finish()
817     }
818 }
819 impl ::std::cmp::PartialEq for HTAPIPHONE__ {
820     fn eq(&self, other: &Self) -> bool {
821         self.unused == other.unused
822     }
823 }
824 impl ::std::cmp::Eq for HTAPIPHONE__ {}
825 unsafe impl ::windows::runtime::Abi for HTAPIPHONE__ {
826     type Abi = Self;
827     type DefaultType = Self;
828 }
829 pub const IDISPADDRESS: u32 = 65536u32;
830 pub const IDISPADDRESSCAPABILITIES: u32 = 131072u32;
831 pub const IDISPADDRESSTRANSLATION: u32 = 262144u32;
832 pub const IDISPAGGREGATEDMSPADDRESSOBJ: u32 = 393216u32;
833 pub const IDISPAGGREGATEDMSPCALLOBJ: u32 = 262144u32;
834 pub const IDISPAPC: u32 = 131072u32;
835 pub const IDISPBASICCALLCONTROL: u32 = 131072u32;
836 pub const IDISPCALLINFO: u32 = 65536u32;
837 pub const IDISPDIRECTORY: u32 = 65536u32;
838 pub const IDISPDIROBJCONFERENCE: u32 = 131072u32;
839 pub const IDISPDIROBJECT: u32 = 65536u32;
840 pub const IDISPDIROBJUSER: u32 = 196608u32;
841 pub const IDISPFILETRACK: u32 = 65536u32;
842 pub const IDISPILSCONFIG: u32 = 131072u32;
843 pub const IDISPLEGACYADDRESSMEDIACONTROL: u32 = 327680u32;
844 pub const IDISPLEGACYCALLMEDIACONTROL: u32 = 196608u32;
845 pub const IDISPMEDIACONTROL: u32 = 131072u32;
846 pub const IDISPMEDIAPLAYBACK: u32 = 262144u32;
847 pub const IDISPMEDIARECORD: u32 = 196608u32;
848 pub const IDISPMEDIASUPPORT: u32 = 196608u32;
849 pub const IDISPMULTITRACK: u32 = 65536u32;
850 pub const IDISPPHONE: u32 = 65536u32;
851 pub const IDISPTAPI: u32 = 65536u32;
852 pub const IDISPTAPICALLCENTER: u32 = 131072u32;
853 #[repr(transparent)]
854 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
855 pub struct IEnumACDGroup(::windows::runtime::IUnknown);
856 impl IEnumACDGroup {
857     pub unsafe fn Next(&self, celt: u32, ppelements: *mut ::std::option::Option<ITACDGroup>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
858         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(ppelements), ::std::mem::transmute(pceltfetched)).ok()
859     }
860     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
861         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
862     }
863     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
864         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
865     }
866     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumACDGroup> {
867         let mut result__: <IEnumACDGroup as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
868         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumACDGroup>(result__)
869     }
870 }
871 unsafe impl ::windows::runtime::Interface for IEnumACDGroup {
872     type Vtable = IEnumACDGroup_abi;
873     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1526477143, 19404, 4561, [191, 128, 0, 128, 95, 193, 71, 211]);
874 }
875 impl ::std::convert::From<IEnumACDGroup> for ::windows::runtime::IUnknown {
876     fn from(value: IEnumACDGroup) -> Self {
877         unsafe { ::std::mem::transmute(value) }
878     }
879 }
880 impl ::std::convert::From<&IEnumACDGroup> for ::windows::runtime::IUnknown {
881     fn from(value: &IEnumACDGroup) -> Self {
882         ::std::convert::From::from(::std::clone::Clone::clone(value))
883     }
884 }
885 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumACDGroup {
886     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
887         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
888     }
889 }
890 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumACDGroup {
891     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
892         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
893     }
894 }
895 #[repr(C)]
896 #[doc(hidden)]
897 pub struct IEnumACDGroup_abi(
898     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
899     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
900     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
901     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, ppelements: *mut ::windows::runtime::RawPtr, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
902     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
903     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
904     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
905 );
906 #[repr(transparent)]
907 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
908 pub struct IEnumAddress(::windows::runtime::IUnknown);
909 impl IEnumAddress {
910     pub unsafe fn Next(&self, celt: u32, ppelements: *mut ::std::option::Option<ITAddress>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
911         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(ppelements), ::std::mem::transmute(pceltfetched)).ok()
912     }
913     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
914         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
915     }
916     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
917         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
918     }
919     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumAddress> {
920         let mut result__: <IEnumAddress as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
921         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumAddress>(result__)
922     }
923 }
924 unsafe impl ::windows::runtime::Interface for IEnumAddress {
925     type Vtable = IEnumAddress_abi;
926     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(375848097, 37731, 4560, [131, 92, 0, 170, 0, 60, 202, 189]);
927 }
928 impl ::std::convert::From<IEnumAddress> for ::windows::runtime::IUnknown {
929     fn from(value: IEnumAddress) -> Self {
930         unsafe { ::std::mem::transmute(value) }
931     }
932 }
933 impl ::std::convert::From<&IEnumAddress> for ::windows::runtime::IUnknown {
934     fn from(value: &IEnumAddress) -> Self {
935         ::std::convert::From::from(::std::clone::Clone::clone(value))
936     }
937 }
938 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumAddress {
939     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
940         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
941     }
942 }
943 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumAddress {
944     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
945         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
946     }
947 }
948 #[repr(C)]
949 #[doc(hidden)]
950 pub struct IEnumAddress_abi(
951     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
952     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
953     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
954     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, ppelements: *mut ::windows::runtime::RawPtr, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
955     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
956     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
957     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
958 );
959 #[repr(transparent)]
960 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
961 pub struct IEnumAgent(::windows::runtime::IUnknown);
962 impl IEnumAgent {
963     pub unsafe fn Next(&self, celt: u32, ppelements: *mut ::std::option::Option<ITAgent>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
964         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(ppelements), ::std::mem::transmute(pceltfetched)).ok()
965     }
966     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
967         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
968     }
969     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
970         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
971     }
972     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumAgent> {
973         let mut result__: <IEnumAgent as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
974         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumAgent>(result__)
975     }
976 }
977 unsafe impl ::windows::runtime::Interface for IEnumAgent {
978     type Vtable = IEnumAgent_abi;
979     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1526477133, 19404, 4561, [191, 128, 0, 128, 95, 193, 71, 211]);
980 }
981 impl ::std::convert::From<IEnumAgent> for ::windows::runtime::IUnknown {
982     fn from(value: IEnumAgent) -> Self {
983         unsafe { ::std::mem::transmute(value) }
984     }
985 }
986 impl ::std::convert::From<&IEnumAgent> for ::windows::runtime::IUnknown {
987     fn from(value: &IEnumAgent) -> Self {
988         ::std::convert::From::from(::std::clone::Clone::clone(value))
989     }
990 }
991 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumAgent {
992     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
993         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
994     }
995 }
996 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumAgent {
997     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
998         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
999     }
1000 }
1001 #[repr(C)]
1002 #[doc(hidden)]
1003 pub struct IEnumAgent_abi(
1004     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1005     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1006     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1007     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, ppelements: *mut ::windows::runtime::RawPtr, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
1008     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1009     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
1010     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1011 );
1012 #[repr(transparent)]
1013 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1014 pub struct IEnumAgentHandler(::windows::runtime::IUnknown);
1015 impl IEnumAgentHandler {
1016     pub unsafe fn Next(&self, celt: u32, ppelements: *mut ::std::option::Option<ITAgentHandler>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
1017         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(ppelements), ::std::mem::transmute(pceltfetched)).ok()
1018     }
1019     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
1020         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
1021     }
1022     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
1023         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
1024     }
1025     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumAgentHandler> {
1026         let mut result__: <IEnumAgentHandler as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1027         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumAgentHandler>(result__)
1028     }
1029 }
1030 unsafe impl ::windows::runtime::Interface for IEnumAgentHandler {
1031     type Vtable = IEnumAgentHandler_abi;
1032     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1484688424, 38914, 4561, [160, 164, 0, 128, 95, 193, 71, 211]);
1033 }
1034 impl ::std::convert::From<IEnumAgentHandler> for ::windows::runtime::IUnknown {
1035     fn from(value: IEnumAgentHandler) -> Self {
1036         unsafe { ::std::mem::transmute(value) }
1037     }
1038 }
1039 impl ::std::convert::From<&IEnumAgentHandler> for ::windows::runtime::IUnknown {
1040     fn from(value: &IEnumAgentHandler) -> Self {
1041         ::std::convert::From::from(::std::clone::Clone::clone(value))
1042     }
1043 }
1044 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumAgentHandler {
1045     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1046         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1047     }
1048 }
1049 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumAgentHandler {
1050     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1051         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1052     }
1053 }
1054 #[repr(C)]
1055 #[doc(hidden)]
1056 pub struct IEnumAgentHandler_abi(
1057     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1058     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1059     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1060     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, ppelements: *mut ::windows::runtime::RawPtr, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
1061     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1062     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
1063     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1064 );
1065 #[repr(transparent)]
1066 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1067 pub struct IEnumAgentSession(::windows::runtime::IUnknown);
1068 impl IEnumAgentSession {
1069     pub unsafe fn Next(&self, celt: u32, ppelements: *mut ::std::option::Option<ITAgentSession>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
1070         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(ppelements), ::std::mem::transmute(pceltfetched)).ok()
1071     }
1072     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
1073         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
1074     }
1075     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
1076         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
1077     }
1078     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumAgentSession> {
1079         let mut result__: <IEnumAgentSession as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1080         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumAgentSession>(result__)
1081     }
1082 }
1083 unsafe impl ::windows::runtime::Interface for IEnumAgentSession {
1084     type Vtable = IEnumAgentSession_abi;
1085     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1526477134, 19404, 4561, [191, 128, 0, 128, 95, 193, 71, 211]);
1086 }
1087 impl ::std::convert::From<IEnumAgentSession> for ::windows::runtime::IUnknown {
1088     fn from(value: IEnumAgentSession) -> Self {
1089         unsafe { ::std::mem::transmute(value) }
1090     }
1091 }
1092 impl ::std::convert::From<&IEnumAgentSession> for ::windows::runtime::IUnknown {
1093     fn from(value: &IEnumAgentSession) -> Self {
1094         ::std::convert::From::from(::std::clone::Clone::clone(value))
1095     }
1096 }
1097 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumAgentSession {
1098     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1099         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1100     }
1101 }
1102 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumAgentSession {
1103     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1104         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1105     }
1106 }
1107 #[repr(C)]
1108 #[doc(hidden)]
1109 pub struct IEnumAgentSession_abi(
1110     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1111     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1112     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1113     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, ppelements: *mut ::windows::runtime::RawPtr, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
1114     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1115     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
1116     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1117 );
1118 #[repr(transparent)]
1119 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1120 pub struct IEnumBstr(::windows::runtime::IUnknown);
1121 impl IEnumBstr {
1122     #[cfg(feature = "Win32_Foundation")]
1123     pub unsafe fn Next(&self, celt: u32, ppstrings: *mut super::super::Foundation::BSTR, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
1124         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(ppstrings), ::std::mem::transmute(pceltfetched)).ok()
1125     }
1126     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
1127         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
1128     }
1129     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
1130         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
1131     }
1132     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumBstr> {
1133         let mut result__: <IEnumBstr as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1134         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumBstr>(result__)
1135     }
1136 }
1137 unsafe impl ::windows::runtime::Interface for IEnumBstr {
1138     type Vtable = IEnumBstr_abi;
1139     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(892805193, 3014, 4562, [160, 51, 0, 192, 79, 182, 128, 159]);
1140 }
1141 impl ::std::convert::From<IEnumBstr> for ::windows::runtime::IUnknown {
1142     fn from(value: IEnumBstr) -> Self {
1143         unsafe { ::std::mem::transmute(value) }
1144     }
1145 }
1146 impl ::std::convert::From<&IEnumBstr> for ::windows::runtime::IUnknown {
1147     fn from(value: &IEnumBstr) -> Self {
1148         ::std::convert::From::from(::std::clone::Clone::clone(value))
1149     }
1150 }
1151 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumBstr {
1152     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1153         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1154     }
1155 }
1156 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumBstr {
1157     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1158         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1159     }
1160 }
1161 #[repr(C)]
1162 #[doc(hidden)]
1163 pub struct IEnumBstr_abi(
1164     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1165     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1166     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1167     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, ppstrings: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
1168     #[cfg(not(feature = "Win32_Foundation"))] usize,
1169     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1170     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
1171     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1172 );
1173 #[repr(transparent)]
1174 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1175 pub struct IEnumCall(::windows::runtime::IUnknown);
1176 impl IEnumCall {
1177     pub unsafe fn Next(&self, celt: u32, ppelements: *mut ::std::option::Option<ITCallInfo>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
1178         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(ppelements), ::std::mem::transmute(pceltfetched)).ok()
1179     }
1180     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
1181         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
1182     }
1183     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
1184         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
1185     }
1186     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumCall> {
1187         let mut result__: <IEnumCall as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1188         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumCall>(result__)
1189     }
1190 }
1191 unsafe impl ::windows::runtime::Interface for IEnumCall {
1192     type Vtable = IEnumCall_abi;
1193     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2921766134, 37726, 4560, [131, 92, 0, 170, 0, 60, 202, 189]);
1194 }
1195 impl ::std::convert::From<IEnumCall> for ::windows::runtime::IUnknown {
1196     fn from(value: IEnumCall) -> Self {
1197         unsafe { ::std::mem::transmute(value) }
1198     }
1199 }
1200 impl ::std::convert::From<&IEnumCall> for ::windows::runtime::IUnknown {
1201     fn from(value: &IEnumCall) -> Self {
1202         ::std::convert::From::from(::std::clone::Clone::clone(value))
1203     }
1204 }
1205 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumCall {
1206     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1207         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1208     }
1209 }
1210 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumCall {
1211     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1212         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1213     }
1214 }
1215 #[repr(C)]
1216 #[doc(hidden)]
1217 pub struct IEnumCall_abi(
1218     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1219     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1220     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1221     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, ppelements: *mut ::windows::runtime::RawPtr, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
1222     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1223     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
1224     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1225 );
1226 #[repr(transparent)]
1227 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1228 pub struct IEnumCallHub(::windows::runtime::IUnknown);
1229 impl IEnumCallHub {
1230     pub unsafe fn Next(&self, celt: u32, ppelements: *mut ::std::option::Option<ITCallHub>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
1231         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(ppelements), ::std::mem::transmute(pceltfetched)).ok()
1232     }
1233     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
1234         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
1235     }
1236     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
1237         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
1238     }
1239     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumCallHub> {
1240         let mut result__: <IEnumCallHub as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1241         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumCallHub>(result__)
1242     }
1243 }
1244 unsafe impl ::windows::runtime::Interface for IEnumCallHub {
1245     type Vtable = IEnumCallHub_abi;
1246     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2747356240, 23442, 4561, [143, 78, 0, 192, 79, 182, 128, 159]);
1247 }
1248 impl ::std::convert::From<IEnumCallHub> for ::windows::runtime::IUnknown {
1249     fn from(value: IEnumCallHub) -> Self {
1250         unsafe { ::std::mem::transmute(value) }
1251     }
1252 }
1253 impl ::std::convert::From<&IEnumCallHub> for ::windows::runtime::IUnknown {
1254     fn from(value: &IEnumCallHub) -> Self {
1255         ::std::convert::From::from(::std::clone::Clone::clone(value))
1256     }
1257 }
1258 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumCallHub {
1259     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1260         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1261     }
1262 }
1263 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumCallHub {
1264     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1265         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1266     }
1267 }
1268 #[repr(C)]
1269 #[doc(hidden)]
1270 pub struct IEnumCallHub_abi(
1271     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1272     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1273     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1274     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, ppelements: *mut ::windows::runtime::RawPtr, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
1275     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1276     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
1277     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1278 );
1279 #[repr(transparent)]
1280 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1281 pub struct IEnumCallingCard(::windows::runtime::IUnknown);
1282 impl IEnumCallingCard {
1283     pub unsafe fn Next(&self, celt: u32, ppelements: *mut ::std::option::Option<ITCallingCard>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
1284         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(ppelements), ::std::mem::transmute(pceltfetched)).ok()
1285     }
1286     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
1287         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
1288     }
1289     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
1290         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
1291     }
1292     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumCallingCard> {
1293         let mut result__: <IEnumCallingCard as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1294         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumCallingCard>(result__)
1295     }
1296 }
1297 unsafe impl ::windows::runtime::Interface for IEnumCallingCard {
1298     type Vtable = IEnumCallingCard_abi;
1299     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(206409474, 36315, 4561, [160, 158, 0, 128, 95, 193, 71, 211]);
1300 }
1301 impl ::std::convert::From<IEnumCallingCard> for ::windows::runtime::IUnknown {
1302     fn from(value: IEnumCallingCard) -> Self {
1303         unsafe { ::std::mem::transmute(value) }
1304     }
1305 }
1306 impl ::std::convert::From<&IEnumCallingCard> for ::windows::runtime::IUnknown {
1307     fn from(value: &IEnumCallingCard) -> Self {
1308         ::std::convert::From::from(::std::clone::Clone::clone(value))
1309     }
1310 }
1311 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumCallingCard {
1312     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1313         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1314     }
1315 }
1316 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumCallingCard {
1317     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1318         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1319     }
1320 }
1321 #[repr(C)]
1322 #[doc(hidden)]
1323 pub struct IEnumCallingCard_abi(
1324     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1325     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1326     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1327     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, ppelements: *mut ::windows::runtime::RawPtr, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
1328     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1329     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
1330     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1331 );
1332 #[repr(transparent)]
1333 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1334 pub struct IEnumDialableAddrs(::windows::runtime::IUnknown);
1335 impl IEnumDialableAddrs {
1336     #[cfg(feature = "Win32_Foundation")]
1337     pub unsafe fn Next(&self, celt: u32, ppelements: *mut super::super::Foundation::BSTR, pcfetched: *mut u32) -> ::windows::runtime::Result<()> {
1338         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(ppelements), ::std::mem::transmute(pcfetched)).ok()
1339     }
1340     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
1341         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
1342     }
1343     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
1344         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
1345     }
1346     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumDialableAddrs> {
1347         let mut result__: <IEnumDialableAddrs as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1348         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumDialableAddrs>(result__)
1349     }
1350 }
1351 unsafe impl ::windows::runtime::Interface for IEnumDialableAddrs {
1352     type Vtable = IEnumDialableAddrs_abi;
1353     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(878845296, 27903, 4561, [175, 247, 0, 192, 79, 195, 31, 238]);
1354 }
1355 impl ::std::convert::From<IEnumDialableAddrs> for ::windows::runtime::IUnknown {
1356     fn from(value: IEnumDialableAddrs) -> Self {
1357         unsafe { ::std::mem::transmute(value) }
1358     }
1359 }
1360 impl ::std::convert::From<&IEnumDialableAddrs> for ::windows::runtime::IUnknown {
1361     fn from(value: &IEnumDialableAddrs) -> Self {
1362         ::std::convert::From::from(::std::clone::Clone::clone(value))
1363     }
1364 }
1365 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumDialableAddrs {
1366     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1367         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1368     }
1369 }
1370 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumDialableAddrs {
1371     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1372         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1373     }
1374 }
1375 #[repr(C)]
1376 #[doc(hidden)]
1377 pub struct IEnumDialableAddrs_abi(
1378     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1379     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1380     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1381     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, ppelements: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pcfetched: *mut u32) -> ::windows::runtime::HRESULT,
1382     #[cfg(not(feature = "Win32_Foundation"))] usize,
1383     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1384     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
1385     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1386 );
1387 #[repr(transparent)]
1388 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1389 pub struct IEnumDirectory(::windows::runtime::IUnknown);
1390 impl IEnumDirectory {
1391     pub unsafe fn Next(&self, celt: u32, ppelements: *mut ::std::option::Option<ITDirectory>, pcfetched: *mut u32) -> ::windows::runtime::Result<()> {
1392         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(ppelements), ::std::mem::transmute(pcfetched)).ok()
1393     }
1394     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
1395         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
1396     }
1397     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
1398         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
1399     }
1400     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumDirectory> {
1401         let mut result__: <IEnumDirectory as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1402         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumDirectory>(result__)
1403     }
1404 }
1405 unsafe impl ::windows::runtime::Interface for IEnumDirectory {
1406     type Vtable = IEnumDirectory_abi;
1407     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(878845293, 27903, 4561, [175, 247, 0, 192, 79, 195, 31, 238]);
1408 }
1409 impl ::std::convert::From<IEnumDirectory> for ::windows::runtime::IUnknown {
1410     fn from(value: IEnumDirectory) -> Self {
1411         unsafe { ::std::mem::transmute(value) }
1412     }
1413 }
1414 impl ::std::convert::From<&IEnumDirectory> for ::windows::runtime::IUnknown {
1415     fn from(value: &IEnumDirectory) -> Self {
1416         ::std::convert::From::from(::std::clone::Clone::clone(value))
1417     }
1418 }
1419 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumDirectory {
1420     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1421         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1422     }
1423 }
1424 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumDirectory {
1425     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1426         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1427     }
1428 }
1429 #[repr(C)]
1430 #[doc(hidden)]
1431 pub struct IEnumDirectory_abi(
1432     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1433     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1434     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1435     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, ppelements: *mut ::windows::runtime::RawPtr, pcfetched: *mut u32) -> ::windows::runtime::HRESULT,
1436     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1437     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
1438     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1439 );
1440 #[repr(transparent)]
1441 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1442 pub struct IEnumDirectoryObject(::windows::runtime::IUnknown);
1443 impl IEnumDirectoryObject {
1444     pub unsafe fn Next(&self, celt: u32, pval: *mut ::std::option::Option<ITDirectoryObject>, pcfetched: *mut u32) -> ::windows::runtime::Result<()> {
1445         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(pval), ::std::mem::transmute(pcfetched)).ok()
1446     }
1447     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
1448         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
1449     }
1450     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
1451         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
1452     }
1453     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumDirectoryObject> {
1454         let mut result__: <IEnumDirectoryObject as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1455         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumDirectoryObject>(result__)
1456     }
1457 }
1458 unsafe impl ::windows::runtime::Interface for IEnumDirectoryObject {
1459     type Vtable = IEnumDirectoryObject_abi;
1460     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(113882698, 12397, 4561, [151, 116, 0, 192, 79, 217, 26, 192]);
1461 }
1462 impl ::std::convert::From<IEnumDirectoryObject> for ::windows::runtime::IUnknown {
1463     fn from(value: IEnumDirectoryObject) -> Self {
1464         unsafe { ::std::mem::transmute(value) }
1465     }
1466 }
1467 impl ::std::convert::From<&IEnumDirectoryObject> for ::windows::runtime::IUnknown {
1468     fn from(value: &IEnumDirectoryObject) -> Self {
1469         ::std::convert::From::from(::std::clone::Clone::clone(value))
1470     }
1471 }
1472 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumDirectoryObject {
1473     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1474         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1475     }
1476 }
1477 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumDirectoryObject {
1478     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1479         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1480     }
1481 }
1482 #[repr(C)]
1483 #[doc(hidden)]
1484 pub struct IEnumDirectoryObject_abi(
1485     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1486     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1487     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1488     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, pval: *mut ::windows::runtime::RawPtr, pcfetched: *mut u32) -> ::windows::runtime::HRESULT,
1489     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1490     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
1491     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1492 );
1493 #[repr(transparent)]
1494 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1495 pub struct IEnumLocation(::windows::runtime::IUnknown);
1496 impl IEnumLocation {
1497     pub unsafe fn Next(&self, celt: u32, ppelements: *mut ::std::option::Option<ITLocationInfo>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
1498         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(ppelements), ::std::mem::transmute(pceltfetched)).ok()
1499     }
1500     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
1501         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
1502     }
1503     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
1504         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
1505     }
1506     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumLocation> {
1507         let mut result__: <IEnumLocation as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1508         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumLocation>(result__)
1509     }
1510 }
1511 unsafe impl ::windows::runtime::Interface for IEnumLocation {
1512     type Vtable = IEnumLocation_abi;
1513     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(206409473, 36315, 4561, [160, 158, 0, 128, 95, 193, 71, 211]);
1514 }
1515 impl ::std::convert::From<IEnumLocation> for ::windows::runtime::IUnknown {
1516     fn from(value: IEnumLocation) -> Self {
1517         unsafe { ::std::mem::transmute(value) }
1518     }
1519 }
1520 impl ::std::convert::From<&IEnumLocation> for ::windows::runtime::IUnknown {
1521     fn from(value: &IEnumLocation) -> Self {
1522         ::std::convert::From::from(::std::clone::Clone::clone(value))
1523     }
1524 }
1525 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumLocation {
1526     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1527         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1528     }
1529 }
1530 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumLocation {
1531     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1532         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1533     }
1534 }
1535 #[repr(C)]
1536 #[doc(hidden)]
1537 pub struct IEnumLocation_abi(
1538     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1539     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1540     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1541     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, ppelements: *mut ::windows::runtime::RawPtr, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
1542     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1543     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
1544     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1545 );
1546 #[repr(transparent)]
1547 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1548 pub struct IEnumMcastScope(::windows::runtime::IUnknown);
1549 impl IEnumMcastScope {
1550     pub unsafe fn Next(&self, celt: u32, ppscopes: *mut ::std::option::Option<IMcastScope>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
1551         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(ppscopes), ::std::mem::transmute(pceltfetched)).ok()
1552     }
1553     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
1554         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
1555     }
1556     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
1557         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
1558     }
1559     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumMcastScope> {
1560         let mut result__: <IEnumMcastScope as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1561         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumMcastScope>(result__)
1562     }
1563 }
1564 unsafe impl ::windows::runtime::Interface for IEnumMcastScope {
1565     type Vtable = IEnumMcastScope_abi;
1566     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3742215945, 41609, 4561, [134, 151, 0, 96, 8, 176, 229, 210]);
1567 }
1568 impl ::std::convert::From<IEnumMcastScope> for ::windows::runtime::IUnknown {
1569     fn from(value: IEnumMcastScope) -> Self {
1570         unsafe { ::std::mem::transmute(value) }
1571     }
1572 }
1573 impl ::std::convert::From<&IEnumMcastScope> for ::windows::runtime::IUnknown {
1574     fn from(value: &IEnumMcastScope) -> Self {
1575         ::std::convert::From::from(::std::clone::Clone::clone(value))
1576     }
1577 }
1578 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumMcastScope {
1579     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1580         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1581     }
1582 }
1583 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumMcastScope {
1584     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1585         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1586     }
1587 }
1588 #[repr(C)]
1589 #[doc(hidden)]
1590 pub struct IEnumMcastScope_abi(
1591     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1592     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1593     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1594     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, ppscopes: *mut ::windows::runtime::RawPtr, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
1595     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1596     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
1597     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1598 );
1599 #[repr(transparent)]
1600 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1601 pub struct IEnumPhone(::windows::runtime::IUnknown);
1602 impl IEnumPhone {
1603     pub unsafe fn Next(&self, celt: u32, ppelements: *mut ::std::option::Option<ITPhone>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
1604         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(ppelements), ::std::mem::transmute(pceltfetched)).ok()
1605     }
1606     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
1607         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
1608     }
1609     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
1610         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
1611     }
1612     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumPhone> {
1613         let mut result__: <IEnumPhone as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1614         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumPhone>(result__)
1615     }
1616 }
1617 unsafe impl ::windows::runtime::Interface for IEnumPhone {
1618     type Vtable = IEnumPhone_abi;
1619     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4049303145, 18304, 17813, [140, 137, 251, 54, 156, 140, 247, 170]);
1620 }
1621 impl ::std::convert::From<IEnumPhone> for ::windows::runtime::IUnknown {
1622     fn from(value: IEnumPhone) -> Self {
1623         unsafe { ::std::mem::transmute(value) }
1624     }
1625 }
1626 impl ::std::convert::From<&IEnumPhone> for ::windows::runtime::IUnknown {
1627     fn from(value: &IEnumPhone) -> Self {
1628         ::std::convert::From::from(::std::clone::Clone::clone(value))
1629     }
1630 }
1631 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumPhone {
1632     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1633         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1634     }
1635 }
1636 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumPhone {
1637     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1638         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1639     }
1640 }
1641 #[repr(C)]
1642 #[doc(hidden)]
1643 pub struct IEnumPhone_abi(
1644     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1645     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1646     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1647     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, ppelements: *mut ::windows::runtime::RawPtr, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
1648     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1649     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
1650     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1651 );
1652 #[repr(transparent)]
1653 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1654 pub struct IEnumPluggableSuperclassInfo(::windows::runtime::IUnknown);
1655 impl IEnumPluggableSuperclassInfo {
1656     pub unsafe fn Next(&self, celt: u32, ppelements: *mut ::std::option::Option<ITPluggableTerminalSuperclassInfo>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
1657         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(ppelements), ::std::mem::transmute(pceltfetched)).ok()
1658     }
1659     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
1660         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
1661     }
1662     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
1663         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
1664     }
1665     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumPluggableSuperclassInfo> {
1666         let mut result__: <IEnumPluggableSuperclassInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1667         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumPluggableSuperclassInfo>(result__)
1668     }
1669 }
1670 unsafe impl ::windows::runtime::Interface for IEnumPluggableSuperclassInfo {
1671     type Vtable = IEnumPluggableSuperclassInfo_abi;
1672     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3914885760, 35302, 19711, [147, 29, 71, 141, 87, 81, 244, 192]);
1673 }
1674 impl ::std::convert::From<IEnumPluggableSuperclassInfo> for ::windows::runtime::IUnknown {
1675     fn from(value: IEnumPluggableSuperclassInfo) -> Self {
1676         unsafe { ::std::mem::transmute(value) }
1677     }
1678 }
1679 impl ::std::convert::From<&IEnumPluggableSuperclassInfo> for ::windows::runtime::IUnknown {
1680     fn from(value: &IEnumPluggableSuperclassInfo) -> Self {
1681         ::std::convert::From::from(::std::clone::Clone::clone(value))
1682     }
1683 }
1684 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumPluggableSuperclassInfo {
1685     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1686         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1687     }
1688 }
1689 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumPluggableSuperclassInfo {
1690     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1691         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1692     }
1693 }
1694 #[repr(C)]
1695 #[doc(hidden)]
1696 pub struct IEnumPluggableSuperclassInfo_abi(
1697     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1698     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1699     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1700     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, ppelements: *mut ::windows::runtime::RawPtr, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
1701     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1702     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
1703     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1704 );
1705 #[repr(transparent)]
1706 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1707 pub struct IEnumPluggableTerminalClassInfo(::windows::runtime::IUnknown);
1708 impl IEnumPluggableTerminalClassInfo {
1709     pub unsafe fn Next(&self, celt: u32, ppelements: *mut ::std::option::Option<ITPluggableTerminalClassInfo>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
1710         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(ppelements), ::std::mem::transmute(pceltfetched)).ok()
1711     }
1712     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
1713         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
1714     }
1715     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
1716         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
1717     }
1718     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumPluggableTerminalClassInfo> {
1719         let mut result__: <IEnumPluggableTerminalClassInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1720         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumPluggableTerminalClassInfo>(result__)
1721     }
1722 }
1723 unsafe impl ::windows::runtime::Interface for IEnumPluggableTerminalClassInfo {
1724     type Vtable = IEnumPluggableTerminalClassInfo_abi;
1725     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1164395788, 56302, 20031, [170, 245, 55, 191, 158, 191, 94, 41]);
1726 }
1727 impl ::std::convert::From<IEnumPluggableTerminalClassInfo> for ::windows::runtime::IUnknown {
1728     fn from(value: IEnumPluggableTerminalClassInfo) -> Self {
1729         unsafe { ::std::mem::transmute(value) }
1730     }
1731 }
1732 impl ::std::convert::From<&IEnumPluggableTerminalClassInfo> for ::windows::runtime::IUnknown {
1733     fn from(value: &IEnumPluggableTerminalClassInfo) -> Self {
1734         ::std::convert::From::from(::std::clone::Clone::clone(value))
1735     }
1736 }
1737 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumPluggableTerminalClassInfo {
1738     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1739         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1740     }
1741 }
1742 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumPluggableTerminalClassInfo {
1743     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1744         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1745     }
1746 }
1747 #[repr(C)]
1748 #[doc(hidden)]
1749 pub struct IEnumPluggableTerminalClassInfo_abi(
1750     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1751     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1752     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1753     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, ppelements: *mut ::windows::runtime::RawPtr, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
1754     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1755     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
1756     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1757 );
1758 #[repr(transparent)]
1759 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1760 pub struct IEnumQueue(::windows::runtime::IUnknown);
1761 impl IEnumQueue {
1762     pub unsafe fn Next(&self, celt: u32, ppelements: *mut ::std::option::Option<ITQueue>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
1763         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(ppelements), ::std::mem::transmute(pceltfetched)).ok()
1764     }
1765     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
1766         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
1767     }
1768     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
1769         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
1770     }
1771     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumQueue> {
1772         let mut result__: <IEnumQueue as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1773         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumQueue>(result__)
1774     }
1775 }
1776 unsafe impl ::windows::runtime::Interface for IEnumQueue {
1777     type Vtable = IEnumQueue_abi;
1778     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1526477144, 19404, 4561, [191, 128, 0, 128, 95, 193, 71, 211]);
1779 }
1780 impl ::std::convert::From<IEnumQueue> for ::windows::runtime::IUnknown {
1781     fn from(value: IEnumQueue) -> Self {
1782         unsafe { ::std::mem::transmute(value) }
1783     }
1784 }
1785 impl ::std::convert::From<&IEnumQueue> for ::windows::runtime::IUnknown {
1786     fn from(value: &IEnumQueue) -> Self {
1787         ::std::convert::From::from(::std::clone::Clone::clone(value))
1788     }
1789 }
1790 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumQueue {
1791     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1792         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1793     }
1794 }
1795 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumQueue {
1796     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1797         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1798     }
1799 }
1800 #[repr(C)]
1801 #[doc(hidden)]
1802 pub struct IEnumQueue_abi(
1803     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1804     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1805     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1806     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, ppelements: *mut ::windows::runtime::RawPtr, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
1807     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1808     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
1809     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1810 );
1811 #[repr(transparent)]
1812 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1813 pub struct IEnumStream(::windows::runtime::IUnknown);
1814 impl IEnumStream {
1815     pub unsafe fn Next(&self, celt: u32, ppelements: *mut ::std::option::Option<ITStream>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
1816         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(ppelements), ::std::mem::transmute(pceltfetched)).ok()
1817     }
1818     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
1819         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
1820     }
1821     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
1822         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
1823     }
1824     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumStream> {
1825         let mut result__: <IEnumStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1826         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumStream>(result__)
1827     }
1828 }
1829 unsafe impl ::windows::runtime::Interface for IEnumStream {
1830     type Vtable = IEnumStream_abi;
1831     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3996898822, 14440, 4562, [160, 69, 0, 192, 79, 182, 128, 159]);
1832 }
1833 impl ::std::convert::From<IEnumStream> for ::windows::runtime::IUnknown {
1834     fn from(value: IEnumStream) -> Self {
1835         unsafe { ::std::mem::transmute(value) }
1836     }
1837 }
1838 impl ::std::convert::From<&IEnumStream> for ::windows::runtime::IUnknown {
1839     fn from(value: &IEnumStream) -> Self {
1840         ::std::convert::From::from(::std::clone::Clone::clone(value))
1841     }
1842 }
1843 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumStream {
1844     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1845         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1846     }
1847 }
1848 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumStream {
1849     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1850         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1851     }
1852 }
1853 #[repr(C)]
1854 #[doc(hidden)]
1855 pub struct IEnumStream_abi(
1856     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1857     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1858     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1859     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, ppelements: *mut ::windows::runtime::RawPtr, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
1860     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1861     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
1862     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1863 );
1864 #[repr(transparent)]
1865 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1866 pub struct IEnumSubStream(::windows::runtime::IUnknown);
1867 impl IEnumSubStream {
1868     pub unsafe fn Next(&self, celt: u32, ppelements: *mut ::std::option::Option<ITSubStream>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
1869         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(ppelements), ::std::mem::transmute(pceltfetched)).ok()
1870     }
1871     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
1872         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
1873     }
1874     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
1875         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
1876     }
1877     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumSubStream> {
1878         let mut result__: <IEnumSubStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1879         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumSubStream>(result__)
1880     }
1881 }
1882 unsafe impl ::windows::runtime::Interface for IEnumSubStream {
1883     type Vtable = IEnumSubStream_abi;
1884     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3996898825, 14440, 4562, [160, 69, 0, 192, 79, 182, 128, 159]);
1885 }
1886 impl ::std::convert::From<IEnumSubStream> for ::windows::runtime::IUnknown {
1887     fn from(value: IEnumSubStream) -> Self {
1888         unsafe { ::std::mem::transmute(value) }
1889     }
1890 }
1891 impl ::std::convert::From<&IEnumSubStream> for ::windows::runtime::IUnknown {
1892     fn from(value: &IEnumSubStream) -> Self {
1893         ::std::convert::From::from(::std::clone::Clone::clone(value))
1894     }
1895 }
1896 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumSubStream {
1897     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1898         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1899     }
1900 }
1901 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumSubStream {
1902     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1903         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1904     }
1905 }
1906 #[repr(C)]
1907 #[doc(hidden)]
1908 pub struct IEnumSubStream_abi(
1909     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1910     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1911     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1912     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, ppelements: *mut ::windows::runtime::RawPtr, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
1913     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1914     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
1915     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1916 );
1917 #[repr(transparent)]
1918 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1919 pub struct IEnumTerminal(::windows::runtime::IUnknown);
1920 impl IEnumTerminal {
1921     pub unsafe fn Next(&self, celt: u32, ppelements: *mut ::std::option::Option<ITTerminal>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
1922         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(ppelements), ::std::mem::transmute(pceltfetched)).ok()
1923     }
1924     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
1925         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
1926     }
1927     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
1928         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
1929     }
1930     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumTerminal> {
1931         let mut result__: <IEnumTerminal as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1932         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumTerminal>(result__)
1933     }
1934 }
1935 unsafe impl ::windows::runtime::Interface for IEnumTerminal {
1936     type Vtable = IEnumTerminal_abi;
1937     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2921766132, 37726, 4560, [131, 92, 0, 170, 0, 60, 202, 189]);
1938 }
1939 impl ::std::convert::From<IEnumTerminal> for ::windows::runtime::IUnknown {
1940     fn from(value: IEnumTerminal) -> Self {
1941         unsafe { ::std::mem::transmute(value) }
1942     }
1943 }
1944 impl ::std::convert::From<&IEnumTerminal> for ::windows::runtime::IUnknown {
1945     fn from(value: &IEnumTerminal) -> Self {
1946         ::std::convert::From::from(::std::clone::Clone::clone(value))
1947     }
1948 }
1949 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumTerminal {
1950     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1951         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1952     }
1953 }
1954 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumTerminal {
1955     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1956         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1957     }
1958 }
1959 #[repr(C)]
1960 #[doc(hidden)]
1961 pub struct IEnumTerminal_abi(
1962     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1963     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1964     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1965     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, ppelements: *mut ::windows::runtime::RawPtr, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
1966     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1967     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
1968     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1969 );
1970 #[repr(transparent)]
1971 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1972 pub struct IEnumTerminalClass(::windows::runtime::IUnknown);
1973 impl IEnumTerminalClass {
1974     pub unsafe fn Next(&self, celt: u32, pelements: *mut ::windows::runtime::GUID, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
1975         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(pelements), ::std::mem::transmute(pceltfetched)).ok()
1976     }
1977     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
1978         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
1979     }
1980     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
1981         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
1982     }
1983     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumTerminalClass> {
1984         let mut result__: <IEnumTerminalClass as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1985         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumTerminalClass>(result__)
1986     }
1987 }
1988 unsafe impl ::windows::runtime::Interface for IEnumTerminalClass {
1989     type Vtable = IEnumTerminalClass_abi;
1990     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2921766133, 37726, 4560, [131, 92, 0, 170, 0, 60, 202, 189]);
1991 }
1992 impl ::std::convert::From<IEnumTerminalClass> for ::windows::runtime::IUnknown {
1993     fn from(value: IEnumTerminalClass) -> Self {
1994         unsafe { ::std::mem::transmute(value) }
1995     }
1996 }
1997 impl ::std::convert::From<&IEnumTerminalClass> for ::windows::runtime::IUnknown {
1998     fn from(value: &IEnumTerminalClass) -> Self {
1999         ::std::convert::From::from(::std::clone::Clone::clone(value))
2000     }
2001 }
2002 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumTerminalClass {
2003     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2004         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2005     }
2006 }
2007 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumTerminalClass {
2008     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2009         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2010     }
2011 }
2012 #[repr(C)]
2013 #[doc(hidden)]
2014 pub struct IEnumTerminalClass_abi(
2015     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2016     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2017     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2018     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, pelements: *mut ::windows::runtime::GUID, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
2019     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2020     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
2021     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2022 );
2023 #[repr(transparent)]
2024 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2025 pub struct IMcastAddressAllocation(::windows::runtime::IUnknown);
2026 impl IMcastAddressAllocation {
2027     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2028     pub unsafe fn Scopes(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
2029         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2030         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
2031     }
2032     pub unsafe fn EnumerateScopes(&self) -> ::windows::runtime::Result<IEnumMcastScope> {
2033         let mut result__: <IEnumMcastScope as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2034         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumMcastScope>(result__)
2035     }
2036     pub unsafe fn RequestAddress<'a, Param0: ::windows::runtime::IntoParam<'a, IMcastScope>>(&self, pscope: Param0, leasestarttime: f64, leasestoptime: f64, numaddresses: i32) -> ::windows::runtime::Result<IMcastLeaseInfo> {
2037         let mut result__: <IMcastLeaseInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2038         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), pscope.into_param().abi(), ::std::mem::transmute(leasestarttime), ::std::mem::transmute(leasestoptime), ::std::mem::transmute(numaddresses), &mut result__).from_abi::<IMcastLeaseInfo>(result__)
2039     }
2040     pub unsafe fn RenewAddress<'a, Param1: ::windows::runtime::IntoParam<'a, IMcastLeaseInfo>>(&self, lreserved: i32, prenewrequest: Param1) -> ::windows::runtime::Result<IMcastLeaseInfo> {
2041         let mut result__: <IMcastLeaseInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2042         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(lreserved), prenewrequest.into_param().abi(), &mut result__).from_abi::<IMcastLeaseInfo>(result__)
2043     }
2044     pub unsafe fn ReleaseAddress<'a, Param0: ::windows::runtime::IntoParam<'a, IMcastLeaseInfo>>(&self, preleaserequest: Param0) -> ::windows::runtime::Result<()> {
2045         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), preleaserequest.into_param().abi()).ok()
2046     }
2047     #[cfg(feature = "Win32_Foundation")]
2048     pub unsafe fn CreateLeaseInfo<'a, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param5: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, leasestarttime: f64, leasestoptime: f64, dwnumaddresses: u32, ppaddresses: *const super::super::Foundation::PWSTR, prequestid: Param4, pserveraddress: Param5) -> ::windows::runtime::Result<IMcastLeaseInfo> {
2049         let mut result__: <IMcastLeaseInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2050         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(leasestarttime), ::std::mem::transmute(leasestoptime), ::std::mem::transmute(dwnumaddresses), ::std::mem::transmute(ppaddresses), prequestid.into_param().abi(), pserveraddress.into_param().abi(), &mut result__).from_abi::<IMcastLeaseInfo>(result__)
2051     }
2052     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2053     pub unsafe fn CreateLeaseInfoFromVariant<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, leasestarttime: f64, leasestoptime: f64, vaddresses: Param2, prequestid: Param3, pserveraddress: Param4) -> ::windows::runtime::Result<IMcastLeaseInfo> {
2054         let mut result__: <IMcastLeaseInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2055         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(leasestarttime), ::std::mem::transmute(leasestoptime), vaddresses.into_param().abi(), prequestid.into_param().abi(), pserveraddress.into_param().abi(), &mut result__).from_abi::<IMcastLeaseInfo>(result__)
2056     }
2057 }
2058 unsafe impl ::windows::runtime::Interface for IMcastAddressAllocation {
2059     type Vtable = IMcastAddressAllocation_abi;
2060     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3742215921, 41609, 4561, [134, 151, 0, 96, 8, 176, 229, 210]);
2061 }
2062 impl ::std::convert::From<IMcastAddressAllocation> for ::windows::runtime::IUnknown {
2063     fn from(value: IMcastAddressAllocation) -> Self {
2064         unsafe { ::std::mem::transmute(value) }
2065     }
2066 }
2067 impl ::std::convert::From<&IMcastAddressAllocation> for ::windows::runtime::IUnknown {
2068     fn from(value: &IMcastAddressAllocation) -> Self {
2069         ::std::convert::From::from(::std::clone::Clone::clone(value))
2070     }
2071 }
2072 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMcastAddressAllocation {
2073     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2074         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2075     }
2076 }
2077 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMcastAddressAllocation {
2078     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2079         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2080     }
2081 }
2082 #[cfg(feature = "Win32_System_Ole_Automation")]
2083 impl ::std::convert::From<IMcastAddressAllocation> for super::super::System::Ole::Automation::IDispatch {
2084     fn from(value: IMcastAddressAllocation) -> Self {
2085         unsafe { ::std::mem::transmute(value) }
2086     }
2087 }
2088 #[cfg(feature = "Win32_System_Ole_Automation")]
2089 impl ::std::convert::From<&IMcastAddressAllocation> for super::super::System::Ole::Automation::IDispatch {
2090     fn from(value: &IMcastAddressAllocation) -> Self {
2091         ::std::convert::From::from(::std::clone::Clone::clone(value))
2092     }
2093 }
2094 #[cfg(feature = "Win32_System_Ole_Automation")]
2095 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IMcastAddressAllocation {
2096     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2097         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
2098     }
2099 }
2100 #[cfg(feature = "Win32_System_Ole_Automation")]
2101 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IMcastAddressAllocation {
2102     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2103         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
2104     }
2105 }
2106 #[repr(C)]
2107 #[doc(hidden)]
2108 pub struct IMcastAddressAllocation_abi(
2109     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2110     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2111     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2112     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
2113     #[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,
2114     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
2115     #[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,
2116     #[cfg(not(feature = "Win32_Foundation"))] usize,
2117     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2118     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,
2119     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2120     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
2121     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2122     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenummcastscope: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2123     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pscope: ::windows::runtime::RawPtr, leasestarttime: f64, leasestoptime: f64, numaddresses: i32, ppleaseresponse: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2124     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lreserved: i32, prenewrequest: ::windows::runtime::RawPtr, pprenewresponse: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2125     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, preleaserequest: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2126     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, leasestarttime: f64, leasestoptime: f64, dwnumaddresses: u32, ppaddresses: *const super::super::Foundation::PWSTR, prequestid: super::super::Foundation::PWSTR, pserveraddress: super::super::Foundation::PWSTR, ppreleaserequest: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2127     #[cfg(not(feature = "Win32_Foundation"))] usize,
2128     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2129     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, leasestarttime: f64, leasestoptime: f64, vaddresses: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, prequestid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pserveraddress: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, ppreleaserequest: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2130     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2131 );
2132 #[repr(transparent)]
2133 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2134 pub struct IMcastLeaseInfo(::windows::runtime::IUnknown);
2135 impl IMcastLeaseInfo {
2136     #[cfg(feature = "Win32_Foundation")]
2137     pub unsafe fn RequestID(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2138         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2139         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2140     }
2141     pub unsafe fn LeaseStartTime(&self) -> ::windows::runtime::Result<f64> {
2142         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2143         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
2144     }
2145     pub unsafe fn SetLeaseStartTime(&self, time: f64) -> ::windows::runtime::Result<()> {
2146         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(time)).ok()
2147     }
2148     pub unsafe fn LeaseStopTime(&self) -> ::windows::runtime::Result<f64> {
2149         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2150         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
2151     }
2152     pub unsafe fn SetLeaseStopTime(&self, time: f64) -> ::windows::runtime::Result<()> {
2153         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(time)).ok()
2154     }
2155     pub unsafe fn AddressCount(&self) -> ::windows::runtime::Result<i32> {
2156         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2157         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2158     }
2159     #[cfg(feature = "Win32_Foundation")]
2160     pub unsafe fn ServerAddress(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2161         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2162         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2163     }
2164     pub unsafe fn TTL(&self) -> ::windows::runtime::Result<i32> {
2165         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2166         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2167     }
2168     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2169     pub unsafe fn Addresses(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
2170         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2171         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
2172     }
2173     pub unsafe fn EnumerateAddresses(&self) -> ::windows::runtime::Result<IEnumBstr> {
2174         let mut result__: <IEnumBstr as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2175         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumBstr>(result__)
2176     }
2177 }
2178 unsafe impl ::windows::runtime::Interface for IMcastLeaseInfo {
2179     type Vtable = IMcastLeaseInfo_abi;
2180     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3742215933, 41609, 4561, [134, 151, 0, 96, 8, 176, 229, 210]);
2181 }
2182 impl ::std::convert::From<IMcastLeaseInfo> for ::windows::runtime::IUnknown {
2183     fn from(value: IMcastLeaseInfo) -> Self {
2184         unsafe { ::std::mem::transmute(value) }
2185     }
2186 }
2187 impl ::std::convert::From<&IMcastLeaseInfo> for ::windows::runtime::IUnknown {
2188     fn from(value: &IMcastLeaseInfo) -> Self {
2189         ::std::convert::From::from(::std::clone::Clone::clone(value))
2190     }
2191 }
2192 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMcastLeaseInfo {
2193     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2194         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2195     }
2196 }
2197 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMcastLeaseInfo {
2198     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2199         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2200     }
2201 }
2202 #[cfg(feature = "Win32_System_Ole_Automation")]
2203 impl ::std::convert::From<IMcastLeaseInfo> for super::super::System::Ole::Automation::IDispatch {
2204     fn from(value: IMcastLeaseInfo) -> Self {
2205         unsafe { ::std::mem::transmute(value) }
2206     }
2207 }
2208 #[cfg(feature = "Win32_System_Ole_Automation")]
2209 impl ::std::convert::From<&IMcastLeaseInfo> for super::super::System::Ole::Automation::IDispatch {
2210     fn from(value: &IMcastLeaseInfo) -> Self {
2211         ::std::convert::From::from(::std::clone::Clone::clone(value))
2212     }
2213 }
2214 #[cfg(feature = "Win32_System_Ole_Automation")]
2215 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IMcastLeaseInfo {
2216     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2217         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
2218     }
2219 }
2220 #[cfg(feature = "Win32_System_Ole_Automation")]
2221 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IMcastLeaseInfo {
2222     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2223         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
2224     }
2225 }
2226 #[repr(C)]
2227 #[doc(hidden)]
2228 pub struct IMcastLeaseInfo_abi(
2229     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2230     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2231     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2232     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
2233     #[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,
2234     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
2235     #[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,
2236     #[cfg(not(feature = "Win32_Foundation"))] usize,
2237     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2238     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,
2239     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2240     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprequestid: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2241     #[cfg(not(feature = "Win32_Foundation"))] usize,
2242     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptime: *mut f64) -> ::windows::runtime::HRESULT,
2243     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, time: f64) -> ::windows::runtime::HRESULT,
2244     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptime: *mut f64) -> ::windows::runtime::HRESULT,
2245     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, time: f64) -> ::windows::runtime::HRESULT,
2246     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcount: *mut i32) -> ::windows::runtime::HRESULT,
2247     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppaddress: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2248     #[cfg(not(feature = "Win32_Foundation"))] usize,
2249     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pttl: *mut i32) -> ::windows::runtime::HRESULT,
2250     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
2251     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2252     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumaddresses: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2253 );
2254 #[repr(transparent)]
2255 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2256 pub struct IMcastScope(::windows::runtime::IUnknown);
2257 impl IMcastScope {
2258     pub unsafe fn ScopeID(&self) -> ::windows::runtime::Result<i32> {
2259         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2260         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2261     }
2262     pub unsafe fn ServerID(&self) -> ::windows::runtime::Result<i32> {
2263         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2264         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2265     }
2266     pub unsafe fn InterfaceID(&self) -> ::windows::runtime::Result<i32> {
2267         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2268         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2269     }
2270     #[cfg(feature = "Win32_Foundation")]
2271     pub unsafe fn ScopeDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2272         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2273         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2274     }
2275     pub unsafe fn TTL(&self) -> ::windows::runtime::Result<i32> {
2276         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2277         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2278     }
2279 }
2280 unsafe impl ::windows::runtime::Interface for IMcastScope {
2281     type Vtable = IMcastScope_abi;
2282     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3742215924, 41609, 4561, [134, 151, 0, 96, 8, 176, 229, 210]);
2283 }
2284 impl ::std::convert::From<IMcastScope> for ::windows::runtime::IUnknown {
2285     fn from(value: IMcastScope) -> Self {
2286         unsafe { ::std::mem::transmute(value) }
2287     }
2288 }
2289 impl ::std::convert::From<&IMcastScope> for ::windows::runtime::IUnknown {
2290     fn from(value: &IMcastScope) -> Self {
2291         ::std::convert::From::from(::std::clone::Clone::clone(value))
2292     }
2293 }
2294 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMcastScope {
2295     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2296         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2297     }
2298 }
2299 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMcastScope {
2300     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2301         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2302     }
2303 }
2304 #[cfg(feature = "Win32_System_Ole_Automation")]
2305 impl ::std::convert::From<IMcastScope> for super::super::System::Ole::Automation::IDispatch {
2306     fn from(value: IMcastScope) -> Self {
2307         unsafe { ::std::mem::transmute(value) }
2308     }
2309 }
2310 #[cfg(feature = "Win32_System_Ole_Automation")]
2311 impl ::std::convert::From<&IMcastScope> for super::super::System::Ole::Automation::IDispatch {
2312     fn from(value: &IMcastScope) -> Self {
2313         ::std::convert::From::from(::std::clone::Clone::clone(value))
2314     }
2315 }
2316 #[cfg(feature = "Win32_System_Ole_Automation")]
2317 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IMcastScope {
2318     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2319         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
2320     }
2321 }
2322 #[cfg(feature = "Win32_System_Ole_Automation")]
2323 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IMcastScope {
2324     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2325         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
2326     }
2327 }
2328 #[repr(C)]
2329 #[doc(hidden)]
2330 pub struct IMcastScope_abi(
2331     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2332     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2333     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2334     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
2335     #[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,
2336     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
2337     #[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,
2338     #[cfg(not(feature = "Win32_Foundation"))] usize,
2339     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2340     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,
2341     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2342     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pid: *mut i32) -> ::windows::runtime::HRESULT,
2343     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pid: *mut i32) -> ::windows::runtime::HRESULT,
2344     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pid: *mut i32) -> ::windows::runtime::HRESULT,
2345     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppdescription: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2346     #[cfg(not(feature = "Win32_Foundation"))] usize,
2347     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pttl: *mut i32) -> ::windows::runtime::HRESULT,
2348 );
2349 pub const INITIALIZE_NEGOTIATION: u32 = 4294967295u32;
2350 pub const INTERFACEMASK: u32 = 16711680u32;
2351 #[repr(transparent)]
2352 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2353 pub struct ITACDGroup(::windows::runtime::IUnknown);
2354 impl ITACDGroup {
2355     #[cfg(feature = "Win32_Foundation")]
2356     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2357         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2358         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2359     }
2360     pub unsafe fn EnumerateQueues(&self) -> ::windows::runtime::Result<IEnumQueue> {
2361         let mut result__: <IEnumQueue as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2362         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumQueue>(result__)
2363     }
2364     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2365     pub unsafe fn Queues(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
2366         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2367         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
2368     }
2369 }
2370 unsafe impl ::windows::runtime::Interface for ITACDGroup {
2371     type Vtable = ITACDGroup_abi;
2372     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1526477128, 19404, 4561, [191, 128, 0, 128, 95, 193, 71, 211]);
2373 }
2374 impl ::std::convert::From<ITACDGroup> for ::windows::runtime::IUnknown {
2375     fn from(value: ITACDGroup) -> Self {
2376         unsafe { ::std::mem::transmute(value) }
2377     }
2378 }
2379 impl ::std::convert::From<&ITACDGroup> for ::windows::runtime::IUnknown {
2380     fn from(value: &ITACDGroup) -> Self {
2381         ::std::convert::From::from(::std::clone::Clone::clone(value))
2382     }
2383 }
2384 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITACDGroup {
2385     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2386         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2387     }
2388 }
2389 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITACDGroup {
2390     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2391         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2392     }
2393 }
2394 #[cfg(feature = "Win32_System_Ole_Automation")]
2395 impl ::std::convert::From<ITACDGroup> for super::super::System::Ole::Automation::IDispatch {
2396     fn from(value: ITACDGroup) -> Self {
2397         unsafe { ::std::mem::transmute(value) }
2398     }
2399 }
2400 #[cfg(feature = "Win32_System_Ole_Automation")]
2401 impl ::std::convert::From<&ITACDGroup> for super::super::System::Ole::Automation::IDispatch {
2402     fn from(value: &ITACDGroup) -> Self {
2403         ::std::convert::From::from(::std::clone::Clone::clone(value))
2404     }
2405 }
2406 #[cfg(feature = "Win32_System_Ole_Automation")]
2407 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITACDGroup {
2408     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2409         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
2410     }
2411 }
2412 #[cfg(feature = "Win32_System_Ole_Automation")]
2413 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITACDGroup {
2414     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2415         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
2416     }
2417 }
2418 #[repr(C)]
2419 #[doc(hidden)]
2420 pub struct ITACDGroup_abi(
2421     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2422     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2423     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2424     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
2425     #[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,
2426     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
2427     #[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,
2428     #[cfg(not(feature = "Win32_Foundation"))] usize,
2429     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2430     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,
2431     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2432     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2433     #[cfg(not(feature = "Win32_Foundation"))] usize,
2434     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumqueue: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2435     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
2436     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2437 );
2438 #[repr(transparent)]
2439 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2440 pub struct ITACDGroupEvent(::windows::runtime::IUnknown);
2441 impl ITACDGroupEvent {
2442     pub unsafe fn Group(&self) -> ::windows::runtime::Result<ITACDGroup> {
2443         let mut result__: <ITACDGroup as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2444         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITACDGroup>(result__)
2445     }
2446     pub unsafe fn Event(&self) -> ::windows::runtime::Result<ACDGROUP_EVENT> {
2447         let mut result__: <ACDGROUP_EVENT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2448         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ACDGROUP_EVENT>(result__)
2449     }
2450 }
2451 unsafe impl ::windows::runtime::Interface for ITACDGroupEvent {
2452     type Vtable = ITACDGroupEvent_abi;
2453     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(696201266, 48401, 4561, [160, 167, 0, 128, 95, 193, 71, 211]);
2454 }
2455 impl ::std::convert::From<ITACDGroupEvent> for ::windows::runtime::IUnknown {
2456     fn from(value: ITACDGroupEvent) -> Self {
2457         unsafe { ::std::mem::transmute(value) }
2458     }
2459 }
2460 impl ::std::convert::From<&ITACDGroupEvent> for ::windows::runtime::IUnknown {
2461     fn from(value: &ITACDGroupEvent) -> Self {
2462         ::std::convert::From::from(::std::clone::Clone::clone(value))
2463     }
2464 }
2465 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITACDGroupEvent {
2466     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2467         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2468     }
2469 }
2470 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITACDGroupEvent {
2471     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2472         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2473     }
2474 }
2475 #[cfg(feature = "Win32_System_Ole_Automation")]
2476 impl ::std::convert::From<ITACDGroupEvent> for super::super::System::Ole::Automation::IDispatch {
2477     fn from(value: ITACDGroupEvent) -> Self {
2478         unsafe { ::std::mem::transmute(value) }
2479     }
2480 }
2481 #[cfg(feature = "Win32_System_Ole_Automation")]
2482 impl ::std::convert::From<&ITACDGroupEvent> for super::super::System::Ole::Automation::IDispatch {
2483     fn from(value: &ITACDGroupEvent) -> Self {
2484         ::std::convert::From::from(::std::clone::Clone::clone(value))
2485     }
2486 }
2487 #[cfg(feature = "Win32_System_Ole_Automation")]
2488 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITACDGroupEvent {
2489     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2490         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
2491     }
2492 }
2493 #[cfg(feature = "Win32_System_Ole_Automation")]
2494 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITACDGroupEvent {
2495     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2496         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
2497     }
2498 }
2499 #[repr(C)]
2500 #[doc(hidden)]
2501 pub struct ITACDGroupEvent_abi(
2502     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2503     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2504     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2505     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
2506     #[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,
2507     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
2508     #[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,
2509     #[cfg(not(feature = "Win32_Foundation"))] usize,
2510     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2511     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,
2512     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2513     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppgroup: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2514     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pevent: *mut ACDGROUP_EVENT) -> ::windows::runtime::HRESULT,
2515 );
2516 #[repr(transparent)]
2517 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2518 pub struct ITAMMediaFormat(::windows::runtime::IUnknown);
2519 impl ITAMMediaFormat {
2520     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectShow"))]
2521     pub unsafe fn MediaFormat(&self) -> ::windows::runtime::Result<*mut super::super::Graphics::DirectShow::AM_MEDIA_TYPE> {
2522         let mut result__: <*mut super::super::Graphics::DirectShow::AM_MEDIA_TYPE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2523         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::Graphics::DirectShow::AM_MEDIA_TYPE>(result__)
2524     }
2525     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectShow"))]
2526     pub unsafe fn SetMediaFormat(&self, pmt: *const super::super::Graphics::DirectShow::AM_MEDIA_TYPE) -> ::windows::runtime::Result<()> {
2527         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmt)).ok()
2528     }
2529 }
2530 unsafe impl ::windows::runtime::Interface for ITAMMediaFormat {
2531     type Vtable = ITAMMediaFormat_abi;
2532     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(56945408, 19063, 4561, [166, 113, 0, 96, 151, 201, 162, 232]);
2533 }
2534 impl ::std::convert::From<ITAMMediaFormat> for ::windows::runtime::IUnknown {
2535     fn from(value: ITAMMediaFormat) -> Self {
2536         unsafe { ::std::mem::transmute(value) }
2537     }
2538 }
2539 impl ::std::convert::From<&ITAMMediaFormat> for ::windows::runtime::IUnknown {
2540     fn from(value: &ITAMMediaFormat) -> Self {
2541         ::std::convert::From::from(::std::clone::Clone::clone(value))
2542     }
2543 }
2544 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITAMMediaFormat {
2545     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2546         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2547     }
2548 }
2549 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITAMMediaFormat {
2550     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2551         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2552     }
2553 }
2554 #[repr(C)]
2555 #[doc(hidden)]
2556 pub struct ITAMMediaFormat_abi(
2557     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2558     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2559     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2560     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectShow"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppmt: *mut *mut super::super::Graphics::DirectShow::AM_MEDIA_TYPE) -> ::windows::runtime::HRESULT,
2561     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectShow")))] usize,
2562     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectShow"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmt: *const ::std::mem::ManuallyDrop<super::super::Graphics::DirectShow::AM_MEDIA_TYPE>) -> ::windows::runtime::HRESULT,
2563     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectShow")))] usize,
2564 );
2565 #[repr(transparent)]
2566 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2567 pub struct ITASRTerminalEvent(::windows::runtime::IUnknown);
2568 impl ITASRTerminalEvent {
2569     pub unsafe fn Terminal(&self) -> ::windows::runtime::Result<ITTerminal> {
2570         let mut result__: <ITTerminal as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2571         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITTerminal>(result__)
2572     }
2573     pub unsafe fn Call(&self) -> ::windows::runtime::Result<ITCallInfo> {
2574         let mut result__: <ITCallInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2575         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITCallInfo>(result__)
2576     }
2577     pub unsafe fn Error(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT> {
2578         let mut result__: <::windows::runtime::HRESULT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2579         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::HRESULT>(result__)
2580     }
2581 }
2582 unsafe impl ::windows::runtime::Interface for ITASRTerminalEvent {
2583     type Vtable = ITASRTerminalEvent_abi;
2584     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3993070082, 20393, 18044, [147, 63, 90, 21, 177, 35, 119, 215]);
2585 }
2586 impl ::std::convert::From<ITASRTerminalEvent> for ::windows::runtime::IUnknown {
2587     fn from(value: ITASRTerminalEvent) -> Self {
2588         unsafe { ::std::mem::transmute(value) }
2589     }
2590 }
2591 impl ::std::convert::From<&ITASRTerminalEvent> for ::windows::runtime::IUnknown {
2592     fn from(value: &ITASRTerminalEvent) -> Self {
2593         ::std::convert::From::from(::std::clone::Clone::clone(value))
2594     }
2595 }
2596 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITASRTerminalEvent {
2597     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2598         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2599     }
2600 }
2601 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITASRTerminalEvent {
2602     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2603         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2604     }
2605 }
2606 #[cfg(feature = "Win32_System_Ole_Automation")]
2607 impl ::std::convert::From<ITASRTerminalEvent> for super::super::System::Ole::Automation::IDispatch {
2608     fn from(value: ITASRTerminalEvent) -> Self {
2609         unsafe { ::std::mem::transmute(value) }
2610     }
2611 }
2612 #[cfg(feature = "Win32_System_Ole_Automation")]
2613 impl ::std::convert::From<&ITASRTerminalEvent> for super::super::System::Ole::Automation::IDispatch {
2614     fn from(value: &ITASRTerminalEvent) -> Self {
2615         ::std::convert::From::from(::std::clone::Clone::clone(value))
2616     }
2617 }
2618 #[cfg(feature = "Win32_System_Ole_Automation")]
2619 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITASRTerminalEvent {
2620     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2621         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
2622     }
2623 }
2624 #[cfg(feature = "Win32_System_Ole_Automation")]
2625 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITASRTerminalEvent {
2626     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2627         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
2628     }
2629 }
2630 #[repr(C)]
2631 #[doc(hidden)]
2632 pub struct ITASRTerminalEvent_abi(
2633     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2634     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2635     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2636     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
2637     #[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,
2638     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
2639     #[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,
2640     #[cfg(not(feature = "Win32_Foundation"))] usize,
2641     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2642     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,
2643     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2644     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppterminal: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2645     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcall: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2646     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, phrerrorcode: *mut ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
2647 );
2648 #[repr(transparent)]
2649 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2650 pub struct ITAddress(::windows::runtime::IUnknown);
2651 impl ITAddress {
2652     pub unsafe fn State(&self) -> ::windows::runtime::Result<ADDRESS_STATE> {
2653         let mut result__: <ADDRESS_STATE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2654         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ADDRESS_STATE>(result__)
2655     }
2656     #[cfg(feature = "Win32_Foundation")]
2657     pub unsafe fn AddressName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2658         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2659         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2660     }
2661     #[cfg(feature = "Win32_Foundation")]
2662     pub unsafe fn ServiceProviderName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2663         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2664         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2665     }
2666     pub unsafe fn TAPIObject(&self) -> ::windows::runtime::Result<ITTAPI> {
2667         let mut result__: <ITTAPI as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2668         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITTAPI>(result__)
2669     }
2670     #[cfg(feature = "Win32_Foundation")]
2671     pub unsafe fn CreateCall<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pdestaddress: Param0, laddresstype: i32, lmediatypes: i32) -> ::windows::runtime::Result<ITBasicCallControl> {
2672         let mut result__: <ITBasicCallControl as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2673         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), pdestaddress.into_param().abi(), ::std::mem::transmute(laddresstype), ::std::mem::transmute(lmediatypes), &mut result__).from_abi::<ITBasicCallControl>(result__)
2674     }
2675     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2676     pub unsafe fn Calls(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
2677         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2678         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
2679     }
2680     pub unsafe fn EnumerateCalls(&self) -> ::windows::runtime::Result<IEnumCall> {
2681         let mut result__: <IEnumCall as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2682         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumCall>(result__)
2683     }
2684     #[cfg(feature = "Win32_Foundation")]
2685     pub unsafe fn DialableAddress(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2686         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2687         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2688     }
2689     pub unsafe fn CreateForwardInfoObject(&self) -> ::windows::runtime::Result<ITForwardInformation> {
2690         let mut result__: <ITForwardInformation as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2691         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITForwardInformation>(result__)
2692     }
2693     pub unsafe fn Forward<'a, Param0: ::windows::runtime::IntoParam<'a, ITForwardInformation>, Param1: ::windows::runtime::IntoParam<'a, ITBasicCallControl>>(&self, pforwardinfo: Param0, pcall: Param1) -> ::windows::runtime::Result<()> {
2694         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), pforwardinfo.into_param().abi(), pcall.into_param().abi()).ok()
2695     }
2696     pub unsafe fn CurrentForwardInfo(&self) -> ::windows::runtime::Result<ITForwardInformation> {
2697         let mut result__: <ITForwardInformation as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2698         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITForwardInformation>(result__)
2699     }
2700     pub unsafe fn SetMessageWaiting(&self, fmessagewaiting: i16) -> ::windows::runtime::Result<()> {
2701         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(fmessagewaiting)).ok()
2702     }
2703     pub unsafe fn MessageWaiting(&self) -> ::windows::runtime::Result<i16> {
2704         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2705         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
2706     }
2707     pub unsafe fn SetDoNotDisturb(&self, fdonotdisturb: i16) -> ::windows::runtime::Result<()> {
2708         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(fdonotdisturb)).ok()
2709     }
2710     pub unsafe fn DoNotDisturb(&self) -> ::windows::runtime::Result<i16> {
2711         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2712         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
2713     }
2714 }
2715 unsafe impl ::windows::runtime::Interface for ITAddress {
2716     type Vtable = ITAddress_abi;
2717     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2985280390, 37717, 4560, [131, 92, 0, 170, 0, 60, 202, 189]);
2718 }
2719 impl ::std::convert::From<ITAddress> for ::windows::runtime::IUnknown {
2720     fn from(value: ITAddress) -> Self {
2721         unsafe { ::std::mem::transmute(value) }
2722     }
2723 }
2724 impl ::std::convert::From<&ITAddress> for ::windows::runtime::IUnknown {
2725     fn from(value: &ITAddress) -> Self {
2726         ::std::convert::From::from(::std::clone::Clone::clone(value))
2727     }
2728 }
2729 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITAddress {
2730     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2731         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2732     }
2733 }
2734 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITAddress {
2735     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2736         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2737     }
2738 }
2739 #[cfg(feature = "Win32_System_Ole_Automation")]
2740 impl ::std::convert::From<ITAddress> for super::super::System::Ole::Automation::IDispatch {
2741     fn from(value: ITAddress) -> Self {
2742         unsafe { ::std::mem::transmute(value) }
2743     }
2744 }
2745 #[cfg(feature = "Win32_System_Ole_Automation")]
2746 impl ::std::convert::From<&ITAddress> for super::super::System::Ole::Automation::IDispatch {
2747     fn from(value: &ITAddress) -> Self {
2748         ::std::convert::From::from(::std::clone::Clone::clone(value))
2749     }
2750 }
2751 #[cfg(feature = "Win32_System_Ole_Automation")]
2752 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITAddress {
2753     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2754         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
2755     }
2756 }
2757 #[cfg(feature = "Win32_System_Ole_Automation")]
2758 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITAddress {
2759     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2760         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
2761     }
2762 }
2763 #[repr(C)]
2764 #[doc(hidden)]
2765 pub struct ITAddress_abi(
2766     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2767     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2768     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2769     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
2770     #[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,
2771     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
2772     #[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,
2773     #[cfg(not(feature = "Win32_Foundation"))] usize,
2774     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2775     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,
2776     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2777     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paddressstate: *mut ADDRESS_STATE) -> ::windows::runtime::HRESULT,
2778     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2779     #[cfg(not(feature = "Win32_Foundation"))] usize,
2780     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2781     #[cfg(not(feature = "Win32_Foundation"))] usize,
2782     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pptapiobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2783     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdestaddress: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, laddresstype: i32, lmediatypes: i32, ppcall: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2784     #[cfg(not(feature = "Win32_Foundation"))] usize,
2785     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
2786     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2787     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcallenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2788     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdialableaddress: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2789     #[cfg(not(feature = "Win32_Foundation"))] usize,
2790     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppforwardinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2791     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pforwardinfo: ::windows::runtime::RawPtr, pcall: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2792     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppforwardinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2793     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fmessagewaiting: i16) -> ::windows::runtime::HRESULT,
2794     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfmessagewaiting: *mut i16) -> ::windows::runtime::HRESULT,
2795     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fdonotdisturb: i16) -> ::windows::runtime::HRESULT,
2796     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfdonotdisturb: *mut i16) -> ::windows::runtime::HRESULT,
2797 );
2798 #[repr(transparent)]
2799 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2800 pub struct ITAddress2(::windows::runtime::IUnknown);
2801 impl ITAddress2 {
2802     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
2803         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2804         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2805     }
2806     #[cfg(feature = "Win32_System_Ole_Automation")]
2807     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
2808         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2809         (::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__)
2810     }
2811     #[cfg(feature = "Win32_Foundation")]
2812     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<()> {
2813         (::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()
2814     }
2815     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2816     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<()> {
2817         (::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()
2818     }
2819     pub unsafe fn State(&self) -> ::windows::runtime::Result<ADDRESS_STATE> {
2820         let mut result__: <ADDRESS_STATE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2821         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ADDRESS_STATE>(result__)
2822     }
2823     #[cfg(feature = "Win32_Foundation")]
2824     pub unsafe fn AddressName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2825         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2826         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2827     }
2828     #[cfg(feature = "Win32_Foundation")]
2829     pub unsafe fn ServiceProviderName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2830         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2831         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2832     }
2833     pub unsafe fn TAPIObject(&self) -> ::windows::runtime::Result<ITTAPI> {
2834         let mut result__: <ITTAPI as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2835         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITTAPI>(result__)
2836     }
2837     #[cfg(feature = "Win32_Foundation")]
2838     pub unsafe fn CreateCall<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pdestaddress: Param0, laddresstype: i32, lmediatypes: i32) -> ::windows::runtime::Result<ITBasicCallControl> {
2839         let mut result__: <ITBasicCallControl as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2840         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), pdestaddress.into_param().abi(), ::std::mem::transmute(laddresstype), ::std::mem::transmute(lmediatypes), &mut result__).from_abi::<ITBasicCallControl>(result__)
2841     }
2842     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2843     pub unsafe fn Calls(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
2844         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2845         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
2846     }
2847     pub unsafe fn EnumerateCalls(&self) -> ::windows::runtime::Result<IEnumCall> {
2848         let mut result__: <IEnumCall as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2849         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumCall>(result__)
2850     }
2851     #[cfg(feature = "Win32_Foundation")]
2852     pub unsafe fn DialableAddress(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2853         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2854         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2855     }
2856     pub unsafe fn CreateForwardInfoObject(&self) -> ::windows::runtime::Result<ITForwardInformation> {
2857         let mut result__: <ITForwardInformation as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2858         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITForwardInformation>(result__)
2859     }
2860     pub unsafe fn Forward<'a, Param0: ::windows::runtime::IntoParam<'a, ITForwardInformation>, Param1: ::windows::runtime::IntoParam<'a, ITBasicCallControl>>(&self, pforwardinfo: Param0, pcall: Param1) -> ::windows::runtime::Result<()> {
2861         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), pforwardinfo.into_param().abi(), pcall.into_param().abi()).ok()
2862     }
2863     pub unsafe fn CurrentForwardInfo(&self) -> ::windows::runtime::Result<ITForwardInformation> {
2864         let mut result__: <ITForwardInformation as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2865         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITForwardInformation>(result__)
2866     }
2867     pub unsafe fn SetMessageWaiting(&self, fmessagewaiting: i16) -> ::windows::runtime::Result<()> {
2868         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(fmessagewaiting)).ok()
2869     }
2870     pub unsafe fn MessageWaiting(&self) -> ::windows::runtime::Result<i16> {
2871         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2872         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
2873     }
2874     pub unsafe fn SetDoNotDisturb(&self, fdonotdisturb: i16) -> ::windows::runtime::Result<()> {
2875         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(fdonotdisturb)).ok()
2876     }
2877     pub unsafe fn DoNotDisturb(&self) -> ::windows::runtime::Result<i16> {
2878         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2879         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
2880     }
2881     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2882     pub unsafe fn Phones(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
2883         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2884         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
2885     }
2886     pub unsafe fn EnumeratePhones(&self) -> ::windows::runtime::Result<IEnumPhone> {
2887         let mut result__: <IEnumPhone as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2888         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumPhone>(result__)
2889     }
2890     pub unsafe fn GetPhoneFromTerminal<'a, Param0: ::windows::runtime::IntoParam<'a, ITTerminal>>(&self, pterminal: Param0) -> ::windows::runtime::Result<ITPhone> {
2891         let mut result__: <ITPhone as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2892         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), pterminal.into_param().abi(), &mut result__).from_abi::<ITPhone>(result__)
2893     }
2894     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2895     pub unsafe fn PreferredPhones(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
2896         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2897         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
2898     }
2899     pub unsafe fn EnumeratePreferredPhones(&self) -> ::windows::runtime::Result<IEnumPhone> {
2900         let mut result__: <IEnumPhone as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2901         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumPhone>(result__)
2902     }
2903     pub unsafe fn EventFilter(&self, tapievent: TAPI_EVENT, lsubevent: i32) -> ::windows::runtime::Result<i16> {
2904         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2905         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(tapievent), ::std::mem::transmute(lsubevent), &mut result__).from_abi::<i16>(result__)
2906     }
2907     pub unsafe fn SetEventFilter(&self, tapievent: TAPI_EVENT, lsubevent: i32, benable: i16) -> ::windows::runtime::Result<()> {
2908         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(tapievent), ::std::mem::transmute(lsubevent), ::std::mem::transmute(benable)).ok()
2909     }
2910     pub unsafe fn DeviceSpecific<'a, Param0: ::windows::runtime::IntoParam<'a, ITCallInfo>>(&self, pcall: Param0, pparams: *const u8, dwsize: u32) -> ::windows::runtime::Result<()> {
2911         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), pcall.into_param().abi(), ::std::mem::transmute(pparams), ::std::mem::transmute(dwsize)).ok()
2912     }
2913     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2914     pub unsafe fn DeviceSpecificVariant<'a, Param0: ::windows::runtime::IntoParam<'a, ITCallInfo>, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, pcall: Param0, vardevspecificbytearray: Param1) -> ::windows::runtime::Result<()> {
2915         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), pcall.into_param().abi(), vardevspecificbytearray.into_param().abi()).ok()
2916     }
2917     pub unsafe fn NegotiateExtVersion(&self, llowversion: i32, lhighversion: i32) -> ::windows::runtime::Result<i32> {
2918         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2919         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), ::std::mem::transmute(llowversion), ::std::mem::transmute(lhighversion), &mut result__).from_abi::<i32>(result__)
2920     }
2921 }
2922 unsafe impl ::windows::runtime::Interface for ITAddress2 {
2923     type Vtable = ITAddress2_abi;
2924     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2964217243, 48721, 18121, [176, 247, 223, 168, 162, 42, 139, 196]);
2925 }
2926 impl ::std::convert::From<ITAddress2> for ::windows::runtime::IUnknown {
2927     fn from(value: ITAddress2) -> Self {
2928         unsafe { ::std::mem::transmute(value) }
2929     }
2930 }
2931 impl ::std::convert::From<&ITAddress2> for ::windows::runtime::IUnknown {
2932     fn from(value: &ITAddress2) -> Self {
2933         ::std::convert::From::from(::std::clone::Clone::clone(value))
2934     }
2935 }
2936 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITAddress2 {
2937     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2938         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2939     }
2940 }
2941 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITAddress2 {
2942     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2943         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2944     }
2945 }
2946 impl ::std::convert::From<ITAddress2> for ITAddress {
2947     fn from(value: ITAddress2) -> Self {
2948         unsafe { ::std::mem::transmute(value) }
2949     }
2950 }
2951 impl ::std::convert::From<&ITAddress2> for ITAddress {
2952     fn from(value: &ITAddress2) -> Self {
2953         ::std::convert::From::from(::std::clone::Clone::clone(value))
2954     }
2955 }
2956 impl<'a> ::windows::runtime::IntoParam<'a, ITAddress> for ITAddress2 {
2957     fn into_param(self) -> ::windows::runtime::Param<'a, ITAddress> {
2958         ::windows::runtime::Param::Owned(::std::convert::Into::<ITAddress>::into(self))
2959     }
2960 }
2961 impl<'a> ::windows::runtime::IntoParam<'a, ITAddress> for &ITAddress2 {
2962     fn into_param(self) -> ::windows::runtime::Param<'a, ITAddress> {
2963         ::windows::runtime::Param::Owned(::std::convert::Into::<ITAddress>::into(::std::clone::Clone::clone(self)))
2964     }
2965 }
2966 #[cfg(feature = "Win32_System_Ole_Automation")]
2967 impl ::std::convert::From<ITAddress2> for super::super::System::Ole::Automation::IDispatch {
2968     fn from(value: ITAddress2) -> Self {
2969         unsafe { ::std::mem::transmute(value) }
2970     }
2971 }
2972 #[cfg(feature = "Win32_System_Ole_Automation")]
2973 impl ::std::convert::From<&ITAddress2> for super::super::System::Ole::Automation::IDispatch {
2974     fn from(value: &ITAddress2) -> Self {
2975         ::std::convert::From::from(::std::clone::Clone::clone(value))
2976     }
2977 }
2978 #[cfg(feature = "Win32_System_Ole_Automation")]
2979 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITAddress2 {
2980     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2981         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
2982     }
2983 }
2984 #[cfg(feature = "Win32_System_Ole_Automation")]
2985 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITAddress2 {
2986     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2987         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
2988     }
2989 }
2990 #[repr(C)]
2991 #[doc(hidden)]
2992 pub struct ITAddress2_abi(
2993     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2994     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2995     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2996     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
2997     #[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,
2998     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
2999     #[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,
3000     #[cfg(not(feature = "Win32_Foundation"))] usize,
3001     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3002     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,
3003     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3004     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paddressstate: *mut ADDRESS_STATE) -> ::windows::runtime::HRESULT,
3005     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3006     #[cfg(not(feature = "Win32_Foundation"))] usize,
3007     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3008     #[cfg(not(feature = "Win32_Foundation"))] usize,
3009     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pptapiobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3010     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdestaddress: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, laddresstype: i32, lmediatypes: i32, ppcall: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3011     #[cfg(not(feature = "Win32_Foundation"))] usize,
3012     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
3013     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3014     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcallenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3015     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdialableaddress: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3016     #[cfg(not(feature = "Win32_Foundation"))] usize,
3017     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppforwardinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3018     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pforwardinfo: ::windows::runtime::RawPtr, pcall: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3019     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppforwardinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3020     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fmessagewaiting: i16) -> ::windows::runtime::HRESULT,
3021     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfmessagewaiting: *mut i16) -> ::windows::runtime::HRESULT,
3022     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fdonotdisturb: i16) -> ::windows::runtime::HRESULT,
3023     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfdonotdisturb: *mut i16) -> ::windows::runtime::HRESULT,
3024     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pphones: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
3025     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3026     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumphone: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3027     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pterminal: ::windows::runtime::RawPtr, ppphone: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3028     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pphones: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
3029     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3030     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumphone: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3031     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, tapievent: TAPI_EVENT, lsubevent: i32, penable: *mut i16) -> ::windows::runtime::HRESULT,
3032     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, tapievent: TAPI_EVENT, lsubevent: i32, benable: i16) -> ::windows::runtime::HRESULT,
3033     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcall: ::windows::runtime::RawPtr, pparams: *const u8, dwsize: u32) -> ::windows::runtime::HRESULT,
3034     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcall: ::windows::runtime::RawPtr, vardevspecificbytearray: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
3035     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3036     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, llowversion: i32, lhighversion: i32, plextversion: *mut i32) -> ::windows::runtime::HRESULT,
3037 );
3038 #[repr(transparent)]
3039 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3040 pub struct ITAddressCapabilities(::windows::runtime::IUnknown);
3041 impl ITAddressCapabilities {
3042     pub unsafe fn AddressCapability(&self, addresscap: ADDRESS_CAPABILITY) -> ::windows::runtime::Result<i32> {
3043         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3044         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(addresscap), &mut result__).from_abi::<i32>(result__)
3045     }
3046     #[cfg(feature = "Win32_Foundation")]
3047     pub unsafe fn AddressCapabilityString(&self, addresscapstring: ADDRESS_CAPABILITY_STRING) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3048         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3049         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(addresscapstring), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3050     }
3051     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3052     pub unsafe fn CallTreatments(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
3053         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3054         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
3055     }
3056     pub unsafe fn EnumerateCallTreatments(&self) -> ::windows::runtime::Result<IEnumBstr> {
3057         let mut result__: <IEnumBstr as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3058         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumBstr>(result__)
3059     }
3060     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3061     pub unsafe fn CompletionMessages(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
3062         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3063         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
3064     }
3065     pub unsafe fn EnumerateCompletionMessages(&self) -> ::windows::runtime::Result<IEnumBstr> {
3066         let mut result__: <IEnumBstr as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3067         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumBstr>(result__)
3068     }
3069     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3070     pub unsafe fn DeviceClasses(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
3071         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3072         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
3073     }
3074     pub unsafe fn EnumerateDeviceClasses(&self) -> ::windows::runtime::Result<IEnumBstr> {
3075         let mut result__: <IEnumBstr as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3076         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumBstr>(result__)
3077     }
3078 }
3079 unsafe impl ::windows::runtime::Interface for ITAddressCapabilities {
3080     type Vtable = ITAddressCapabilities_abi;
3081     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2381460213, 33307, 4561, [187, 92, 0, 192, 79, 182, 128, 159]);
3082 }
3083 impl ::std::convert::From<ITAddressCapabilities> for ::windows::runtime::IUnknown {
3084     fn from(value: ITAddressCapabilities) -> Self {
3085         unsafe { ::std::mem::transmute(value) }
3086     }
3087 }
3088 impl ::std::convert::From<&ITAddressCapabilities> for ::windows::runtime::IUnknown {
3089     fn from(value: &ITAddressCapabilities) -> Self {
3090         ::std::convert::From::from(::std::clone::Clone::clone(value))
3091     }
3092 }
3093 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITAddressCapabilities {
3094     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3095         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3096     }
3097 }
3098 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITAddressCapabilities {
3099     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3100         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3101     }
3102 }
3103 #[cfg(feature = "Win32_System_Ole_Automation")]
3104 impl ::std::convert::From<ITAddressCapabilities> for super::super::System::Ole::Automation::IDispatch {
3105     fn from(value: ITAddressCapabilities) -> Self {
3106         unsafe { ::std::mem::transmute(value) }
3107     }
3108 }
3109 #[cfg(feature = "Win32_System_Ole_Automation")]
3110 impl ::std::convert::From<&ITAddressCapabilities> for super::super::System::Ole::Automation::IDispatch {
3111     fn from(value: &ITAddressCapabilities) -> Self {
3112         ::std::convert::From::from(::std::clone::Clone::clone(value))
3113     }
3114 }
3115 #[cfg(feature = "Win32_System_Ole_Automation")]
3116 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITAddressCapabilities {
3117     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3118         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
3119     }
3120 }
3121 #[cfg(feature = "Win32_System_Ole_Automation")]
3122 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITAddressCapabilities {
3123     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3124         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
3125     }
3126 }
3127 #[repr(C)]
3128 #[doc(hidden)]
3129 pub struct ITAddressCapabilities_abi(
3130     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3131     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3132     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3133     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
3134     #[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,
3135     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
3136     #[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,
3137     #[cfg(not(feature = "Win32_Foundation"))] usize,
3138     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3139     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,
3140     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3141     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, addresscap: ADDRESS_CAPABILITY, plcapability: *mut i32) -> ::windows::runtime::HRESULT,
3142     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, addresscapstring: ADDRESS_CAPABILITY_STRING, ppcapabilitystring: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3143     #[cfg(not(feature = "Win32_Foundation"))] usize,
3144     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
3145     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3146     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumcalltreatment: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3147     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
3148     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3149     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumcompletionmessage: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3150     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
3151     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3152     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumdeviceclass: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3153 );
3154 #[repr(transparent)]
3155 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3156 pub struct ITAddressDeviceSpecificEvent(::windows::runtime::IUnknown);
3157 impl ITAddressDeviceSpecificEvent {
3158     pub unsafe fn Address(&self) -> ::windows::runtime::Result<ITAddress> {
3159         let mut result__: <ITAddress as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3160         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITAddress>(result__)
3161     }
3162     pub unsafe fn Call(&self) -> ::windows::runtime::Result<ITCallInfo> {
3163         let mut result__: <ITCallInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3164         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITCallInfo>(result__)
3165     }
3166     pub unsafe fn lParam1(&self) -> ::windows::runtime::Result<i32> {
3167         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3168         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3169     }
3170     pub unsafe fn lParam2(&self) -> ::windows::runtime::Result<i32> {
3171         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3172         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3173     }
3174     pub unsafe fn lParam3(&self) -> ::windows::runtime::Result<i32> {
3175         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3176         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3177     }
3178 }
3179 unsafe impl ::windows::runtime::Interface for ITAddressDeviceSpecificEvent {
3180     type Vtable = ITAddressDeviceSpecificEvent_abi;
3181     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(986390891, 16573, 18554, [134, 114, 92, 231, 123, 215, 227, 163]);
3182 }
3183 impl ::std::convert::From<ITAddressDeviceSpecificEvent> for ::windows::runtime::IUnknown {
3184     fn from(value: ITAddressDeviceSpecificEvent) -> Self {
3185         unsafe { ::std::mem::transmute(value) }
3186     }
3187 }
3188 impl ::std::convert::From<&ITAddressDeviceSpecificEvent> for ::windows::runtime::IUnknown {
3189     fn from(value: &ITAddressDeviceSpecificEvent) -> Self {
3190         ::std::convert::From::from(::std::clone::Clone::clone(value))
3191     }
3192 }
3193 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITAddressDeviceSpecificEvent {
3194     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3195         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3196     }
3197 }
3198 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITAddressDeviceSpecificEvent {
3199     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3200         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3201     }
3202 }
3203 #[cfg(feature = "Win32_System_Ole_Automation")]
3204 impl ::std::convert::From<ITAddressDeviceSpecificEvent> for super::super::System::Ole::Automation::IDispatch {
3205     fn from(value: ITAddressDeviceSpecificEvent) -> Self {
3206         unsafe { ::std::mem::transmute(value) }
3207     }
3208 }
3209 #[cfg(feature = "Win32_System_Ole_Automation")]
3210 impl ::std::convert::From<&ITAddressDeviceSpecificEvent> for super::super::System::Ole::Automation::IDispatch {
3211     fn from(value: &ITAddressDeviceSpecificEvent) -> Self {
3212         ::std::convert::From::from(::std::clone::Clone::clone(value))
3213     }
3214 }
3215 #[cfg(feature = "Win32_System_Ole_Automation")]
3216 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITAddressDeviceSpecificEvent {
3217     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3218         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
3219     }
3220 }
3221 #[cfg(feature = "Win32_System_Ole_Automation")]
3222 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITAddressDeviceSpecificEvent {
3223     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3224         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
3225     }
3226 }
3227 #[repr(C)]
3228 #[doc(hidden)]
3229 pub struct ITAddressDeviceSpecificEvent_abi(
3230     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3231     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3232     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3233     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
3234     #[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,
3235     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
3236     #[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,
3237     #[cfg(not(feature = "Win32_Foundation"))] usize,
3238     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3239     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,
3240     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3241     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppaddress: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3242     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcall: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3243     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pparam1: *mut i32) -> ::windows::runtime::HRESULT,
3244     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pparam2: *mut i32) -> ::windows::runtime::HRESULT,
3245     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pparam3: *mut i32) -> ::windows::runtime::HRESULT,
3246 );
3247 #[repr(transparent)]
3248 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3249 pub struct ITAddressEvent(::windows::runtime::IUnknown);
3250 impl ITAddressEvent {
3251     pub unsafe fn Address(&self) -> ::windows::runtime::Result<ITAddress> {
3252         let mut result__: <ITAddress as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3253         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITAddress>(result__)
3254     }
3255     pub unsafe fn Event(&self) -> ::windows::runtime::Result<ADDRESS_EVENT> {
3256         let mut result__: <ADDRESS_EVENT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3257         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ADDRESS_EVENT>(result__)
3258     }
3259     pub unsafe fn Terminal(&self) -> ::windows::runtime::Result<ITTerminal> {
3260         let mut result__: <ITTerminal as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3261         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITTerminal>(result__)
3262     }
3263 }
3264 unsafe impl ::windows::runtime::Interface for ITAddressEvent {
3265     type Vtable = ITAddressEvent_abi;
3266     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2199708369, 33717, 4561, [187, 92, 0, 192, 79, 182, 128, 159]);
3267 }
3268 impl ::std::convert::From<ITAddressEvent> for ::windows::runtime::IUnknown {
3269     fn from(value: ITAddressEvent) -> Self {
3270         unsafe { ::std::mem::transmute(value) }
3271     }
3272 }
3273 impl ::std::convert::From<&ITAddressEvent> for ::windows::runtime::IUnknown {
3274     fn from(value: &ITAddressEvent) -> Self {
3275         ::std::convert::From::from(::std::clone::Clone::clone(value))
3276     }
3277 }
3278 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITAddressEvent {
3279     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3280         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3281     }
3282 }
3283 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITAddressEvent {
3284     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3285         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3286     }
3287 }
3288 #[cfg(feature = "Win32_System_Ole_Automation")]
3289 impl ::std::convert::From<ITAddressEvent> for super::super::System::Ole::Automation::IDispatch {
3290     fn from(value: ITAddressEvent) -> Self {
3291         unsafe { ::std::mem::transmute(value) }
3292     }
3293 }
3294 #[cfg(feature = "Win32_System_Ole_Automation")]
3295 impl ::std::convert::From<&ITAddressEvent> for super::super::System::Ole::Automation::IDispatch {
3296     fn from(value: &ITAddressEvent) -> Self {
3297         ::std::convert::From::from(::std::clone::Clone::clone(value))
3298     }
3299 }
3300 #[cfg(feature = "Win32_System_Ole_Automation")]
3301 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITAddressEvent {
3302     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3303         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
3304     }
3305 }
3306 #[cfg(feature = "Win32_System_Ole_Automation")]
3307 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITAddressEvent {
3308     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3309         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
3310     }
3311 }
3312 #[repr(C)]
3313 #[doc(hidden)]
3314 pub struct ITAddressEvent_abi(
3315     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3316     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3317     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3318     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
3319     #[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,
3320     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
3321     #[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,
3322     #[cfg(not(feature = "Win32_Foundation"))] usize,
3323     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3324     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,
3325     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3326     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppaddress: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3327     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pevent: *mut ADDRESS_EVENT) -> ::windows::runtime::HRESULT,
3328     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppterminal: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3329 );
3330 #[repr(transparent)]
3331 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3332 pub struct ITAddressTranslation(::windows::runtime::IUnknown);
3333 impl ITAddressTranslation {
3334     #[cfg(feature = "Win32_Foundation")]
3335     pub unsafe fn TranslateAddress<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, paddresstotranslate: Param0, lcard: i32, ltranslateoptions: i32) -> ::windows::runtime::Result<ITAddressTranslationInfo> {
3336         let mut result__: <ITAddressTranslationInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3337         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), paddresstotranslate.into_param().abi(), ::std::mem::transmute(lcard), ::std::mem::transmute(ltranslateoptions), &mut result__).from_abi::<ITAddressTranslationInfo>(result__)
3338     }
3339     #[cfg(feature = "Win32_Foundation")]
3340     pub unsafe fn TranslateDialog<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, hwndowner: isize, paddressin: Param1) -> ::windows::runtime::Result<()> {
3341         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(hwndowner), paddressin.into_param().abi()).ok()
3342     }
3343     pub unsafe fn EnumerateLocations(&self) -> ::windows::runtime::Result<IEnumLocation> {
3344         let mut result__: <IEnumLocation as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3345         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumLocation>(result__)
3346     }
3347     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3348     pub unsafe fn Locations(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
3349         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3350         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
3351     }
3352     pub unsafe fn EnumerateCallingCards(&self) -> ::windows::runtime::Result<IEnumCallingCard> {
3353         let mut result__: <IEnumCallingCard as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3354         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumCallingCard>(result__)
3355     }
3356     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3357     pub unsafe fn CallingCards(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
3358         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3359         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
3360     }
3361 }
3362 unsafe impl ::windows::runtime::Interface for ITAddressTranslation {
3363     type Vtable = ITAddressTranslation_abi;
3364     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(206409475, 36315, 4561, [160, 158, 0, 128, 95, 193, 71, 211]);
3365 }
3366 impl ::std::convert::From<ITAddressTranslation> for ::windows::runtime::IUnknown {
3367     fn from(value: ITAddressTranslation) -> Self {
3368         unsafe { ::std::mem::transmute(value) }
3369     }
3370 }
3371 impl ::std::convert::From<&ITAddressTranslation> for ::windows::runtime::IUnknown {
3372     fn from(value: &ITAddressTranslation) -> Self {
3373         ::std::convert::From::from(::std::clone::Clone::clone(value))
3374     }
3375 }
3376 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITAddressTranslation {
3377     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3378         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3379     }
3380 }
3381 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITAddressTranslation {
3382     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3383         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3384     }
3385 }
3386 #[cfg(feature = "Win32_System_Ole_Automation")]
3387 impl ::std::convert::From<ITAddressTranslation> for super::super::System::Ole::Automation::IDispatch {
3388     fn from(value: ITAddressTranslation) -> Self {
3389         unsafe { ::std::mem::transmute(value) }
3390     }
3391 }
3392 #[cfg(feature = "Win32_System_Ole_Automation")]
3393 impl ::std::convert::From<&ITAddressTranslation> for super::super::System::Ole::Automation::IDispatch {
3394     fn from(value: &ITAddressTranslation) -> Self {
3395         ::std::convert::From::from(::std::clone::Clone::clone(value))
3396     }
3397 }
3398 #[cfg(feature = "Win32_System_Ole_Automation")]
3399 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITAddressTranslation {
3400     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3401         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
3402     }
3403 }
3404 #[cfg(feature = "Win32_System_Ole_Automation")]
3405 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITAddressTranslation {
3406     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3407         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
3408     }
3409 }
3410 #[repr(C)]
3411 #[doc(hidden)]
3412 pub struct ITAddressTranslation_abi(
3413     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3414     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3415     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3416     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
3417     #[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,
3418     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
3419     #[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,
3420     #[cfg(not(feature = "Win32_Foundation"))] usize,
3421     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3422     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,
3423     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3424     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paddresstotranslate: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, lcard: i32, ltranslateoptions: i32, pptranslated: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3425     #[cfg(not(feature = "Win32_Foundation"))] usize,
3426     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwndowner: isize, paddressin: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3427     #[cfg(not(feature = "Win32_Foundation"))] usize,
3428     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumlocation: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3429     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
3430     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3431     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumcallingcard: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3432     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
3433     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3434 );
3435 #[repr(transparent)]
3436 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3437 pub struct ITAddressTranslationInfo(::windows::runtime::IUnknown);
3438 impl ITAddressTranslationInfo {
3439     #[cfg(feature = "Win32_Foundation")]
3440     pub unsafe fn DialableString(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3441         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3442         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3443     }
3444     #[cfg(feature = "Win32_Foundation")]
3445     pub unsafe fn DisplayableString(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3446         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3447         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3448     }
3449     pub unsafe fn CurrentCountryCode(&self) -> ::windows::runtime::Result<i32> {
3450         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3451         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3452     }
3453     pub unsafe fn DestinationCountryCode(&self) -> ::windows::runtime::Result<i32> {
3454         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3455         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3456     }
3457     pub unsafe fn TranslationResults(&self) -> ::windows::runtime::Result<i32> {
3458         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3459         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3460     }
3461 }
3462 unsafe impl ::windows::runtime::Interface for ITAddressTranslationInfo {
3463     type Vtable = ITAddressTranslationInfo_abi;
3464     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2948684101, 36160, 4561, [160, 158, 0, 128, 95, 193, 71, 211]);
3465 }
3466 impl ::std::convert::From<ITAddressTranslationInfo> for ::windows::runtime::IUnknown {
3467     fn from(value: ITAddressTranslationInfo) -> Self {
3468         unsafe { ::std::mem::transmute(value) }
3469     }
3470 }
3471 impl ::std::convert::From<&ITAddressTranslationInfo> for ::windows::runtime::IUnknown {
3472     fn from(value: &ITAddressTranslationInfo) -> Self {
3473         ::std::convert::From::from(::std::clone::Clone::clone(value))
3474     }
3475 }
3476 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITAddressTranslationInfo {
3477     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3478         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3479     }
3480 }
3481 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITAddressTranslationInfo {
3482     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3483         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3484     }
3485 }
3486 #[cfg(feature = "Win32_System_Ole_Automation")]
3487 impl ::std::convert::From<ITAddressTranslationInfo> for super::super::System::Ole::Automation::IDispatch {
3488     fn from(value: ITAddressTranslationInfo) -> Self {
3489         unsafe { ::std::mem::transmute(value) }
3490     }
3491 }
3492 #[cfg(feature = "Win32_System_Ole_Automation")]
3493 impl ::std::convert::From<&ITAddressTranslationInfo> for super::super::System::Ole::Automation::IDispatch {
3494     fn from(value: &ITAddressTranslationInfo) -> Self {
3495         ::std::convert::From::from(::std::clone::Clone::clone(value))
3496     }
3497 }
3498 #[cfg(feature = "Win32_System_Ole_Automation")]
3499 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITAddressTranslationInfo {
3500     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3501         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
3502     }
3503 }
3504 #[cfg(feature = "Win32_System_Ole_Automation")]
3505 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITAddressTranslationInfo {
3506     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3507         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
3508     }
3509 }
3510 #[repr(C)]
3511 #[doc(hidden)]
3512 pub struct ITAddressTranslationInfo_abi(
3513     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3514     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3515     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3516     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
3517     #[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,
3518     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
3519     #[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,
3520     #[cfg(not(feature = "Win32_Foundation"))] usize,
3521     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3522     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,
3523     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3524     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppdialablestring: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3525     #[cfg(not(feature = "Win32_Foundation"))] usize,
3526     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppdisplayablestring: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3527     #[cfg(not(feature = "Win32_Foundation"))] usize,
3528     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, countrycode: *mut i32) -> ::windows::runtime::HRESULT,
3529     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, countrycode: *mut i32) -> ::windows::runtime::HRESULT,
3530     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plresults: *mut i32) -> ::windows::runtime::HRESULT,
3531 );
3532 #[repr(transparent)]
3533 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3534 pub struct ITAgent(::windows::runtime::IUnknown);
3535 impl ITAgent {
3536     pub unsafe fn EnumerateAgentSessions(&self) -> ::windows::runtime::Result<IEnumAgentSession> {
3537         let mut result__: <IEnumAgentSession as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3538         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumAgentSession>(result__)
3539     }
3540     pub unsafe fn CreateSession<'a, Param0: ::windows::runtime::IntoParam<'a, ITACDGroup>, Param1: ::windows::runtime::IntoParam<'a, ITAddress>>(&self, pacdgroup: Param0, paddress: Param1) -> ::windows::runtime::Result<ITAgentSession> {
3541         let mut result__: <ITAgentSession as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3542         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), pacdgroup.into_param().abi(), paddress.into_param().abi(), &mut result__).from_abi::<ITAgentSession>(result__)
3543     }
3544     #[cfg(feature = "Win32_Foundation")]
3545     pub unsafe fn CreateSessionWithPIN<'a, Param0: ::windows::runtime::IntoParam<'a, ITACDGroup>, Param1: ::windows::runtime::IntoParam<'a, ITAddress>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pacdgroup: Param0, paddress: Param1, ppin: Param2) -> ::windows::runtime::Result<ITAgentSession> {
3546         let mut result__: <ITAgentSession as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3547         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), pacdgroup.into_param().abi(), paddress.into_param().abi(), ppin.into_param().abi(), &mut result__).from_abi::<ITAgentSession>(result__)
3548     }
3549     #[cfg(feature = "Win32_Foundation")]
3550     pub unsafe fn ID(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3551         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3552         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3553     }
3554     #[cfg(feature = "Win32_Foundation")]
3555     pub unsafe fn User(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3556         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3557         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3558     }
3559     pub unsafe fn SetState(&self, agentstate: AGENT_STATE) -> ::windows::runtime::Result<()> {
3560         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(agentstate)).ok()
3561     }
3562     pub unsafe fn State(&self) -> ::windows::runtime::Result<AGENT_STATE> {
3563         let mut result__: <AGENT_STATE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3564         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<AGENT_STATE>(result__)
3565     }
3566     pub unsafe fn SetMeasurementPeriod(&self, lperiod: i32) -> ::windows::runtime::Result<()> {
3567         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(lperiod)).ok()
3568     }
3569     pub unsafe fn MeasurementPeriod(&self) -> ::windows::runtime::Result<i32> {
3570         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3571         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3572     }
3573     #[cfg(feature = "Win32_System_Com")]
3574     pub unsafe fn OverallCallRate(&self) -> ::windows::runtime::Result<super::super::System::Com::CY> {
3575         let mut result__: <super::super::System::Com::CY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3576         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::CY>(result__)
3577     }
3578     pub unsafe fn NumberOfACDCalls(&self) -> ::windows::runtime::Result<i32> {
3579         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3580         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3581     }
3582     pub unsafe fn NumberOfIncomingCalls(&self) -> ::windows::runtime::Result<i32> {
3583         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3584         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3585     }
3586     pub unsafe fn NumberOfOutgoingCalls(&self) -> ::windows::runtime::Result<i32> {
3587         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3588         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3589     }
3590     pub unsafe fn TotalACDTalkTime(&self) -> ::windows::runtime::Result<i32> {
3591         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3592         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3593     }
3594     pub unsafe fn TotalACDCallTime(&self) -> ::windows::runtime::Result<i32> {
3595         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3596         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3597     }
3598     pub unsafe fn TotalWrapUpTime(&self) -> ::windows::runtime::Result<i32> {
3599         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3600         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3601     }
3602     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3603     pub unsafe fn AgentSessions(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
3604         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3605         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
3606     }
3607 }
3608 unsafe impl ::windows::runtime::Interface for ITAgent {
3609     type Vtable = ITAgent_abi;
3610     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1467018469, 19239, 4561, [191, 128, 0, 128, 95, 193, 71, 211]);
3611 }
3612 impl ::std::convert::From<ITAgent> for ::windows::runtime::IUnknown {
3613     fn from(value: ITAgent) -> Self {
3614         unsafe { ::std::mem::transmute(value) }
3615     }
3616 }
3617 impl ::std::convert::From<&ITAgent> for ::windows::runtime::IUnknown {
3618     fn from(value: &ITAgent) -> Self {
3619         ::std::convert::From::from(::std::clone::Clone::clone(value))
3620     }
3621 }
3622 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITAgent {
3623     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3624         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3625     }
3626 }
3627 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITAgent {
3628     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3629         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3630     }
3631 }
3632 #[cfg(feature = "Win32_System_Ole_Automation")]
3633 impl ::std::convert::From<ITAgent> for super::super::System::Ole::Automation::IDispatch {
3634     fn from(value: ITAgent) -> Self {
3635         unsafe { ::std::mem::transmute(value) }
3636     }
3637 }
3638 #[cfg(feature = "Win32_System_Ole_Automation")]
3639 impl ::std::convert::From<&ITAgent> for super::super::System::Ole::Automation::IDispatch {
3640     fn from(value: &ITAgent) -> Self {
3641         ::std::convert::From::from(::std::clone::Clone::clone(value))
3642     }
3643 }
3644 #[cfg(feature = "Win32_System_Ole_Automation")]
3645 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITAgent {
3646     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3647         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
3648     }
3649 }
3650 #[cfg(feature = "Win32_System_Ole_Automation")]
3651 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITAgent {
3652     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3653         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
3654     }
3655 }
3656 #[repr(C)]
3657 #[doc(hidden)]
3658 pub struct ITAgent_abi(
3659     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3660     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3661     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3662     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
3663     #[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,
3664     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
3665     #[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,
3666     #[cfg(not(feature = "Win32_Foundation"))] usize,
3667     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3668     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,
3669     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3670     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumagentsession: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3671     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pacdgroup: ::windows::runtime::RawPtr, paddress: ::windows::runtime::RawPtr, ppagentsession: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3672     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pacdgroup: ::windows::runtime::RawPtr, paddress: ::windows::runtime::RawPtr, ppin: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, ppagentsession: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3673     #[cfg(not(feature = "Win32_Foundation"))] usize,
3674     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppid: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3675     #[cfg(not(feature = "Win32_Foundation"))] usize,
3676     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppuser: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3677     #[cfg(not(feature = "Win32_Foundation"))] usize,
3678     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, agentstate: AGENT_STATE) -> ::windows::runtime::HRESULT,
3679     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pagentstate: *mut AGENT_STATE) -> ::windows::runtime::HRESULT,
3680     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lperiod: i32) -> ::windows::runtime::HRESULT,
3681     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plperiod: *mut i32) -> ::windows::runtime::HRESULT,
3682     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcycallrate: *mut super::super::System::Com::CY) -> ::windows::runtime::HRESULT,
3683     #[cfg(not(feature = "Win32_System_Com"))] usize,
3684     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plcalls: *mut i32) -> ::windows::runtime::HRESULT,
3685     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plcalls: *mut i32) -> ::windows::runtime::HRESULT,
3686     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plcalls: *mut i32) -> ::windows::runtime::HRESULT,
3687     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pltalktime: *mut i32) -> ::windows::runtime::HRESULT,
3688     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plcalltime: *mut i32) -> ::windows::runtime::HRESULT,
3689     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plwrapuptime: *mut i32) -> ::windows::runtime::HRESULT,
3690     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
3691     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3692 );
3693 #[repr(transparent)]
3694 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3695 pub struct ITAgentEvent(::windows::runtime::IUnknown);
3696 impl ITAgentEvent {
3697     pub unsafe fn Agent(&self) -> ::windows::runtime::Result<ITAgent> {
3698         let mut result__: <ITAgent as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3699         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITAgent>(result__)
3700     }
3701     pub unsafe fn Event(&self) -> ::windows::runtime::Result<AGENT_EVENT> {
3702         let mut result__: <AGENT_EVENT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3703         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<AGENT_EVENT>(result__)
3704     }
3705 }
3706 unsafe impl ::windows::runtime::Interface for ITAgentEvent {
3707     type Vtable = ITAgentEvent_abi;
3708     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1526477130, 19404, 4561, [191, 128, 0, 128, 95, 193, 71, 211]);
3709 }
3710 impl ::std::convert::From<ITAgentEvent> for ::windows::runtime::IUnknown {
3711     fn from(value: ITAgentEvent) -> Self {
3712         unsafe { ::std::mem::transmute(value) }
3713     }
3714 }
3715 impl ::std::convert::From<&ITAgentEvent> for ::windows::runtime::IUnknown {
3716     fn from(value: &ITAgentEvent) -> Self {
3717         ::std::convert::From::from(::std::clone::Clone::clone(value))
3718     }
3719 }
3720 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITAgentEvent {
3721     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3722         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3723     }
3724 }
3725 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITAgentEvent {
3726     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3727         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3728     }
3729 }
3730 #[cfg(feature = "Win32_System_Ole_Automation")]
3731 impl ::std::convert::From<ITAgentEvent> for super::super::System::Ole::Automation::IDispatch {
3732     fn from(value: ITAgentEvent) -> Self {
3733         unsafe { ::std::mem::transmute(value) }
3734     }
3735 }
3736 #[cfg(feature = "Win32_System_Ole_Automation")]
3737 impl ::std::convert::From<&ITAgentEvent> for super::super::System::Ole::Automation::IDispatch {
3738     fn from(value: &ITAgentEvent) -> Self {
3739         ::std::convert::From::from(::std::clone::Clone::clone(value))
3740     }
3741 }
3742 #[cfg(feature = "Win32_System_Ole_Automation")]
3743 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITAgentEvent {
3744     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3745         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
3746     }
3747 }
3748 #[cfg(feature = "Win32_System_Ole_Automation")]
3749 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITAgentEvent {
3750     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3751         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
3752     }
3753 }
3754 #[repr(C)]
3755 #[doc(hidden)]
3756 pub struct ITAgentEvent_abi(
3757     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3758     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3759     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3760     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
3761     #[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,
3762     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
3763     #[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,
3764     #[cfg(not(feature = "Win32_Foundation"))] usize,
3765     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3766     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,
3767     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3768     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppagent: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3769     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pevent: *mut AGENT_EVENT) -> ::windows::runtime::HRESULT,
3770 );
3771 #[repr(transparent)]
3772 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3773 pub struct ITAgentHandler(::windows::runtime::IUnknown);
3774 impl ITAgentHandler {
3775     #[cfg(feature = "Win32_Foundation")]
3776     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3777         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3778         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3779     }
3780     pub unsafe fn CreateAgent(&self) -> ::windows::runtime::Result<ITAgent> {
3781         let mut result__: <ITAgent as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3782         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITAgent>(result__)
3783     }
3784     #[cfg(feature = "Win32_Foundation")]
3785     pub unsafe fn CreateAgentWithID<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pid: Param0, ppin: Param1) -> ::windows::runtime::Result<ITAgent> {
3786         let mut result__: <ITAgent as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3787         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), pid.into_param().abi(), ppin.into_param().abi(), &mut result__).from_abi::<ITAgent>(result__)
3788     }
3789     pub unsafe fn EnumerateACDGroups(&self) -> ::windows::runtime::Result<IEnumACDGroup> {
3790         let mut result__: <IEnumACDGroup as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3791         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumACDGroup>(result__)
3792     }
3793     pub unsafe fn EnumerateUsableAddresses(&self) -> ::windows::runtime::Result<IEnumAddress> {
3794         let mut result__: <IEnumAddress as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3795         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumAddress>(result__)
3796     }
3797     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3798     pub unsafe fn ACDGroups(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
3799         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3800         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
3801     }
3802     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3803     pub unsafe fn UsableAddresses(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
3804         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3805         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
3806     }
3807 }
3808 unsafe impl ::windows::runtime::Interface for ITAgentHandler {
3809     type Vtable = ITAgentHandler_abi;
3810     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1484688418, 38914, 4561, [160, 164, 0, 128, 95, 193, 71, 211]);
3811 }
3812 impl ::std::convert::From<ITAgentHandler> for ::windows::runtime::IUnknown {
3813     fn from(value: ITAgentHandler) -> Self {
3814         unsafe { ::std::mem::transmute(value) }
3815     }
3816 }
3817 impl ::std::convert::From<&ITAgentHandler> for ::windows::runtime::IUnknown {
3818     fn from(value: &ITAgentHandler) -> Self {
3819         ::std::convert::From::from(::std::clone::Clone::clone(value))
3820     }
3821 }
3822 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITAgentHandler {
3823     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3824         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3825     }
3826 }
3827 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITAgentHandler {
3828     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3829         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3830     }
3831 }
3832 #[cfg(feature = "Win32_System_Ole_Automation")]
3833 impl ::std::convert::From<ITAgentHandler> for super::super::System::Ole::Automation::IDispatch {
3834     fn from(value: ITAgentHandler) -> Self {
3835         unsafe { ::std::mem::transmute(value) }
3836     }
3837 }
3838 #[cfg(feature = "Win32_System_Ole_Automation")]
3839 impl ::std::convert::From<&ITAgentHandler> for super::super::System::Ole::Automation::IDispatch {
3840     fn from(value: &ITAgentHandler) -> Self {
3841         ::std::convert::From::from(::std::clone::Clone::clone(value))
3842     }
3843 }
3844 #[cfg(feature = "Win32_System_Ole_Automation")]
3845 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITAgentHandler {
3846     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3847         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
3848     }
3849 }
3850 #[cfg(feature = "Win32_System_Ole_Automation")]
3851 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITAgentHandler {
3852     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3853         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
3854     }
3855 }
3856 #[repr(C)]
3857 #[doc(hidden)]
3858 pub struct ITAgentHandler_abi(
3859     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3860     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3861     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3862     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
3863     #[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,
3864     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
3865     #[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,
3866     #[cfg(not(feature = "Win32_Foundation"))] usize,
3867     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3868     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,
3869     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3870     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3871     #[cfg(not(feature = "Win32_Foundation"))] usize,
3872     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppagent: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3873     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, ppin: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, ppagent: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3874     #[cfg(not(feature = "Win32_Foundation"))] usize,
3875     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumacdgroup: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3876     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumaddress: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3877     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
3878     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3879     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
3880     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3881 );
3882 #[repr(transparent)]
3883 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3884 pub struct ITAgentHandlerEvent(::windows::runtime::IUnknown);
3885 impl ITAgentHandlerEvent {
3886     pub unsafe fn AgentHandler(&self) -> ::windows::runtime::Result<ITAgentHandler> {
3887         let mut result__: <ITAgentHandler as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3888         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITAgentHandler>(result__)
3889     }
3890     pub unsafe fn Event(&self) -> ::windows::runtime::Result<AGENTHANDLER_EVENT> {
3891         let mut result__: <AGENTHANDLER_EVENT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3892         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<AGENTHANDLER_EVENT>(result__)
3893     }
3894 }
3895 unsafe impl ::windows::runtime::Interface for ITAgentHandlerEvent {
3896     type Vtable = ITAgentHandlerEvent_abi;
3897     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(696201268, 48401, 4561, [160, 167, 0, 128, 95, 193, 71, 211]);
3898 }
3899 impl ::std::convert::From<ITAgentHandlerEvent> for ::windows::runtime::IUnknown {
3900     fn from(value: ITAgentHandlerEvent) -> Self {
3901         unsafe { ::std::mem::transmute(value) }
3902     }
3903 }
3904 impl ::std::convert::From<&ITAgentHandlerEvent> for ::windows::runtime::IUnknown {
3905     fn from(value: &ITAgentHandlerEvent) -> Self {
3906         ::std::convert::From::from(::std::clone::Clone::clone(value))
3907     }
3908 }
3909 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITAgentHandlerEvent {
3910     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3911         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3912     }
3913 }
3914 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITAgentHandlerEvent {
3915     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3916         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3917     }
3918 }
3919 #[cfg(feature = "Win32_System_Ole_Automation")]
3920 impl ::std::convert::From<ITAgentHandlerEvent> for super::super::System::Ole::Automation::IDispatch {
3921     fn from(value: ITAgentHandlerEvent) -> Self {
3922         unsafe { ::std::mem::transmute(value) }
3923     }
3924 }
3925 #[cfg(feature = "Win32_System_Ole_Automation")]
3926 impl ::std::convert::From<&ITAgentHandlerEvent> for super::super::System::Ole::Automation::IDispatch {
3927     fn from(value: &ITAgentHandlerEvent) -> Self {
3928         ::std::convert::From::from(::std::clone::Clone::clone(value))
3929     }
3930 }
3931 #[cfg(feature = "Win32_System_Ole_Automation")]
3932 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITAgentHandlerEvent {
3933     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3934         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
3935     }
3936 }
3937 #[cfg(feature = "Win32_System_Ole_Automation")]
3938 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITAgentHandlerEvent {
3939     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3940         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
3941     }
3942 }
3943 #[repr(C)]
3944 #[doc(hidden)]
3945 pub struct ITAgentHandlerEvent_abi(
3946     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3947     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3948     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3949     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
3950     #[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,
3951     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
3952     #[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,
3953     #[cfg(not(feature = "Win32_Foundation"))] usize,
3954     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3955     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,
3956     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3957     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppagenthandler: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3958     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pevent: *mut AGENTHANDLER_EVENT) -> ::windows::runtime::HRESULT,
3959 );
3960 #[repr(transparent)]
3961 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3962 pub struct ITAgentSession(::windows::runtime::IUnknown);
3963 impl ITAgentSession {
3964     pub unsafe fn Agent(&self) -> ::windows::runtime::Result<ITAgent> {
3965         let mut result__: <ITAgent as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3966         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITAgent>(result__)
3967     }
3968     pub unsafe fn Address(&self) -> ::windows::runtime::Result<ITAddress> {
3969         let mut result__: <ITAddress as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3970         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITAddress>(result__)
3971     }
3972     pub unsafe fn ACDGroup(&self) -> ::windows::runtime::Result<ITACDGroup> {
3973         let mut result__: <ITACDGroup as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3974         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITACDGroup>(result__)
3975     }
3976     pub unsafe fn SetState(&self, sessionstate: AGENT_SESSION_STATE) -> ::windows::runtime::Result<()> {
3977         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(sessionstate)).ok()
3978     }
3979     pub unsafe fn State(&self) -> ::windows::runtime::Result<AGENT_SESSION_STATE> {
3980         let mut result__: <AGENT_SESSION_STATE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3981         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<AGENT_SESSION_STATE>(result__)
3982     }
3983     pub unsafe fn SessionStartTime(&self) -> ::windows::runtime::Result<f64> {
3984         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3985         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
3986     }
3987     pub unsafe fn SessionDuration(&self) -> ::windows::runtime::Result<i32> {
3988         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3989         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3990     }
3991     pub unsafe fn NumberOfCalls(&self) -> ::windows::runtime::Result<i32> {
3992         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3993         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3994     }
3995     pub unsafe fn TotalTalkTime(&self) -> ::windows::runtime::Result<i32> {
3996         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3997         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3998     }
3999     pub unsafe fn AverageTalkTime(&self) -> ::windows::runtime::Result<i32> {
4000         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4001         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4002     }
4003     pub unsafe fn TotalCallTime(&self) -> ::windows::runtime::Result<i32> {
4004         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4005         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4006     }
4007     pub unsafe fn AverageCallTime(&self) -> ::windows::runtime::Result<i32> {
4008         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4009         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4010     }
4011     pub unsafe fn TotalWrapUpTime(&self) -> ::windows::runtime::Result<i32> {
4012         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4013         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4014     }
4015     pub unsafe fn AverageWrapUpTime(&self) -> ::windows::runtime::Result<i32> {
4016         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4017         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4018     }
4019     #[cfg(feature = "Win32_System_Com")]
4020     pub unsafe fn ACDCallRate(&self) -> ::windows::runtime::Result<super::super::System::Com::CY> {
4021         let mut result__: <super::super::System::Com::CY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4022         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::CY>(result__)
4023     }
4024     pub unsafe fn LongestTimeToAnswer(&self) -> ::windows::runtime::Result<i32> {
4025         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4026         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4027     }
4028     pub unsafe fn AverageTimeToAnswer(&self) -> ::windows::runtime::Result<i32> {
4029         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4030         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4031     }
4032 }
4033 unsafe impl ::windows::runtime::Interface for ITAgentSession {
4034     type Vtable = ITAgentSession_abi;
4035     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1526477127, 19404, 4561, [191, 128, 0, 128, 95, 193, 71, 211]);
4036 }
4037 impl ::std::convert::From<ITAgentSession> for ::windows::runtime::IUnknown {
4038     fn from(value: ITAgentSession) -> Self {
4039         unsafe { ::std::mem::transmute(value) }
4040     }
4041 }
4042 impl ::std::convert::From<&ITAgentSession> for ::windows::runtime::IUnknown {
4043     fn from(value: &ITAgentSession) -> Self {
4044         ::std::convert::From::from(::std::clone::Clone::clone(value))
4045     }
4046 }
4047 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITAgentSession {
4048     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4049         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4050     }
4051 }
4052 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITAgentSession {
4053     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4054         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4055     }
4056 }
4057 #[cfg(feature = "Win32_System_Ole_Automation")]
4058 impl ::std::convert::From<ITAgentSession> for super::super::System::Ole::Automation::IDispatch {
4059     fn from(value: ITAgentSession) -> Self {
4060         unsafe { ::std::mem::transmute(value) }
4061     }
4062 }
4063 #[cfg(feature = "Win32_System_Ole_Automation")]
4064 impl ::std::convert::From<&ITAgentSession> for super::super::System::Ole::Automation::IDispatch {
4065     fn from(value: &ITAgentSession) -> Self {
4066         ::std::convert::From::from(::std::clone::Clone::clone(value))
4067     }
4068 }
4069 #[cfg(feature = "Win32_System_Ole_Automation")]
4070 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITAgentSession {
4071     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
4072         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
4073     }
4074 }
4075 #[cfg(feature = "Win32_System_Ole_Automation")]
4076 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITAgentSession {
4077     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
4078         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
4079     }
4080 }
4081 #[repr(C)]
4082 #[doc(hidden)]
4083 pub struct ITAgentSession_abi(
4084     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4085     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4086     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4087     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
4088     #[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,
4089     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
4090     #[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,
4091     #[cfg(not(feature = "Win32_Foundation"))] usize,
4092     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4093     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,
4094     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4095     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppagent: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4096     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppaddress: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4097     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppacdgroup: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4098     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sessionstate: AGENT_SESSION_STATE) -> ::windows::runtime::HRESULT,
4099     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psessionstate: *mut AGENT_SESSION_STATE) -> ::windows::runtime::HRESULT,
4100     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdatesessionstart: *mut f64) -> ::windows::runtime::HRESULT,
4101     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plduration: *mut i32) -> ::windows::runtime::HRESULT,
4102     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plcalls: *mut i32) -> ::windows::runtime::HRESULT,
4103     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pltalktime: *mut i32) -> ::windows::runtime::HRESULT,
4104     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pltalktime: *mut i32) -> ::windows::runtime::HRESULT,
4105     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plcalltime: *mut i32) -> ::windows::runtime::HRESULT,
4106     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plcalltime: *mut i32) -> ::windows::runtime::HRESULT,
4107     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plwrapuptime: *mut i32) -> ::windows::runtime::HRESULT,
4108     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plwrapuptime: *mut i32) -> ::windows::runtime::HRESULT,
4109     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcycallrate: *mut super::super::System::Com::CY) -> ::windows::runtime::HRESULT,
4110     #[cfg(not(feature = "Win32_System_Com"))] usize,
4111     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, planswertime: *mut i32) -> ::windows::runtime::HRESULT,
4112     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, planswertime: *mut i32) -> ::windows::runtime::HRESULT,
4113 );
4114 #[repr(transparent)]
4115 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4116 pub struct ITAgentSessionEvent(::windows::runtime::IUnknown);
4117 impl ITAgentSessionEvent {
4118     pub unsafe fn Session(&self) -> ::windows::runtime::Result<ITAgentSession> {
4119         let mut result__: <ITAgentSession as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4120         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITAgentSession>(result__)
4121     }
4122     pub unsafe fn Event(&self) -> ::windows::runtime::Result<AGENT_SESSION_EVENT> {
4123         let mut result__: <AGENT_SESSION_EVENT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4124         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<AGENT_SESSION_EVENT>(result__)
4125     }
4126 }
4127 unsafe impl ::windows::runtime::Interface for ITAgentSessionEvent {
4128     type Vtable = ITAgentSessionEvent_abi;
4129     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1526477131, 19404, 4561, [191, 128, 0, 128, 95, 193, 71, 211]);
4130 }
4131 impl ::std::convert::From<ITAgentSessionEvent> for ::windows::runtime::IUnknown {
4132     fn from(value: ITAgentSessionEvent) -> Self {
4133         unsafe { ::std::mem::transmute(value) }
4134     }
4135 }
4136 impl ::std::convert::From<&ITAgentSessionEvent> for ::windows::runtime::IUnknown {
4137     fn from(value: &ITAgentSessionEvent) -> Self {
4138         ::std::convert::From::from(::std::clone::Clone::clone(value))
4139     }
4140 }
4141 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITAgentSessionEvent {
4142     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4143         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4144     }
4145 }
4146 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITAgentSessionEvent {
4147     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4148         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4149     }
4150 }
4151 #[cfg(feature = "Win32_System_Ole_Automation")]
4152 impl ::std::convert::From<ITAgentSessionEvent> for super::super::System::Ole::Automation::IDispatch {
4153     fn from(value: ITAgentSessionEvent) -> Self {
4154         unsafe { ::std::mem::transmute(value) }
4155     }
4156 }
4157 #[cfg(feature = "Win32_System_Ole_Automation")]
4158 impl ::std::convert::From<&ITAgentSessionEvent> for super::super::System::Ole::Automation::IDispatch {
4159     fn from(value: &ITAgentSessionEvent) -> Self {
4160         ::std::convert::From::from(::std::clone::Clone::clone(value))
4161     }
4162 }
4163 #[cfg(feature = "Win32_System_Ole_Automation")]
4164 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITAgentSessionEvent {
4165     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
4166         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
4167     }
4168 }
4169 #[cfg(feature = "Win32_System_Ole_Automation")]
4170 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITAgentSessionEvent {
4171     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
4172         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
4173     }
4174 }
4175 #[repr(C)]
4176 #[doc(hidden)]
4177 pub struct ITAgentSessionEvent_abi(
4178     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4179     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4180     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4181     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
4182     #[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,
4183     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
4184     #[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,
4185     #[cfg(not(feature = "Win32_Foundation"))] usize,
4186     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4187     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,
4188     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4189     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppsession: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4190     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pevent: *mut AGENT_SESSION_EVENT) -> ::windows::runtime::HRESULT,
4191 );
4192 #[repr(transparent)]
4193 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4194 pub struct ITAllocatorProperties(::windows::runtime::IUnknown);
4195 impl ITAllocatorProperties {
4196     #[cfg(feature = "Win32_Graphics_DirectShow")]
4197     pub unsafe fn SetAllocatorProperties(&self, pallocproperties: *const super::super::Graphics::DirectShow::ALLOCATOR_PROPERTIES) -> ::windows::runtime::Result<()> {
4198         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pallocproperties)).ok()
4199     }
4200     #[cfg(feature = "Win32_Graphics_DirectShow")]
4201     pub unsafe fn GetAllocatorProperties(&self) -> ::windows::runtime::Result<super::super::Graphics::DirectShow::ALLOCATOR_PROPERTIES> {
4202         let mut result__: <super::super::Graphics::DirectShow::ALLOCATOR_PROPERTIES as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4203         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Graphics::DirectShow::ALLOCATOR_PROPERTIES>(result__)
4204     }
4205     #[cfg(feature = "Win32_Foundation")]
4206     pub unsafe fn SetAllocateBuffers<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, ballocbuffers: Param0) -> ::windows::runtime::Result<()> {
4207         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ballocbuffers.into_param().abi()).ok()
4208     }
4209     #[cfg(feature = "Win32_Foundation")]
4210     pub unsafe fn GetAllocateBuffers(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
4211         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4212         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
4213     }
4214     pub unsafe fn SetBufferSize(&self, buffersize: u32) -> ::windows::runtime::Result<()> {
4215         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(buffersize)).ok()
4216     }
4217     pub unsafe fn GetBufferSize(&self) -> ::windows::runtime::Result<u32> {
4218         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4219         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4220     }
4221 }
4222 unsafe impl ::windows::runtime::Interface for ITAllocatorProperties {
4223     type Vtable = ITAllocatorProperties_abi;
4224     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3250338960, 48382, 4561, [151, 69, 0, 192, 79, 217, 26, 192]);
4225 }
4226 impl ::std::convert::From<ITAllocatorProperties> for ::windows::runtime::IUnknown {
4227     fn from(value: ITAllocatorProperties) -> Self {
4228         unsafe { ::std::mem::transmute(value) }
4229     }
4230 }
4231 impl ::std::convert::From<&ITAllocatorProperties> for ::windows::runtime::IUnknown {
4232     fn from(value: &ITAllocatorProperties) -> Self {
4233         ::std::convert::From::from(::std::clone::Clone::clone(value))
4234     }
4235 }
4236 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITAllocatorProperties {
4237     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4238         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4239     }
4240 }
4241 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITAllocatorProperties {
4242     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4243         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4244     }
4245 }
4246 #[repr(C)]
4247 #[doc(hidden)]
4248 pub struct ITAllocatorProperties_abi(
4249     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4250     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4251     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4252     #[cfg(feature = "Win32_Graphics_DirectShow")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pallocproperties: *const super::super::Graphics::DirectShow::ALLOCATOR_PROPERTIES) -> ::windows::runtime::HRESULT,
4253     #[cfg(not(feature = "Win32_Graphics_DirectShow"))] usize,
4254     #[cfg(feature = "Win32_Graphics_DirectShow")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pallocproperties: *mut super::super::Graphics::DirectShow::ALLOCATOR_PROPERTIES) -> ::windows::runtime::HRESULT,
4255     #[cfg(not(feature = "Win32_Graphics_DirectShow"))] usize,
4256     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ballocbuffers: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4257     #[cfg(not(feature = "Win32_Foundation"))] usize,
4258     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pballocbuffers: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4259     #[cfg(not(feature = "Win32_Foundation"))] usize,
4260     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buffersize: u32) -> ::windows::runtime::HRESULT,
4261     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbuffersize: *mut u32) -> ::windows::runtime::HRESULT,
4262 );
4263 #[repr(transparent)]
4264 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4265 pub struct ITAutomatedPhoneControl(::windows::runtime::IUnknown);
4266 impl ITAutomatedPhoneControl {
4267     pub unsafe fn StartTone(&self, tone: PHONE_TONE, lduration: i32) -> ::windows::runtime::Result<()> {
4268         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(tone), ::std::mem::transmute(lduration)).ok()
4269     }
4270     pub unsafe fn StopTone(&self) -> ::windows::runtime::Result<()> {
4271         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
4272     }
4273     pub unsafe fn Tone(&self) -> ::windows::runtime::Result<PHONE_TONE> {
4274         let mut result__: <PHONE_TONE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4275         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<PHONE_TONE>(result__)
4276     }
4277     pub unsafe fn StartRinger(&self, lringmode: i32, lduration: i32) -> ::windows::runtime::Result<()> {
4278         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(lringmode), ::std::mem::transmute(lduration)).ok()
4279     }
4280     pub unsafe fn StopRinger(&self) -> ::windows::runtime::Result<()> {
4281         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
4282     }
4283     pub unsafe fn Ringer(&self) -> ::windows::runtime::Result<i16> {
4284         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4285         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
4286     }
4287     pub unsafe fn SetPhoneHandlingEnabled(&self, fenabled: i16) -> ::windows::runtime::Result<()> {
4288         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(fenabled)).ok()
4289     }
4290     pub unsafe fn PhoneHandlingEnabled(&self) -> ::windows::runtime::Result<i16> {
4291         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4292         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
4293     }
4294     pub unsafe fn SetAutoEndOfNumberTimeout(&self, ltimeout: i32) -> ::windows::runtime::Result<()> {
4295         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(ltimeout)).ok()
4296     }
4297     pub unsafe fn AutoEndOfNumberTimeout(&self) -> ::windows::runtime::Result<i32> {
4298         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4299         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4300     }
4301     pub unsafe fn SetAutoDialtone(&self, fenabled: i16) -> ::windows::runtime::Result<()> {
4302         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(fenabled)).ok()
4303     }
4304     pub unsafe fn AutoDialtone(&self) -> ::windows::runtime::Result<i16> {
4305         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4306         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
4307     }
4308     pub unsafe fn SetAutoStopTonesOnOnHook(&self, fenabled: i16) -> ::windows::runtime::Result<()> {
4309         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(fenabled)).ok()
4310     }
4311     pub unsafe fn AutoStopTonesOnOnHook(&self) -> ::windows::runtime::Result<i16> {
4312         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4313         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
4314     }
4315     pub unsafe fn SetAutoStopRingOnOffHook(&self, fenabled: i16) -> ::windows::runtime::Result<()> {
4316         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(fenabled)).ok()
4317     }
4318     pub unsafe fn AutoStopRingOnOffHook(&self) -> ::windows::runtime::Result<i16> {
4319         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4320         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
4321     }
4322     pub unsafe fn SetAutoKeypadTones(&self, fenabled: i16) -> ::windows::runtime::Result<()> {
4323         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(fenabled)).ok()
4324     }
4325     pub unsafe fn AutoKeypadTones(&self) -> ::windows::runtime::Result<i16> {
4326         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4327         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
4328     }
4329     pub unsafe fn SetAutoKeypadTonesMinimumDuration(&self, lduration: i32) -> ::windows::runtime::Result<()> {
4330         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ::std::mem::transmute(lduration)).ok()
4331     }
4332     pub unsafe fn AutoKeypadTonesMinimumDuration(&self) -> ::windows::runtime::Result<i32> {
4333         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4334         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4335     }
4336     pub unsafe fn SetAutoVolumeControl(&self, fenabled: i16) -> ::windows::runtime::Result<()> {
4337         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(fenabled)).ok()
4338     }
4339     pub unsafe fn AutoVolumeControl(&self) -> ::windows::runtime::Result<i16> {
4340         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4341         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
4342     }
4343     pub unsafe fn SetAutoVolumeControlStep(&self, lstepsize: i32) -> ::windows::runtime::Result<()> {
4344         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(lstepsize)).ok()
4345     }
4346     pub unsafe fn AutoVolumeControlStep(&self) -> ::windows::runtime::Result<i32> {
4347         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4348         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4349     }
4350     pub unsafe fn SetAutoVolumeControlRepeatDelay(&self, ldelay: i32) -> ::windows::runtime::Result<()> {
4351         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), ::std::mem::transmute(ldelay)).ok()
4352     }
4353     pub unsafe fn AutoVolumeControlRepeatDelay(&self) -> ::windows::runtime::Result<i32> {
4354         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4355         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4356     }
4357     pub unsafe fn SetAutoVolumeControlRepeatPeriod(&self, lperiod: i32) -> ::windows::runtime::Result<()> {
4358         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), ::std::mem::transmute(lperiod)).ok()
4359     }
4360     pub unsafe fn AutoVolumeControlRepeatPeriod(&self) -> ::windows::runtime::Result<i32> {
4361         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4362         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4363     }
4364     pub unsafe fn SelectCall<'a, Param0: ::windows::runtime::IntoParam<'a, ITCallInfo>>(&self, pcall: Param0, fselectdefaultterminals: i16) -> ::windows::runtime::Result<()> {
4365         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), pcall.into_param().abi(), ::std::mem::transmute(fselectdefaultterminals)).ok()
4366     }
4367     pub unsafe fn UnselectCall<'a, Param0: ::windows::runtime::IntoParam<'a, ITCallInfo>>(&self, pcall: Param0) -> ::windows::runtime::Result<()> {
4368         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), pcall.into_param().abi()).ok()
4369     }
4370     pub unsafe fn EnumerateSelectedCalls(&self) -> ::windows::runtime::Result<IEnumCall> {
4371         let mut result__: <IEnumCall as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4372         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumCall>(result__)
4373     }
4374     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4375     pub unsafe fn SelectedCalls(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
4376         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4377         (::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
4378     }
4379 }
4380 unsafe impl ::windows::runtime::Interface for ITAutomatedPhoneControl {
4381     type Vtable = ITAutomatedPhoneControl_abi;
4382     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(518106894, 24921, 19041, [183, 155, 106, 75, 163, 252, 157, 252]);
4383 }
4384 impl ::std::convert::From<ITAutomatedPhoneControl> for ::windows::runtime::IUnknown {
4385     fn from(value: ITAutomatedPhoneControl) -> Self {
4386         unsafe { ::std::mem::transmute(value) }
4387     }
4388 }
4389 impl ::std::convert::From<&ITAutomatedPhoneControl> for ::windows::runtime::IUnknown {
4390     fn from(value: &ITAutomatedPhoneControl) -> Self {
4391         ::std::convert::From::from(::std::clone::Clone::clone(value))
4392     }
4393 }
4394 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITAutomatedPhoneControl {
4395     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4396         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4397     }
4398 }
4399 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITAutomatedPhoneControl {
4400     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4401         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4402     }
4403 }
4404 #[cfg(feature = "Win32_System_Ole_Automation")]
4405 impl ::std::convert::From<ITAutomatedPhoneControl> for super::super::System::Ole::Automation::IDispatch {
4406     fn from(value: ITAutomatedPhoneControl) -> Self {
4407         unsafe { ::std::mem::transmute(value) }
4408     }
4409 }
4410 #[cfg(feature = "Win32_System_Ole_Automation")]
4411 impl ::std::convert::From<&ITAutomatedPhoneControl> for super::super::System::Ole::Automation::IDispatch {
4412     fn from(value: &ITAutomatedPhoneControl) -> Self {
4413         ::std::convert::From::from(::std::clone::Clone::clone(value))
4414     }
4415 }
4416 #[cfg(feature = "Win32_System_Ole_Automation")]
4417 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITAutomatedPhoneControl {
4418     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
4419         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
4420     }
4421 }
4422 #[cfg(feature = "Win32_System_Ole_Automation")]
4423 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITAutomatedPhoneControl {
4424     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
4425         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
4426     }
4427 }
4428 #[repr(C)]
4429 #[doc(hidden)]
4430 pub struct ITAutomatedPhoneControl_abi(
4431     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4432     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4433     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4434     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
4435     #[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,
4436     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
4437     #[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,
4438     #[cfg(not(feature = "Win32_Foundation"))] usize,
4439     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4440     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,
4441     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4442     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, tone: PHONE_TONE, lduration: i32) -> ::windows::runtime::HRESULT,
4443     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4444     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptone: *mut PHONE_TONE) -> ::windows::runtime::HRESULT,
4445     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lringmode: i32, lduration: i32) -> ::windows::runtime::HRESULT,
4446     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4447     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfringing: *mut i16) -> ::windows::runtime::HRESULT,
4448     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fenabled: i16) -> ::windows::runtime::HRESULT,
4449     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfenabled: *mut i16) -> ::windows::runtime::HRESULT,
4450     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ltimeout: i32) -> ::windows::runtime::HRESULT,
4451     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pltimeout: *mut i32) -> ::windows::runtime::HRESULT,
4452     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fenabled: i16) -> ::windows::runtime::HRESULT,
4453     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfenabled: *mut i16) -> ::windows::runtime::HRESULT,
4454     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fenabled: i16) -> ::windows::runtime::HRESULT,
4455     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfenabled: *mut i16) -> ::windows::runtime::HRESULT,
4456     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fenabled: i16) -> ::windows::runtime::HRESULT,
4457     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfenabled: *mut i16) -> ::windows::runtime::HRESULT,
4458     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fenabled: i16) -> ::windows::runtime::HRESULT,
4459     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfenabled: *mut i16) -> ::windows::runtime::HRESULT,
4460     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lduration: i32) -> ::windows::runtime::HRESULT,
4461     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plduration: *mut i32) -> ::windows::runtime::HRESULT,
4462     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fenabled: i16) -> ::windows::runtime::HRESULT,
4463     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fenabled: *mut i16) -> ::windows::runtime::HRESULT,
4464     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lstepsize: i32) -> ::windows::runtime::HRESULT,
4465     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plstepsize: *mut i32) -> ::windows::runtime::HRESULT,
4466     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ldelay: i32) -> ::windows::runtime::HRESULT,
4467     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pldelay: *mut i32) -> ::windows::runtime::HRESULT,
4468     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lperiod: i32) -> ::windows::runtime::HRESULT,
4469     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plperiod: *mut i32) -> ::windows::runtime::HRESULT,
4470     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcall: ::windows::runtime::RawPtr, fselectdefaultterminals: i16) -> ::windows::runtime::HRESULT,
4471     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcall: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4472     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcallenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4473     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
4474     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4475 );
4476 #[repr(transparent)]
4477 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4478 pub struct ITBasicAudioTerminal(::windows::runtime::IUnknown);
4479 impl ITBasicAudioTerminal {
4480     pub unsafe fn SetVolume(&self, lvolume: i32) -> ::windows::runtime::Result<()> {
4481         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(lvolume)).ok()
4482     }
4483     pub unsafe fn Volume(&self) -> ::windows::runtime::Result<i32> {
4484         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4485         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4486     }
4487     pub unsafe fn SetBalance(&self, lbalance: i32) -> ::windows::runtime::Result<()> {
4488         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(lbalance)).ok()
4489     }
4490     pub unsafe fn Balance(&self) -> ::windows::runtime::Result<i32> {
4491         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4492         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4493     }
4494 }
4495 unsafe impl ::windows::runtime::Interface for ITBasicAudioTerminal {
4496     type Vtable = ITBasicAudioTerminal_abi;
4497     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2985280397, 37717, 4560, [131, 92, 0, 170, 0, 60, 202, 189]);
4498 }
4499 impl ::std::convert::From<ITBasicAudioTerminal> for ::windows::runtime::IUnknown {
4500     fn from(value: ITBasicAudioTerminal) -> Self {
4501         unsafe { ::std::mem::transmute(value) }
4502     }
4503 }
4504 impl ::std::convert::From<&ITBasicAudioTerminal> for ::windows::runtime::IUnknown {
4505     fn from(value: &ITBasicAudioTerminal) -> Self {
4506         ::std::convert::From::from(::std::clone::Clone::clone(value))
4507     }
4508 }
4509 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITBasicAudioTerminal {
4510     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4511         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4512     }
4513 }
4514 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITBasicAudioTerminal {
4515     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4516         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4517     }
4518 }
4519 #[cfg(feature = "Win32_System_Ole_Automation")]
4520 impl ::std::convert::From<ITBasicAudioTerminal> for super::super::System::Ole::Automation::IDispatch {
4521     fn from(value: ITBasicAudioTerminal) -> Self {
4522         unsafe { ::std::mem::transmute(value) }
4523     }
4524 }
4525 #[cfg(feature = "Win32_System_Ole_Automation")]
4526 impl ::std::convert::From<&ITBasicAudioTerminal> for super::super::System::Ole::Automation::IDispatch {
4527     fn from(value: &ITBasicAudioTerminal) -> Self {
4528         ::std::convert::From::from(::std::clone::Clone::clone(value))
4529     }
4530 }
4531 #[cfg(feature = "Win32_System_Ole_Automation")]
4532 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITBasicAudioTerminal {
4533     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
4534         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
4535     }
4536 }
4537 #[cfg(feature = "Win32_System_Ole_Automation")]
4538 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITBasicAudioTerminal {
4539     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
4540         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
4541     }
4542 }
4543 #[repr(C)]
4544 #[doc(hidden)]
4545 pub struct ITBasicAudioTerminal_abi(
4546     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4547     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4548     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4549     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
4550     #[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,
4551     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
4552     #[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,
4553     #[cfg(not(feature = "Win32_Foundation"))] usize,
4554     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4555     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,
4556     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4557     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lvolume: i32) -> ::windows::runtime::HRESULT,
4558     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plvolume: *mut i32) -> ::windows::runtime::HRESULT,
4559     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lbalance: i32) -> ::windows::runtime::HRESULT,
4560     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plbalance: *mut i32) -> ::windows::runtime::HRESULT,
4561 );
4562 #[repr(transparent)]
4563 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4564 pub struct ITBasicCallControl(::windows::runtime::IUnknown);
4565 impl ITBasicCallControl {
4566     pub unsafe fn Connect(&self, fsync: i16) -> ::windows::runtime::Result<()> {
4567         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(fsync)).ok()
4568     }
4569     pub unsafe fn Answer(&self) -> ::windows::runtime::Result<()> {
4570         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
4571     }
4572     pub unsafe fn Disconnect(&self, code: DISCONNECT_CODE) -> ::windows::runtime::Result<()> {
4573         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(code)).ok()
4574     }
4575     pub unsafe fn Hold(&self, fhold: i16) -> ::windows::runtime::Result<()> {
4576         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(fhold)).ok()
4577     }
4578     #[cfg(feature = "Win32_Foundation")]
4579     pub unsafe fn HandoffDirect<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, papplicationname: Param0) -> ::windows::runtime::Result<()> {
4580         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), papplicationname.into_param().abi()).ok()
4581     }
4582     pub unsafe fn HandoffIndirect(&self, lmediatype: i32) -> ::windows::runtime::Result<()> {
4583         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(lmediatype)).ok()
4584     }
4585     pub unsafe fn Conference<'a, Param0: ::windows::runtime::IntoParam<'a, ITBasicCallControl>>(&self, pcall: Param0, fsync: i16) -> ::windows::runtime::Result<()> {
4586         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), pcall.into_param().abi(), ::std::mem::transmute(fsync)).ok()
4587     }
4588     pub unsafe fn Transfer<'a, Param0: ::windows::runtime::IntoParam<'a, ITBasicCallControl>>(&self, pcall: Param0, fsync: i16) -> ::windows::runtime::Result<()> {
4589         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), pcall.into_param().abi(), ::std::mem::transmute(fsync)).ok()
4590     }
4591     #[cfg(feature = "Win32_Foundation")]
4592     pub unsafe fn BlindTransfer<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pdestaddress: Param0) -> ::windows::runtime::Result<()> {
4593         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), pdestaddress.into_param().abi()).ok()
4594     }
4595     pub unsafe fn SwapHold<'a, Param0: ::windows::runtime::IntoParam<'a, ITBasicCallControl>>(&self, pcall: Param0) -> ::windows::runtime::Result<()> {
4596         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), pcall.into_param().abi()).ok()
4597     }
4598     #[cfg(feature = "Win32_Foundation")]
4599     pub unsafe fn ParkDirect<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pparkaddress: Param0) -> ::windows::runtime::Result<()> {
4600         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), pparkaddress.into_param().abi()).ok()
4601     }
4602     #[cfg(feature = "Win32_Foundation")]
4603     pub unsafe fn ParkIndirect(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4604         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4605         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4606     }
4607     pub unsafe fn Unpark(&self) -> ::windows::runtime::Result<()> {
4608         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self)).ok()
4609     }
4610     pub unsafe fn SetQOS(&self, lmediatype: i32, servicelevel: QOS_SERVICE_LEVEL) -> ::windows::runtime::Result<()> {
4611         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(lmediatype), ::std::mem::transmute(servicelevel)).ok()
4612     }
4613     #[cfg(feature = "Win32_Foundation")]
4614     pub unsafe fn Pickup<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pgroupid: Param0) -> ::windows::runtime::Result<()> {
4615         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), pgroupid.into_param().abi()).ok()
4616     }
4617     #[cfg(feature = "Win32_Foundation")]
4618     pub unsafe fn Dial<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pdestaddress: Param0) -> ::windows::runtime::Result<()> {
4619         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), pdestaddress.into_param().abi()).ok()
4620     }
4621     pub unsafe fn Finish(&self, finishmode: FINISH_MODE) -> ::windows::runtime::Result<()> {
4622         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(finishmode)).ok()
4623     }
4624     pub unsafe fn RemoveFromConference(&self) -> ::windows::runtime::Result<()> {
4625         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self)).ok()
4626     }
4627 }
4628 unsafe impl ::windows::runtime::Interface for ITBasicCallControl {
4629     type Vtable = ITBasicCallControl_abi;
4630     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2985280393, 37717, 4560, [131, 92, 0, 170, 0, 60, 202, 189]);
4631 }
4632 impl ::std::convert::From<ITBasicCallControl> for ::windows::runtime::IUnknown {
4633     fn from(value: ITBasicCallControl) -> Self {
4634         unsafe { ::std::mem::transmute(value) }
4635     }
4636 }
4637 impl ::std::convert::From<&ITBasicCallControl> for ::windows::runtime::IUnknown {
4638     fn from(value: &ITBasicCallControl) -> Self {
4639         ::std::convert::From::from(::std::clone::Clone::clone(value))
4640     }
4641 }
4642 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITBasicCallControl {
4643     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4644         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4645     }
4646 }
4647 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITBasicCallControl {
4648     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4649         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4650     }
4651 }
4652 #[cfg(feature = "Win32_System_Ole_Automation")]
4653 impl ::std::convert::From<ITBasicCallControl> for super::super::System::Ole::Automation::IDispatch {
4654     fn from(value: ITBasicCallControl) -> Self {
4655         unsafe { ::std::mem::transmute(value) }
4656     }
4657 }
4658 #[cfg(feature = "Win32_System_Ole_Automation")]
4659 impl ::std::convert::From<&ITBasicCallControl> for super::super::System::Ole::Automation::IDispatch {
4660     fn from(value: &ITBasicCallControl) -> Self {
4661         ::std::convert::From::from(::std::clone::Clone::clone(value))
4662     }
4663 }
4664 #[cfg(feature = "Win32_System_Ole_Automation")]
4665 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITBasicCallControl {
4666     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
4667         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
4668     }
4669 }
4670 #[cfg(feature = "Win32_System_Ole_Automation")]
4671 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITBasicCallControl {
4672     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
4673         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
4674     }
4675 }
4676 #[repr(C)]
4677 #[doc(hidden)]
4678 pub struct ITBasicCallControl_abi(
4679     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4680     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4681     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4682     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
4683     #[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,
4684     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
4685     #[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,
4686     #[cfg(not(feature = "Win32_Foundation"))] usize,
4687     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4688     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,
4689     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4690     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fsync: i16) -> ::windows::runtime::HRESULT,
4691     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4692     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, code: DISCONNECT_CODE) -> ::windows::runtime::HRESULT,
4693     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fhold: i16) -> ::windows::runtime::HRESULT,
4694     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, papplicationname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4695     #[cfg(not(feature = "Win32_Foundation"))] usize,
4696     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lmediatype: i32) -> ::windows::runtime::HRESULT,
4697     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcall: ::windows::runtime::RawPtr, fsync: i16) -> ::windows::runtime::HRESULT,
4698     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcall: ::windows::runtime::RawPtr, fsync: i16) -> ::windows::runtime::HRESULT,
4699     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdestaddress: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4700     #[cfg(not(feature = "Win32_Foundation"))] usize,
4701     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcall: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4702     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pparkaddress: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4703     #[cfg(not(feature = "Win32_Foundation"))] usize,
4704     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppnondiraddress: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4705     #[cfg(not(feature = "Win32_Foundation"))] usize,
4706     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4707     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lmediatype: i32, servicelevel: QOS_SERVICE_LEVEL) -> ::windows::runtime::HRESULT,
4708     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pgroupid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4709     #[cfg(not(feature = "Win32_Foundation"))] usize,
4710     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdestaddress: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4711     #[cfg(not(feature = "Win32_Foundation"))] usize,
4712     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, finishmode: FINISH_MODE) -> ::windows::runtime::HRESULT,
4713     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4714 );
4715 #[repr(transparent)]
4716 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4717 pub struct ITBasicCallControl2(::windows::runtime::IUnknown);
4718 impl ITBasicCallControl2 {
4719     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
4720         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4721         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4722     }
4723     #[cfg(feature = "Win32_System_Ole_Automation")]
4724     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
4725         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4726         (::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__)
4727     }
4728     #[cfg(feature = "Win32_Foundation")]
4729     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<()> {
4730         (::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()
4731     }
4732     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4733     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<()> {
4734         (::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()
4735     }
4736     pub unsafe fn Connect(&self, fsync: i16) -> ::windows::runtime::Result<()> {
4737         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(fsync)).ok()
4738     }
4739     pub unsafe fn Answer(&self) -> ::windows::runtime::Result<()> {
4740         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
4741     }
4742     pub unsafe fn Disconnect(&self, code: DISCONNECT_CODE) -> ::windows::runtime::Result<()> {
4743         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(code)).ok()
4744     }
4745     pub unsafe fn Hold(&self, fhold: i16) -> ::windows::runtime::Result<()> {
4746         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(fhold)).ok()
4747     }
4748     #[cfg(feature = "Win32_Foundation")]
4749     pub unsafe fn HandoffDirect<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, papplicationname: Param0) -> ::windows::runtime::Result<()> {
4750         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), papplicationname.into_param().abi()).ok()
4751     }
4752     pub unsafe fn HandoffIndirect(&self, lmediatype: i32) -> ::windows::runtime::Result<()> {
4753         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(lmediatype)).ok()
4754     }
4755     pub unsafe fn Conference<'a, Param0: ::windows::runtime::IntoParam<'a, ITBasicCallControl>>(&self, pcall: Param0, fsync: i16) -> ::windows::runtime::Result<()> {
4756         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), pcall.into_param().abi(), ::std::mem::transmute(fsync)).ok()
4757     }
4758     pub unsafe fn Transfer<'a, Param0: ::windows::runtime::IntoParam<'a, ITBasicCallControl>>(&self, pcall: Param0, fsync: i16) -> ::windows::runtime::Result<()> {
4759         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), pcall.into_param().abi(), ::std::mem::transmute(fsync)).ok()
4760     }
4761     #[cfg(feature = "Win32_Foundation")]
4762     pub unsafe fn BlindTransfer<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pdestaddress: Param0) -> ::windows::runtime::Result<()> {
4763         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), pdestaddress.into_param().abi()).ok()
4764     }
4765     pub unsafe fn SwapHold<'a, Param0: ::windows::runtime::IntoParam<'a, ITBasicCallControl>>(&self, pcall: Param0) -> ::windows::runtime::Result<()> {
4766         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), pcall.into_param().abi()).ok()
4767     }
4768     #[cfg(feature = "Win32_Foundation")]
4769     pub unsafe fn ParkDirect<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pparkaddress: Param0) -> ::windows::runtime::Result<()> {
4770         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), pparkaddress.into_param().abi()).ok()
4771     }
4772     #[cfg(feature = "Win32_Foundation")]
4773     pub unsafe fn ParkIndirect(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4774         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4775         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4776     }
4777     pub unsafe fn Unpark(&self) -> ::windows::runtime::Result<()> {
4778         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self)).ok()
4779     }
4780     pub unsafe fn SetQOS(&self, lmediatype: i32, servicelevel: QOS_SERVICE_LEVEL) -> ::windows::runtime::Result<()> {
4781         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(lmediatype), ::std::mem::transmute(servicelevel)).ok()
4782     }
4783     #[cfg(feature = "Win32_Foundation")]
4784     pub unsafe fn Pickup<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pgroupid: Param0) -> ::windows::runtime::Result<()> {
4785         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), pgroupid.into_param().abi()).ok()
4786     }
4787     #[cfg(feature = "Win32_Foundation")]
4788     pub unsafe fn Dial<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pdestaddress: Param0) -> ::windows::runtime::Result<()> {
4789         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), pdestaddress.into_param().abi()).ok()
4790     }
4791     pub unsafe fn Finish(&self, finishmode: FINISH_MODE) -> ::windows::runtime::Result<()> {
4792         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(finishmode)).ok()
4793     }
4794     pub unsafe fn RemoveFromConference(&self) -> ::windows::runtime::Result<()> {
4795         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self)).ok()
4796     }
4797     #[cfg(feature = "Win32_Foundation")]
4798     pub unsafe fn RequestTerminal<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrterminalclassguid: Param0, lmediatype: i32, direction: TERMINAL_DIRECTION) -> ::windows::runtime::Result<ITTerminal> {
4799         let mut result__: <ITTerminal as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4800         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), bstrterminalclassguid.into_param().abi(), ::std::mem::transmute(lmediatype), ::std::mem::transmute(direction), &mut result__).from_abi::<ITTerminal>(result__)
4801     }
4802     pub unsafe fn SelectTerminalOnCall<'a, Param0: ::windows::runtime::IntoParam<'a, ITTerminal>>(&self, pterminal: Param0) -> ::windows::runtime::Result<()> {
4803         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), pterminal.into_param().abi()).ok()
4804     }
4805     pub unsafe fn UnselectTerminalOnCall<'a, Param0: ::windows::runtime::IntoParam<'a, ITTerminal>>(&self, pterminal: Param0) -> ::windows::runtime::Result<()> {
4806         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), pterminal.into_param().abi()).ok()
4807     }
4808 }
4809 unsafe impl ::windows::runtime::Interface for ITBasicCallControl2 {
4810     type Vtable = ITBasicCallControl2_abi;
4811     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(370821718, 7833, 19263, [164, 106, 22, 143, 56, 165, 238, 76]);
4812 }
4813 impl ::std::convert::From<ITBasicCallControl2> for ::windows::runtime::IUnknown {
4814     fn from(value: ITBasicCallControl2) -> Self {
4815         unsafe { ::std::mem::transmute(value) }
4816     }
4817 }
4818 impl ::std::convert::From<&ITBasicCallControl2> for ::windows::runtime::IUnknown {
4819     fn from(value: &ITBasicCallControl2) -> Self {
4820         ::std::convert::From::from(::std::clone::Clone::clone(value))
4821     }
4822 }
4823 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITBasicCallControl2 {
4824     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4825         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4826     }
4827 }
4828 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITBasicCallControl2 {
4829     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4830         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4831     }
4832 }
4833 impl ::std::convert::From<ITBasicCallControl2> for ITBasicCallControl {
4834     fn from(value: ITBasicCallControl2) -> Self {
4835         unsafe { ::std::mem::transmute(value) }
4836     }
4837 }
4838 impl ::std::convert::From<&ITBasicCallControl2> for ITBasicCallControl {
4839     fn from(value: &ITBasicCallControl2) -> Self {
4840         ::std::convert::From::from(::std::clone::Clone::clone(value))
4841     }
4842 }
4843 impl<'a> ::windows::runtime::IntoParam<'a, ITBasicCallControl> for ITBasicCallControl2 {
4844     fn into_param(self) -> ::windows::runtime::Param<'a, ITBasicCallControl> {
4845         ::windows::runtime::Param::Owned(::std::convert::Into::<ITBasicCallControl>::into(self))
4846     }
4847 }
4848 impl<'a> ::windows::runtime::IntoParam<'a, ITBasicCallControl> for &ITBasicCallControl2 {
4849     fn into_param(self) -> ::windows::runtime::Param<'a, ITBasicCallControl> {
4850         ::windows::runtime::Param::Owned(::std::convert::Into::<ITBasicCallControl>::into(::std::clone::Clone::clone(self)))
4851     }
4852 }
4853 #[cfg(feature = "Win32_System_Ole_Automation")]
4854 impl ::std::convert::From<ITBasicCallControl2> for super::super::System::Ole::Automation::IDispatch {
4855     fn from(value: ITBasicCallControl2) -> Self {
4856         unsafe { ::std::mem::transmute(value) }
4857     }
4858 }
4859 #[cfg(feature = "Win32_System_Ole_Automation")]
4860 impl ::std::convert::From<&ITBasicCallControl2> for super::super::System::Ole::Automation::IDispatch {
4861     fn from(value: &ITBasicCallControl2) -> Self {
4862         ::std::convert::From::from(::std::clone::Clone::clone(value))
4863     }
4864 }
4865 #[cfg(feature = "Win32_System_Ole_Automation")]
4866 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITBasicCallControl2 {
4867     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
4868         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
4869     }
4870 }
4871 #[cfg(feature = "Win32_System_Ole_Automation")]
4872 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITBasicCallControl2 {
4873     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
4874         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
4875     }
4876 }
4877 #[repr(C)]
4878 #[doc(hidden)]
4879 pub struct ITBasicCallControl2_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, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
4884     #[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,
4885     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
4886     #[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,
4887     #[cfg(not(feature = "Win32_Foundation"))] usize,
4888     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4889     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,
4890     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4891     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fsync: i16) -> ::windows::runtime::HRESULT,
4892     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4893     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, code: DISCONNECT_CODE) -> ::windows::runtime::HRESULT,
4894     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fhold: i16) -> ::windows::runtime::HRESULT,
4895     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, papplicationname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4896     #[cfg(not(feature = "Win32_Foundation"))] usize,
4897     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lmediatype: i32) -> ::windows::runtime::HRESULT,
4898     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcall: ::windows::runtime::RawPtr, fsync: i16) -> ::windows::runtime::HRESULT,
4899     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcall: ::windows::runtime::RawPtr, fsync: i16) -> ::windows::runtime::HRESULT,
4900     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdestaddress: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4901     #[cfg(not(feature = "Win32_Foundation"))] usize,
4902     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcall: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4903     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pparkaddress: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4904     #[cfg(not(feature = "Win32_Foundation"))] usize,
4905     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppnondiraddress: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4906     #[cfg(not(feature = "Win32_Foundation"))] usize,
4907     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4908     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lmediatype: i32, servicelevel: QOS_SERVICE_LEVEL) -> ::windows::runtime::HRESULT,
4909     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pgroupid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4910     #[cfg(not(feature = "Win32_Foundation"))] usize,
4911     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdestaddress: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4912     #[cfg(not(feature = "Win32_Foundation"))] usize,
4913     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, finishmode: FINISH_MODE) -> ::windows::runtime::HRESULT,
4914     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4915     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrterminalclassguid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, lmediatype: i32, direction: TERMINAL_DIRECTION, ppterminal: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4916     #[cfg(not(feature = "Win32_Foundation"))] usize,
4917     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pterminal: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4918     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pterminal: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4919 );
4920 #[repr(transparent)]
4921 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4922 pub struct ITCallHub(::windows::runtime::IUnknown);
4923 impl ITCallHub {
4924     pub unsafe fn Clear(&self) -> ::windows::runtime::Result<()> {
4925         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
4926     }
4927     pub unsafe fn EnumerateCalls(&self) -> ::windows::runtime::Result<IEnumCall> {
4928         let mut result__: <IEnumCall as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4929         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumCall>(result__)
4930     }
4931     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4932     pub unsafe fn Calls(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
4933         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4934         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
4935     }
4936     pub unsafe fn NumCalls(&self) -> ::windows::runtime::Result<i32> {
4937         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4938         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4939     }
4940     pub unsafe fn State(&self) -> ::windows::runtime::Result<CALLHUB_STATE> {
4941         let mut result__: <CALLHUB_STATE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4942         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<CALLHUB_STATE>(result__)
4943     }
4944 }
4945 unsafe impl ::windows::runtime::Interface for ITCallHub {
4946     type Vtable = ITCallHub_abi;
4947     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2747356238, 23442, 4561, [143, 78, 0, 192, 79, 182, 128, 159]);
4948 }
4949 impl ::std::convert::From<ITCallHub> for ::windows::runtime::IUnknown {
4950     fn from(value: ITCallHub) -> Self {
4951         unsafe { ::std::mem::transmute(value) }
4952     }
4953 }
4954 impl ::std::convert::From<&ITCallHub> for ::windows::runtime::IUnknown {
4955     fn from(value: &ITCallHub) -> Self {
4956         ::std::convert::From::from(::std::clone::Clone::clone(value))
4957     }
4958 }
4959 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITCallHub {
4960     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4961         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4962     }
4963 }
4964 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITCallHub {
4965     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4966         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4967     }
4968 }
4969 #[cfg(feature = "Win32_System_Ole_Automation")]
4970 impl ::std::convert::From<ITCallHub> for super::super::System::Ole::Automation::IDispatch {
4971     fn from(value: ITCallHub) -> Self {
4972         unsafe { ::std::mem::transmute(value) }
4973     }
4974 }
4975 #[cfg(feature = "Win32_System_Ole_Automation")]
4976 impl ::std::convert::From<&ITCallHub> for super::super::System::Ole::Automation::IDispatch {
4977     fn from(value: &ITCallHub) -> Self {
4978         ::std::convert::From::from(::std::clone::Clone::clone(value))
4979     }
4980 }
4981 #[cfg(feature = "Win32_System_Ole_Automation")]
4982 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITCallHub {
4983     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
4984         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
4985     }
4986 }
4987 #[cfg(feature = "Win32_System_Ole_Automation")]
4988 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITCallHub {
4989     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
4990         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
4991     }
4992 }
4993 #[repr(C)]
4994 #[doc(hidden)]
4995 pub struct ITCallHub_abi(
4996     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4997     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4998     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4999     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
5000     #[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,
5001     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
5002     #[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,
5003     #[cfg(not(feature = "Win32_Foundation"))] usize,
5004     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5005     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,
5006     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5007     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5008     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumcall: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5009     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcalls: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
5010     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5011     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plcalls: *mut i32) -> ::windows::runtime::HRESULT,
5012     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstate: *mut CALLHUB_STATE) -> ::windows::runtime::HRESULT,
5013 );
5014 #[repr(transparent)]
5015 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5016 pub struct ITCallHubEvent(::windows::runtime::IUnknown);
5017 impl ITCallHubEvent {
5018     pub unsafe fn Event(&self) -> ::windows::runtime::Result<CALLHUB_EVENT> {
5019         let mut result__: <CALLHUB_EVENT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5020         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<CALLHUB_EVENT>(result__)
5021     }
5022     pub unsafe fn CallHub(&self) -> ::windows::runtime::Result<ITCallHub> {
5023         let mut result__: <ITCallHub as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5024         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITCallHub>(result__)
5025     }
5026     pub unsafe fn Call(&self) -> ::windows::runtime::Result<ITCallInfo> {
5027         let mut result__: <ITCallInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5028         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITCallInfo>(result__)
5029     }
5030 }
5031 unsafe impl ::windows::runtime::Interface for ITCallHubEvent {
5032     type Vtable = ITCallHubEvent_abi;
5033     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2747356241, 23442, 4561, [143, 78, 0, 192, 79, 182, 128, 159]);
5034 }
5035 impl ::std::convert::From<ITCallHubEvent> for ::windows::runtime::IUnknown {
5036     fn from(value: ITCallHubEvent) -> Self {
5037         unsafe { ::std::mem::transmute(value) }
5038     }
5039 }
5040 impl ::std::convert::From<&ITCallHubEvent> for ::windows::runtime::IUnknown {
5041     fn from(value: &ITCallHubEvent) -> Self {
5042         ::std::convert::From::from(::std::clone::Clone::clone(value))
5043     }
5044 }
5045 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITCallHubEvent {
5046     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5047         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5048     }
5049 }
5050 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITCallHubEvent {
5051     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5052         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5053     }
5054 }
5055 #[cfg(feature = "Win32_System_Ole_Automation")]
5056 impl ::std::convert::From<ITCallHubEvent> for super::super::System::Ole::Automation::IDispatch {
5057     fn from(value: ITCallHubEvent) -> Self {
5058         unsafe { ::std::mem::transmute(value) }
5059     }
5060 }
5061 #[cfg(feature = "Win32_System_Ole_Automation")]
5062 impl ::std::convert::From<&ITCallHubEvent> for super::super::System::Ole::Automation::IDispatch {
5063     fn from(value: &ITCallHubEvent) -> Self {
5064         ::std::convert::From::from(::std::clone::Clone::clone(value))
5065     }
5066 }
5067 #[cfg(feature = "Win32_System_Ole_Automation")]
5068 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITCallHubEvent {
5069     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5070         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
5071     }
5072 }
5073 #[cfg(feature = "Win32_System_Ole_Automation")]
5074 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITCallHubEvent {
5075     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5076         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
5077     }
5078 }
5079 #[repr(C)]
5080 #[doc(hidden)]
5081 pub struct ITCallHubEvent_abi(
5082     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5083     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5084     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5085     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
5086     #[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,
5087     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
5088     #[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,
5089     #[cfg(not(feature = "Win32_Foundation"))] usize,
5090     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5091     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,
5092     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5093     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pevent: *mut CALLHUB_EVENT) -> ::windows::runtime::HRESULT,
5094     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcallhub: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5095     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcall: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5096 );
5097 #[repr(transparent)]
5098 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5099 pub struct ITCallInfo(::windows::runtime::IUnknown);
5100 impl ITCallInfo {
5101     pub unsafe fn Address(&self) -> ::windows::runtime::Result<ITAddress> {
5102         let mut result__: <ITAddress as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5103         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITAddress>(result__)
5104     }
5105     pub unsafe fn CallState(&self) -> ::windows::runtime::Result<CALL_STATE> {
5106         let mut result__: <CALL_STATE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5107         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<CALL_STATE>(result__)
5108     }
5109     pub unsafe fn Privilege(&self) -> ::windows::runtime::Result<CALL_PRIVILEGE> {
5110         let mut result__: <CALL_PRIVILEGE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5111         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<CALL_PRIVILEGE>(result__)
5112     }
5113     pub unsafe fn CallHub(&self) -> ::windows::runtime::Result<ITCallHub> {
5114         let mut result__: <ITCallHub as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5115         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITCallHub>(result__)
5116     }
5117     pub unsafe fn CallInfoLong(&self, callinfolong: CALLINFO_LONG) -> ::windows::runtime::Result<i32> {
5118         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5119         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(callinfolong), &mut result__).from_abi::<i32>(result__)
5120     }
5121     pub unsafe fn SetCallInfoLong(&self, callinfolong: CALLINFO_LONG, lcallinfolongval: i32) -> ::windows::runtime::Result<()> {
5122         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(callinfolong), ::std::mem::transmute(lcallinfolongval)).ok()
5123     }
5124     #[cfg(feature = "Win32_Foundation")]
5125     pub unsafe fn CallInfoString(&self, callinfostring: CALLINFO_STRING) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5126         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5127         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(callinfostring), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5128     }
5129     #[cfg(feature = "Win32_Foundation")]
5130     pub unsafe fn SetCallInfoString<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, callinfostring: CALLINFO_STRING, pcallinfostring: Param1) -> ::windows::runtime::Result<()> {
5131         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(callinfostring), pcallinfostring.into_param().abi()).ok()
5132     }
5133     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5134     pub unsafe fn CallInfoBuffer(&self, callinfobuffer: CALLINFO_BUFFER) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
5135         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5136         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(callinfobuffer), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
5137     }
5138     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5139     pub unsafe fn SetCallInfoBuffer<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, callinfobuffer: CALLINFO_BUFFER, pcallinfobuffer: Param1) -> ::windows::runtime::Result<()> {
5140         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(callinfobuffer), pcallinfobuffer.into_param().abi()).ok()
5141     }
5142     pub unsafe fn GetCallInfoBuffer(&self, callinfobuffer: CALLINFO_BUFFER, pdwsize: *mut u32, ppcallinfobuffer: *mut *mut u8) -> ::windows::runtime::Result<()> {
5143         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(callinfobuffer), ::std::mem::transmute(pdwsize), ::std::mem::transmute(ppcallinfobuffer)).ok()
5144     }
5145     pub unsafe fn SetCallInfoBuffer2(&self, callinfobuffer: CALLINFO_BUFFER, dwsize: u32, pcallinfobuffer: *const u8) -> ::windows::runtime::Result<()> {
5146         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(callinfobuffer), ::std::mem::transmute(dwsize), ::std::mem::transmute(pcallinfobuffer)).ok()
5147     }
5148     pub unsafe fn ReleaseUserUserInfo(&self) -> ::windows::runtime::Result<()> {
5149         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self)).ok()
5150     }
5151 }
5152 unsafe impl ::windows::runtime::Interface for ITCallInfo {
5153     type Vtable = ITCallInfo_abi;
5154     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(890209745, 4647, 4563, [131, 212, 0, 192, 79, 182, 128, 159]);
5155 }
5156 impl ::std::convert::From<ITCallInfo> for ::windows::runtime::IUnknown {
5157     fn from(value: ITCallInfo) -> Self {
5158         unsafe { ::std::mem::transmute(value) }
5159     }
5160 }
5161 impl ::std::convert::From<&ITCallInfo> for ::windows::runtime::IUnknown {
5162     fn from(value: &ITCallInfo) -> Self {
5163         ::std::convert::From::from(::std::clone::Clone::clone(value))
5164     }
5165 }
5166 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITCallInfo {
5167     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5168         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5169     }
5170 }
5171 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITCallInfo {
5172     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5173         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5174     }
5175 }
5176 #[cfg(feature = "Win32_System_Ole_Automation")]
5177 impl ::std::convert::From<ITCallInfo> for super::super::System::Ole::Automation::IDispatch {
5178     fn from(value: ITCallInfo) -> Self {
5179         unsafe { ::std::mem::transmute(value) }
5180     }
5181 }
5182 #[cfg(feature = "Win32_System_Ole_Automation")]
5183 impl ::std::convert::From<&ITCallInfo> for super::super::System::Ole::Automation::IDispatch {
5184     fn from(value: &ITCallInfo) -> Self {
5185         ::std::convert::From::from(::std::clone::Clone::clone(value))
5186     }
5187 }
5188 #[cfg(feature = "Win32_System_Ole_Automation")]
5189 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITCallInfo {
5190     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5191         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
5192     }
5193 }
5194 #[cfg(feature = "Win32_System_Ole_Automation")]
5195 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITCallInfo {
5196     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5197         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
5198     }
5199 }
5200 #[repr(C)]
5201 #[doc(hidden)]
5202 pub struct ITCallInfo_abi(
5203     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5204     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5205     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5206     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
5207     #[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,
5208     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
5209     #[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,
5210     #[cfg(not(feature = "Win32_Foundation"))] usize,
5211     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5212     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,
5213     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5214     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppaddress: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5215     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcallstate: *mut CALL_STATE) -> ::windows::runtime::HRESULT,
5216     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprivilege: *mut CALL_PRIVILEGE) -> ::windows::runtime::HRESULT,
5217     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcallhub: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5218     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, callinfolong: CALLINFO_LONG, plcallinfolongval: *mut i32) -> ::windows::runtime::HRESULT,
5219     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, callinfolong: CALLINFO_LONG, lcallinfolongval: i32) -> ::windows::runtime::HRESULT,
5220     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, callinfostring: CALLINFO_STRING, ppcallinfostring: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5221     #[cfg(not(feature = "Win32_Foundation"))] usize,
5222     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, callinfostring: CALLINFO_STRING, pcallinfostring: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5223     #[cfg(not(feature = "Win32_Foundation"))] usize,
5224     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, callinfobuffer: CALLINFO_BUFFER, ppcallinfobuffer: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
5225     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5226     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, callinfobuffer: CALLINFO_BUFFER, pcallinfobuffer: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
5227     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5228     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, callinfobuffer: CALLINFO_BUFFER, pdwsize: *mut u32, ppcallinfobuffer: *mut *mut u8) -> ::windows::runtime::HRESULT,
5229     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, callinfobuffer: CALLINFO_BUFFER, dwsize: u32, pcallinfobuffer: *const u8) -> ::windows::runtime::HRESULT,
5230     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5231 );
5232 #[repr(transparent)]
5233 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5234 pub struct ITCallInfo2(::windows::runtime::IUnknown);
5235 impl ITCallInfo2 {
5236     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
5237         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5238         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
5239     }
5240     #[cfg(feature = "Win32_System_Ole_Automation")]
5241     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
5242         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5243         (::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__)
5244     }
5245     #[cfg(feature = "Win32_Foundation")]
5246     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<()> {
5247         (::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()
5248     }
5249     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5250     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<()> {
5251         (::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()
5252     }
5253     pub unsafe fn Address(&self) -> ::windows::runtime::Result<ITAddress> {
5254         let mut result__: <ITAddress as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5255         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITAddress>(result__)
5256     }
5257     pub unsafe fn CallState(&self) -> ::windows::runtime::Result<CALL_STATE> {
5258         let mut result__: <CALL_STATE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5259         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<CALL_STATE>(result__)
5260     }
5261     pub unsafe fn Privilege(&self) -> ::windows::runtime::Result<CALL_PRIVILEGE> {
5262         let mut result__: <CALL_PRIVILEGE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5263         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<CALL_PRIVILEGE>(result__)
5264     }
5265     pub unsafe fn CallHub(&self) -> ::windows::runtime::Result<ITCallHub> {
5266         let mut result__: <ITCallHub as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5267         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITCallHub>(result__)
5268     }
5269     pub unsafe fn CallInfoLong(&self, callinfolong: CALLINFO_LONG) -> ::windows::runtime::Result<i32> {
5270         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5271         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(callinfolong), &mut result__).from_abi::<i32>(result__)
5272     }
5273     pub unsafe fn SetCallInfoLong(&self, callinfolong: CALLINFO_LONG, lcallinfolongval: i32) -> ::windows::runtime::Result<()> {
5274         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(callinfolong), ::std::mem::transmute(lcallinfolongval)).ok()
5275     }
5276     #[cfg(feature = "Win32_Foundation")]
5277     pub unsafe fn CallInfoString(&self, callinfostring: CALLINFO_STRING) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5278         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5279         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(callinfostring), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5280     }
5281     #[cfg(feature = "Win32_Foundation")]
5282     pub unsafe fn SetCallInfoString<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, callinfostring: CALLINFO_STRING, pcallinfostring: Param1) -> ::windows::runtime::Result<()> {
5283         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(callinfostring), pcallinfostring.into_param().abi()).ok()
5284     }
5285     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5286     pub unsafe fn CallInfoBuffer(&self, callinfobuffer: CALLINFO_BUFFER) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
5287         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5288         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(callinfobuffer), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
5289     }
5290     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5291     pub unsafe fn SetCallInfoBuffer<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, callinfobuffer: CALLINFO_BUFFER, pcallinfobuffer: Param1) -> ::windows::runtime::Result<()> {
5292         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(callinfobuffer), pcallinfobuffer.into_param().abi()).ok()
5293     }
5294     pub unsafe fn GetCallInfoBuffer(&self, callinfobuffer: CALLINFO_BUFFER, pdwsize: *mut u32, ppcallinfobuffer: *mut *mut u8) -> ::windows::runtime::Result<()> {
5295         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(callinfobuffer), ::std::mem::transmute(pdwsize), ::std::mem::transmute(ppcallinfobuffer)).ok()
5296     }
5297     pub unsafe fn SetCallInfoBuffer2(&self, callinfobuffer: CALLINFO_BUFFER, dwsize: u32, pcallinfobuffer: *const u8) -> ::windows::runtime::Result<()> {
5298         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(callinfobuffer), ::std::mem::transmute(dwsize), ::std::mem::transmute(pcallinfobuffer)).ok()
5299     }
5300     pub unsafe fn ReleaseUserUserInfo(&self) -> ::windows::runtime::Result<()> {
5301         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self)).ok()
5302     }
5303     pub unsafe fn EventFilter(&self, tapievent: TAPI_EVENT, lsubevent: i32) -> ::windows::runtime::Result<i16> {
5304         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5305         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(tapievent), ::std::mem::transmute(lsubevent), &mut result__).from_abi::<i16>(result__)
5306     }
5307     pub unsafe fn SetEventFilter(&self, tapievent: TAPI_EVENT, lsubevent: i32, benable: i16) -> ::windows::runtime::Result<()> {
5308         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(tapievent), ::std::mem::transmute(lsubevent), ::std::mem::transmute(benable)).ok()
5309     }
5310 }
5311 unsafe impl ::windows::runtime::Interface for ITCallInfo2 {
5312     type Vtable = ITCallInfo2_abi;
5313     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2497121446, 31408, 19882, [129, 202, 184, 248, 100, 63, 174, 193]);
5314 }
5315 impl ::std::convert::From<ITCallInfo2> for ::windows::runtime::IUnknown {
5316     fn from(value: ITCallInfo2) -> Self {
5317         unsafe { ::std::mem::transmute(value) }
5318     }
5319 }
5320 impl ::std::convert::From<&ITCallInfo2> for ::windows::runtime::IUnknown {
5321     fn from(value: &ITCallInfo2) -> Self {
5322         ::std::convert::From::from(::std::clone::Clone::clone(value))
5323     }
5324 }
5325 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITCallInfo2 {
5326     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5327         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5328     }
5329 }
5330 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITCallInfo2 {
5331     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5332         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5333     }
5334 }
5335 impl ::std::convert::From<ITCallInfo2> for ITCallInfo {
5336     fn from(value: ITCallInfo2) -> Self {
5337         unsafe { ::std::mem::transmute(value) }
5338     }
5339 }
5340 impl ::std::convert::From<&ITCallInfo2> for ITCallInfo {
5341     fn from(value: &ITCallInfo2) -> Self {
5342         ::std::convert::From::from(::std::clone::Clone::clone(value))
5343     }
5344 }
5345 impl<'a> ::windows::runtime::IntoParam<'a, ITCallInfo> for ITCallInfo2 {
5346     fn into_param(self) -> ::windows::runtime::Param<'a, ITCallInfo> {
5347         ::windows::runtime::Param::Owned(::std::convert::Into::<ITCallInfo>::into(self))
5348     }
5349 }
5350 impl<'a> ::windows::runtime::IntoParam<'a, ITCallInfo> for &ITCallInfo2 {
5351     fn into_param(self) -> ::windows::runtime::Param<'a, ITCallInfo> {
5352         ::windows::runtime::Param::Owned(::std::convert::Into::<ITCallInfo>::into(::std::clone::Clone::clone(self)))
5353     }
5354 }
5355 #[cfg(feature = "Win32_System_Ole_Automation")]
5356 impl ::std::convert::From<ITCallInfo2> for super::super::System::Ole::Automation::IDispatch {
5357     fn from(value: ITCallInfo2) -> Self {
5358         unsafe { ::std::mem::transmute(value) }
5359     }
5360 }
5361 #[cfg(feature = "Win32_System_Ole_Automation")]
5362 impl ::std::convert::From<&ITCallInfo2> for super::super::System::Ole::Automation::IDispatch {
5363     fn from(value: &ITCallInfo2) -> Self {
5364         ::std::convert::From::from(::std::clone::Clone::clone(value))
5365     }
5366 }
5367 #[cfg(feature = "Win32_System_Ole_Automation")]
5368 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITCallInfo2 {
5369     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5370         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
5371     }
5372 }
5373 #[cfg(feature = "Win32_System_Ole_Automation")]
5374 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITCallInfo2 {
5375     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5376         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
5377     }
5378 }
5379 #[repr(C)]
5380 #[doc(hidden)]
5381 pub struct ITCallInfo2_abi(
5382     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5383     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5384     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5385     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
5386     #[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,
5387     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
5388     #[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,
5389     #[cfg(not(feature = "Win32_Foundation"))] usize,
5390     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5391     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,
5392     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5393     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppaddress: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5394     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcallstate: *mut CALL_STATE) -> ::windows::runtime::HRESULT,
5395     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprivilege: *mut CALL_PRIVILEGE) -> ::windows::runtime::HRESULT,
5396     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcallhub: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5397     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, callinfolong: CALLINFO_LONG, plcallinfolongval: *mut i32) -> ::windows::runtime::HRESULT,
5398     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, callinfolong: CALLINFO_LONG, lcallinfolongval: i32) -> ::windows::runtime::HRESULT,
5399     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, callinfostring: CALLINFO_STRING, ppcallinfostring: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5400     #[cfg(not(feature = "Win32_Foundation"))] usize,
5401     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, callinfostring: CALLINFO_STRING, pcallinfostring: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5402     #[cfg(not(feature = "Win32_Foundation"))] usize,
5403     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, callinfobuffer: CALLINFO_BUFFER, ppcallinfobuffer: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
5404     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5405     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, callinfobuffer: CALLINFO_BUFFER, pcallinfobuffer: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
5406     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5407     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, callinfobuffer: CALLINFO_BUFFER, pdwsize: *mut u32, ppcallinfobuffer: *mut *mut u8) -> ::windows::runtime::HRESULT,
5408     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, callinfobuffer: CALLINFO_BUFFER, dwsize: u32, pcallinfobuffer: *const u8) -> ::windows::runtime::HRESULT,
5409     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5410     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, tapievent: TAPI_EVENT, lsubevent: i32, penable: *mut i16) -> ::windows::runtime::HRESULT,
5411     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, tapievent: TAPI_EVENT, lsubevent: i32, benable: i16) -> ::windows::runtime::HRESULT,
5412 );
5413 #[repr(transparent)]
5414 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5415 pub struct ITCallInfoChangeEvent(::windows::runtime::IUnknown);
5416 impl ITCallInfoChangeEvent {
5417     pub unsafe fn Call(&self) -> ::windows::runtime::Result<ITCallInfo> {
5418         let mut result__: <ITCallInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5419         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITCallInfo>(result__)
5420     }
5421     pub unsafe fn Cause(&self) -> ::windows::runtime::Result<CALLINFOCHANGE_CAUSE> {
5422         let mut result__: <CALLINFOCHANGE_CAUSE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5423         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<CALLINFOCHANGE_CAUSE>(result__)
5424     }
5425     pub unsafe fn CallbackInstance(&self) -> ::windows::runtime::Result<i32> {
5426         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5427         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
5428     }
5429 }
5430 unsafe impl ::windows::runtime::Interface for ITCallInfoChangeEvent {
5431     type Vtable = ITCallInfoChangeEvent_abi;
5432     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1565222393, 58652, 4561, [160, 47, 0, 192, 79, 182, 128, 159]);
5433 }
5434 impl ::std::convert::From<ITCallInfoChangeEvent> for ::windows::runtime::IUnknown {
5435     fn from(value: ITCallInfoChangeEvent) -> Self {
5436         unsafe { ::std::mem::transmute(value) }
5437     }
5438 }
5439 impl ::std::convert::From<&ITCallInfoChangeEvent> for ::windows::runtime::IUnknown {
5440     fn from(value: &ITCallInfoChangeEvent) -> Self {
5441         ::std::convert::From::from(::std::clone::Clone::clone(value))
5442     }
5443 }
5444 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITCallInfoChangeEvent {
5445     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5446         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5447     }
5448 }
5449 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITCallInfoChangeEvent {
5450     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5451         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5452     }
5453 }
5454 #[cfg(feature = "Win32_System_Ole_Automation")]
5455 impl ::std::convert::From<ITCallInfoChangeEvent> for super::super::System::Ole::Automation::IDispatch {
5456     fn from(value: ITCallInfoChangeEvent) -> Self {
5457         unsafe { ::std::mem::transmute(value) }
5458     }
5459 }
5460 #[cfg(feature = "Win32_System_Ole_Automation")]
5461 impl ::std::convert::From<&ITCallInfoChangeEvent> for super::super::System::Ole::Automation::IDispatch {
5462     fn from(value: &ITCallInfoChangeEvent) -> Self {
5463         ::std::convert::From::from(::std::clone::Clone::clone(value))
5464     }
5465 }
5466 #[cfg(feature = "Win32_System_Ole_Automation")]
5467 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITCallInfoChangeEvent {
5468     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5469         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
5470     }
5471 }
5472 #[cfg(feature = "Win32_System_Ole_Automation")]
5473 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITCallInfoChangeEvent {
5474     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5475         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
5476     }
5477 }
5478 #[repr(C)]
5479 #[doc(hidden)]
5480 pub struct ITCallInfoChangeEvent_abi(
5481     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5482     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5483     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5484     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
5485     #[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,
5486     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
5487     #[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,
5488     #[cfg(not(feature = "Win32_Foundation"))] usize,
5489     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5490     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,
5491     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5492     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcall: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5493     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcic: *mut CALLINFOCHANGE_CAUSE) -> ::windows::runtime::HRESULT,
5494     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plcallbackinstance: *mut i32) -> ::windows::runtime::HRESULT,
5495 );
5496 #[repr(transparent)]
5497 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5498 pub struct ITCallMediaEvent(::windows::runtime::IUnknown);
5499 impl ITCallMediaEvent {
5500     pub unsafe fn Call(&self) -> ::windows::runtime::Result<ITCallInfo> {
5501         let mut result__: <ITCallInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5502         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITCallInfo>(result__)
5503     }
5504     pub unsafe fn Event(&self) -> ::windows::runtime::Result<CALL_MEDIA_EVENT> {
5505         let mut result__: <CALL_MEDIA_EVENT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5506         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<CALL_MEDIA_EVENT>(result__)
5507     }
5508     pub unsafe fn Error(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT> {
5509         let mut result__: <::windows::runtime::HRESULT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5510         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::HRESULT>(result__)
5511     }
5512     pub unsafe fn Terminal(&self) -> ::windows::runtime::Result<ITTerminal> {
5513         let mut result__: <ITTerminal as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5514         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITTerminal>(result__)
5515     }
5516     pub unsafe fn Stream(&self) -> ::windows::runtime::Result<ITStream> {
5517         let mut result__: <ITStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5518         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITStream>(result__)
5519     }
5520     pub unsafe fn Cause(&self) -> ::windows::runtime::Result<CALL_MEDIA_EVENT_CAUSE> {
5521         let mut result__: <CALL_MEDIA_EVENT_CAUSE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5522         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<CALL_MEDIA_EVENT_CAUSE>(result__)
5523     }
5524 }
5525 unsafe impl ::windows::runtime::Interface for ITCallMediaEvent {
5526     type Vtable = ITCallMediaEvent_abi;
5527     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4281776255, 60474, 4560, [142, 228, 0, 192, 79, 182, 128, 159]);
5528 }
5529 impl ::std::convert::From<ITCallMediaEvent> for ::windows::runtime::IUnknown {
5530     fn from(value: ITCallMediaEvent) -> Self {
5531         unsafe { ::std::mem::transmute(value) }
5532     }
5533 }
5534 impl ::std::convert::From<&ITCallMediaEvent> for ::windows::runtime::IUnknown {
5535     fn from(value: &ITCallMediaEvent) -> Self {
5536         ::std::convert::From::from(::std::clone::Clone::clone(value))
5537     }
5538 }
5539 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITCallMediaEvent {
5540     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5541         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5542     }
5543 }
5544 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITCallMediaEvent {
5545     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5546         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5547     }
5548 }
5549 #[cfg(feature = "Win32_System_Ole_Automation")]
5550 impl ::std::convert::From<ITCallMediaEvent> for super::super::System::Ole::Automation::IDispatch {
5551     fn from(value: ITCallMediaEvent) -> Self {
5552         unsafe { ::std::mem::transmute(value) }
5553     }
5554 }
5555 #[cfg(feature = "Win32_System_Ole_Automation")]
5556 impl ::std::convert::From<&ITCallMediaEvent> for super::super::System::Ole::Automation::IDispatch {
5557     fn from(value: &ITCallMediaEvent) -> Self {
5558         ::std::convert::From::from(::std::clone::Clone::clone(value))
5559     }
5560 }
5561 #[cfg(feature = "Win32_System_Ole_Automation")]
5562 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITCallMediaEvent {
5563     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5564         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
5565     }
5566 }
5567 #[cfg(feature = "Win32_System_Ole_Automation")]
5568 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITCallMediaEvent {
5569     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5570         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
5571     }
5572 }
5573 #[repr(C)]
5574 #[doc(hidden)]
5575 pub struct ITCallMediaEvent_abi(
5576     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5577     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5578     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5579     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
5580     #[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,
5581     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
5582     #[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,
5583     #[cfg(not(feature = "Win32_Foundation"))] usize,
5584     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5585     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,
5586     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5587     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcallinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5588     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcallmediaevent: *mut CALL_MEDIA_EVENT) -> ::windows::runtime::HRESULT,
5589     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, phrerror: *mut ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
5590     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppterminal: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5591     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppstream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5592     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcause: *mut CALL_MEDIA_EVENT_CAUSE) -> ::windows::runtime::HRESULT,
5593 );
5594 #[repr(transparent)]
5595 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5596 pub struct ITCallNotificationEvent(::windows::runtime::IUnknown);
5597 impl ITCallNotificationEvent {
5598     pub unsafe fn Call(&self) -> ::windows::runtime::Result<ITCallInfo> {
5599         let mut result__: <ITCallInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5600         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITCallInfo>(result__)
5601     }
5602     pub unsafe fn Event(&self) -> ::windows::runtime::Result<CALL_NOTIFICATION_EVENT> {
5603         let mut result__: <CALL_NOTIFICATION_EVENT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5604         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<CALL_NOTIFICATION_EVENT>(result__)
5605     }
5606     pub unsafe fn CallbackInstance(&self) -> ::windows::runtime::Result<i32> {
5607         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5608         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
5609     }
5610 }
5611 unsafe impl ::windows::runtime::Interface for ITCallNotificationEvent {
5612     type Vtable = ITCallNotificationEvent_abi;
5613     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2304246239, 15830, 4561, [143, 48, 0, 192, 79, 182, 128, 159]);
5614 }
5615 impl ::std::convert::From<ITCallNotificationEvent> for ::windows::runtime::IUnknown {
5616     fn from(value: ITCallNotificationEvent) -> Self {
5617         unsafe { ::std::mem::transmute(value) }
5618     }
5619 }
5620 impl ::std::convert::From<&ITCallNotificationEvent> for ::windows::runtime::IUnknown {
5621     fn from(value: &ITCallNotificationEvent) -> Self {
5622         ::std::convert::From::from(::std::clone::Clone::clone(value))
5623     }
5624 }
5625 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITCallNotificationEvent {
5626     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5627         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5628     }
5629 }
5630 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITCallNotificationEvent {
5631     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5632         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5633     }
5634 }
5635 #[cfg(feature = "Win32_System_Ole_Automation")]
5636 impl ::std::convert::From<ITCallNotificationEvent> for super::super::System::Ole::Automation::IDispatch {
5637     fn from(value: ITCallNotificationEvent) -> Self {
5638         unsafe { ::std::mem::transmute(value) }
5639     }
5640 }
5641 #[cfg(feature = "Win32_System_Ole_Automation")]
5642 impl ::std::convert::From<&ITCallNotificationEvent> for super::super::System::Ole::Automation::IDispatch {
5643     fn from(value: &ITCallNotificationEvent) -> Self {
5644         ::std::convert::From::from(::std::clone::Clone::clone(value))
5645     }
5646 }
5647 #[cfg(feature = "Win32_System_Ole_Automation")]
5648 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITCallNotificationEvent {
5649     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5650         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
5651     }
5652 }
5653 #[cfg(feature = "Win32_System_Ole_Automation")]
5654 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITCallNotificationEvent {
5655     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5656         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
5657     }
5658 }
5659 #[repr(C)]
5660 #[doc(hidden)]
5661 pub struct ITCallNotificationEvent_abi(
5662     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5663     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5664     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5665     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
5666     #[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,
5667     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
5668     #[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,
5669     #[cfg(not(feature = "Win32_Foundation"))] usize,
5670     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5671     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,
5672     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5673     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcall: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5674     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcallnotificationevent: *mut CALL_NOTIFICATION_EVENT) -> ::windows::runtime::HRESULT,
5675     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plcallbackinstance: *mut i32) -> ::windows::runtime::HRESULT,
5676 );
5677 #[repr(transparent)]
5678 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5679 pub struct ITCallStateEvent(::windows::runtime::IUnknown);
5680 impl ITCallStateEvent {
5681     pub unsafe fn Call(&self) -> ::windows::runtime::Result<ITCallInfo> {
5682         let mut result__: <ITCallInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5683         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITCallInfo>(result__)
5684     }
5685     pub unsafe fn State(&self) -> ::windows::runtime::Result<CALL_STATE> {
5686         let mut result__: <CALL_STATE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5687         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<CALL_STATE>(result__)
5688     }
5689     pub unsafe fn Cause(&self) -> ::windows::runtime::Result<CALL_STATE_EVENT_CAUSE> {
5690         let mut result__: <CALL_STATE_EVENT_CAUSE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5691         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<CALL_STATE_EVENT_CAUSE>(result__)
5692     }
5693     pub unsafe fn CallbackInstance(&self) -> ::windows::runtime::Result<i32> {
5694         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5695         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
5696     }
5697 }
5698 unsafe impl ::windows::runtime::Interface for ITCallStateEvent {
5699     type Vtable = ITCallStateEvent_abi;
5700     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1660186775, 38345, 4560, [131, 93, 0, 170, 0, 60, 202, 189]);
5701 }
5702 impl ::std::convert::From<ITCallStateEvent> for ::windows::runtime::IUnknown {
5703     fn from(value: ITCallStateEvent) -> Self {
5704         unsafe { ::std::mem::transmute(value) }
5705     }
5706 }
5707 impl ::std::convert::From<&ITCallStateEvent> for ::windows::runtime::IUnknown {
5708     fn from(value: &ITCallStateEvent) -> Self {
5709         ::std::convert::From::from(::std::clone::Clone::clone(value))
5710     }
5711 }
5712 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITCallStateEvent {
5713     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5714         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5715     }
5716 }
5717 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITCallStateEvent {
5718     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5719         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5720     }
5721 }
5722 #[cfg(feature = "Win32_System_Ole_Automation")]
5723 impl ::std::convert::From<ITCallStateEvent> for super::super::System::Ole::Automation::IDispatch {
5724     fn from(value: ITCallStateEvent) -> Self {
5725         unsafe { ::std::mem::transmute(value) }
5726     }
5727 }
5728 #[cfg(feature = "Win32_System_Ole_Automation")]
5729 impl ::std::convert::From<&ITCallStateEvent> for super::super::System::Ole::Automation::IDispatch {
5730     fn from(value: &ITCallStateEvent) -> Self {
5731         ::std::convert::From::from(::std::clone::Clone::clone(value))
5732     }
5733 }
5734 #[cfg(feature = "Win32_System_Ole_Automation")]
5735 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITCallStateEvent {
5736     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5737         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
5738     }
5739 }
5740 #[cfg(feature = "Win32_System_Ole_Automation")]
5741 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITCallStateEvent {
5742     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5743         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
5744     }
5745 }
5746 #[repr(C)]
5747 #[doc(hidden)]
5748 pub struct ITCallStateEvent_abi(
5749     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5750     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5751     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5752     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
5753     #[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,
5754     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
5755     #[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,
5756     #[cfg(not(feature = "Win32_Foundation"))] usize,
5757     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5758     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,
5759     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5760     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcallinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5761     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcallstate: *mut CALL_STATE) -> ::windows::runtime::HRESULT,
5762     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcec: *mut CALL_STATE_EVENT_CAUSE) -> ::windows::runtime::HRESULT,
5763     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plcallbackinstance: *mut i32) -> ::windows::runtime::HRESULT,
5764 );
5765 #[repr(transparent)]
5766 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5767 pub struct ITCallingCard(::windows::runtime::IUnknown);
5768 impl ITCallingCard {
5769     pub unsafe fn PermanentCardID(&self) -> ::windows::runtime::Result<i32> {
5770         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5771         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
5772     }
5773     pub unsafe fn NumberOfDigits(&self) -> ::windows::runtime::Result<i32> {
5774         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5775         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
5776     }
5777     pub unsafe fn Options(&self) -> ::windows::runtime::Result<i32> {
5778         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5779         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
5780     }
5781     #[cfg(feature = "Win32_Foundation")]
5782     pub unsafe fn CardName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5783         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5784         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5785     }
5786     #[cfg(feature = "Win32_Foundation")]
5787     pub unsafe fn SameAreaDialingRule(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5788         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5789         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5790     }
5791     #[cfg(feature = "Win32_Foundation")]
5792     pub unsafe fn LongDistanceDialingRule(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5793         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5794         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5795     }
5796     #[cfg(feature = "Win32_Foundation")]
5797     pub unsafe fn InternationalDialingRule(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5798         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5799         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5800     }
5801 }
5802 unsafe impl ::windows::runtime::Interface for ITCallingCard {
5803     type Vtable = ITCallingCard_abi;
5804     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(206409472, 36315, 4561, [160, 158, 0, 128, 95, 193, 71, 211]);
5805 }
5806 impl ::std::convert::From<ITCallingCard> for ::windows::runtime::IUnknown {
5807     fn from(value: ITCallingCard) -> Self {
5808         unsafe { ::std::mem::transmute(value) }
5809     }
5810 }
5811 impl ::std::convert::From<&ITCallingCard> for ::windows::runtime::IUnknown {
5812     fn from(value: &ITCallingCard) -> Self {
5813         ::std::convert::From::from(::std::clone::Clone::clone(value))
5814     }
5815 }
5816 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITCallingCard {
5817     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5818         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5819     }
5820 }
5821 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITCallingCard {
5822     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5823         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5824     }
5825 }
5826 #[cfg(feature = "Win32_System_Ole_Automation")]
5827 impl ::std::convert::From<ITCallingCard> for super::super::System::Ole::Automation::IDispatch {
5828     fn from(value: ITCallingCard) -> Self {
5829         unsafe { ::std::mem::transmute(value) }
5830     }
5831 }
5832 #[cfg(feature = "Win32_System_Ole_Automation")]
5833 impl ::std::convert::From<&ITCallingCard> for super::super::System::Ole::Automation::IDispatch {
5834     fn from(value: &ITCallingCard) -> Self {
5835         ::std::convert::From::from(::std::clone::Clone::clone(value))
5836     }
5837 }
5838 #[cfg(feature = "Win32_System_Ole_Automation")]
5839 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITCallingCard {
5840     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5841         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
5842     }
5843 }
5844 #[cfg(feature = "Win32_System_Ole_Automation")]
5845 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITCallingCard {
5846     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5847         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
5848     }
5849 }
5850 #[repr(C)]
5851 #[doc(hidden)]
5852 pub struct ITCallingCard_abi(
5853     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5854     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5855     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5856     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
5857     #[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,
5858     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
5859     #[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,
5860     #[cfg(not(feature = "Win32_Foundation"))] usize,
5861     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5862     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,
5863     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5864     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plcardid: *mut i32) -> ::windows::runtime::HRESULT,
5865     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pldigits: *mut i32) -> ::windows::runtime::HRESULT,
5866     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ploptions: *mut i32) -> ::windows::runtime::HRESULT,
5867     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcardname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5868     #[cfg(not(feature = "Win32_Foundation"))] usize,
5869     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprule: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5870     #[cfg(not(feature = "Win32_Foundation"))] usize,
5871     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprule: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5872     #[cfg(not(feature = "Win32_Foundation"))] usize,
5873     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprule: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5874     #[cfg(not(feature = "Win32_Foundation"))] usize,
5875 );
5876 #[repr(transparent)]
5877 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5878 pub struct ITCollection(::windows::runtime::IUnknown);
5879 impl ITCollection {
5880     pub unsafe fn Count(&self) -> ::windows::runtime::Result<i32> {
5881         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5882         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
5883     }
5884     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5885     pub unsafe fn Item(&self, index: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
5886         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5887         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
5888     }
5889     pub unsafe fn _NewEnum(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
5890         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5891         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
5892     }
5893 }
5894 unsafe impl ::windows::runtime::Interface for ITCollection {
5895     type Vtable = ITCollection_abi;
5896     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1590013170, 39938, 4560, [131, 98, 0, 170, 0, 60, 202, 189]);
5897 }
5898 impl ::std::convert::From<ITCollection> for ::windows::runtime::IUnknown {
5899     fn from(value: ITCollection) -> Self {
5900         unsafe { ::std::mem::transmute(value) }
5901     }
5902 }
5903 impl ::std::convert::From<&ITCollection> for ::windows::runtime::IUnknown {
5904     fn from(value: &ITCollection) -> Self {
5905         ::std::convert::From::from(::std::clone::Clone::clone(value))
5906     }
5907 }
5908 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITCollection {
5909     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5910         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5911     }
5912 }
5913 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITCollection {
5914     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5915         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5916     }
5917 }
5918 #[cfg(feature = "Win32_System_Ole_Automation")]
5919 impl ::std::convert::From<ITCollection> for super::super::System::Ole::Automation::IDispatch {
5920     fn from(value: ITCollection) -> Self {
5921         unsafe { ::std::mem::transmute(value) }
5922     }
5923 }
5924 #[cfg(feature = "Win32_System_Ole_Automation")]
5925 impl ::std::convert::From<&ITCollection> for super::super::System::Ole::Automation::IDispatch {
5926     fn from(value: &ITCollection) -> Self {
5927         ::std::convert::From::from(::std::clone::Clone::clone(value))
5928     }
5929 }
5930 #[cfg(feature = "Win32_System_Ole_Automation")]
5931 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITCollection {
5932     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5933         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
5934     }
5935 }
5936 #[cfg(feature = "Win32_System_Ole_Automation")]
5937 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITCollection {
5938     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5939         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
5940     }
5941 }
5942 #[repr(C)]
5943 #[doc(hidden)]
5944 pub struct ITCollection_abi(
5945     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5946     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5947     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5948     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
5949     #[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,
5950     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
5951     #[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,
5952     #[cfg(not(feature = "Win32_Foundation"))] usize,
5953     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5954     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,
5955     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5956     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lcount: *mut i32) -> ::windows::runtime::HRESULT,
5957     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
5958     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5959     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppnewenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5960 );
5961 #[repr(transparent)]
5962 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5963 pub struct ITCollection2(::windows::runtime::IUnknown);
5964 impl ITCollection2 {
5965     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
5966         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5967         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
5968     }
5969     #[cfg(feature = "Win32_System_Ole_Automation")]
5970     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
5971         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5972         (::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__)
5973     }
5974     #[cfg(feature = "Win32_Foundation")]
5975     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<()> {
5976         (::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()
5977     }
5978     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5979     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<()> {
5980         (::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()
5981     }
5982     pub unsafe fn Count(&self) -> ::windows::runtime::Result<i32> {
5983         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5984         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
5985     }
5986     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5987     pub unsafe fn Item(&self, index: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
5988         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5989         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
5990     }
5991     pub unsafe fn _NewEnum(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
5992         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5993         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
5994     }
5995     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5996     pub unsafe fn Add(&self, index: i32, pvariant: *const super::super::System::Com::VARIANT) -> ::windows::runtime::Result<()> {
5997         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), ::std::mem::transmute(pvariant)).ok()
5998     }
5999     pub unsafe fn Remove(&self, index: i32) -> ::windows::runtime::Result<()> {
6000         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(index)).ok()
6001     }
6002 }
6003 unsafe impl ::windows::runtime::Interface for ITCollection2 {
6004     type Vtable = ITCollection2_abi;
6005     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3873299877, 42707, 18687, [135, 55, 211, 47, 196, 217, 84, 119]);
6006 }
6007 impl ::std::convert::From<ITCollection2> for ::windows::runtime::IUnknown {
6008     fn from(value: ITCollection2) -> Self {
6009         unsafe { ::std::mem::transmute(value) }
6010     }
6011 }
6012 impl ::std::convert::From<&ITCollection2> for ::windows::runtime::IUnknown {
6013     fn from(value: &ITCollection2) -> Self {
6014         ::std::convert::From::from(::std::clone::Clone::clone(value))
6015     }
6016 }
6017 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITCollection2 {
6018     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6019         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6020     }
6021 }
6022 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITCollection2 {
6023     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6024         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6025     }
6026 }
6027 impl ::std::convert::From<ITCollection2> for ITCollection {
6028     fn from(value: ITCollection2) -> Self {
6029         unsafe { ::std::mem::transmute(value) }
6030     }
6031 }
6032 impl ::std::convert::From<&ITCollection2> for ITCollection {
6033     fn from(value: &ITCollection2) -> Self {
6034         ::std::convert::From::from(::std::clone::Clone::clone(value))
6035     }
6036 }
6037 impl<'a> ::windows::runtime::IntoParam<'a, ITCollection> for ITCollection2 {
6038     fn into_param(self) -> ::windows::runtime::Param<'a, ITCollection> {
6039         ::windows::runtime::Param::Owned(::std::convert::Into::<ITCollection>::into(self))
6040     }
6041 }
6042 impl<'a> ::windows::runtime::IntoParam<'a, ITCollection> for &ITCollection2 {
6043     fn into_param(self) -> ::windows::runtime::Param<'a, ITCollection> {
6044         ::windows::runtime::Param::Owned(::std::convert::Into::<ITCollection>::into(::std::clone::Clone::clone(self)))
6045     }
6046 }
6047 #[cfg(feature = "Win32_System_Ole_Automation")]
6048 impl ::std::convert::From<ITCollection2> for super::super::System::Ole::Automation::IDispatch {
6049     fn from(value: ITCollection2) -> Self {
6050         unsafe { ::std::mem::transmute(value) }
6051     }
6052 }
6053 #[cfg(feature = "Win32_System_Ole_Automation")]
6054 impl ::std::convert::From<&ITCollection2> for super::super::System::Ole::Automation::IDispatch {
6055     fn from(value: &ITCollection2) -> Self {
6056         ::std::convert::From::from(::std::clone::Clone::clone(value))
6057     }
6058 }
6059 #[cfg(feature = "Win32_System_Ole_Automation")]
6060 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITCollection2 {
6061     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6062         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
6063     }
6064 }
6065 #[cfg(feature = "Win32_System_Ole_Automation")]
6066 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITCollection2 {
6067     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6068         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
6069     }
6070 }
6071 #[repr(C)]
6072 #[doc(hidden)]
6073 pub struct ITCollection2_abi(
6074     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6075     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6076     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6077     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
6078     #[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,
6079     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
6080     #[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,
6081     #[cfg(not(feature = "Win32_Foundation"))] usize,
6082     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6083     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,
6084     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6085     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lcount: *mut i32) -> ::windows::runtime::HRESULT,
6086     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
6087     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6088     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppnewenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6089     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32, pvariant: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
6090     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6091     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32) -> ::windows::runtime::HRESULT,
6092 );
6093 #[repr(transparent)]
6094 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6095 pub struct ITCustomTone(::windows::runtime::IUnknown);
6096 impl ITCustomTone {
6097     pub unsafe fn Frequency(&self) -> ::windows::runtime::Result<i32> {
6098         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6099         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
6100     }
6101     pub unsafe fn SetFrequency(&self, lfrequency: i32) -> ::windows::runtime::Result<()> {
6102         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(lfrequency)).ok()
6103     }
6104     pub unsafe fn CadenceOn(&self) -> ::windows::runtime::Result<i32> {
6105         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6106         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
6107     }
6108     pub unsafe fn SetCadenceOn(&self, cadenceon: i32) -> ::windows::runtime::Result<()> {
6109         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(cadenceon)).ok()
6110     }
6111     pub unsafe fn CadenceOff(&self) -> ::windows::runtime::Result<i32> {
6112         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6113         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
6114     }
6115     pub unsafe fn SetCadenceOff(&self, lcadenceoff: i32) -> ::windows::runtime::Result<()> {
6116         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(lcadenceoff)).ok()
6117     }
6118     pub unsafe fn Volume(&self) -> ::windows::runtime::Result<i32> {
6119         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6120         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
6121     }
6122     pub unsafe fn SetVolume(&self, lvolume: i32) -> ::windows::runtime::Result<()> {
6123         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(lvolume)).ok()
6124     }
6125 }
6126 unsafe impl ::windows::runtime::Interface for ITCustomTone {
6127     type Vtable = ITCustomTone_abi;
6128     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(897242980, 46022, 19242, [143, 165, 7, 34, 130, 122, 146, 84]);
6129 }
6130 impl ::std::convert::From<ITCustomTone> for ::windows::runtime::IUnknown {
6131     fn from(value: ITCustomTone) -> Self {
6132         unsafe { ::std::mem::transmute(value) }
6133     }
6134 }
6135 impl ::std::convert::From<&ITCustomTone> for ::windows::runtime::IUnknown {
6136     fn from(value: &ITCustomTone) -> Self {
6137         ::std::convert::From::from(::std::clone::Clone::clone(value))
6138     }
6139 }
6140 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITCustomTone {
6141     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6142         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6143     }
6144 }
6145 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITCustomTone {
6146     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6147         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6148     }
6149 }
6150 #[cfg(feature = "Win32_System_Ole_Automation")]
6151 impl ::std::convert::From<ITCustomTone> for super::super::System::Ole::Automation::IDispatch {
6152     fn from(value: ITCustomTone) -> Self {
6153         unsafe { ::std::mem::transmute(value) }
6154     }
6155 }
6156 #[cfg(feature = "Win32_System_Ole_Automation")]
6157 impl ::std::convert::From<&ITCustomTone> for super::super::System::Ole::Automation::IDispatch {
6158     fn from(value: &ITCustomTone) -> Self {
6159         ::std::convert::From::from(::std::clone::Clone::clone(value))
6160     }
6161 }
6162 #[cfg(feature = "Win32_System_Ole_Automation")]
6163 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITCustomTone {
6164     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6165         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
6166     }
6167 }
6168 #[cfg(feature = "Win32_System_Ole_Automation")]
6169 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITCustomTone {
6170     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6171         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
6172     }
6173 }
6174 #[repr(C)]
6175 #[doc(hidden)]
6176 pub struct ITCustomTone_abi(
6177     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6178     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6179     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6180     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
6181     #[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,
6182     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
6183     #[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,
6184     #[cfg(not(feature = "Win32_Foundation"))] usize,
6185     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6186     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,
6187     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6188     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plfrequency: *mut i32) -> ::windows::runtime::HRESULT,
6189     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lfrequency: i32) -> ::windows::runtime::HRESULT,
6190     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plcadenceon: *mut i32) -> ::windows::runtime::HRESULT,
6191     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cadenceon: i32) -> ::windows::runtime::HRESULT,
6192     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plcadenceoff: *mut i32) -> ::windows::runtime::HRESULT,
6193     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lcadenceoff: i32) -> ::windows::runtime::HRESULT,
6194     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plvolume: *mut i32) -> ::windows::runtime::HRESULT,
6195     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lvolume: i32) -> ::windows::runtime::HRESULT,
6196 );
6197 #[repr(transparent)]
6198 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6199 pub struct ITDetectTone(::windows::runtime::IUnknown);
6200 impl ITDetectTone {
6201     pub unsafe fn AppSpecific(&self) -> ::windows::runtime::Result<i32> {
6202         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6203         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
6204     }
6205     pub unsafe fn SetAppSpecific(&self, lappspecific: i32) -> ::windows::runtime::Result<()> {
6206         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(lappspecific)).ok()
6207     }
6208     pub unsafe fn Duration(&self) -> ::windows::runtime::Result<i32> {
6209         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6210         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
6211     }
6212     pub unsafe fn SetDuration(&self, lduration: i32) -> ::windows::runtime::Result<()> {
6213         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(lduration)).ok()
6214     }
6215     pub unsafe fn Frequency(&self, index: i32) -> ::windows::runtime::Result<i32> {
6216         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6217         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<i32>(result__)
6218     }
6219     pub unsafe fn SetFrequency(&self, index: i32, lfrequency: i32) -> ::windows::runtime::Result<()> {
6220         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), ::std::mem::transmute(lfrequency)).ok()
6221     }
6222 }
6223 unsafe impl ::windows::runtime::Interface for ITDetectTone {
6224     type Vtable = ITDetectTone_abi;
6225     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2518645181, 12439, 18911, [161, 214, 144, 155, 119, 232, 156, 160]);
6226 }
6227 impl ::std::convert::From<ITDetectTone> for ::windows::runtime::IUnknown {
6228     fn from(value: ITDetectTone) -> Self {
6229         unsafe { ::std::mem::transmute(value) }
6230     }
6231 }
6232 impl ::std::convert::From<&ITDetectTone> for ::windows::runtime::IUnknown {
6233     fn from(value: &ITDetectTone) -> Self {
6234         ::std::convert::From::from(::std::clone::Clone::clone(value))
6235     }
6236 }
6237 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITDetectTone {
6238     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6239         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6240     }
6241 }
6242 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITDetectTone {
6243     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6244         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6245     }
6246 }
6247 #[cfg(feature = "Win32_System_Ole_Automation")]
6248 impl ::std::convert::From<ITDetectTone> for super::super::System::Ole::Automation::IDispatch {
6249     fn from(value: ITDetectTone) -> Self {
6250         unsafe { ::std::mem::transmute(value) }
6251     }
6252 }
6253 #[cfg(feature = "Win32_System_Ole_Automation")]
6254 impl ::std::convert::From<&ITDetectTone> for super::super::System::Ole::Automation::IDispatch {
6255     fn from(value: &ITDetectTone) -> Self {
6256         ::std::convert::From::from(::std::clone::Clone::clone(value))
6257     }
6258 }
6259 #[cfg(feature = "Win32_System_Ole_Automation")]
6260 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITDetectTone {
6261     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6262         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
6263     }
6264 }
6265 #[cfg(feature = "Win32_System_Ole_Automation")]
6266 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITDetectTone {
6267     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6268         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
6269     }
6270 }
6271 #[repr(C)]
6272 #[doc(hidden)]
6273 pub struct ITDetectTone_abi(
6274     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6275     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6276     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6277     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
6278     #[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,
6279     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
6280     #[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,
6281     #[cfg(not(feature = "Win32_Foundation"))] usize,
6282     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6283     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,
6284     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6285     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plappspecific: *mut i32) -> ::windows::runtime::HRESULT,
6286     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lappspecific: i32) -> ::windows::runtime::HRESULT,
6287     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plduration: *mut i32) -> ::windows::runtime::HRESULT,
6288     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lduration: i32) -> ::windows::runtime::HRESULT,
6289     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32, plfrequency: *mut i32) -> ::windows::runtime::HRESULT,
6290     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32, lfrequency: i32) -> ::windows::runtime::HRESULT,
6291 );
6292 #[repr(transparent)]
6293 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6294 pub struct ITDigitDetectionEvent(::windows::runtime::IUnknown);
6295 impl ITDigitDetectionEvent {
6296     pub unsafe fn Call(&self) -> ::windows::runtime::Result<ITCallInfo> {
6297         let mut result__: <ITCallInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6298         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITCallInfo>(result__)
6299     }
6300     pub unsafe fn Digit(&self) -> ::windows::runtime::Result<u8> {
6301         let mut result__: <u8 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6302         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u8>(result__)
6303     }
6304     pub unsafe fn DigitMode(&self) -> ::windows::runtime::Result<i32> {
6305         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6306         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
6307     }
6308     pub unsafe fn TickCount(&self) -> ::windows::runtime::Result<i32> {
6309         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6310         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
6311     }
6312     pub unsafe fn CallbackInstance(&self) -> ::windows::runtime::Result<i32> {
6313         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6314         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
6315     }
6316 }
6317 unsafe impl ::windows::runtime::Interface for ITDigitDetectionEvent {
6318     type Vtable = ITDigitDetectionEvent_abi;
6319     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2161360812, 22489, 4562, [160, 74, 0, 192, 79, 182, 128, 159]);
6320 }
6321 impl ::std::convert::From<ITDigitDetectionEvent> for ::windows::runtime::IUnknown {
6322     fn from(value: ITDigitDetectionEvent) -> Self {
6323         unsafe { ::std::mem::transmute(value) }
6324     }
6325 }
6326 impl ::std::convert::From<&ITDigitDetectionEvent> for ::windows::runtime::IUnknown {
6327     fn from(value: &ITDigitDetectionEvent) -> Self {
6328         ::std::convert::From::from(::std::clone::Clone::clone(value))
6329     }
6330 }
6331 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITDigitDetectionEvent {
6332     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6333         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6334     }
6335 }
6336 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITDigitDetectionEvent {
6337     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6338         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6339     }
6340 }
6341 #[cfg(feature = "Win32_System_Ole_Automation")]
6342 impl ::std::convert::From<ITDigitDetectionEvent> for super::super::System::Ole::Automation::IDispatch {
6343     fn from(value: ITDigitDetectionEvent) -> Self {
6344         unsafe { ::std::mem::transmute(value) }
6345     }
6346 }
6347 #[cfg(feature = "Win32_System_Ole_Automation")]
6348 impl ::std::convert::From<&ITDigitDetectionEvent> for super::super::System::Ole::Automation::IDispatch {
6349     fn from(value: &ITDigitDetectionEvent) -> Self {
6350         ::std::convert::From::from(::std::clone::Clone::clone(value))
6351     }
6352 }
6353 #[cfg(feature = "Win32_System_Ole_Automation")]
6354 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITDigitDetectionEvent {
6355     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6356         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
6357     }
6358 }
6359 #[cfg(feature = "Win32_System_Ole_Automation")]
6360 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITDigitDetectionEvent {
6361     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6362         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
6363     }
6364 }
6365 #[repr(C)]
6366 #[doc(hidden)]
6367 pub struct ITDigitDetectionEvent_abi(
6368     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6369     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6370     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6371     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
6372     #[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,
6373     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
6374     #[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,
6375     #[cfg(not(feature = "Win32_Foundation"))] usize,
6376     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6377     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,
6378     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6379     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcallinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6380     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pucdigit: *mut u8) -> ::windows::runtime::HRESULT,
6381     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdigitmode: *mut i32) -> ::windows::runtime::HRESULT,
6382     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pltickcount: *mut i32) -> ::windows::runtime::HRESULT,
6383     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plcallbackinstance: *mut i32) -> ::windows::runtime::HRESULT,
6384 );
6385 #[repr(transparent)]
6386 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6387 pub struct ITDigitGenerationEvent(::windows::runtime::IUnknown);
6388 impl ITDigitGenerationEvent {
6389     pub unsafe fn Call(&self) -> ::windows::runtime::Result<ITCallInfo> {
6390         let mut result__: <ITCallInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6391         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITCallInfo>(result__)
6392     }
6393     pub unsafe fn GenerationTermination(&self) -> ::windows::runtime::Result<i32> {
6394         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6395         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
6396     }
6397     pub unsafe fn TickCount(&self) -> ::windows::runtime::Result<i32> {
6398         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6399         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
6400     }
6401     pub unsafe fn CallbackInstance(&self) -> ::windows::runtime::Result<i32> {
6402         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6403         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
6404     }
6405 }
6406 unsafe impl ::windows::runtime::Interface for ITDigitGenerationEvent {
6407     type Vtable = ITDigitGenerationEvent_abi;
6408     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2161360813, 22489, 4562, [160, 74, 0, 192, 79, 182, 128, 159]);
6409 }
6410 impl ::std::convert::From<ITDigitGenerationEvent> for ::windows::runtime::IUnknown {
6411     fn from(value: ITDigitGenerationEvent) -> Self {
6412         unsafe { ::std::mem::transmute(value) }
6413     }
6414 }
6415 impl ::std::convert::From<&ITDigitGenerationEvent> for ::windows::runtime::IUnknown {
6416     fn from(value: &ITDigitGenerationEvent) -> Self {
6417         ::std::convert::From::from(::std::clone::Clone::clone(value))
6418     }
6419 }
6420 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITDigitGenerationEvent {
6421     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6422         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6423     }
6424 }
6425 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITDigitGenerationEvent {
6426     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6427         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6428     }
6429 }
6430 #[cfg(feature = "Win32_System_Ole_Automation")]
6431 impl ::std::convert::From<ITDigitGenerationEvent> for super::super::System::Ole::Automation::IDispatch {
6432     fn from(value: ITDigitGenerationEvent) -> Self {
6433         unsafe { ::std::mem::transmute(value) }
6434     }
6435 }
6436 #[cfg(feature = "Win32_System_Ole_Automation")]
6437 impl ::std::convert::From<&ITDigitGenerationEvent> for super::super::System::Ole::Automation::IDispatch {
6438     fn from(value: &ITDigitGenerationEvent) -> Self {
6439         ::std::convert::From::from(::std::clone::Clone::clone(value))
6440     }
6441 }
6442 #[cfg(feature = "Win32_System_Ole_Automation")]
6443 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITDigitGenerationEvent {
6444     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6445         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
6446     }
6447 }
6448 #[cfg(feature = "Win32_System_Ole_Automation")]
6449 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITDigitGenerationEvent {
6450     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6451         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
6452     }
6453 }
6454 #[repr(C)]
6455 #[doc(hidden)]
6456 pub struct ITDigitGenerationEvent_abi(
6457     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6458     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6459     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6460     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
6461     #[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,
6462     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
6463     #[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,
6464     #[cfg(not(feature = "Win32_Foundation"))] usize,
6465     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6466     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,
6467     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6468     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcallinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6469     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plgenerationtermination: *mut i32) -> ::windows::runtime::HRESULT,
6470     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pltickcount: *mut i32) -> ::windows::runtime::HRESULT,
6471     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plcallbackinstance: *mut i32) -> ::windows::runtime::HRESULT,
6472 );
6473 #[repr(transparent)]
6474 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6475 pub struct ITDigitsGatheredEvent(::windows::runtime::IUnknown);
6476 impl ITDigitsGatheredEvent {
6477     pub unsafe fn Call(&self) -> ::windows::runtime::Result<ITCallInfo> {
6478         let mut result__: <ITCallInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6479         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITCallInfo>(result__)
6480     }
6481     #[cfg(feature = "Win32_Foundation")]
6482     pub unsafe fn Digits(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6483         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6484         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6485     }
6486     pub unsafe fn GatherTermination(&self) -> ::windows::runtime::Result<TAPI_GATHERTERM> {
6487         let mut result__: <TAPI_GATHERTERM as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6488         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<TAPI_GATHERTERM>(result__)
6489     }
6490     pub unsafe fn TickCount(&self) -> ::windows::runtime::Result<i32> {
6491         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6492         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
6493     }
6494     pub unsafe fn CallbackInstance(&self) -> ::windows::runtime::Result<i32> {
6495         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6496         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
6497     }
6498 }
6499 unsafe impl ::windows::runtime::Interface for ITDigitsGatheredEvent {
6500     type Vtable = ITDigitsGatheredEvent_abi;
6501     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3845047489, 52131, 17434, [158, 106, 147, 203, 144, 158, 151, 36]);
6502 }
6503 impl ::std::convert::From<ITDigitsGatheredEvent> for ::windows::runtime::IUnknown {
6504     fn from(value: ITDigitsGatheredEvent) -> Self {
6505         unsafe { ::std::mem::transmute(value) }
6506     }
6507 }
6508 impl ::std::convert::From<&ITDigitsGatheredEvent> for ::windows::runtime::IUnknown {
6509     fn from(value: &ITDigitsGatheredEvent) -> Self {
6510         ::std::convert::From::from(::std::clone::Clone::clone(value))
6511     }
6512 }
6513 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITDigitsGatheredEvent {
6514     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6515         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6516     }
6517 }
6518 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITDigitsGatheredEvent {
6519     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6520         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6521     }
6522 }
6523 #[cfg(feature = "Win32_System_Ole_Automation")]
6524 impl ::std::convert::From<ITDigitsGatheredEvent> for super::super::System::Ole::Automation::IDispatch {
6525     fn from(value: ITDigitsGatheredEvent) -> Self {
6526         unsafe { ::std::mem::transmute(value) }
6527     }
6528 }
6529 #[cfg(feature = "Win32_System_Ole_Automation")]
6530 impl ::std::convert::From<&ITDigitsGatheredEvent> for super::super::System::Ole::Automation::IDispatch {
6531     fn from(value: &ITDigitsGatheredEvent) -> Self {
6532         ::std::convert::From::from(::std::clone::Clone::clone(value))
6533     }
6534 }
6535 #[cfg(feature = "Win32_System_Ole_Automation")]
6536 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITDigitsGatheredEvent {
6537     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6538         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
6539     }
6540 }
6541 #[cfg(feature = "Win32_System_Ole_Automation")]
6542 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITDigitsGatheredEvent {
6543     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6544         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
6545     }
6546 }
6547 #[repr(C)]
6548 #[doc(hidden)]
6549 pub struct ITDigitsGatheredEvent_abi(
6550     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6551     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6552     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6553     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
6554     #[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,
6555     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
6556     #[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,
6557     #[cfg(not(feature = "Win32_Foundation"))] usize,
6558     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6559     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,
6560     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6561     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcallinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6562     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppdigits: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6563     #[cfg(not(feature = "Win32_Foundation"))] usize,
6564     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pgathertermination: *mut TAPI_GATHERTERM) -> ::windows::runtime::HRESULT,
6565     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pltickcount: *mut i32) -> ::windows::runtime::HRESULT,
6566     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plcallbackinstance: *mut i32) -> ::windows::runtime::HRESULT,
6567 );
6568 #[repr(transparent)]
6569 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6570 pub struct ITDirectory(::windows::runtime::IUnknown);
6571 impl ITDirectory {
6572     pub unsafe fn DirectoryType(&self) -> ::windows::runtime::Result<DIRECTORY_TYPE> {
6573         let mut result__: <DIRECTORY_TYPE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6574         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DIRECTORY_TYPE>(result__)
6575     }
6576     #[cfg(feature = "Win32_Foundation")]
6577     pub unsafe fn DisplayName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6578         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6579         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6580     }
6581     pub unsafe fn IsDynamic(&self) -> ::windows::runtime::Result<i16> {
6582         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6583         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
6584     }
6585     pub unsafe fn DefaultObjectTTL(&self) -> ::windows::runtime::Result<i32> {
6586         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6587         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
6588     }
6589     pub unsafe fn SetDefaultObjectTTL(&self, ttl: i32) -> ::windows::runtime::Result<()> {
6590         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(ttl)).ok()
6591     }
6592     pub unsafe fn EnableAutoRefresh(&self, fenable: i16) -> ::windows::runtime::Result<()> {
6593         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(fenable)).ok()
6594     }
6595     pub unsafe fn Connect(&self, fsecure: i16) -> ::windows::runtime::Result<()> {
6596         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(fsecure)).ok()
6597     }
6598     #[cfg(feature = "Win32_Foundation")]
6599     pub unsafe fn Bind<'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, pdomainname: Param0, pusername: Param1, ppassword: Param2, lflags: i32) -> ::windows::runtime::Result<()> {
6600         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), pdomainname.into_param().abi(), pusername.into_param().abi(), ppassword.into_param().abi(), ::std::mem::transmute(lflags)).ok()
6601     }
6602     pub unsafe fn AddDirectoryObject<'a, Param0: ::windows::runtime::IntoParam<'a, ITDirectoryObject>>(&self, pdirectoryobject: Param0) -> ::windows::runtime::Result<()> {
6603         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), pdirectoryobject.into_param().abi()).ok()
6604     }
6605     pub unsafe fn ModifyDirectoryObject<'a, Param0: ::windows::runtime::IntoParam<'a, ITDirectoryObject>>(&self, pdirectoryobject: Param0) -> ::windows::runtime::Result<()> {
6606         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), pdirectoryobject.into_param().abi()).ok()
6607     }
6608     pub unsafe fn RefreshDirectoryObject<'a, Param0: ::windows::runtime::IntoParam<'a, ITDirectoryObject>>(&self, pdirectoryobject: Param0) -> ::windows::runtime::Result<()> {
6609         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), pdirectoryobject.into_param().abi()).ok()
6610     }
6611     pub unsafe fn DeleteDirectoryObject<'a, Param0: ::windows::runtime::IntoParam<'a, ITDirectoryObject>>(&self, pdirectoryobject: Param0) -> ::windows::runtime::Result<()> {
6612         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), pdirectoryobject.into_param().abi()).ok()
6613     }
6614     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6615     pub unsafe fn DirectoryObjects<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, directoryobjecttype: DIRECTORY_OBJECT_TYPE, pname: Param1) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
6616         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6617         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(directoryobjecttype), pname.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
6618     }
6619     #[cfg(feature = "Win32_Foundation")]
6620     pub unsafe fn EnumerateDirectoryObjects<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, directoryobjecttype: DIRECTORY_OBJECT_TYPE, pname: Param1) -> ::windows::runtime::Result<IEnumDirectoryObject> {
6621         let mut result__: <IEnumDirectoryObject as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6622         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(directoryobjecttype), pname.into_param().abi(), &mut result__).from_abi::<IEnumDirectoryObject>(result__)
6623     }
6624 }
6625 unsafe impl ::windows::runtime::Interface for ITDirectory {
6626     type Vtable = ITDirectory_abi;
6627     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(878845292, 27903, 4561, [175, 247, 0, 192, 79, 195, 31, 238]);
6628 }
6629 impl ::std::convert::From<ITDirectory> for ::windows::runtime::IUnknown {
6630     fn from(value: ITDirectory) -> Self {
6631         unsafe { ::std::mem::transmute(value) }
6632     }
6633 }
6634 impl ::std::convert::From<&ITDirectory> for ::windows::runtime::IUnknown {
6635     fn from(value: &ITDirectory) -> Self {
6636         ::std::convert::From::from(::std::clone::Clone::clone(value))
6637     }
6638 }
6639 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITDirectory {
6640     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6641         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6642     }
6643 }
6644 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITDirectory {
6645     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6646         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6647     }
6648 }
6649 #[cfg(feature = "Win32_System_Ole_Automation")]
6650 impl ::std::convert::From<ITDirectory> for super::super::System::Ole::Automation::IDispatch {
6651     fn from(value: ITDirectory) -> Self {
6652         unsafe { ::std::mem::transmute(value) }
6653     }
6654 }
6655 #[cfg(feature = "Win32_System_Ole_Automation")]
6656 impl ::std::convert::From<&ITDirectory> for super::super::System::Ole::Automation::IDispatch {
6657     fn from(value: &ITDirectory) -> Self {
6658         ::std::convert::From::from(::std::clone::Clone::clone(value))
6659     }
6660 }
6661 #[cfg(feature = "Win32_System_Ole_Automation")]
6662 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITDirectory {
6663     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6664         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
6665     }
6666 }
6667 #[cfg(feature = "Win32_System_Ole_Automation")]
6668 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITDirectory {
6669     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6670         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
6671     }
6672 }
6673 #[repr(C)]
6674 #[doc(hidden)]
6675 pub struct ITDirectory_abi(
6676     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6677     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6678     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6679     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
6680     #[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,
6681     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
6682     #[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,
6683     #[cfg(not(feature = "Win32_Foundation"))] usize,
6684     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6685     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,
6686     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6687     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdirectorytype: *mut DIRECTORY_TYPE) -> ::windows::runtime::HRESULT,
6688     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6689     #[cfg(not(feature = "Win32_Foundation"))] usize,
6690     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfdynamic: *mut i16) -> ::windows::runtime::HRESULT,
6691     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pttl: *mut i32) -> ::windows::runtime::HRESULT,
6692     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ttl: i32) -> ::windows::runtime::HRESULT,
6693     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fenable: i16) -> ::windows::runtime::HRESULT,
6694     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fsecure: i16) -> ::windows::runtime::HRESULT,
6695     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdomainname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pusername: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, ppassword: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, lflags: i32) -> ::windows::runtime::HRESULT,
6696     #[cfg(not(feature = "Win32_Foundation"))] usize,
6697     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdirectoryobject: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6698     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdirectoryobject: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6699     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdirectoryobject: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6700     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdirectoryobject: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6701     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, directoryobjecttype: DIRECTORY_OBJECT_TYPE, pname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
6702     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6703     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, directoryobjecttype: DIRECTORY_OBJECT_TYPE, pname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, ppenumobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6704     #[cfg(not(feature = "Win32_Foundation"))] usize,
6705 );
6706 #[repr(transparent)]
6707 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6708 pub struct ITDirectoryObject(::windows::runtime::IUnknown);
6709 impl ITDirectoryObject {
6710     pub unsafe fn ObjectType(&self) -> ::windows::runtime::Result<DIRECTORY_OBJECT_TYPE> {
6711         let mut result__: <DIRECTORY_OBJECT_TYPE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6712         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DIRECTORY_OBJECT_TYPE>(result__)
6713     }
6714     #[cfg(feature = "Win32_Foundation")]
6715     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6716         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6717         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6718     }
6719     #[cfg(feature = "Win32_Foundation")]
6720     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pname: Param0) -> ::windows::runtime::Result<()> {
6721         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), pname.into_param().abi()).ok()
6722     }
6723     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6724     pub unsafe fn DialableAddrs(&self, dwaddresstype: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
6725         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6726         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwaddresstype), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
6727     }
6728     pub unsafe fn EnumerateDialableAddrs(&self, dwaddresstype: u32) -> ::windows::runtime::Result<IEnumDialableAddrs> {
6729         let mut result__: <IEnumDialableAddrs as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6730         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwaddresstype), &mut result__).from_abi::<IEnumDialableAddrs>(result__)
6731     }
6732     #[cfg(feature = "Win32_System_Ole_Automation")]
6733     pub unsafe fn SecurityDescriptor(&self) -> ::windows::runtime::Result<super::super::System::Ole::Automation::IDispatch> {
6734         let mut result__: <super::super::System::Ole::Automation::IDispatch as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6735         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Ole::Automation::IDispatch>(result__)
6736     }
6737     #[cfg(feature = "Win32_System_Ole_Automation")]
6738     pub unsafe fn SetSecurityDescriptor<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch>>(&self, psecdes: Param0) -> ::windows::runtime::Result<()> {
6739         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), psecdes.into_param().abi()).ok()
6740     }
6741 }
6742 unsafe impl ::windows::runtime::Interface for ITDirectoryObject {
6743     type Vtable = ITDirectoryObject_abi;
6744     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(878845294, 27903, 4561, [175, 247, 0, 192, 79, 195, 31, 238]);
6745 }
6746 impl ::std::convert::From<ITDirectoryObject> for ::windows::runtime::IUnknown {
6747     fn from(value: ITDirectoryObject) -> Self {
6748         unsafe { ::std::mem::transmute(value) }
6749     }
6750 }
6751 impl ::std::convert::From<&ITDirectoryObject> for ::windows::runtime::IUnknown {
6752     fn from(value: &ITDirectoryObject) -> Self {
6753         ::std::convert::From::from(::std::clone::Clone::clone(value))
6754     }
6755 }
6756 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITDirectoryObject {
6757     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6758         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6759     }
6760 }
6761 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITDirectoryObject {
6762     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6763         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6764     }
6765 }
6766 #[cfg(feature = "Win32_System_Ole_Automation")]
6767 impl ::std::convert::From<ITDirectoryObject> for super::super::System::Ole::Automation::IDispatch {
6768     fn from(value: ITDirectoryObject) -> Self {
6769         unsafe { ::std::mem::transmute(value) }
6770     }
6771 }
6772 #[cfg(feature = "Win32_System_Ole_Automation")]
6773 impl ::std::convert::From<&ITDirectoryObject> for super::super::System::Ole::Automation::IDispatch {
6774     fn from(value: &ITDirectoryObject) -> Self {
6775         ::std::convert::From::from(::std::clone::Clone::clone(value))
6776     }
6777 }
6778 #[cfg(feature = "Win32_System_Ole_Automation")]
6779 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITDirectoryObject {
6780     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6781         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
6782     }
6783 }
6784 #[cfg(feature = "Win32_System_Ole_Automation")]
6785 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITDirectoryObject {
6786     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6787         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
6788     }
6789 }
6790 #[repr(C)]
6791 #[doc(hidden)]
6792 pub struct ITDirectoryObject_abi(
6793     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6794     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6795     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6796     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
6797     #[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,
6798     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
6799     #[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,
6800     #[cfg(not(feature = "Win32_Foundation"))] usize,
6801     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6802     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,
6803     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6804     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pobjecttype: *mut DIRECTORY_OBJECT_TYPE) -> ::windows::runtime::HRESULT,
6805     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6806     #[cfg(not(feature = "Win32_Foundation"))] usize,
6807     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6808     #[cfg(not(feature = "Win32_Foundation"))] usize,
6809     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwaddresstype: i32, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
6810     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6811     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwaddresstype: u32, ppenumdialableaddrs: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6812     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppsecdes: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6813     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
6814     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psecdes: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6815     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
6816 );
6817 #[repr(transparent)]
6818 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6819 pub struct ITDirectoryObjectConference(::windows::runtime::IUnknown);
6820 impl ITDirectoryObjectConference {
6821     #[cfg(feature = "Win32_Foundation")]
6822     pub unsafe fn Protocol(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6823         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6824         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6825     }
6826     #[cfg(feature = "Win32_Foundation")]
6827     pub unsafe fn Originator(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6828         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6829         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6830     }
6831     #[cfg(feature = "Win32_Foundation")]
6832     pub unsafe fn SetOriginator<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, poriginator: Param0) -> ::windows::runtime::Result<()> {
6833         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), poriginator.into_param().abi()).ok()
6834     }
6835     pub unsafe fn AdvertisingScope(&self) -> ::windows::runtime::Result<RND_ADVERTISING_SCOPE> {
6836         let mut result__: <RND_ADVERTISING_SCOPE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6837         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<RND_ADVERTISING_SCOPE>(result__)
6838     }
6839     pub unsafe fn SetAdvertisingScope(&self, advertisingscope: RND_ADVERTISING_SCOPE) -> ::windows::runtime::Result<()> {
6840         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(advertisingscope)).ok()
6841     }
6842     #[cfg(feature = "Win32_Foundation")]
6843     pub unsafe fn Url(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6844         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6845         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6846     }
6847     #[cfg(feature = "Win32_Foundation")]
6848     pub unsafe fn SetUrl<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, purl: Param0) -> ::windows::runtime::Result<()> {
6849         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), purl.into_param().abi()).ok()
6850     }
6851     #[cfg(feature = "Win32_Foundation")]
6852     pub unsafe fn Description(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6853         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6854         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6855     }
6856     #[cfg(feature = "Win32_Foundation")]
6857     pub unsafe fn SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pdescription: Param0) -> ::windows::runtime::Result<()> {
6858         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), pdescription.into_param().abi()).ok()
6859     }
6860     pub unsafe fn IsEncrypted(&self) -> ::windows::runtime::Result<i16> {
6861         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6862         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
6863     }
6864     pub unsafe fn SetIsEncrypted(&self, fencrypted: i16) -> ::windows::runtime::Result<()> {
6865         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(fencrypted)).ok()
6866     }
6867     pub unsafe fn StartTime(&self) -> ::windows::runtime::Result<f64> {
6868         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6869         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
6870     }
6871     pub unsafe fn SetStartTime(&self, date: f64) -> ::windows::runtime::Result<()> {
6872         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(date)).ok()
6873     }
6874     pub unsafe fn StopTime(&self) -> ::windows::runtime::Result<f64> {
6875         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6876         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
6877     }
6878     pub unsafe fn SetStopTime(&self, date: f64) -> ::windows::runtime::Result<()> {
6879         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(date)).ok()
6880     }
6881 }
6882 unsafe impl ::windows::runtime::Interface for ITDirectoryObjectConference {
6883     type Vtable = ITDirectoryObjectConference_abi;
6884     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4043480669, 52059, 4560, [141, 89, 0, 192, 79, 217, 26, 192]);
6885 }
6886 impl ::std::convert::From<ITDirectoryObjectConference> for ::windows::runtime::IUnknown {
6887     fn from(value: ITDirectoryObjectConference) -> Self {
6888         unsafe { ::std::mem::transmute(value) }
6889     }
6890 }
6891 impl ::std::convert::From<&ITDirectoryObjectConference> for ::windows::runtime::IUnknown {
6892     fn from(value: &ITDirectoryObjectConference) -> Self {
6893         ::std::convert::From::from(::std::clone::Clone::clone(value))
6894     }
6895 }
6896 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITDirectoryObjectConference {
6897     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6898         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6899     }
6900 }
6901 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITDirectoryObjectConference {
6902     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6903         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6904     }
6905 }
6906 #[cfg(feature = "Win32_System_Ole_Automation")]
6907 impl ::std::convert::From<ITDirectoryObjectConference> for super::super::System::Ole::Automation::IDispatch {
6908     fn from(value: ITDirectoryObjectConference) -> Self {
6909         unsafe { ::std::mem::transmute(value) }
6910     }
6911 }
6912 #[cfg(feature = "Win32_System_Ole_Automation")]
6913 impl ::std::convert::From<&ITDirectoryObjectConference> for super::super::System::Ole::Automation::IDispatch {
6914     fn from(value: &ITDirectoryObjectConference) -> Self {
6915         ::std::convert::From::from(::std::clone::Clone::clone(value))
6916     }
6917 }
6918 #[cfg(feature = "Win32_System_Ole_Automation")]
6919 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITDirectoryObjectConference {
6920     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6921         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
6922     }
6923 }
6924 #[cfg(feature = "Win32_System_Ole_Automation")]
6925 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITDirectoryObjectConference {
6926     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6927         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
6928     }
6929 }
6930 #[repr(C)]
6931 #[doc(hidden)]
6932 pub struct ITDirectoryObjectConference_abi(
6933     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6934     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6935     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6936     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
6937     #[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,
6938     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
6939     #[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,
6940     #[cfg(not(feature = "Win32_Foundation"))] usize,
6941     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6942     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,
6943     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6944     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppprotocol: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6945     #[cfg(not(feature = "Win32_Foundation"))] usize,
6946     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pporiginator: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6947     #[cfg(not(feature = "Win32_Foundation"))] usize,
6948     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, poriginator: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6949     #[cfg(not(feature = "Win32_Foundation"))] usize,
6950     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, padvertisingscope: *mut RND_ADVERTISING_SCOPE) -> ::windows::runtime::HRESULT,
6951     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, advertisingscope: RND_ADVERTISING_SCOPE) -> ::windows::runtime::HRESULT,
6952     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppurl: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6953     #[cfg(not(feature = "Win32_Foundation"))] usize,
6954     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, purl: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6955     #[cfg(not(feature = "Win32_Foundation"))] usize,
6956     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppdescription: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6957     #[cfg(not(feature = "Win32_Foundation"))] usize,
6958     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdescription: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6959     #[cfg(not(feature = "Win32_Foundation"))] usize,
6960     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfencrypted: *mut i16) -> ::windows::runtime::HRESULT,
6961     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fencrypted: i16) -> ::windows::runtime::HRESULT,
6962     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdate: *mut f64) -> ::windows::runtime::HRESULT,
6963     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, date: f64) -> ::windows::runtime::HRESULT,
6964     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdate: *mut f64) -> ::windows::runtime::HRESULT,
6965     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, date: f64) -> ::windows::runtime::HRESULT,
6966 );
6967 #[repr(transparent)]
6968 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6969 pub struct ITDirectoryObjectUser(::windows::runtime::IUnknown);
6970 impl ITDirectoryObjectUser {
6971     #[cfg(feature = "Win32_Foundation")]
6972     pub unsafe fn IPPhonePrimary(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6973         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6974         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6975     }
6976     #[cfg(feature = "Win32_Foundation")]
6977     pub unsafe fn SetIPPhonePrimary<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pname: Param0) -> ::windows::runtime::Result<()> {
6978         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), pname.into_param().abi()).ok()
6979     }
6980 }
6981 unsafe impl ::windows::runtime::Interface for ITDirectoryObjectUser {
6982     type Vtable = ITDirectoryObjectUser_abi;
6983     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(878845295, 27903, 4561, [175, 247, 0, 192, 79, 195, 31, 238]);
6984 }
6985 impl ::std::convert::From<ITDirectoryObjectUser> for ::windows::runtime::IUnknown {
6986     fn from(value: ITDirectoryObjectUser) -> Self {
6987         unsafe { ::std::mem::transmute(value) }
6988     }
6989 }
6990 impl ::std::convert::From<&ITDirectoryObjectUser> for ::windows::runtime::IUnknown {
6991     fn from(value: &ITDirectoryObjectUser) -> Self {
6992         ::std::convert::From::from(::std::clone::Clone::clone(value))
6993     }
6994 }
6995 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITDirectoryObjectUser {
6996     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6997         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6998     }
6999 }
7000 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITDirectoryObjectUser {
7001     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7002         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7003     }
7004 }
7005 #[cfg(feature = "Win32_System_Ole_Automation")]
7006 impl ::std::convert::From<ITDirectoryObjectUser> for super::super::System::Ole::Automation::IDispatch {
7007     fn from(value: ITDirectoryObjectUser) -> Self {
7008         unsafe { ::std::mem::transmute(value) }
7009     }
7010 }
7011 #[cfg(feature = "Win32_System_Ole_Automation")]
7012 impl ::std::convert::From<&ITDirectoryObjectUser> for super::super::System::Ole::Automation::IDispatch {
7013     fn from(value: &ITDirectoryObjectUser) -> Self {
7014         ::std::convert::From::from(::std::clone::Clone::clone(value))
7015     }
7016 }
7017 #[cfg(feature = "Win32_System_Ole_Automation")]
7018 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITDirectoryObjectUser {
7019     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7020         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7021     }
7022 }
7023 #[cfg(feature = "Win32_System_Ole_Automation")]
7024 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITDirectoryObjectUser {
7025     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7026         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7027     }
7028 }
7029 #[repr(C)]
7030 #[doc(hidden)]
7031 pub struct ITDirectoryObjectUser_abi(
7032     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7033     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7034     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7035     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7036     #[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,
7037     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7038     #[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,
7039     #[cfg(not(feature = "Win32_Foundation"))] usize,
7040     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7041     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,
7042     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7043     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7044     #[cfg(not(feature = "Win32_Foundation"))] usize,
7045     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7046     #[cfg(not(feature = "Win32_Foundation"))] usize,
7047 );
7048 #[repr(transparent)]
7049 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7050 pub struct ITDispatchMapper(::windows::runtime::IUnknown);
7051 impl ITDispatchMapper {
7052     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
7053     pub unsafe fn QueryDispatchInterface<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch>>(&self, piid: Param0, pinterfacetomap: Param1) -> ::windows::runtime::Result<super::super::System::Ole::Automation::IDispatch> {
7054         let mut result__: <super::super::System::Ole::Automation::IDispatch as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7055         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), piid.into_param().abi(), pinterfacetomap.into_param().abi(), &mut result__).from_abi::<super::super::System::Ole::Automation::IDispatch>(result__)
7056     }
7057 }
7058 unsafe impl ::windows::runtime::Interface for ITDispatchMapper {
7059     type Vtable = ITDispatchMapper_abi;
7060     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3911340693, 51033, 4561, [160, 43, 0, 192, 79, 182, 128, 159]);
7061 }
7062 impl ::std::convert::From<ITDispatchMapper> for ::windows::runtime::IUnknown {
7063     fn from(value: ITDispatchMapper) -> Self {
7064         unsafe { ::std::mem::transmute(value) }
7065     }
7066 }
7067 impl ::std::convert::From<&ITDispatchMapper> for ::windows::runtime::IUnknown {
7068     fn from(value: &ITDispatchMapper) -> Self {
7069         ::std::convert::From::from(::std::clone::Clone::clone(value))
7070     }
7071 }
7072 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITDispatchMapper {
7073     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7074         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7075     }
7076 }
7077 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITDispatchMapper {
7078     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7079         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7080     }
7081 }
7082 #[cfg(feature = "Win32_System_Ole_Automation")]
7083 impl ::std::convert::From<ITDispatchMapper> for super::super::System::Ole::Automation::IDispatch {
7084     fn from(value: ITDispatchMapper) -> Self {
7085         unsafe { ::std::mem::transmute(value) }
7086     }
7087 }
7088 #[cfg(feature = "Win32_System_Ole_Automation")]
7089 impl ::std::convert::From<&ITDispatchMapper> for super::super::System::Ole::Automation::IDispatch {
7090     fn from(value: &ITDispatchMapper) -> Self {
7091         ::std::convert::From::from(::std::clone::Clone::clone(value))
7092     }
7093 }
7094 #[cfg(feature = "Win32_System_Ole_Automation")]
7095 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITDispatchMapper {
7096     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7097         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7098     }
7099 }
7100 #[cfg(feature = "Win32_System_Ole_Automation")]
7101 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITDispatchMapper {
7102     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7103         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7104     }
7105 }
7106 #[repr(C)]
7107 #[doc(hidden)]
7108 pub struct ITDispatchMapper_abi(
7109     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7110     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7111     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7112     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7113     #[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,
7114     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7115     #[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,
7116     #[cfg(not(feature = "Win32_Foundation"))] usize,
7117     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7118     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,
7119     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7120     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, piid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pinterfacetomap: ::windows::runtime::RawPtr, ppreturnedinterface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7121     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation")))] usize,
7122 );
7123 #[repr(transparent)]
7124 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7125 pub struct ITFileTerminalEvent(::windows::runtime::IUnknown);
7126 impl ITFileTerminalEvent {
7127     pub unsafe fn Terminal(&self) -> ::windows::runtime::Result<ITTerminal> {
7128         let mut result__: <ITTerminal as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7129         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITTerminal>(result__)
7130     }
7131     pub unsafe fn Track(&self) -> ::windows::runtime::Result<ITFileTrack> {
7132         let mut result__: <ITFileTrack as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7133         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITFileTrack>(result__)
7134     }
7135     pub unsafe fn Call(&self) -> ::windows::runtime::Result<ITCallInfo> {
7136         let mut result__: <ITCallInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7137         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITCallInfo>(result__)
7138     }
7139     pub unsafe fn State(&self) -> ::windows::runtime::Result<TERMINAL_MEDIA_STATE> {
7140         let mut result__: <TERMINAL_MEDIA_STATE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7141         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<TERMINAL_MEDIA_STATE>(result__)
7142     }
7143     pub unsafe fn Cause(&self) -> ::windows::runtime::Result<FT_STATE_EVENT_CAUSE> {
7144         let mut result__: <FT_STATE_EVENT_CAUSE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7145         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FT_STATE_EVENT_CAUSE>(result__)
7146     }
7147     pub unsafe fn Error(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT> {
7148         let mut result__: <::windows::runtime::HRESULT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7149         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::HRESULT>(result__)
7150     }
7151 }
7152 unsafe impl ::windows::runtime::Interface for ITFileTerminalEvent {
7153     type Vtable = ITFileTerminalEvent_abi;
7154     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3836214188, 35863, 17447, [159, 85, 159, 88, 154, 200, 175, 0]);
7155 }
7156 impl ::std::convert::From<ITFileTerminalEvent> for ::windows::runtime::IUnknown {
7157     fn from(value: ITFileTerminalEvent) -> Self {
7158         unsafe { ::std::mem::transmute(value) }
7159     }
7160 }
7161 impl ::std::convert::From<&ITFileTerminalEvent> for ::windows::runtime::IUnknown {
7162     fn from(value: &ITFileTerminalEvent) -> Self {
7163         ::std::convert::From::from(::std::clone::Clone::clone(value))
7164     }
7165 }
7166 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITFileTerminalEvent {
7167     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7168         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7169     }
7170 }
7171 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITFileTerminalEvent {
7172     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7173         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7174     }
7175 }
7176 #[cfg(feature = "Win32_System_Ole_Automation")]
7177 impl ::std::convert::From<ITFileTerminalEvent> for super::super::System::Ole::Automation::IDispatch {
7178     fn from(value: ITFileTerminalEvent) -> Self {
7179         unsafe { ::std::mem::transmute(value) }
7180     }
7181 }
7182 #[cfg(feature = "Win32_System_Ole_Automation")]
7183 impl ::std::convert::From<&ITFileTerminalEvent> for super::super::System::Ole::Automation::IDispatch {
7184     fn from(value: &ITFileTerminalEvent) -> Self {
7185         ::std::convert::From::from(::std::clone::Clone::clone(value))
7186     }
7187 }
7188 #[cfg(feature = "Win32_System_Ole_Automation")]
7189 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITFileTerminalEvent {
7190     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7191         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7192     }
7193 }
7194 #[cfg(feature = "Win32_System_Ole_Automation")]
7195 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITFileTerminalEvent {
7196     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7197         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7198     }
7199 }
7200 #[repr(C)]
7201 #[doc(hidden)]
7202 pub struct ITFileTerminalEvent_abi(
7203     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7204     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7205     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7206     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7207     #[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,
7208     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7209     #[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,
7210     #[cfg(not(feature = "Win32_Foundation"))] usize,
7211     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7212     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,
7213     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7214     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppterminal: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7215     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pptrackterminal: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7216     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcall: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7217     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstate: *mut TERMINAL_MEDIA_STATE) -> ::windows::runtime::HRESULT,
7218     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcause: *mut FT_STATE_EVENT_CAUSE) -> ::windows::runtime::HRESULT,
7219     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, phrerrorcode: *mut ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
7220 );
7221 #[repr(transparent)]
7222 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7223 pub struct ITFileTrack(::windows::runtime::IUnknown);
7224 impl ITFileTrack {
7225     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectShow"))]
7226     pub unsafe fn Format(&self) -> ::windows::runtime::Result<*mut super::super::Graphics::DirectShow::AM_MEDIA_TYPE> {
7227         let mut result__: <*mut super::super::Graphics::DirectShow::AM_MEDIA_TYPE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7228         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::Graphics::DirectShow::AM_MEDIA_TYPE>(result__)
7229     }
7230     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectShow"))]
7231     pub unsafe fn SetFormat(&self, pmt: *const super::super::Graphics::DirectShow::AM_MEDIA_TYPE) -> ::windows::runtime::Result<()> {
7232         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmt)).ok()
7233     }
7234     pub unsafe fn ControllingTerminal(&self) -> ::windows::runtime::Result<ITTerminal> {
7235         let mut result__: <ITTerminal as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7236         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITTerminal>(result__)
7237     }
7238     pub unsafe fn AudioFormatForScripting(&self) -> ::windows::runtime::Result<ITScriptableAudioFormat> {
7239         let mut result__: <ITScriptableAudioFormat as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7240         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITScriptableAudioFormat>(result__)
7241     }
7242     pub unsafe fn SetAudioFormatForScripting<'a, Param0: ::windows::runtime::IntoParam<'a, ITScriptableAudioFormat>>(&self, paudioformat: Param0) -> ::windows::runtime::Result<()> {
7243         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), paudioformat.into_param().abi()).ok()
7244     }
7245     pub unsafe fn EmptyAudioFormatForScripting(&self) -> ::windows::runtime::Result<ITScriptableAudioFormat> {
7246         let mut result__: <ITScriptableAudioFormat as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7247         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITScriptableAudioFormat>(result__)
7248     }
7249 }
7250 unsafe impl ::windows::runtime::Interface for ITFileTrack {
7251     type Vtable = ITFileTrack_abi;
7252     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(835350185, 49290, 19434, [136, 17, 142, 156, 27, 163, 234, 58]);
7253 }
7254 impl ::std::convert::From<ITFileTrack> for ::windows::runtime::IUnknown {
7255     fn from(value: ITFileTrack) -> Self {
7256         unsafe { ::std::mem::transmute(value) }
7257     }
7258 }
7259 impl ::std::convert::From<&ITFileTrack> for ::windows::runtime::IUnknown {
7260     fn from(value: &ITFileTrack) -> Self {
7261         ::std::convert::From::from(::std::clone::Clone::clone(value))
7262     }
7263 }
7264 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITFileTrack {
7265     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7266         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7267     }
7268 }
7269 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITFileTrack {
7270     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7271         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7272     }
7273 }
7274 #[cfg(feature = "Win32_System_Ole_Automation")]
7275 impl ::std::convert::From<ITFileTrack> for super::super::System::Ole::Automation::IDispatch {
7276     fn from(value: ITFileTrack) -> Self {
7277         unsafe { ::std::mem::transmute(value) }
7278     }
7279 }
7280 #[cfg(feature = "Win32_System_Ole_Automation")]
7281 impl ::std::convert::From<&ITFileTrack> for super::super::System::Ole::Automation::IDispatch {
7282     fn from(value: &ITFileTrack) -> Self {
7283         ::std::convert::From::from(::std::clone::Clone::clone(value))
7284     }
7285 }
7286 #[cfg(feature = "Win32_System_Ole_Automation")]
7287 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITFileTrack {
7288     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7289         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7290     }
7291 }
7292 #[cfg(feature = "Win32_System_Ole_Automation")]
7293 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITFileTrack {
7294     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7295         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7296     }
7297 }
7298 #[repr(C)]
7299 #[doc(hidden)]
7300 pub struct ITFileTrack_abi(
7301     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7302     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7303     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7304     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7305     #[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,
7306     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7307     #[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,
7308     #[cfg(not(feature = "Win32_Foundation"))] usize,
7309     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7310     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,
7311     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7312     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectShow"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppmt: *mut *mut super::super::Graphics::DirectShow::AM_MEDIA_TYPE) -> ::windows::runtime::HRESULT,
7313     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectShow")))] usize,
7314     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectShow"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmt: *const ::std::mem::ManuallyDrop<super::super::Graphics::DirectShow::AM_MEDIA_TYPE>) -> ::windows::runtime::HRESULT,
7315     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectShow")))] usize,
7316     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcontrollingterminal: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7317     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppaudioformat: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7318     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paudioformat: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7319     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppaudioformat: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7320 );
7321 #[repr(transparent)]
7322 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7323 pub struct ITForwardInformation(::windows::runtime::IUnknown);
7324 impl ITForwardInformation {
7325     pub unsafe fn SetNumRingsNoAnswer(&self, lnumrings: i32) -> ::windows::runtime::Result<()> {
7326         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(lnumrings)).ok()
7327     }
7328     pub unsafe fn NumRingsNoAnswer(&self) -> ::windows::runtime::Result<i32> {
7329         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7330         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7331     }
7332     #[cfg(feature = "Win32_Foundation")]
7333     pub unsafe fn SetForwardType<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, forwardtype: i32, pdestaddress: Param1, pcalleraddress: Param2) -> ::windows::runtime::Result<()> {
7334         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(forwardtype), pdestaddress.into_param().abi(), pcalleraddress.into_param().abi()).ok()
7335     }
7336     #[cfg(feature = "Win32_Foundation")]
7337     pub unsafe fn ForwardTypeDestination(&self, forwardtype: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7338         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7339         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(forwardtype), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7340     }
7341     #[cfg(feature = "Win32_Foundation")]
7342     pub unsafe fn ForwardTypeCaller(&self, forwardtype: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7343         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7344         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(forwardtype), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7345     }
7346     #[cfg(feature = "Win32_Foundation")]
7347     pub unsafe fn GetForwardType(&self, forwardtype: i32, ppdestinationaddress: *mut super::super::Foundation::BSTR, ppcalleraddress: *mut super::super::Foundation::BSTR) -> ::windows::runtime::Result<()> {
7348         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(forwardtype), ::std::mem::transmute(ppdestinationaddress), ::std::mem::transmute(ppcalleraddress)).ok()
7349     }
7350     pub unsafe fn Clear(&self) -> ::windows::runtime::Result<()> {
7351         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self)).ok()
7352     }
7353 }
7354 unsafe impl ::windows::runtime::Interface for ITForwardInformation {
7355     type Vtable = ITForwardInformation_abi;
7356     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1151296926, 34979, 4561, [187, 93, 0, 192, 79, 182, 128, 159]);
7357 }
7358 impl ::std::convert::From<ITForwardInformation> for ::windows::runtime::IUnknown {
7359     fn from(value: ITForwardInformation) -> Self {
7360         unsafe { ::std::mem::transmute(value) }
7361     }
7362 }
7363 impl ::std::convert::From<&ITForwardInformation> for ::windows::runtime::IUnknown {
7364     fn from(value: &ITForwardInformation) -> Self {
7365         ::std::convert::From::from(::std::clone::Clone::clone(value))
7366     }
7367 }
7368 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITForwardInformation {
7369     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7370         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7371     }
7372 }
7373 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITForwardInformation {
7374     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7375         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7376     }
7377 }
7378 #[cfg(feature = "Win32_System_Ole_Automation")]
7379 impl ::std::convert::From<ITForwardInformation> for super::super::System::Ole::Automation::IDispatch {
7380     fn from(value: ITForwardInformation) -> Self {
7381         unsafe { ::std::mem::transmute(value) }
7382     }
7383 }
7384 #[cfg(feature = "Win32_System_Ole_Automation")]
7385 impl ::std::convert::From<&ITForwardInformation> for super::super::System::Ole::Automation::IDispatch {
7386     fn from(value: &ITForwardInformation) -> Self {
7387         ::std::convert::From::from(::std::clone::Clone::clone(value))
7388     }
7389 }
7390 #[cfg(feature = "Win32_System_Ole_Automation")]
7391 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITForwardInformation {
7392     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7393         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7394     }
7395 }
7396 #[cfg(feature = "Win32_System_Ole_Automation")]
7397 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITForwardInformation {
7398     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7399         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7400     }
7401 }
7402 #[repr(C)]
7403 #[doc(hidden)]
7404 pub struct ITForwardInformation_abi(
7405     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7406     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7407     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7408     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7409     #[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,
7410     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7411     #[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,
7412     #[cfg(not(feature = "Win32_Foundation"))] usize,
7413     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7414     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,
7415     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7416     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lnumrings: i32) -> ::windows::runtime::HRESULT,
7417     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plnumrings: *mut i32) -> ::windows::runtime::HRESULT,
7418     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, forwardtype: i32, pdestaddress: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pcalleraddress: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7419     #[cfg(not(feature = "Win32_Foundation"))] usize,
7420     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, forwardtype: i32, ppdestaddress: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7421     #[cfg(not(feature = "Win32_Foundation"))] usize,
7422     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, forwardtype: i32, ppcalleraddress: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7423     #[cfg(not(feature = "Win32_Foundation"))] usize,
7424     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, forwardtype: i32, ppdestinationaddress: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, ppcalleraddress: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7425     #[cfg(not(feature = "Win32_Foundation"))] usize,
7426     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7427 );
7428 #[repr(transparent)]
7429 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7430 pub struct ITForwardInformation2(::windows::runtime::IUnknown);
7431 impl ITForwardInformation2 {
7432     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
7433         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7434         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
7435     }
7436     #[cfg(feature = "Win32_System_Ole_Automation")]
7437     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
7438         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7439         (::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__)
7440     }
7441     #[cfg(feature = "Win32_Foundation")]
7442     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<()> {
7443         (::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()
7444     }
7445     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7446     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<()> {
7447         (::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()
7448     }
7449     pub unsafe fn SetNumRingsNoAnswer(&self, lnumrings: i32) -> ::windows::runtime::Result<()> {
7450         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(lnumrings)).ok()
7451     }
7452     pub unsafe fn NumRingsNoAnswer(&self) -> ::windows::runtime::Result<i32> {
7453         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7454         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7455     }
7456     #[cfg(feature = "Win32_Foundation")]
7457     pub unsafe fn SetForwardType<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, forwardtype: i32, pdestaddress: Param1, pcalleraddress: Param2) -> ::windows::runtime::Result<()> {
7458         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(forwardtype), pdestaddress.into_param().abi(), pcalleraddress.into_param().abi()).ok()
7459     }
7460     #[cfg(feature = "Win32_Foundation")]
7461     pub unsafe fn ForwardTypeDestination(&self, forwardtype: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7462         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7463         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(forwardtype), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7464     }
7465     #[cfg(feature = "Win32_Foundation")]
7466     pub unsafe fn ForwardTypeCaller(&self, forwardtype: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7467         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7468         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(forwardtype), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7469     }
7470     #[cfg(feature = "Win32_Foundation")]
7471     pub unsafe fn GetForwardType(&self, forwardtype: i32, ppdestinationaddress: *mut super::super::Foundation::BSTR, ppcalleraddress: *mut super::super::Foundation::BSTR) -> ::windows::runtime::Result<()> {
7472         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(forwardtype), ::std::mem::transmute(ppdestinationaddress), ::std::mem::transmute(ppcalleraddress)).ok()
7473     }
7474     pub unsafe fn Clear(&self) -> ::windows::runtime::Result<()> {
7475         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self)).ok()
7476     }
7477     #[cfg(feature = "Win32_Foundation")]
7478     pub unsafe fn SetForwardType2<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, forwardtype: i32, pdestaddress: Param1, destaddresstype: i32, pcalleraddress: Param3, calleraddresstype: i32) -> ::windows::runtime::Result<()> {
7479         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(forwardtype), pdestaddress.into_param().abi(), ::std::mem::transmute(destaddresstype), pcalleraddress.into_param().abi(), ::std::mem::transmute(calleraddresstype)).ok()
7480     }
7481     #[cfg(feature = "Win32_Foundation")]
7482     pub unsafe fn GetForwardType2(&self, forwardtype: i32, ppdestinationaddress: *mut super::super::Foundation::BSTR, pdestaddresstype: *mut i32, ppcalleraddress: *mut super::super::Foundation::BSTR, pcalleraddresstype: *mut i32) -> ::windows::runtime::Result<()> {
7483         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(forwardtype), ::std::mem::transmute(ppdestinationaddress), ::std::mem::transmute(pdestaddresstype), ::std::mem::transmute(ppcalleraddress), ::std::mem::transmute(pcalleraddresstype)).ok()
7484     }
7485     pub unsafe fn ForwardTypeDestinationAddressType(&self, forwardtype: i32) -> ::windows::runtime::Result<i32> {
7486         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7487         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(forwardtype), &mut result__).from_abi::<i32>(result__)
7488     }
7489     pub unsafe fn ForwardTypeCallerAddressType(&self, forwardtype: i32) -> ::windows::runtime::Result<i32> {
7490         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7491         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(forwardtype), &mut result__).from_abi::<i32>(result__)
7492     }
7493 }
7494 unsafe impl ::windows::runtime::Interface for ITForwardInformation2 {
7495     type Vtable = ITForwardInformation2_abi;
7496     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1378465005, 45664, 17282, [142, 26, 93, 243, 168, 164, 204, 192]);
7497 }
7498 impl ::std::convert::From<ITForwardInformation2> for ::windows::runtime::IUnknown {
7499     fn from(value: ITForwardInformation2) -> Self {
7500         unsafe { ::std::mem::transmute(value) }
7501     }
7502 }
7503 impl ::std::convert::From<&ITForwardInformation2> for ::windows::runtime::IUnknown {
7504     fn from(value: &ITForwardInformation2) -> Self {
7505         ::std::convert::From::from(::std::clone::Clone::clone(value))
7506     }
7507 }
7508 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITForwardInformation2 {
7509     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7510         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7511     }
7512 }
7513 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITForwardInformation2 {
7514     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7515         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7516     }
7517 }
7518 impl ::std::convert::From<ITForwardInformation2> for ITForwardInformation {
7519     fn from(value: ITForwardInformation2) -> Self {
7520         unsafe { ::std::mem::transmute(value) }
7521     }
7522 }
7523 impl ::std::convert::From<&ITForwardInformation2> for ITForwardInformation {
7524     fn from(value: &ITForwardInformation2) -> Self {
7525         ::std::convert::From::from(::std::clone::Clone::clone(value))
7526     }
7527 }
7528 impl<'a> ::windows::runtime::IntoParam<'a, ITForwardInformation> for ITForwardInformation2 {
7529     fn into_param(self) -> ::windows::runtime::Param<'a, ITForwardInformation> {
7530         ::windows::runtime::Param::Owned(::std::convert::Into::<ITForwardInformation>::into(self))
7531     }
7532 }
7533 impl<'a> ::windows::runtime::IntoParam<'a, ITForwardInformation> for &ITForwardInformation2 {
7534     fn into_param(self) -> ::windows::runtime::Param<'a, ITForwardInformation> {
7535         ::windows::runtime::Param::Owned(::std::convert::Into::<ITForwardInformation>::into(::std::clone::Clone::clone(self)))
7536     }
7537 }
7538 #[cfg(feature = "Win32_System_Ole_Automation")]
7539 impl ::std::convert::From<ITForwardInformation2> for super::super::System::Ole::Automation::IDispatch {
7540     fn from(value: ITForwardInformation2) -> Self {
7541         unsafe { ::std::mem::transmute(value) }
7542     }
7543 }
7544 #[cfg(feature = "Win32_System_Ole_Automation")]
7545 impl ::std::convert::From<&ITForwardInformation2> for super::super::System::Ole::Automation::IDispatch {
7546     fn from(value: &ITForwardInformation2) -> Self {
7547         ::std::convert::From::from(::std::clone::Clone::clone(value))
7548     }
7549 }
7550 #[cfg(feature = "Win32_System_Ole_Automation")]
7551 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITForwardInformation2 {
7552     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7553         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7554     }
7555 }
7556 #[cfg(feature = "Win32_System_Ole_Automation")]
7557 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITForwardInformation2 {
7558     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7559         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7560     }
7561 }
7562 #[repr(C)]
7563 #[doc(hidden)]
7564 pub struct ITForwardInformation2_abi(
7565     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7566     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7567     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7568     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7569     #[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,
7570     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7571     #[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,
7572     #[cfg(not(feature = "Win32_Foundation"))] usize,
7573     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7574     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,
7575     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7576     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lnumrings: i32) -> ::windows::runtime::HRESULT,
7577     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plnumrings: *mut i32) -> ::windows::runtime::HRESULT,
7578     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, forwardtype: i32, pdestaddress: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pcalleraddress: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7579     #[cfg(not(feature = "Win32_Foundation"))] usize,
7580     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, forwardtype: i32, ppdestaddress: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7581     #[cfg(not(feature = "Win32_Foundation"))] usize,
7582     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, forwardtype: i32, ppcalleraddress: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7583     #[cfg(not(feature = "Win32_Foundation"))] usize,
7584     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, forwardtype: i32, ppdestinationaddress: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, ppcalleraddress: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7585     #[cfg(not(feature = "Win32_Foundation"))] usize,
7586     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7587     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, forwardtype: i32, pdestaddress: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, destaddresstype: i32, pcalleraddress: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, calleraddresstype: i32) -> ::windows::runtime::HRESULT,
7588     #[cfg(not(feature = "Win32_Foundation"))] usize,
7589     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, forwardtype: i32, ppdestinationaddress: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pdestaddresstype: *mut i32, ppcalleraddress: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pcalleraddresstype: *mut i32) -> ::windows::runtime::HRESULT,
7590     #[cfg(not(feature = "Win32_Foundation"))] usize,
7591     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, forwardtype: i32, pdestaddresstype: *mut i32) -> ::windows::runtime::HRESULT,
7592     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, forwardtype: i32, pcalleraddresstype: *mut i32) -> ::windows::runtime::HRESULT,
7593 );
7594 #[repr(transparent)]
7595 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7596 pub struct ITILSConfig(::windows::runtime::IUnknown);
7597 impl ITILSConfig {
7598     pub unsafe fn Port(&self) -> ::windows::runtime::Result<i32> {
7599         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7600         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7601     }
7602     pub unsafe fn SetPort(&self, port: i32) -> ::windows::runtime::Result<()> {
7603         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(port)).ok()
7604     }
7605 }
7606 unsafe impl ::windows::runtime::Interface for ITILSConfig {
7607     type Vtable = ITILSConfig_abi;
7608     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(878845298, 27903, 4561, [175, 247, 0, 192, 79, 195, 31, 238]);
7609 }
7610 impl ::std::convert::From<ITILSConfig> for ::windows::runtime::IUnknown {
7611     fn from(value: ITILSConfig) -> Self {
7612         unsafe { ::std::mem::transmute(value) }
7613     }
7614 }
7615 impl ::std::convert::From<&ITILSConfig> for ::windows::runtime::IUnknown {
7616     fn from(value: &ITILSConfig) -> Self {
7617         ::std::convert::From::from(::std::clone::Clone::clone(value))
7618     }
7619 }
7620 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITILSConfig {
7621     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7622         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7623     }
7624 }
7625 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITILSConfig {
7626     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7627         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7628     }
7629 }
7630 #[cfg(feature = "Win32_System_Ole_Automation")]
7631 impl ::std::convert::From<ITILSConfig> for super::super::System::Ole::Automation::IDispatch {
7632     fn from(value: ITILSConfig) -> Self {
7633         unsafe { ::std::mem::transmute(value) }
7634     }
7635 }
7636 #[cfg(feature = "Win32_System_Ole_Automation")]
7637 impl ::std::convert::From<&ITILSConfig> for super::super::System::Ole::Automation::IDispatch {
7638     fn from(value: &ITILSConfig) -> Self {
7639         ::std::convert::From::from(::std::clone::Clone::clone(value))
7640     }
7641 }
7642 #[cfg(feature = "Win32_System_Ole_Automation")]
7643 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITILSConfig {
7644     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7645         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7646     }
7647 }
7648 #[cfg(feature = "Win32_System_Ole_Automation")]
7649 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITILSConfig {
7650     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7651         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7652     }
7653 }
7654 #[repr(C)]
7655 #[doc(hidden)]
7656 pub struct ITILSConfig_abi(
7657     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7658     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7659     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7660     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7661     #[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,
7662     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7663     #[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,
7664     #[cfg(not(feature = "Win32_Foundation"))] usize,
7665     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7666     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,
7667     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7668     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pport: *mut i32) -> ::windows::runtime::HRESULT,
7669     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, port: i32) -> ::windows::runtime::HRESULT,
7670 );
7671 #[repr(transparent)]
7672 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7673 pub struct ITLegacyAddressMediaControl(::windows::runtime::IUnknown);
7674 impl ITLegacyAddressMediaControl {
7675     #[cfg(feature = "Win32_Foundation")]
7676     pub unsafe fn GetID<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pdeviceclass: Param0, pdwsize: *mut u32, ppdeviceid: *mut *mut u8) -> ::windows::runtime::Result<()> {
7677         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pdeviceclass.into_param().abi(), ::std::mem::transmute(pdwsize), ::std::mem::transmute(ppdeviceid)).ok()
7678     }
7679     #[cfg(feature = "Win32_Foundation")]
7680     pub unsafe fn GetDevConfig<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pdeviceclass: Param0, pdwsize: *mut u32, ppdeviceconfig: *mut *mut u8) -> ::windows::runtime::Result<()> {
7681         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pdeviceclass.into_param().abi(), ::std::mem::transmute(pdwsize), ::std::mem::transmute(ppdeviceconfig)).ok()
7682     }
7683     #[cfg(feature = "Win32_Foundation")]
7684     pub unsafe fn SetDevConfig<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pdeviceclass: Param0, dwsize: u32, pdeviceconfig: *const u8) -> ::windows::runtime::Result<()> {
7685         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pdeviceclass.into_param().abi(), ::std::mem::transmute(dwsize), ::std::mem::transmute(pdeviceconfig)).ok()
7686     }
7687 }
7688 unsafe impl ::windows::runtime::Interface for ITLegacyAddressMediaControl {
7689     type Vtable = ITLegacyAddressMediaControl_abi;
7690     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2873701952, 19467, 4562, [160, 70, 0, 192, 79, 182, 128, 159]);
7691 }
7692 impl ::std::convert::From<ITLegacyAddressMediaControl> for ::windows::runtime::IUnknown {
7693     fn from(value: ITLegacyAddressMediaControl) -> Self {
7694         unsafe { ::std::mem::transmute(value) }
7695     }
7696 }
7697 impl ::std::convert::From<&ITLegacyAddressMediaControl> for ::windows::runtime::IUnknown {
7698     fn from(value: &ITLegacyAddressMediaControl) -> Self {
7699         ::std::convert::From::from(::std::clone::Clone::clone(value))
7700     }
7701 }
7702 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITLegacyAddressMediaControl {
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 &ITLegacyAddressMediaControl {
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 #[repr(C)]
7713 #[doc(hidden)]
7714 pub struct ITLegacyAddressMediaControl_abi(
7715     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7716     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7717     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7718     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdeviceclass: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pdwsize: *mut u32, ppdeviceid: *mut *mut u8) -> ::windows::runtime::HRESULT,
7719     #[cfg(not(feature = "Win32_Foundation"))] usize,
7720     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdeviceclass: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pdwsize: *mut u32, ppdeviceconfig: *mut *mut u8) -> ::windows::runtime::HRESULT,
7721     #[cfg(not(feature = "Win32_Foundation"))] usize,
7722     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdeviceclass: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, dwsize: u32, pdeviceconfig: *const u8) -> ::windows::runtime::HRESULT,
7723     #[cfg(not(feature = "Win32_Foundation"))] usize,
7724 );
7725 #[repr(transparent)]
7726 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7727 pub struct ITLegacyAddressMediaControl2(::windows::runtime::IUnknown);
7728 impl ITLegacyAddressMediaControl2 {
7729     #[cfg(feature = "Win32_Foundation")]
7730     pub unsafe fn GetID<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pdeviceclass: Param0, pdwsize: *mut u32, ppdeviceid: *mut *mut u8) -> ::windows::runtime::Result<()> {
7731         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pdeviceclass.into_param().abi(), ::std::mem::transmute(pdwsize), ::std::mem::transmute(ppdeviceid)).ok()
7732     }
7733     #[cfg(feature = "Win32_Foundation")]
7734     pub unsafe fn GetDevConfig<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pdeviceclass: Param0, pdwsize: *mut u32, ppdeviceconfig: *mut *mut u8) -> ::windows::runtime::Result<()> {
7735         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pdeviceclass.into_param().abi(), ::std::mem::transmute(pdwsize), ::std::mem::transmute(ppdeviceconfig)).ok()
7736     }
7737     #[cfg(feature = "Win32_Foundation")]
7738     pub unsafe fn SetDevConfig<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pdeviceclass: Param0, dwsize: u32, pdeviceconfig: *const u8) -> ::windows::runtime::Result<()> {
7739         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pdeviceclass.into_param().abi(), ::std::mem::transmute(dwsize), ::std::mem::transmute(pdeviceconfig)).ok()
7740     }
7741     #[cfg(feature = "Win32_Foundation")]
7742     pub unsafe fn ConfigDialog<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, hwndowner: Param0, pdeviceclass: Param1) -> ::windows::runtime::Result<()> {
7743         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), hwndowner.into_param().abi(), pdeviceclass.into_param().abi()).ok()
7744     }
7745     #[cfg(feature = "Win32_Foundation")]
7746     pub unsafe fn ConfigDialogEdit<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, hwndowner: Param0, pdeviceclass: Param1, dwsizein: u32, pdeviceconfigin: *const u8, pdwsizeout: *mut u32, ppdeviceconfigout: *mut *mut u8) -> ::windows::runtime::Result<()> {
7747         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), hwndowner.into_param().abi(), pdeviceclass.into_param().abi(), ::std::mem::transmute(dwsizein), ::std::mem::transmute(pdeviceconfigin), ::std::mem::transmute(pdwsizeout), ::std::mem::transmute(ppdeviceconfigout)).ok()
7748     }
7749 }
7750 unsafe impl ::windows::runtime::Interface for ITLegacyAddressMediaControl2 {
7751     type Vtable = ITLegacyAddressMediaControl2_abi;
7752     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2968408363, 42289, 16542, [157, 217, 64, 153, 254, 134, 199, 56]);
7753 }
7754 impl ::std::convert::From<ITLegacyAddressMediaControl2> for ::windows::runtime::IUnknown {
7755     fn from(value: ITLegacyAddressMediaControl2) -> Self {
7756         unsafe { ::std::mem::transmute(value) }
7757     }
7758 }
7759 impl ::std::convert::From<&ITLegacyAddressMediaControl2> for ::windows::runtime::IUnknown {
7760     fn from(value: &ITLegacyAddressMediaControl2) -> Self {
7761         ::std::convert::From::from(::std::clone::Clone::clone(value))
7762     }
7763 }
7764 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITLegacyAddressMediaControl2 {
7765     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7766         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7767     }
7768 }
7769 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITLegacyAddressMediaControl2 {
7770     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7771         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7772     }
7773 }
7774 impl ::std::convert::From<ITLegacyAddressMediaControl2> for ITLegacyAddressMediaControl {
7775     fn from(value: ITLegacyAddressMediaControl2) -> Self {
7776         unsafe { ::std::mem::transmute(value) }
7777     }
7778 }
7779 impl ::std::convert::From<&ITLegacyAddressMediaControl2> for ITLegacyAddressMediaControl {
7780     fn from(value: &ITLegacyAddressMediaControl2) -> Self {
7781         ::std::convert::From::from(::std::clone::Clone::clone(value))
7782     }
7783 }
7784 impl<'a> ::windows::runtime::IntoParam<'a, ITLegacyAddressMediaControl> for ITLegacyAddressMediaControl2 {
7785     fn into_param(self) -> ::windows::runtime::Param<'a, ITLegacyAddressMediaControl> {
7786         ::windows::runtime::Param::Owned(::std::convert::Into::<ITLegacyAddressMediaControl>::into(self))
7787     }
7788 }
7789 impl<'a> ::windows::runtime::IntoParam<'a, ITLegacyAddressMediaControl> for &ITLegacyAddressMediaControl2 {
7790     fn into_param(self) -> ::windows::runtime::Param<'a, ITLegacyAddressMediaControl> {
7791         ::windows::runtime::Param::Owned(::std::convert::Into::<ITLegacyAddressMediaControl>::into(::std::clone::Clone::clone(self)))
7792     }
7793 }
7794 #[repr(C)]
7795 #[doc(hidden)]
7796 pub struct ITLegacyAddressMediaControl2_abi(
7797     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7798     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7799     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7800     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdeviceclass: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pdwsize: *mut u32, ppdeviceid: *mut *mut u8) -> ::windows::runtime::HRESULT,
7801     #[cfg(not(feature = "Win32_Foundation"))] usize,
7802     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdeviceclass: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pdwsize: *mut u32, ppdeviceconfig: *mut *mut u8) -> ::windows::runtime::HRESULT,
7803     #[cfg(not(feature = "Win32_Foundation"))] usize,
7804     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdeviceclass: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, dwsize: u32, pdeviceconfig: *const u8) -> ::windows::runtime::HRESULT,
7805     #[cfg(not(feature = "Win32_Foundation"))] usize,
7806     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwndowner: super::super::Foundation::HWND, pdeviceclass: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7807     #[cfg(not(feature = "Win32_Foundation"))] usize,
7808     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwndowner: super::super::Foundation::HWND, pdeviceclass: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, dwsizein: u32, pdeviceconfigin: *const u8, pdwsizeout: *mut u32, ppdeviceconfigout: *mut *mut u8) -> ::windows::runtime::HRESULT,
7809     #[cfg(not(feature = "Win32_Foundation"))] usize,
7810 );
7811 #[repr(transparent)]
7812 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7813 pub struct ITLegacyCallMediaControl(::windows::runtime::IUnknown);
7814 impl ITLegacyCallMediaControl {
7815     pub unsafe fn DetectDigits(&self, digitmode: i32) -> ::windows::runtime::Result<()> {
7816         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(digitmode)).ok()
7817     }
7818     #[cfg(feature = "Win32_Foundation")]
7819     pub unsafe fn GenerateDigits<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pdigits: Param0, digitmode: i32) -> ::windows::runtime::Result<()> {
7820         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), pdigits.into_param().abi(), ::std::mem::transmute(digitmode)).ok()
7821     }
7822     #[cfg(feature = "Win32_Foundation")]
7823     pub unsafe fn GetID<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pdeviceclass: Param0, pdwsize: *mut u32, ppdeviceid: *mut *mut u8) -> ::windows::runtime::Result<()> {
7824         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), pdeviceclass.into_param().abi(), ::std::mem::transmute(pdwsize), ::std::mem::transmute(ppdeviceid)).ok()
7825     }
7826     pub unsafe fn SetMediaType(&self, lmediatype: i32) -> ::windows::runtime::Result<()> {
7827         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(lmediatype)).ok()
7828     }
7829     pub unsafe fn MonitorMedia(&self, lmediatype: i32) -> ::windows::runtime::Result<()> {
7830         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(lmediatype)).ok()
7831     }
7832 }
7833 unsafe impl ::windows::runtime::Interface for ITLegacyCallMediaControl {
7834     type Vtable = ITLegacyCallMediaControl_abi;
7835     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3592706095, 52259, 17462, [184, 165, 71, 198, 37, 200, 4, 93]);
7836 }
7837 impl ::std::convert::From<ITLegacyCallMediaControl> for ::windows::runtime::IUnknown {
7838     fn from(value: ITLegacyCallMediaControl) -> Self {
7839         unsafe { ::std::mem::transmute(value) }
7840     }
7841 }
7842 impl ::std::convert::From<&ITLegacyCallMediaControl> for ::windows::runtime::IUnknown {
7843     fn from(value: &ITLegacyCallMediaControl) -> Self {
7844         ::std::convert::From::from(::std::clone::Clone::clone(value))
7845     }
7846 }
7847 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITLegacyCallMediaControl {
7848     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7849         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7850     }
7851 }
7852 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITLegacyCallMediaControl {
7853     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7854         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7855     }
7856 }
7857 #[cfg(feature = "Win32_System_Ole_Automation")]
7858 impl ::std::convert::From<ITLegacyCallMediaControl> for super::super::System::Ole::Automation::IDispatch {
7859     fn from(value: ITLegacyCallMediaControl) -> Self {
7860         unsafe { ::std::mem::transmute(value) }
7861     }
7862 }
7863 #[cfg(feature = "Win32_System_Ole_Automation")]
7864 impl ::std::convert::From<&ITLegacyCallMediaControl> for super::super::System::Ole::Automation::IDispatch {
7865     fn from(value: &ITLegacyCallMediaControl) -> Self {
7866         ::std::convert::From::from(::std::clone::Clone::clone(value))
7867     }
7868 }
7869 #[cfg(feature = "Win32_System_Ole_Automation")]
7870 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITLegacyCallMediaControl {
7871     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7872         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7873     }
7874 }
7875 #[cfg(feature = "Win32_System_Ole_Automation")]
7876 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITLegacyCallMediaControl {
7877     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7878         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7879     }
7880 }
7881 #[repr(C)]
7882 #[doc(hidden)]
7883 pub struct ITLegacyCallMediaControl_abi(
7884     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7885     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7886     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7887     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7888     #[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,
7889     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7890     #[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,
7891     #[cfg(not(feature = "Win32_Foundation"))] usize,
7892     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7893     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,
7894     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7895     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, digitmode: i32) -> ::windows::runtime::HRESULT,
7896     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdigits: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, digitmode: i32) -> ::windows::runtime::HRESULT,
7897     #[cfg(not(feature = "Win32_Foundation"))] usize,
7898     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdeviceclass: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pdwsize: *mut u32, ppdeviceid: *mut *mut u8) -> ::windows::runtime::HRESULT,
7899     #[cfg(not(feature = "Win32_Foundation"))] usize,
7900     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lmediatype: i32) -> ::windows::runtime::HRESULT,
7901     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lmediatype: i32) -> ::windows::runtime::HRESULT,
7902 );
7903 #[repr(transparent)]
7904 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7905 pub struct ITLegacyCallMediaControl2(::windows::runtime::IUnknown);
7906 impl ITLegacyCallMediaControl2 {
7907     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
7908         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7909         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
7910     }
7911     #[cfg(feature = "Win32_System_Ole_Automation")]
7912     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
7913         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7914         (::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__)
7915     }
7916     #[cfg(feature = "Win32_Foundation")]
7917     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<()> {
7918         (::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()
7919     }
7920     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7921     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<()> {
7922         (::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()
7923     }
7924     pub unsafe fn DetectDigits(&self, digitmode: i32) -> ::windows::runtime::Result<()> {
7925         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(digitmode)).ok()
7926     }
7927     #[cfg(feature = "Win32_Foundation")]
7928     pub unsafe fn GenerateDigits<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pdigits: Param0, digitmode: i32) -> ::windows::runtime::Result<()> {
7929         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), pdigits.into_param().abi(), ::std::mem::transmute(digitmode)).ok()
7930     }
7931     #[cfg(feature = "Win32_Foundation")]
7932     pub unsafe fn GetID<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pdeviceclass: Param0, pdwsize: *mut u32, ppdeviceid: *mut *mut u8) -> ::windows::runtime::Result<()> {
7933         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), pdeviceclass.into_param().abi(), ::std::mem::transmute(pdwsize), ::std::mem::transmute(ppdeviceid)).ok()
7934     }
7935     pub unsafe fn SetMediaType(&self, lmediatype: i32) -> ::windows::runtime::Result<()> {
7936         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(lmediatype)).ok()
7937     }
7938     pub unsafe fn MonitorMedia(&self, lmediatype: i32) -> ::windows::runtime::Result<()> {
7939         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(lmediatype)).ok()
7940     }
7941     #[cfg(feature = "Win32_Foundation")]
7942     pub unsafe fn GenerateDigits2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pdigits: Param0, digitmode: i32, lduration: i32) -> ::windows::runtime::Result<()> {
7943         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), pdigits.into_param().abi(), ::std::mem::transmute(digitmode), ::std::mem::transmute(lduration)).ok()
7944     }
7945     #[cfg(feature = "Win32_Foundation")]
7946     pub unsafe fn GatherDigits<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, digitmode: i32, lnumdigits: i32, pterminationdigits: Param2, lfirstdigittimeout: i32, linterdigittimeout: i32) -> ::windows::runtime::Result<()> {
7947         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(digitmode), ::std::mem::transmute(lnumdigits), pterminationdigits.into_param().abi(), ::std::mem::transmute(lfirstdigittimeout), ::std::mem::transmute(linterdigittimeout)).ok()
7948     }
7949     pub unsafe fn DetectTones(&self, ptonelist: *const TAPI_DETECTTONE, lnumtones: i32) -> ::windows::runtime::Result<()> {
7950         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(ptonelist), ::std::mem::transmute(lnumtones)).ok()
7951     }
7952     pub unsafe fn DetectTonesByCollection<'a, Param0: ::windows::runtime::IntoParam<'a, ITCollection2>>(&self, pdetecttonecollection: Param0) -> ::windows::runtime::Result<()> {
7953         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), pdetecttonecollection.into_param().abi()).ok()
7954     }
7955     pub unsafe fn GenerateTone(&self, tonemode: TAPI_TONEMODE, lduration: i32) -> ::windows::runtime::Result<()> {
7956         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(tonemode), ::std::mem::transmute(lduration)).ok()
7957     }
7958     pub unsafe fn GenerateCustomTones(&self, ptonelist: *const TAPI_CUSTOMTONE, lnumtones: i32, lduration: i32) -> ::windows::runtime::Result<()> {
7959         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(ptonelist), ::std::mem::transmute(lnumtones), ::std::mem::transmute(lduration)).ok()
7960     }
7961     pub unsafe fn GenerateCustomTonesByCollection<'a, Param0: ::windows::runtime::IntoParam<'a, ITCollection2>>(&self, pcustomtonecollection: Param0, lduration: i32) -> ::windows::runtime::Result<()> {
7962         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), pcustomtonecollection.into_param().abi(), ::std::mem::transmute(lduration)).ok()
7963     }
7964     pub unsafe fn CreateDetectToneObject(&self) -> ::windows::runtime::Result<ITDetectTone> {
7965         let mut result__: <ITDetectTone as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7966         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITDetectTone>(result__)
7967     }
7968     pub unsafe fn CreateCustomToneObject(&self) -> ::windows::runtime::Result<ITCustomTone> {
7969         let mut result__: <ITCustomTone as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7970         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITCustomTone>(result__)
7971     }
7972     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7973     pub unsafe fn GetIDAsVariant<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrdeviceclass: Param0) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
7974         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7975         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), bstrdeviceclass.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
7976     }
7977 }
7978 unsafe impl ::windows::runtime::Interface for ITLegacyCallMediaControl2 {
7979     type Vtable = ITLegacyCallMediaControl2_abi;
7980     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1472869165, 31682, 17649, [166, 12, 147, 111, 232, 215, 206, 115]);
7981 }
7982 impl ::std::convert::From<ITLegacyCallMediaControl2> for ::windows::runtime::IUnknown {
7983     fn from(value: ITLegacyCallMediaControl2) -> Self {
7984         unsafe { ::std::mem::transmute(value) }
7985     }
7986 }
7987 impl ::std::convert::From<&ITLegacyCallMediaControl2> for ::windows::runtime::IUnknown {
7988     fn from(value: &ITLegacyCallMediaControl2) -> Self {
7989         ::std::convert::From::from(::std::clone::Clone::clone(value))
7990     }
7991 }
7992 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITLegacyCallMediaControl2 {
7993     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7994         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7995     }
7996 }
7997 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITLegacyCallMediaControl2 {
7998     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7999         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8000     }
8001 }
8002 impl ::std::convert::From<ITLegacyCallMediaControl2> for ITLegacyCallMediaControl {
8003     fn from(value: ITLegacyCallMediaControl2) -> Self {
8004         unsafe { ::std::mem::transmute(value) }
8005     }
8006 }
8007 impl ::std::convert::From<&ITLegacyCallMediaControl2> for ITLegacyCallMediaControl {
8008     fn from(value: &ITLegacyCallMediaControl2) -> Self {
8009         ::std::convert::From::from(::std::clone::Clone::clone(value))
8010     }
8011 }
8012 impl<'a> ::windows::runtime::IntoParam<'a, ITLegacyCallMediaControl> for ITLegacyCallMediaControl2 {
8013     fn into_param(self) -> ::windows::runtime::Param<'a, ITLegacyCallMediaControl> {
8014         ::windows::runtime::Param::Owned(::std::convert::Into::<ITLegacyCallMediaControl>::into(self))
8015     }
8016 }
8017 impl<'a> ::windows::runtime::IntoParam<'a, ITLegacyCallMediaControl> for &ITLegacyCallMediaControl2 {
8018     fn into_param(self) -> ::windows::runtime::Param<'a, ITLegacyCallMediaControl> {
8019         ::windows::runtime::Param::Owned(::std::convert::Into::<ITLegacyCallMediaControl>::into(::std::clone::Clone::clone(self)))
8020     }
8021 }
8022 #[cfg(feature = "Win32_System_Ole_Automation")]
8023 impl ::std::convert::From<ITLegacyCallMediaControl2> for super::super::System::Ole::Automation::IDispatch {
8024     fn from(value: ITLegacyCallMediaControl2) -> Self {
8025         unsafe { ::std::mem::transmute(value) }
8026     }
8027 }
8028 #[cfg(feature = "Win32_System_Ole_Automation")]
8029 impl ::std::convert::From<&ITLegacyCallMediaControl2> for super::super::System::Ole::Automation::IDispatch {
8030     fn from(value: &ITLegacyCallMediaControl2) -> Self {
8031         ::std::convert::From::from(::std::clone::Clone::clone(value))
8032     }
8033 }
8034 #[cfg(feature = "Win32_System_Ole_Automation")]
8035 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITLegacyCallMediaControl2 {
8036     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8037         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
8038     }
8039 }
8040 #[cfg(feature = "Win32_System_Ole_Automation")]
8041 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITLegacyCallMediaControl2 {
8042     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8043         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
8044     }
8045 }
8046 #[repr(C)]
8047 #[doc(hidden)]
8048 pub struct ITLegacyCallMediaControl2_abi(
8049     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8050     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8051     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8052     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
8053     #[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,
8054     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
8055     #[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,
8056     #[cfg(not(feature = "Win32_Foundation"))] usize,
8057     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8058     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,
8059     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8060     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, digitmode: i32) -> ::windows::runtime::HRESULT,
8061     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdigits: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, digitmode: i32) -> ::windows::runtime::HRESULT,
8062     #[cfg(not(feature = "Win32_Foundation"))] usize,
8063     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdeviceclass: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pdwsize: *mut u32, ppdeviceid: *mut *mut u8) -> ::windows::runtime::HRESULT,
8064     #[cfg(not(feature = "Win32_Foundation"))] usize,
8065     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lmediatype: i32) -> ::windows::runtime::HRESULT,
8066     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lmediatype: i32) -> ::windows::runtime::HRESULT,
8067     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdigits: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, digitmode: i32, lduration: i32) -> ::windows::runtime::HRESULT,
8068     #[cfg(not(feature = "Win32_Foundation"))] usize,
8069     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, digitmode: i32, lnumdigits: i32, pterminationdigits: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, lfirstdigittimeout: i32, linterdigittimeout: i32) -> ::windows::runtime::HRESULT,
8070     #[cfg(not(feature = "Win32_Foundation"))] usize,
8071     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptonelist: *const TAPI_DETECTTONE, lnumtones: i32) -> ::windows::runtime::HRESULT,
8072     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdetecttonecollection: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8073     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, tonemode: TAPI_TONEMODE, lduration: i32) -> ::windows::runtime::HRESULT,
8074     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptonelist: *const TAPI_CUSTOMTONE, lnumtones: i32, lduration: i32) -> ::windows::runtime::HRESULT,
8075     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcustomtonecollection: ::windows::runtime::RawPtr, lduration: i32) -> ::windows::runtime::HRESULT,
8076     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppdetecttone: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8077     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcustomtone: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8078     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrdeviceclass: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pvardeviceid: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
8079     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8080 );
8081 #[repr(transparent)]
8082 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8083 pub struct ITLegacyWaveSupport(::windows::runtime::IUnknown);
8084 impl ITLegacyWaveSupport {
8085     pub unsafe fn IsFullDuplex(&self) -> ::windows::runtime::Result<FULLDUPLEX_SUPPORT> {
8086         let mut result__: <FULLDUPLEX_SUPPORT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8087         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FULLDUPLEX_SUPPORT>(result__)
8088     }
8089 }
8090 unsafe impl ::windows::runtime::Interface for ITLegacyWaveSupport {
8091     type Vtable = ITLegacyWaveSupport_abi;
8092     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(544744426, 57938, 4562, [183, 126, 0, 128, 199, 19, 83, 129]);
8093 }
8094 impl ::std::convert::From<ITLegacyWaveSupport> for ::windows::runtime::IUnknown {
8095     fn from(value: ITLegacyWaveSupport) -> Self {
8096         unsafe { ::std::mem::transmute(value) }
8097     }
8098 }
8099 impl ::std::convert::From<&ITLegacyWaveSupport> for ::windows::runtime::IUnknown {
8100     fn from(value: &ITLegacyWaveSupport) -> Self {
8101         ::std::convert::From::from(::std::clone::Clone::clone(value))
8102     }
8103 }
8104 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITLegacyWaveSupport {
8105     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8106         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8107     }
8108 }
8109 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITLegacyWaveSupport {
8110     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8111         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8112     }
8113 }
8114 #[cfg(feature = "Win32_System_Ole_Automation")]
8115 impl ::std::convert::From<ITLegacyWaveSupport> for super::super::System::Ole::Automation::IDispatch {
8116     fn from(value: ITLegacyWaveSupport) -> Self {
8117         unsafe { ::std::mem::transmute(value) }
8118     }
8119 }
8120 #[cfg(feature = "Win32_System_Ole_Automation")]
8121 impl ::std::convert::From<&ITLegacyWaveSupport> for super::super::System::Ole::Automation::IDispatch {
8122     fn from(value: &ITLegacyWaveSupport) -> Self {
8123         ::std::convert::From::from(::std::clone::Clone::clone(value))
8124     }
8125 }
8126 #[cfg(feature = "Win32_System_Ole_Automation")]
8127 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITLegacyWaveSupport {
8128     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8129         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
8130     }
8131 }
8132 #[cfg(feature = "Win32_System_Ole_Automation")]
8133 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITLegacyWaveSupport {
8134     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8135         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
8136     }
8137 }
8138 #[repr(C)]
8139 #[doc(hidden)]
8140 pub struct ITLegacyWaveSupport_abi(
8141     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8142     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8143     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8144     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
8145     #[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,
8146     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
8147     #[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,
8148     #[cfg(not(feature = "Win32_Foundation"))] usize,
8149     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8150     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,
8151     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8152     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psupport: *mut FULLDUPLEX_SUPPORT) -> ::windows::runtime::HRESULT,
8153 );
8154 #[repr(transparent)]
8155 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8156 pub struct ITLocationInfo(::windows::runtime::IUnknown);
8157 impl ITLocationInfo {
8158     pub unsafe fn PermanentLocationID(&self) -> ::windows::runtime::Result<i32> {
8159         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8160         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8161     }
8162     pub unsafe fn CountryCode(&self) -> ::windows::runtime::Result<i32> {
8163         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8164         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8165     }
8166     pub unsafe fn CountryID(&self) -> ::windows::runtime::Result<i32> {
8167         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8168         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8169     }
8170     pub unsafe fn Options(&self) -> ::windows::runtime::Result<i32> {
8171         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8172         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8173     }
8174     pub unsafe fn PreferredCardID(&self) -> ::windows::runtime::Result<i32> {
8175         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8176         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8177     }
8178     #[cfg(feature = "Win32_Foundation")]
8179     pub unsafe fn LocationName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8180         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8181         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8182     }
8183     #[cfg(feature = "Win32_Foundation")]
8184     pub unsafe fn CityCode(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8185         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8186         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8187     }
8188     #[cfg(feature = "Win32_Foundation")]
8189     pub unsafe fn LocalAccessCode(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8190         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8191         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8192     }
8193     #[cfg(feature = "Win32_Foundation")]
8194     pub unsafe fn LongDistanceAccessCode(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8195         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8196         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8197     }
8198     #[cfg(feature = "Win32_Foundation")]
8199     pub unsafe fn TollPrefixList(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8200         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8201         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8202     }
8203     #[cfg(feature = "Win32_Foundation")]
8204     pub unsafe fn CancelCallWaitingCode(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8205         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8206         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8207     }
8208 }
8209 unsafe impl ::windows::runtime::Interface for ITLocationInfo {
8210     type Vtable = ITLocationInfo_abi;
8211     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(206409471, 36315, 4561, [160, 158, 0, 128, 95, 193, 71, 211]);
8212 }
8213 impl ::std::convert::From<ITLocationInfo> for ::windows::runtime::IUnknown {
8214     fn from(value: ITLocationInfo) -> Self {
8215         unsafe { ::std::mem::transmute(value) }
8216     }
8217 }
8218 impl ::std::convert::From<&ITLocationInfo> for ::windows::runtime::IUnknown {
8219     fn from(value: &ITLocationInfo) -> Self {
8220         ::std::convert::From::from(::std::clone::Clone::clone(value))
8221     }
8222 }
8223 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITLocationInfo {
8224     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8225         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8226     }
8227 }
8228 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITLocationInfo {
8229     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8230         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8231     }
8232 }
8233 #[cfg(feature = "Win32_System_Ole_Automation")]
8234 impl ::std::convert::From<ITLocationInfo> for super::super::System::Ole::Automation::IDispatch {
8235     fn from(value: ITLocationInfo) -> Self {
8236         unsafe { ::std::mem::transmute(value) }
8237     }
8238 }
8239 #[cfg(feature = "Win32_System_Ole_Automation")]
8240 impl ::std::convert::From<&ITLocationInfo> for super::super::System::Ole::Automation::IDispatch {
8241     fn from(value: &ITLocationInfo) -> Self {
8242         ::std::convert::From::from(::std::clone::Clone::clone(value))
8243     }
8244 }
8245 #[cfg(feature = "Win32_System_Ole_Automation")]
8246 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITLocationInfo {
8247     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8248         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
8249     }
8250 }
8251 #[cfg(feature = "Win32_System_Ole_Automation")]
8252 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITLocationInfo {
8253     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8254         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
8255     }
8256 }
8257 #[repr(C)]
8258 #[doc(hidden)]
8259 pub struct ITLocationInfo_abi(
8260     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8261     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8262     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8263     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
8264     #[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,
8265     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
8266     #[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,
8267     #[cfg(not(feature = "Win32_Foundation"))] usize,
8268     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8269     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,
8270     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8271     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pllocationid: *mut i32) -> ::windows::runtime::HRESULT,
8272     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plcountrycode: *mut i32) -> ::windows::runtime::HRESULT,
8273     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plcountryid: *mut i32) -> ::windows::runtime::HRESULT,
8274     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ploptions: *mut i32) -> ::windows::runtime::HRESULT,
8275     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plcardid: *mut i32) -> ::windows::runtime::HRESULT,
8276     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pplocationname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8277     #[cfg(not(feature = "Win32_Foundation"))] usize,
8278     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcode: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8279     #[cfg(not(feature = "Win32_Foundation"))] usize,
8280     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcode: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8281     #[cfg(not(feature = "Win32_Foundation"))] usize,
8282     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcode: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8283     #[cfg(not(feature = "Win32_Foundation"))] usize,
8284     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pptolllist: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8285     #[cfg(not(feature = "Win32_Foundation"))] usize,
8286     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcode: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8287     #[cfg(not(feature = "Win32_Foundation"))] usize,
8288 );
8289 #[repr(transparent)]
8290 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8291 pub struct ITMSPAddress(::windows::runtime::IUnknown);
8292 impl ITMSPAddress {
8293     pub unsafe fn Initialize(&self, hevent: *const i32) -> ::windows::runtime::Result<()> {
8294         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(hevent)).ok()
8295     }
8296     pub unsafe fn Shutdown(&self) -> ::windows::runtime::Result<()> {
8297         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
8298     }
8299     pub unsafe fn CreateMSPCall<'a, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, hcall: *const i32, dwreserved: u32, dwmediatype: u32, pouterunknown: Param3) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
8300         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8301         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(hcall), ::std::mem::transmute(dwreserved), ::std::mem::transmute(dwmediatype), pouterunknown.into_param().abi(), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
8302     }
8303     pub unsafe fn ShutdownMSPCall<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pstreamcontrol: Param0) -> ::windows::runtime::Result<()> {
8304         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pstreamcontrol.into_param().abi()).ok()
8305     }
8306     pub unsafe fn ReceiveTSPData<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pmspcall: Param0, pbuffer: *const u8, dwsize: u32) -> ::windows::runtime::Result<()> {
8307         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pmspcall.into_param().abi(), ::std::mem::transmute(pbuffer), ::std::mem::transmute(dwsize)).ok()
8308     }
8309     pub unsafe fn GetEvent(&self, pdwsize: *mut u32, peventbuffer: *mut u8) -> ::windows::runtime::Result<()> {
8310         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdwsize), ::std::mem::transmute(peventbuffer)).ok()
8311     }
8312 }
8313 unsafe impl ::windows::runtime::Interface for ITMSPAddress {
8314     type Vtable = ITMSPAddress_abi;
8315     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3996898816, 14440, 4562, [160, 69, 0, 192, 79, 182, 128, 159]);
8316 }
8317 impl ::std::convert::From<ITMSPAddress> for ::windows::runtime::IUnknown {
8318     fn from(value: ITMSPAddress) -> Self {
8319         unsafe { ::std::mem::transmute(value) }
8320     }
8321 }
8322 impl ::std::convert::From<&ITMSPAddress> for ::windows::runtime::IUnknown {
8323     fn from(value: &ITMSPAddress) -> Self {
8324         ::std::convert::From::from(::std::clone::Clone::clone(value))
8325     }
8326 }
8327 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITMSPAddress {
8328     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8329         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8330     }
8331 }
8332 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITMSPAddress {
8333     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8334         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8335     }
8336 }
8337 #[repr(C)]
8338 #[doc(hidden)]
8339 pub struct ITMSPAddress_abi(
8340     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8341     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8342     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8343     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hevent: *const i32) -> ::windows::runtime::HRESULT,
8344     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8345     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hcall: *const i32, dwreserved: u32, dwmediatype: u32, pouterunknown: ::windows::runtime::RawPtr, ppstreamcontrol: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8346     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstreamcontrol: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8347     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmspcall: ::windows::runtime::RawPtr, pbuffer: *const u8, dwsize: u32) -> ::windows::runtime::HRESULT,
8348     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwsize: *mut u32, peventbuffer: *mut u8) -> ::windows::runtime::HRESULT,
8349 );
8350 #[repr(transparent)]
8351 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8352 pub struct ITMediaControl(::windows::runtime::IUnknown);
8353 impl ITMediaControl {
8354     pub unsafe fn Start(&self) -> ::windows::runtime::Result<()> {
8355         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
8356     }
8357     pub unsafe fn Stop(&self) -> ::windows::runtime::Result<()> {
8358         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
8359     }
8360     pub unsafe fn Pause(&self) -> ::windows::runtime::Result<()> {
8361         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
8362     }
8363     pub unsafe fn MediaState(&self) -> ::windows::runtime::Result<TERMINAL_MEDIA_STATE> {
8364         let mut result__: <TERMINAL_MEDIA_STATE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8365         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<TERMINAL_MEDIA_STATE>(result__)
8366     }
8367 }
8368 unsafe impl ::windows::runtime::Interface for ITMediaControl {
8369     type Vtable = ITMediaControl_abi;
8370     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3292913128, 20889, 19399, [152, 7, 95, 251, 146, 228, 46, 9]);
8371 }
8372 impl ::std::convert::From<ITMediaControl> for ::windows::runtime::IUnknown {
8373     fn from(value: ITMediaControl) -> Self {
8374         unsafe { ::std::mem::transmute(value) }
8375     }
8376 }
8377 impl ::std::convert::From<&ITMediaControl> for ::windows::runtime::IUnknown {
8378     fn from(value: &ITMediaControl) -> Self {
8379         ::std::convert::From::from(::std::clone::Clone::clone(value))
8380     }
8381 }
8382 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITMediaControl {
8383     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8384         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8385     }
8386 }
8387 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITMediaControl {
8388     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8389         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8390     }
8391 }
8392 #[cfg(feature = "Win32_System_Ole_Automation")]
8393 impl ::std::convert::From<ITMediaControl> for super::super::System::Ole::Automation::IDispatch {
8394     fn from(value: ITMediaControl) -> Self {
8395         unsafe { ::std::mem::transmute(value) }
8396     }
8397 }
8398 #[cfg(feature = "Win32_System_Ole_Automation")]
8399 impl ::std::convert::From<&ITMediaControl> for super::super::System::Ole::Automation::IDispatch {
8400     fn from(value: &ITMediaControl) -> Self {
8401         ::std::convert::From::from(::std::clone::Clone::clone(value))
8402     }
8403 }
8404 #[cfg(feature = "Win32_System_Ole_Automation")]
8405 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITMediaControl {
8406     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8407         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
8408     }
8409 }
8410 #[cfg(feature = "Win32_System_Ole_Automation")]
8411 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITMediaControl {
8412     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8413         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
8414     }
8415 }
8416 #[repr(C)]
8417 #[doc(hidden)]
8418 pub struct ITMediaControl_abi(
8419     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8420     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8421     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8422     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
8423     #[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,
8424     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
8425     #[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,
8426     #[cfg(not(feature = "Win32_Foundation"))] usize,
8427     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8428     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,
8429     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8430     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8431     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8432     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8433     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pterminalmediastate: *mut TERMINAL_MEDIA_STATE) -> ::windows::runtime::HRESULT,
8434 );
8435 #[repr(transparent)]
8436 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8437 pub struct ITMediaPlayback(::windows::runtime::IUnknown);
8438 impl ITMediaPlayback {
8439     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8440     pub unsafe fn SetPlayList<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, playlistvariant: Param0) -> ::windows::runtime::Result<()> {
8441         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), playlistvariant.into_param().abi()).ok()
8442     }
8443     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8444     pub unsafe fn PlayList(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
8445         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8446         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
8447     }
8448 }
8449 unsafe impl ::windows::runtime::Interface for ITMediaPlayback {
8450     type Vtable = ITMediaPlayback_abi;
8451     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1652460262, 44620, 19049, [187, 99, 42, 214, 37, 64, 75, 119]);
8452 }
8453 impl ::std::convert::From<ITMediaPlayback> for ::windows::runtime::IUnknown {
8454     fn from(value: ITMediaPlayback) -> Self {
8455         unsafe { ::std::mem::transmute(value) }
8456     }
8457 }
8458 impl ::std::convert::From<&ITMediaPlayback> for ::windows::runtime::IUnknown {
8459     fn from(value: &ITMediaPlayback) -> Self {
8460         ::std::convert::From::from(::std::clone::Clone::clone(value))
8461     }
8462 }
8463 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITMediaPlayback {
8464     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8465         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8466     }
8467 }
8468 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITMediaPlayback {
8469     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8470         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8471     }
8472 }
8473 #[cfg(feature = "Win32_System_Ole_Automation")]
8474 impl ::std::convert::From<ITMediaPlayback> for super::super::System::Ole::Automation::IDispatch {
8475     fn from(value: ITMediaPlayback) -> Self {
8476         unsafe { ::std::mem::transmute(value) }
8477     }
8478 }
8479 #[cfg(feature = "Win32_System_Ole_Automation")]
8480 impl ::std::convert::From<&ITMediaPlayback> for super::super::System::Ole::Automation::IDispatch {
8481     fn from(value: &ITMediaPlayback) -> Self {
8482         ::std::convert::From::from(::std::clone::Clone::clone(value))
8483     }
8484 }
8485 #[cfg(feature = "Win32_System_Ole_Automation")]
8486 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITMediaPlayback {
8487     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8488         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
8489     }
8490 }
8491 #[cfg(feature = "Win32_System_Ole_Automation")]
8492 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITMediaPlayback {
8493     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8494         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
8495     }
8496 }
8497 #[repr(C)]
8498 #[doc(hidden)]
8499 pub struct ITMediaPlayback_abi(
8500     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8501     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8502     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8503     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
8504     #[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,
8505     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
8506     #[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,
8507     #[cfg(not(feature = "Win32_Foundation"))] usize,
8508     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8509     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,
8510     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8511     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, playlistvariant: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
8512     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8513     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pplaylistvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
8514     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8515 );
8516 #[repr(transparent)]
8517 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8518 pub struct ITMediaRecord(::windows::runtime::IUnknown);
8519 impl ITMediaRecord {
8520     #[cfg(feature = "Win32_Foundation")]
8521     pub unsafe fn SetFileName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrfilename: Param0) -> ::windows::runtime::Result<()> {
8522         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), bstrfilename.into_param().abi()).ok()
8523     }
8524     #[cfg(feature = "Win32_Foundation")]
8525     pub unsafe fn FileName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8526         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8527         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8528     }
8529 }
8530 unsafe impl ::windows::runtime::Interface for ITMediaRecord {
8531     type Vtable = ITMediaRecord_abi;
8532     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4124919186, 21622, 19649, [157, 77, 250, 211, 238, 254, 125, 178]);
8533 }
8534 impl ::std::convert::From<ITMediaRecord> for ::windows::runtime::IUnknown {
8535     fn from(value: ITMediaRecord) -> Self {
8536         unsafe { ::std::mem::transmute(value) }
8537     }
8538 }
8539 impl ::std::convert::From<&ITMediaRecord> for ::windows::runtime::IUnknown {
8540     fn from(value: &ITMediaRecord) -> Self {
8541         ::std::convert::From::from(::std::clone::Clone::clone(value))
8542     }
8543 }
8544 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITMediaRecord {
8545     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8546         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8547     }
8548 }
8549 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITMediaRecord {
8550     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8551         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8552     }
8553 }
8554 #[cfg(feature = "Win32_System_Ole_Automation")]
8555 impl ::std::convert::From<ITMediaRecord> for super::super::System::Ole::Automation::IDispatch {
8556     fn from(value: ITMediaRecord) -> Self {
8557         unsafe { ::std::mem::transmute(value) }
8558     }
8559 }
8560 #[cfg(feature = "Win32_System_Ole_Automation")]
8561 impl ::std::convert::From<&ITMediaRecord> for super::super::System::Ole::Automation::IDispatch {
8562     fn from(value: &ITMediaRecord) -> Self {
8563         ::std::convert::From::from(::std::clone::Clone::clone(value))
8564     }
8565 }
8566 #[cfg(feature = "Win32_System_Ole_Automation")]
8567 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITMediaRecord {
8568     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8569         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
8570     }
8571 }
8572 #[cfg(feature = "Win32_System_Ole_Automation")]
8573 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITMediaRecord {
8574     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8575         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
8576     }
8577 }
8578 #[repr(C)]
8579 #[doc(hidden)]
8580 pub struct ITMediaRecord_abi(
8581     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8582     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8583     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8584     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
8585     #[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,
8586     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
8587     #[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,
8588     #[cfg(not(feature = "Win32_Foundation"))] usize,
8589     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8590     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,
8591     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8592     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrfilename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8593     #[cfg(not(feature = "Win32_Foundation"))] usize,
8594     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbstrfilename: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8595     #[cfg(not(feature = "Win32_Foundation"))] usize,
8596 );
8597 #[repr(transparent)]
8598 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8599 pub struct ITMediaSupport(::windows::runtime::IUnknown);
8600 impl ITMediaSupport {
8601     pub unsafe fn MediaTypes(&self) -> ::windows::runtime::Result<i32> {
8602         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8603         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8604     }
8605     pub unsafe fn QueryMediaType(&self, lmediatype: i32) -> ::windows::runtime::Result<i16> {
8606         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8607         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(lmediatype), &mut result__).from_abi::<i16>(result__)
8608     }
8609 }
8610 unsafe impl ::windows::runtime::Interface for ITMediaSupport {
8611     type Vtable = ITMediaSupport_abi;
8612     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2985280388, 37717, 4560, [131, 92, 0, 170, 0, 60, 202, 189]);
8613 }
8614 impl ::std::convert::From<ITMediaSupport> for ::windows::runtime::IUnknown {
8615     fn from(value: ITMediaSupport) -> Self {
8616         unsafe { ::std::mem::transmute(value) }
8617     }
8618 }
8619 impl ::std::convert::From<&ITMediaSupport> for ::windows::runtime::IUnknown {
8620     fn from(value: &ITMediaSupport) -> Self {
8621         ::std::convert::From::from(::std::clone::Clone::clone(value))
8622     }
8623 }
8624 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITMediaSupport {
8625     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8626         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8627     }
8628 }
8629 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITMediaSupport {
8630     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8631         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8632     }
8633 }
8634 #[cfg(feature = "Win32_System_Ole_Automation")]
8635 impl ::std::convert::From<ITMediaSupport> for super::super::System::Ole::Automation::IDispatch {
8636     fn from(value: ITMediaSupport) -> Self {
8637         unsafe { ::std::mem::transmute(value) }
8638     }
8639 }
8640 #[cfg(feature = "Win32_System_Ole_Automation")]
8641 impl ::std::convert::From<&ITMediaSupport> for super::super::System::Ole::Automation::IDispatch {
8642     fn from(value: &ITMediaSupport) -> Self {
8643         ::std::convert::From::from(::std::clone::Clone::clone(value))
8644     }
8645 }
8646 #[cfg(feature = "Win32_System_Ole_Automation")]
8647 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITMediaSupport {
8648     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8649         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
8650     }
8651 }
8652 #[cfg(feature = "Win32_System_Ole_Automation")]
8653 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITMediaSupport {
8654     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8655         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
8656     }
8657 }
8658 #[repr(C)]
8659 #[doc(hidden)]
8660 pub struct ITMediaSupport_abi(
8661     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8662     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8663     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8664     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
8665     #[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,
8666     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
8667     #[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,
8668     #[cfg(not(feature = "Win32_Foundation"))] usize,
8669     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8670     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,
8671     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8672     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plmediatypes: *mut i32) -> ::windows::runtime::HRESULT,
8673     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lmediatype: i32, pfsupport: *mut i16) -> ::windows::runtime::HRESULT,
8674 );
8675 #[repr(transparent)]
8676 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8677 pub struct ITMultiTrackTerminal(::windows::runtime::IUnknown);
8678 impl ITMultiTrackTerminal {
8679     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8680     pub unsafe fn TrackTerminals(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
8681         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8682         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
8683     }
8684     pub unsafe fn EnumerateTrackTerminals(&self) -> ::windows::runtime::Result<IEnumTerminal> {
8685         let mut result__: <IEnumTerminal as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8686         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumTerminal>(result__)
8687     }
8688     pub unsafe fn CreateTrackTerminal(&self, mediatype: i32, terminaldirection: TERMINAL_DIRECTION) -> ::windows::runtime::Result<ITTerminal> {
8689         let mut result__: <ITTerminal as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8690         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(mediatype), ::std::mem::transmute(terminaldirection), &mut result__).from_abi::<ITTerminal>(result__)
8691     }
8692     pub unsafe fn MediaTypesInUse(&self) -> ::windows::runtime::Result<i32> {
8693         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8694         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8695     }
8696     pub unsafe fn DirectionsInUse(&self) -> ::windows::runtime::Result<TERMINAL_DIRECTION> {
8697         let mut result__: <TERMINAL_DIRECTION as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8698         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<TERMINAL_DIRECTION>(result__)
8699     }
8700     pub unsafe fn RemoveTrackTerminal<'a, Param0: ::windows::runtime::IntoParam<'a, ITTerminal>>(&self, ptrackterminaltoremove: Param0) -> ::windows::runtime::Result<()> {
8701         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ptrackterminaltoremove.into_param().abi()).ok()
8702     }
8703 }
8704 unsafe impl ::windows::runtime::Interface for ITMultiTrackTerminal {
8705     type Vtable = ITMultiTrackTerminal_abi;
8706     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4261675153, 44520, 16498, [149, 201, 191, 125, 232, 197, 75, 68]);
8707 }
8708 impl ::std::convert::From<ITMultiTrackTerminal> for ::windows::runtime::IUnknown {
8709     fn from(value: ITMultiTrackTerminal) -> Self {
8710         unsafe { ::std::mem::transmute(value) }
8711     }
8712 }
8713 impl ::std::convert::From<&ITMultiTrackTerminal> for ::windows::runtime::IUnknown {
8714     fn from(value: &ITMultiTrackTerminal) -> Self {
8715         ::std::convert::From::from(::std::clone::Clone::clone(value))
8716     }
8717 }
8718 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITMultiTrackTerminal {
8719     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8720         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8721     }
8722 }
8723 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITMultiTrackTerminal {
8724     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8725         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8726     }
8727 }
8728 #[cfg(feature = "Win32_System_Ole_Automation")]
8729 impl ::std::convert::From<ITMultiTrackTerminal> for super::super::System::Ole::Automation::IDispatch {
8730     fn from(value: ITMultiTrackTerminal) -> Self {
8731         unsafe { ::std::mem::transmute(value) }
8732     }
8733 }
8734 #[cfg(feature = "Win32_System_Ole_Automation")]
8735 impl ::std::convert::From<&ITMultiTrackTerminal> for super::super::System::Ole::Automation::IDispatch {
8736     fn from(value: &ITMultiTrackTerminal) -> Self {
8737         ::std::convert::From::from(::std::clone::Clone::clone(value))
8738     }
8739 }
8740 #[cfg(feature = "Win32_System_Ole_Automation")]
8741 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITMultiTrackTerminal {
8742     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8743         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
8744     }
8745 }
8746 #[cfg(feature = "Win32_System_Ole_Automation")]
8747 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITMultiTrackTerminal {
8748     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8749         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
8750     }
8751 }
8752 #[repr(C)]
8753 #[doc(hidden)]
8754 pub struct ITMultiTrackTerminal_abi(
8755     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8756     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8757     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8758     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
8759     #[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,
8760     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
8761     #[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,
8762     #[cfg(not(feature = "Win32_Foundation"))] usize,
8763     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8764     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,
8765     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8766     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
8767     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8768     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumterminal: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8769     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mediatype: i32, terminaldirection: TERMINAL_DIRECTION, ppterminal: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8770     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plmediatypesinuse: *mut i32) -> ::windows::runtime::HRESULT,
8771     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pldirectionsinused: *mut TERMINAL_DIRECTION) -> ::windows::runtime::HRESULT,
8772     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptrackterminaltoremove: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8773 );
8774 #[repr(transparent)]
8775 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8776 pub struct ITPhone(::windows::runtime::IUnknown);
8777 impl ITPhone {
8778     pub unsafe fn Open(&self, privilege: PHONE_PRIVILEGE) -> ::windows::runtime::Result<()> {
8779         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(privilege)).ok()
8780     }
8781     pub unsafe fn Close(&self) -> ::windows::runtime::Result<()> {
8782         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
8783     }
8784     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8785     pub unsafe fn Addresses(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
8786         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8787         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
8788     }
8789     pub unsafe fn EnumerateAddresses(&self) -> ::windows::runtime::Result<IEnumAddress> {
8790         let mut result__: <IEnumAddress as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8791         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumAddress>(result__)
8792     }
8793     pub unsafe fn PhoneCapsLong(&self, pclcap: PHONECAPS_LONG) -> ::windows::runtime::Result<i32> {
8794         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8795         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(pclcap), &mut result__).from_abi::<i32>(result__)
8796     }
8797     #[cfg(feature = "Win32_Foundation")]
8798     pub unsafe fn PhoneCapsString(&self, pcscap: PHONECAPS_STRING) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8799         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8800         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(pcscap), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8801     }
8802     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8803     pub unsafe fn Terminals<'a, Param0: ::windows::runtime::IntoParam<'a, ITAddress>>(&self, paddress: Param0) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
8804         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8805         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), paddress.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
8806     }
8807     pub unsafe fn EnumerateTerminals<'a, Param0: ::windows::runtime::IntoParam<'a, ITAddress>>(&self, paddress: Param0) -> ::windows::runtime::Result<IEnumTerminal> {
8808         let mut result__: <IEnumTerminal as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8809         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), paddress.into_param().abi(), &mut result__).from_abi::<IEnumTerminal>(result__)
8810     }
8811     pub unsafe fn ButtonMode(&self, lbuttonid: i32) -> ::windows::runtime::Result<PHONE_BUTTON_MODE> {
8812         let mut result__: <PHONE_BUTTON_MODE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8813         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(lbuttonid), &mut result__).from_abi::<PHONE_BUTTON_MODE>(result__)
8814     }
8815     pub unsafe fn SetButtonMode(&self, lbuttonid: i32, buttonmode: PHONE_BUTTON_MODE) -> ::windows::runtime::Result<()> {
8816         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(lbuttonid), ::std::mem::transmute(buttonmode)).ok()
8817     }
8818     pub unsafe fn ButtonFunction(&self, lbuttonid: i32) -> ::windows::runtime::Result<PHONE_BUTTON_FUNCTION> {
8819         let mut result__: <PHONE_BUTTON_FUNCTION as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8820         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(lbuttonid), &mut result__).from_abi::<PHONE_BUTTON_FUNCTION>(result__)
8821     }
8822     pub unsafe fn SetButtonFunction(&self, lbuttonid: i32, buttonfunction: PHONE_BUTTON_FUNCTION) -> ::windows::runtime::Result<()> {
8823         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(lbuttonid), ::std::mem::transmute(buttonfunction)).ok()
8824     }
8825     #[cfg(feature = "Win32_Foundation")]
8826     pub unsafe fn ButtonText(&self, lbuttonid: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8827         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8828         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(lbuttonid), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8829     }
8830     #[cfg(feature = "Win32_Foundation")]
8831     pub unsafe fn SetButtonText<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, lbuttonid: i32, bstrbuttontext: Param1) -> ::windows::runtime::Result<()> {
8832         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(lbuttonid), bstrbuttontext.into_param().abi()).ok()
8833     }
8834     pub unsafe fn ButtonState(&self, lbuttonid: i32) -> ::windows::runtime::Result<PHONE_BUTTON_STATE> {
8835         let mut result__: <PHONE_BUTTON_STATE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8836         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(lbuttonid), &mut result__).from_abi::<PHONE_BUTTON_STATE>(result__)
8837     }
8838     pub unsafe fn HookSwitchState(&self, hookswitchdevice: PHONE_HOOK_SWITCH_DEVICE) -> ::windows::runtime::Result<PHONE_HOOK_SWITCH_STATE> {
8839         let mut result__: <PHONE_HOOK_SWITCH_STATE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8840         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(hookswitchdevice), &mut result__).from_abi::<PHONE_HOOK_SWITCH_STATE>(result__)
8841     }
8842     pub unsafe fn SetHookSwitchState(&self, hookswitchdevice: PHONE_HOOK_SWITCH_DEVICE, hookswitchstate: PHONE_HOOK_SWITCH_STATE) -> ::windows::runtime::Result<()> {
8843         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(hookswitchdevice), ::std::mem::transmute(hookswitchstate)).ok()
8844     }
8845     pub unsafe fn SetRingMode(&self, lringmode: i32) -> ::windows::runtime::Result<()> {
8846         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(lringmode)).ok()
8847     }
8848     pub unsafe fn RingMode(&self) -> ::windows::runtime::Result<i32> {
8849         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8850         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8851     }
8852     pub unsafe fn SetRingVolume(&self, lringvolume: i32) -> ::windows::runtime::Result<()> {
8853         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(lringvolume)).ok()
8854     }
8855     pub unsafe fn RingVolume(&self) -> ::windows::runtime::Result<i32> {
8856         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8857         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8858     }
8859     pub unsafe fn Privilege(&self) -> ::windows::runtime::Result<PHONE_PRIVILEGE> {
8860         let mut result__: <PHONE_PRIVILEGE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8861         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), &mut result__).from_abi::<PHONE_PRIVILEGE>(result__)
8862     }
8863     pub unsafe fn GetPhoneCapsBuffer(&self, pcbcaps: PHONECAPS_BUFFER, pdwsize: *mut u32, ppphonecapsbuffer: *mut *mut u8) -> ::windows::runtime::Result<()> {
8864         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(pcbcaps), ::std::mem::transmute(pdwsize), ::std::mem::transmute(ppphonecapsbuffer)).ok()
8865     }
8866     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8867     pub unsafe fn PhoneCapsBuffer(&self, pcbcaps: PHONECAPS_BUFFER) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
8868         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8869         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(pcbcaps), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
8870     }
8871     pub unsafe fn LampMode(&self, llampid: i32) -> ::windows::runtime::Result<PHONE_LAMP_MODE> {
8872         let mut result__: <PHONE_LAMP_MODE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8873         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), ::std::mem::transmute(llampid), &mut result__).from_abi::<PHONE_LAMP_MODE>(result__)
8874     }
8875     pub unsafe fn SetLampMode(&self, llampid: i32, lampmode: PHONE_LAMP_MODE) -> ::windows::runtime::Result<()> {
8876         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), ::std::mem::transmute(llampid), ::std::mem::transmute(lampmode)).ok()
8877     }
8878     #[cfg(feature = "Win32_Foundation")]
8879     pub unsafe fn Display(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8880         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8881         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8882     }
8883     #[cfg(feature = "Win32_Foundation")]
8884     pub unsafe fn SetDisplay<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, lrow: i32, lcolumn: i32, bstrdisplay: Param2) -> ::windows::runtime::Result<()> {
8885         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), ::std::mem::transmute(lrow), ::std::mem::transmute(lcolumn), bstrdisplay.into_param().abi()).ok()
8886     }
8887     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8888     pub unsafe fn PreferredAddresses(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
8889         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8890         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
8891     }
8892     pub unsafe fn EnumeratePreferredAddresses(&self) -> ::windows::runtime::Result<IEnumAddress> {
8893         let mut result__: <IEnumAddress as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8894         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumAddress>(result__)
8895     }
8896     pub unsafe fn DeviceSpecific(&self, pparams: *const u8, dwsize: u32) -> ::windows::runtime::Result<()> {
8897         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), ::std::mem::transmute(pparams), ::std::mem::transmute(dwsize)).ok()
8898     }
8899     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8900     pub unsafe fn DeviceSpecificVariant<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, vardevspecificbytearray: Param0) -> ::windows::runtime::Result<()> {
8901         (::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), vardevspecificbytearray.into_param().abi()).ok()
8902     }
8903     pub unsafe fn NegotiateExtVersion(&self, llowversion: i32, lhighversion: i32) -> ::windows::runtime::Result<i32> {
8904         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8905         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), ::std::mem::transmute(llowversion), ::std::mem::transmute(lhighversion), &mut result__).from_abi::<i32>(result__)
8906     }
8907 }
8908 unsafe impl ::windows::runtime::Interface for ITPhone {
8909     type Vtable = ITPhone_abi;
8910     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(164924852, 4300, 17288, [157, 231, 168, 70, 86, 24, 151, 90]);
8911 }
8912 impl ::std::convert::From<ITPhone> for ::windows::runtime::IUnknown {
8913     fn from(value: ITPhone) -> Self {
8914         unsafe { ::std::mem::transmute(value) }
8915     }
8916 }
8917 impl ::std::convert::From<&ITPhone> for ::windows::runtime::IUnknown {
8918     fn from(value: &ITPhone) -> Self {
8919         ::std::convert::From::from(::std::clone::Clone::clone(value))
8920     }
8921 }
8922 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITPhone {
8923     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8924         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8925     }
8926 }
8927 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITPhone {
8928     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8929         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8930     }
8931 }
8932 #[cfg(feature = "Win32_System_Ole_Automation")]
8933 impl ::std::convert::From<ITPhone> for super::super::System::Ole::Automation::IDispatch {
8934     fn from(value: ITPhone) -> Self {
8935         unsafe { ::std::mem::transmute(value) }
8936     }
8937 }
8938 #[cfg(feature = "Win32_System_Ole_Automation")]
8939 impl ::std::convert::From<&ITPhone> for super::super::System::Ole::Automation::IDispatch {
8940     fn from(value: &ITPhone) -> Self {
8941         ::std::convert::From::from(::std::clone::Clone::clone(value))
8942     }
8943 }
8944 #[cfg(feature = "Win32_System_Ole_Automation")]
8945 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITPhone {
8946     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8947         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
8948     }
8949 }
8950 #[cfg(feature = "Win32_System_Ole_Automation")]
8951 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITPhone {
8952     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8953         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
8954     }
8955 }
8956 #[repr(C)]
8957 #[doc(hidden)]
8958 pub struct ITPhone_abi(
8959     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8960     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8961     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8962     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
8963     #[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,
8964     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
8965     #[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,
8966     #[cfg(not(feature = "Win32_Foundation"))] usize,
8967     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8968     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,
8969     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8970     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, privilege: PHONE_PRIVILEGE) -> ::windows::runtime::HRESULT,
8971     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8972     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paddresses: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
8973     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8974     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumaddress: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8975     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclcap: PHONECAPS_LONG, plcapability: *mut i32) -> ::windows::runtime::HRESULT,
8976     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcscap: PHONECAPS_STRING, ppcapability: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8977     #[cfg(not(feature = "Win32_Foundation"))] usize,
8978     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paddress: ::windows::runtime::RawPtr, pterminals: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
8979     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8980     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paddress: ::windows::runtime::RawPtr, ppenumterminal: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8981     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lbuttonid: i32, pbuttonmode: *mut PHONE_BUTTON_MODE) -> ::windows::runtime::HRESULT,
8982     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lbuttonid: i32, buttonmode: PHONE_BUTTON_MODE) -> ::windows::runtime::HRESULT,
8983     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lbuttonid: i32, pbuttonfunction: *mut PHONE_BUTTON_FUNCTION) -> ::windows::runtime::HRESULT,
8984     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lbuttonid: i32, buttonfunction: PHONE_BUTTON_FUNCTION) -> ::windows::runtime::HRESULT,
8985     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lbuttonid: i32, ppbuttontext: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8986     #[cfg(not(feature = "Win32_Foundation"))] usize,
8987     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lbuttonid: i32, bstrbuttontext: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8988     #[cfg(not(feature = "Win32_Foundation"))] usize,
8989     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lbuttonid: i32, pbuttonstate: *mut PHONE_BUTTON_STATE) -> ::windows::runtime::HRESULT,
8990     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hookswitchdevice: PHONE_HOOK_SWITCH_DEVICE, phookswitchstate: *mut PHONE_HOOK_SWITCH_STATE) -> ::windows::runtime::HRESULT,
8991     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hookswitchdevice: PHONE_HOOK_SWITCH_DEVICE, hookswitchstate: PHONE_HOOK_SWITCH_STATE) -> ::windows::runtime::HRESULT,
8992     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lringmode: i32) -> ::windows::runtime::HRESULT,
8993     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plringmode: *mut i32) -> ::windows::runtime::HRESULT,
8994     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lringvolume: i32) -> ::windows::runtime::HRESULT,
8995     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plringvolume: *mut i32) -> ::windows::runtime::HRESULT,
8996     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprivilege: *mut PHONE_PRIVILEGE) -> ::windows::runtime::HRESULT,
8997     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcbcaps: PHONECAPS_BUFFER, pdwsize: *mut u32, ppphonecapsbuffer: *mut *mut u8) -> ::windows::runtime::HRESULT,
8998     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcbcaps: PHONECAPS_BUFFER, pvarbuffer: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
8999     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9000     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, llampid: i32, plampmode: *mut PHONE_LAMP_MODE) -> ::windows::runtime::HRESULT,
9001     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, llampid: i32, lampmode: PHONE_LAMP_MODE) -> ::windows::runtime::HRESULT,
9002     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbstrdisplay: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9003     #[cfg(not(feature = "Win32_Foundation"))] usize,
9004     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lrow: i32, lcolumn: i32, bstrdisplay: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9005     #[cfg(not(feature = "Win32_Foundation"))] usize,
9006     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paddresses: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
9007     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9008     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumaddress: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9009     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pparams: *const u8, dwsize: u32) -> ::windows::runtime::HRESULT,
9010     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, vardevspecificbytearray: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
9011     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9012     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, llowversion: i32, lhighversion: i32, plextversion: *mut i32) -> ::windows::runtime::HRESULT,
9013 );
9014 #[repr(transparent)]
9015 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9016 pub struct ITPhoneDeviceSpecificEvent(::windows::runtime::IUnknown);
9017 impl ITPhoneDeviceSpecificEvent {
9018     pub unsafe fn Phone(&self) -> ::windows::runtime::Result<ITPhone> {
9019         let mut result__: <ITPhone as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9020         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITPhone>(result__)
9021     }
9022     pub unsafe fn lParam1(&self) -> ::windows::runtime::Result<i32> {
9023         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9024         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9025     }
9026     pub unsafe fn lParam2(&self) -> ::windows::runtime::Result<i32> {
9027         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9028         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9029     }
9030     pub unsafe fn lParam3(&self) -> ::windows::runtime::Result<i32> {
9031         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9032         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9033     }
9034 }
9035 unsafe impl ::windows::runtime::Interface for ITPhoneDeviceSpecificEvent {
9036     type Vtable = ITPhoneDeviceSpecificEvent_abi;
9037     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1677701798, 34603, 19667, [165, 1, 50, 110, 143, 180, 10, 247]);
9038 }
9039 impl ::std::convert::From<ITPhoneDeviceSpecificEvent> for ::windows::runtime::IUnknown {
9040     fn from(value: ITPhoneDeviceSpecificEvent) -> Self {
9041         unsafe { ::std::mem::transmute(value) }
9042     }
9043 }
9044 impl ::std::convert::From<&ITPhoneDeviceSpecificEvent> for ::windows::runtime::IUnknown {
9045     fn from(value: &ITPhoneDeviceSpecificEvent) -> Self {
9046         ::std::convert::From::from(::std::clone::Clone::clone(value))
9047     }
9048 }
9049 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITPhoneDeviceSpecificEvent {
9050     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9051         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9052     }
9053 }
9054 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITPhoneDeviceSpecificEvent {
9055     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9056         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9057     }
9058 }
9059 #[cfg(feature = "Win32_System_Ole_Automation")]
9060 impl ::std::convert::From<ITPhoneDeviceSpecificEvent> for super::super::System::Ole::Automation::IDispatch {
9061     fn from(value: ITPhoneDeviceSpecificEvent) -> Self {
9062         unsafe { ::std::mem::transmute(value) }
9063     }
9064 }
9065 #[cfg(feature = "Win32_System_Ole_Automation")]
9066 impl ::std::convert::From<&ITPhoneDeviceSpecificEvent> for super::super::System::Ole::Automation::IDispatch {
9067     fn from(value: &ITPhoneDeviceSpecificEvent) -> Self {
9068         ::std::convert::From::from(::std::clone::Clone::clone(value))
9069     }
9070 }
9071 #[cfg(feature = "Win32_System_Ole_Automation")]
9072 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITPhoneDeviceSpecificEvent {
9073     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9074         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
9075     }
9076 }
9077 #[cfg(feature = "Win32_System_Ole_Automation")]
9078 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITPhoneDeviceSpecificEvent {
9079     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9080         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
9081     }
9082 }
9083 #[repr(C)]
9084 #[doc(hidden)]
9085 pub struct ITPhoneDeviceSpecificEvent_abi(
9086     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9087     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9088     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9089     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
9090     #[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,
9091     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
9092     #[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,
9093     #[cfg(not(feature = "Win32_Foundation"))] usize,
9094     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9095     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,
9096     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9097     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppphone: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9098     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pparam1: *mut i32) -> ::windows::runtime::HRESULT,
9099     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pparam2: *mut i32) -> ::windows::runtime::HRESULT,
9100     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pparam3: *mut i32) -> ::windows::runtime::HRESULT,
9101 );
9102 #[repr(transparent)]
9103 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9104 pub struct ITPhoneEvent(::windows::runtime::IUnknown);
9105 impl ITPhoneEvent {
9106     pub unsafe fn Phone(&self) -> ::windows::runtime::Result<ITPhone> {
9107         let mut result__: <ITPhone as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9108         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITPhone>(result__)
9109     }
9110     pub unsafe fn Event(&self) -> ::windows::runtime::Result<PHONE_EVENT> {
9111         let mut result__: <PHONE_EVENT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9112         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<PHONE_EVENT>(result__)
9113     }
9114     pub unsafe fn ButtonState(&self) -> ::windows::runtime::Result<PHONE_BUTTON_STATE> {
9115         let mut result__: <PHONE_BUTTON_STATE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9116         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<PHONE_BUTTON_STATE>(result__)
9117     }
9118     pub unsafe fn HookSwitchState(&self) -> ::windows::runtime::Result<PHONE_HOOK_SWITCH_STATE> {
9119         let mut result__: <PHONE_HOOK_SWITCH_STATE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9120         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<PHONE_HOOK_SWITCH_STATE>(result__)
9121     }
9122     pub unsafe fn HookSwitchDevice(&self) -> ::windows::runtime::Result<PHONE_HOOK_SWITCH_DEVICE> {
9123         let mut result__: <PHONE_HOOK_SWITCH_DEVICE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9124         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<PHONE_HOOK_SWITCH_DEVICE>(result__)
9125     }
9126     pub unsafe fn RingMode(&self) -> ::windows::runtime::Result<i32> {
9127         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9128         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9129     }
9130     pub unsafe fn ButtonLampId(&self) -> ::windows::runtime::Result<i32> {
9131         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9132         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9133     }
9134     #[cfg(feature = "Win32_Foundation")]
9135     pub unsafe fn NumberGathered(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9136         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9137         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9138     }
9139     pub unsafe fn Call(&self) -> ::windows::runtime::Result<ITCallInfo> {
9140         let mut result__: <ITCallInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9141         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITCallInfo>(result__)
9142     }
9143 }
9144 unsafe impl ::windows::runtime::Interface for ITPhoneEvent {
9145     type Vtable = ITPhoneEvent_abi;
9146     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2408852952, 25837, 19119, [167, 125, 178, 61, 176, 131, 126, 173]);
9147 }
9148 impl ::std::convert::From<ITPhoneEvent> for ::windows::runtime::IUnknown {
9149     fn from(value: ITPhoneEvent) -> Self {
9150         unsafe { ::std::mem::transmute(value) }
9151     }
9152 }
9153 impl ::std::convert::From<&ITPhoneEvent> for ::windows::runtime::IUnknown {
9154     fn from(value: &ITPhoneEvent) -> Self {
9155         ::std::convert::From::from(::std::clone::Clone::clone(value))
9156     }
9157 }
9158 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITPhoneEvent {
9159     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9160         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9161     }
9162 }
9163 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITPhoneEvent {
9164     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9165         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9166     }
9167 }
9168 #[cfg(feature = "Win32_System_Ole_Automation")]
9169 impl ::std::convert::From<ITPhoneEvent> for super::super::System::Ole::Automation::IDispatch {
9170     fn from(value: ITPhoneEvent) -> Self {
9171         unsafe { ::std::mem::transmute(value) }
9172     }
9173 }
9174 #[cfg(feature = "Win32_System_Ole_Automation")]
9175 impl ::std::convert::From<&ITPhoneEvent> for super::super::System::Ole::Automation::IDispatch {
9176     fn from(value: &ITPhoneEvent) -> Self {
9177         ::std::convert::From::from(::std::clone::Clone::clone(value))
9178     }
9179 }
9180 #[cfg(feature = "Win32_System_Ole_Automation")]
9181 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITPhoneEvent {
9182     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9183         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
9184     }
9185 }
9186 #[cfg(feature = "Win32_System_Ole_Automation")]
9187 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITPhoneEvent {
9188     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9189         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
9190     }
9191 }
9192 #[repr(C)]
9193 #[doc(hidden)]
9194 pub struct ITPhoneEvent_abi(
9195     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9196     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9197     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9198     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
9199     #[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,
9200     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
9201     #[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,
9202     #[cfg(not(feature = "Win32_Foundation"))] usize,
9203     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9204     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,
9205     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9206     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppphone: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9207     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pevent: *mut PHONE_EVENT) -> ::windows::runtime::HRESULT,
9208     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstate: *mut PHONE_BUTTON_STATE) -> ::windows::runtime::HRESULT,
9209     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstate: *mut PHONE_HOOK_SWITCH_STATE) -> ::windows::runtime::HRESULT,
9210     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: *mut PHONE_HOOK_SWITCH_DEVICE) -> ::windows::runtime::HRESULT,
9211     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plringmode: *mut i32) -> ::windows::runtime::HRESULT,
9212     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plbuttonlampid: *mut i32) -> ::windows::runtime::HRESULT,
9213     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppnumber: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9214     #[cfg(not(feature = "Win32_Foundation"))] usize,
9215     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcallinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9216 );
9217 #[repr(transparent)]
9218 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9219 pub struct ITPluggableTerminalClassInfo(::windows::runtime::IUnknown);
9220 impl ITPluggableTerminalClassInfo {
9221     #[cfg(feature = "Win32_Foundation")]
9222     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9223         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9224         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9225     }
9226     #[cfg(feature = "Win32_Foundation")]
9227     pub unsafe fn Company(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9228         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9229         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9230     }
9231     #[cfg(feature = "Win32_Foundation")]
9232     pub unsafe fn Version(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9233         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9234         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9235     }
9236     #[cfg(feature = "Win32_Foundation")]
9237     pub unsafe fn TerminalClass(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9238         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9239         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9240     }
9241     #[cfg(feature = "Win32_Foundation")]
9242     pub unsafe fn CLSID(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9243         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9244         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9245     }
9246     pub unsafe fn Direction(&self) -> ::windows::runtime::Result<TERMINAL_DIRECTION> {
9247         let mut result__: <TERMINAL_DIRECTION as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9248         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<TERMINAL_DIRECTION>(result__)
9249     }
9250     pub unsafe fn MediaTypes(&self) -> ::windows::runtime::Result<i32> {
9251         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9252         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9253     }
9254 }
9255 unsafe impl ::windows::runtime::Interface for ITPluggableTerminalClassInfo {
9256     type Vtable = ITPluggableTerminalClassInfo_abi;
9257     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1098219338, 53001, 19252, [188, 150, 10, 121, 210, 57, 0, 118]);
9258 }
9259 impl ::std::convert::From<ITPluggableTerminalClassInfo> for ::windows::runtime::IUnknown {
9260     fn from(value: ITPluggableTerminalClassInfo) -> Self {
9261         unsafe { ::std::mem::transmute(value) }
9262     }
9263 }
9264 impl ::std::convert::From<&ITPluggableTerminalClassInfo> for ::windows::runtime::IUnknown {
9265     fn from(value: &ITPluggableTerminalClassInfo) -> Self {
9266         ::std::convert::From::from(::std::clone::Clone::clone(value))
9267     }
9268 }
9269 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITPluggableTerminalClassInfo {
9270     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9271         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9272     }
9273 }
9274 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITPluggableTerminalClassInfo {
9275     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9276         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9277     }
9278 }
9279 #[cfg(feature = "Win32_System_Ole_Automation")]
9280 impl ::std::convert::From<ITPluggableTerminalClassInfo> for super::super::System::Ole::Automation::IDispatch {
9281     fn from(value: ITPluggableTerminalClassInfo) -> Self {
9282         unsafe { ::std::mem::transmute(value) }
9283     }
9284 }
9285 #[cfg(feature = "Win32_System_Ole_Automation")]
9286 impl ::std::convert::From<&ITPluggableTerminalClassInfo> for super::super::System::Ole::Automation::IDispatch {
9287     fn from(value: &ITPluggableTerminalClassInfo) -> Self {
9288         ::std::convert::From::from(::std::clone::Clone::clone(value))
9289     }
9290 }
9291 #[cfg(feature = "Win32_System_Ole_Automation")]
9292 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITPluggableTerminalClassInfo {
9293     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9294         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
9295     }
9296 }
9297 #[cfg(feature = "Win32_System_Ole_Automation")]
9298 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITPluggableTerminalClassInfo {
9299     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9300         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
9301     }
9302 }
9303 #[repr(C)]
9304 #[doc(hidden)]
9305 pub struct ITPluggableTerminalClassInfo_abi(
9306     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9307     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9308     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9309     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
9310     #[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,
9311     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
9312     #[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,
9313     #[cfg(not(feature = "Win32_Foundation"))] usize,
9314     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9315     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,
9316     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9317     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9318     #[cfg(not(feature = "Win32_Foundation"))] usize,
9319     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcompany: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9320     #[cfg(not(feature = "Win32_Foundation"))] usize,
9321     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pversion: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9322     #[cfg(not(feature = "Win32_Foundation"))] usize,
9323     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pterminalclass: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9324     #[cfg(not(feature = "Win32_Foundation"))] usize,
9325     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclsid: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9326     #[cfg(not(feature = "Win32_Foundation"))] usize,
9327     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdirection: *mut TERMINAL_DIRECTION) -> ::windows::runtime::HRESULT,
9328     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmediatypes: *mut i32) -> ::windows::runtime::HRESULT,
9329 );
9330 #[repr(transparent)]
9331 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9332 pub struct ITPluggableTerminalEventSink(::windows::runtime::IUnknown);
9333 impl ITPluggableTerminalEventSink {
9334     #[cfg(feature = "Win32_System_Ole_Automation")]
9335     pub unsafe fn FireEvent(&self, pmspeventinfo: *const MSP_EVENT_INFO) -> ::windows::runtime::Result<()> {
9336         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmspeventinfo)).ok()
9337     }
9338 }
9339 unsafe impl ::windows::runtime::Interface for ITPluggableTerminalEventSink {
9340     type Vtable = ITPluggableTerminalEventSink_abi;
9341     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1846052798, 47642, 18734, [189, 16, 64, 32, 236, 94, 51, 224]);
9342 }
9343 impl ::std::convert::From<ITPluggableTerminalEventSink> for ::windows::runtime::IUnknown {
9344     fn from(value: ITPluggableTerminalEventSink) -> Self {
9345         unsafe { ::std::mem::transmute(value) }
9346     }
9347 }
9348 impl ::std::convert::From<&ITPluggableTerminalEventSink> for ::windows::runtime::IUnknown {
9349     fn from(value: &ITPluggableTerminalEventSink) -> Self {
9350         ::std::convert::From::from(::std::clone::Clone::clone(value))
9351     }
9352 }
9353 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITPluggableTerminalEventSink {
9354     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9355         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9356     }
9357 }
9358 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITPluggableTerminalEventSink {
9359     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9360         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9361     }
9362 }
9363 #[repr(C)]
9364 #[doc(hidden)]
9365 pub struct ITPluggableTerminalEventSink_abi(
9366     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9367     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9368     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9369     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmspeventinfo: *const ::std::mem::ManuallyDrop<MSP_EVENT_INFO>) -> ::windows::runtime::HRESULT,
9370     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
9371 );
9372 #[repr(transparent)]
9373 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9374 pub struct ITPluggableTerminalEventSinkRegistration(::windows::runtime::IUnknown);
9375 impl ITPluggableTerminalEventSinkRegistration {
9376     pub unsafe fn RegisterSink<'a, Param0: ::windows::runtime::IntoParam<'a, ITPluggableTerminalEventSink>>(&self, peventsink: Param0) -> ::windows::runtime::Result<()> {
9377         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), peventsink.into_param().abi()).ok()
9378     }
9379     pub unsafe fn UnregisterSink(&self) -> ::windows::runtime::Result<()> {
9380         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
9381     }
9382 }
9383 unsafe impl ::windows::runtime::Interface for ITPluggableTerminalEventSinkRegistration {
9384     type Vtable = ITPluggableTerminalEventSinkRegistration_abi;
9385     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4145108745, 41494, 18775, [167, 89, 6, 10, 179, 42, 144, 209]);
9386 }
9387 impl ::std::convert::From<ITPluggableTerminalEventSinkRegistration> for ::windows::runtime::IUnknown {
9388     fn from(value: ITPluggableTerminalEventSinkRegistration) -> Self {
9389         unsafe { ::std::mem::transmute(value) }
9390     }
9391 }
9392 impl ::std::convert::From<&ITPluggableTerminalEventSinkRegistration> for ::windows::runtime::IUnknown {
9393     fn from(value: &ITPluggableTerminalEventSinkRegistration) -> Self {
9394         ::std::convert::From::from(::std::clone::Clone::clone(value))
9395     }
9396 }
9397 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITPluggableTerminalEventSinkRegistration {
9398     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9399         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9400     }
9401 }
9402 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITPluggableTerminalEventSinkRegistration {
9403     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9404         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9405     }
9406 }
9407 #[repr(C)]
9408 #[doc(hidden)]
9409 pub struct ITPluggableTerminalEventSinkRegistration_abi(
9410     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9411     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9412     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9413     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, peventsink: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9414     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9415 );
9416 #[repr(transparent)]
9417 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9418 pub struct ITPluggableTerminalSuperclassInfo(::windows::runtime::IUnknown);
9419 impl ITPluggableTerminalSuperclassInfo {
9420     #[cfg(feature = "Win32_Foundation")]
9421     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9422         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9423         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9424     }
9425     #[cfg(feature = "Win32_Foundation")]
9426     pub unsafe fn CLSID(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9427         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9428         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9429     }
9430 }
9431 unsafe impl ::windows::runtime::Interface for ITPluggableTerminalSuperclassInfo {
9432     type Vtable = ITPluggableTerminalSuperclassInfo_abi;
9433     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1834279980, 17957, 17241, [166, 247, 99, 25, 153, 16, 126, 5]);
9434 }
9435 impl ::std::convert::From<ITPluggableTerminalSuperclassInfo> for ::windows::runtime::IUnknown {
9436     fn from(value: ITPluggableTerminalSuperclassInfo) -> Self {
9437         unsafe { ::std::mem::transmute(value) }
9438     }
9439 }
9440 impl ::std::convert::From<&ITPluggableTerminalSuperclassInfo> for ::windows::runtime::IUnknown {
9441     fn from(value: &ITPluggableTerminalSuperclassInfo) -> Self {
9442         ::std::convert::From::from(::std::clone::Clone::clone(value))
9443     }
9444 }
9445 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITPluggableTerminalSuperclassInfo {
9446     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9447         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9448     }
9449 }
9450 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITPluggableTerminalSuperclassInfo {
9451     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9452         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9453     }
9454 }
9455 #[cfg(feature = "Win32_System_Ole_Automation")]
9456 impl ::std::convert::From<ITPluggableTerminalSuperclassInfo> for super::super::System::Ole::Automation::IDispatch {
9457     fn from(value: ITPluggableTerminalSuperclassInfo) -> Self {
9458         unsafe { ::std::mem::transmute(value) }
9459     }
9460 }
9461 #[cfg(feature = "Win32_System_Ole_Automation")]
9462 impl ::std::convert::From<&ITPluggableTerminalSuperclassInfo> for super::super::System::Ole::Automation::IDispatch {
9463     fn from(value: &ITPluggableTerminalSuperclassInfo) -> Self {
9464         ::std::convert::From::from(::std::clone::Clone::clone(value))
9465     }
9466 }
9467 #[cfg(feature = "Win32_System_Ole_Automation")]
9468 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITPluggableTerminalSuperclassInfo {
9469     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9470         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
9471     }
9472 }
9473 #[cfg(feature = "Win32_System_Ole_Automation")]
9474 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITPluggableTerminalSuperclassInfo {
9475     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9476         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
9477     }
9478 }
9479 #[repr(C)]
9480 #[doc(hidden)]
9481 pub struct ITPluggableTerminalSuperclassInfo_abi(
9482     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9483     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9484     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9485     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
9486     #[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,
9487     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
9488     #[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,
9489     #[cfg(not(feature = "Win32_Foundation"))] usize,
9490     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9491     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,
9492     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9493     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9494     #[cfg(not(feature = "Win32_Foundation"))] usize,
9495     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclsid: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9496     #[cfg(not(feature = "Win32_Foundation"))] usize,
9497 );
9498 #[repr(transparent)]
9499 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9500 pub struct ITPrivateEvent(::windows::runtime::IUnknown);
9501 impl ITPrivateEvent {
9502     pub unsafe fn Address(&self) -> ::windows::runtime::Result<ITAddress> {
9503         let mut result__: <ITAddress as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9504         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITAddress>(result__)
9505     }
9506     pub unsafe fn Call(&self) -> ::windows::runtime::Result<ITCallInfo> {
9507         let mut result__: <ITCallInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9508         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITCallInfo>(result__)
9509     }
9510     pub unsafe fn CallHub(&self) -> ::windows::runtime::Result<ITCallHub> {
9511         let mut result__: <ITCallHub as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9512         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITCallHub>(result__)
9513     }
9514     pub unsafe fn EventCode(&self) -> ::windows::runtime::Result<i32> {
9515         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9516         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9517     }
9518     #[cfg(feature = "Win32_System_Ole_Automation")]
9519     pub unsafe fn EventInterface(&self) -> ::windows::runtime::Result<super::super::System::Ole::Automation::IDispatch> {
9520         let mut result__: <super::super::System::Ole::Automation::IDispatch as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9521         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Ole::Automation::IDispatch>(result__)
9522     }
9523 }
9524 unsafe impl ::windows::runtime::Interface for ITPrivateEvent {
9525     type Vtable = ITPrivateEvent_abi;
9526     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(237411536, 4308, 16673, [156, 34, 156, 133, 214, 37, 101, 13]);
9527 }
9528 impl ::std::convert::From<ITPrivateEvent> for ::windows::runtime::IUnknown {
9529     fn from(value: ITPrivateEvent) -> Self {
9530         unsafe { ::std::mem::transmute(value) }
9531     }
9532 }
9533 impl ::std::convert::From<&ITPrivateEvent> for ::windows::runtime::IUnknown {
9534     fn from(value: &ITPrivateEvent) -> Self {
9535         ::std::convert::From::from(::std::clone::Clone::clone(value))
9536     }
9537 }
9538 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITPrivateEvent {
9539     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9540         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9541     }
9542 }
9543 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITPrivateEvent {
9544     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9545         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9546     }
9547 }
9548 #[cfg(feature = "Win32_System_Ole_Automation")]
9549 impl ::std::convert::From<ITPrivateEvent> for super::super::System::Ole::Automation::IDispatch {
9550     fn from(value: ITPrivateEvent) -> Self {
9551         unsafe { ::std::mem::transmute(value) }
9552     }
9553 }
9554 #[cfg(feature = "Win32_System_Ole_Automation")]
9555 impl ::std::convert::From<&ITPrivateEvent> for super::super::System::Ole::Automation::IDispatch {
9556     fn from(value: &ITPrivateEvent) -> Self {
9557         ::std::convert::From::from(::std::clone::Clone::clone(value))
9558     }
9559 }
9560 #[cfg(feature = "Win32_System_Ole_Automation")]
9561 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITPrivateEvent {
9562     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9563         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
9564     }
9565 }
9566 #[cfg(feature = "Win32_System_Ole_Automation")]
9567 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITPrivateEvent {
9568     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9569         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
9570     }
9571 }
9572 #[repr(C)]
9573 #[doc(hidden)]
9574 pub struct ITPrivateEvent_abi(
9575     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9576     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9577     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9578     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
9579     #[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,
9580     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
9581     #[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,
9582     #[cfg(not(feature = "Win32_Foundation"))] usize,
9583     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9584     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,
9585     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9586     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppaddress: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9587     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcallinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9588     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcallhub: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9589     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pleventcode: *mut i32) -> ::windows::runtime::HRESULT,
9590     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, peventinterface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9591     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
9592 );
9593 #[repr(transparent)]
9594 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9595 pub struct ITQOSEvent(::windows::runtime::IUnknown);
9596 impl ITQOSEvent {
9597     pub unsafe fn Call(&self) -> ::windows::runtime::Result<ITCallInfo> {
9598         let mut result__: <ITCallInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9599         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITCallInfo>(result__)
9600     }
9601     pub unsafe fn Event(&self) -> ::windows::runtime::Result<QOS_EVENT> {
9602         let mut result__: <QOS_EVENT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9603         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<QOS_EVENT>(result__)
9604     }
9605     pub unsafe fn MediaType(&self) -> ::windows::runtime::Result<i32> {
9606         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9607         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9608     }
9609 }
9610 unsafe impl ::windows::runtime::Interface for ITQOSEvent {
9611     type Vtable = ITQOSEvent_abi;
9612     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3483579772, 44407, 4561, [187, 104, 0, 192, 79, 182, 128, 159]);
9613 }
9614 impl ::std::convert::From<ITQOSEvent> for ::windows::runtime::IUnknown {
9615     fn from(value: ITQOSEvent) -> Self {
9616         unsafe { ::std::mem::transmute(value) }
9617     }
9618 }
9619 impl ::std::convert::From<&ITQOSEvent> for ::windows::runtime::IUnknown {
9620     fn from(value: &ITQOSEvent) -> Self {
9621         ::std::convert::From::from(::std::clone::Clone::clone(value))
9622     }
9623 }
9624 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITQOSEvent {
9625     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9626         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9627     }
9628 }
9629 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITQOSEvent {
9630     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9631         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9632     }
9633 }
9634 #[cfg(feature = "Win32_System_Ole_Automation")]
9635 impl ::std::convert::From<ITQOSEvent> for super::super::System::Ole::Automation::IDispatch {
9636     fn from(value: ITQOSEvent) -> Self {
9637         unsafe { ::std::mem::transmute(value) }
9638     }
9639 }
9640 #[cfg(feature = "Win32_System_Ole_Automation")]
9641 impl ::std::convert::From<&ITQOSEvent> for super::super::System::Ole::Automation::IDispatch {
9642     fn from(value: &ITQOSEvent) -> Self {
9643         ::std::convert::From::from(::std::clone::Clone::clone(value))
9644     }
9645 }
9646 #[cfg(feature = "Win32_System_Ole_Automation")]
9647 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITQOSEvent {
9648     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9649         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
9650     }
9651 }
9652 #[cfg(feature = "Win32_System_Ole_Automation")]
9653 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITQOSEvent {
9654     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9655         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
9656     }
9657 }
9658 #[repr(C)]
9659 #[doc(hidden)]
9660 pub struct ITQOSEvent_abi(
9661     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9662     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9663     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9664     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
9665     #[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,
9666     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
9667     #[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,
9668     #[cfg(not(feature = "Win32_Foundation"))] usize,
9669     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9670     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,
9671     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9672     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcall: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9673     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pqosevent: *mut QOS_EVENT) -> ::windows::runtime::HRESULT,
9674     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plmediatype: *mut i32) -> ::windows::runtime::HRESULT,
9675 );
9676 #[repr(transparent)]
9677 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9678 pub struct ITQueue(::windows::runtime::IUnknown);
9679 impl ITQueue {
9680     pub unsafe fn SetMeasurementPeriod(&self, lperiod: i32) -> ::windows::runtime::Result<()> {
9681         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(lperiod)).ok()
9682     }
9683     pub unsafe fn MeasurementPeriod(&self) -> ::windows::runtime::Result<i32> {
9684         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9685         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9686     }
9687     pub unsafe fn TotalCallsQueued(&self) -> ::windows::runtime::Result<i32> {
9688         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9689         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9690     }
9691     pub unsafe fn CurrentCallsQueued(&self) -> ::windows::runtime::Result<i32> {
9692         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9693         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9694     }
9695     pub unsafe fn TotalCallsAbandoned(&self) -> ::windows::runtime::Result<i32> {
9696         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9697         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9698     }
9699     pub unsafe fn TotalCallsFlowedIn(&self) -> ::windows::runtime::Result<i32> {
9700         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9701         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9702     }
9703     pub unsafe fn TotalCallsFlowedOut(&self) -> ::windows::runtime::Result<i32> {
9704         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9705         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9706     }
9707     pub unsafe fn LongestEverWaitTime(&self) -> ::windows::runtime::Result<i32> {
9708         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9709         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9710     }
9711     pub unsafe fn CurrentLongestWaitTime(&self) -> ::windows::runtime::Result<i32> {
9712         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9713         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9714     }
9715     pub unsafe fn AverageWaitTime(&self) -> ::windows::runtime::Result<i32> {
9716         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9717         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9718     }
9719     pub unsafe fn FinalDisposition(&self) -> ::windows::runtime::Result<i32> {
9720         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9721         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9722     }
9723     #[cfg(feature = "Win32_Foundation")]
9724     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9725         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9726         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9727     }
9728 }
9729 unsafe impl ::windows::runtime::Interface for ITQueue {
9730     type Vtable = ITQueue_abi;
9731     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1526477129, 19404, 4561, [191, 128, 0, 128, 95, 193, 71, 211]);
9732 }
9733 impl ::std::convert::From<ITQueue> for ::windows::runtime::IUnknown {
9734     fn from(value: ITQueue) -> Self {
9735         unsafe { ::std::mem::transmute(value) }
9736     }
9737 }
9738 impl ::std::convert::From<&ITQueue> for ::windows::runtime::IUnknown {
9739     fn from(value: &ITQueue) -> Self {
9740         ::std::convert::From::from(::std::clone::Clone::clone(value))
9741     }
9742 }
9743 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITQueue {
9744     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9745         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9746     }
9747 }
9748 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITQueue {
9749     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9750         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9751     }
9752 }
9753 #[cfg(feature = "Win32_System_Ole_Automation")]
9754 impl ::std::convert::From<ITQueue> for super::super::System::Ole::Automation::IDispatch {
9755     fn from(value: ITQueue) -> Self {
9756         unsafe { ::std::mem::transmute(value) }
9757     }
9758 }
9759 #[cfg(feature = "Win32_System_Ole_Automation")]
9760 impl ::std::convert::From<&ITQueue> for super::super::System::Ole::Automation::IDispatch {
9761     fn from(value: &ITQueue) -> Self {
9762         ::std::convert::From::from(::std::clone::Clone::clone(value))
9763     }
9764 }
9765 #[cfg(feature = "Win32_System_Ole_Automation")]
9766 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITQueue {
9767     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9768         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
9769     }
9770 }
9771 #[cfg(feature = "Win32_System_Ole_Automation")]
9772 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITQueue {
9773     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9774         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
9775     }
9776 }
9777 #[repr(C)]
9778 #[doc(hidden)]
9779 pub struct ITQueue_abi(
9780     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9781     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9782     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9783     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
9784     #[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,
9785     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
9786     #[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,
9787     #[cfg(not(feature = "Win32_Foundation"))] usize,
9788     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9789     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,
9790     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9791     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lperiod: i32) -> ::windows::runtime::HRESULT,
9792     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plperiod: *mut i32) -> ::windows::runtime::HRESULT,
9793     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plcalls: *mut i32) -> ::windows::runtime::HRESULT,
9794     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plcalls: *mut i32) -> ::windows::runtime::HRESULT,
9795     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plcalls: *mut i32) -> ::windows::runtime::HRESULT,
9796     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plcalls: *mut i32) -> ::windows::runtime::HRESULT,
9797     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plcalls: *mut i32) -> ::windows::runtime::HRESULT,
9798     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plwaittime: *mut i32) -> ::windows::runtime::HRESULT,
9799     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plwaittime: *mut i32) -> ::windows::runtime::HRESULT,
9800     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plwaittime: *mut i32) -> ::windows::runtime::HRESULT,
9801     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plcalls: *mut i32) -> ::windows::runtime::HRESULT,
9802     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9803     #[cfg(not(feature = "Win32_Foundation"))] usize,
9804 );
9805 #[repr(transparent)]
9806 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9807 pub struct ITQueueEvent(::windows::runtime::IUnknown);
9808 impl ITQueueEvent {
9809     pub unsafe fn Queue(&self) -> ::windows::runtime::Result<ITQueue> {
9810         let mut result__: <ITQueue as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9811         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITQueue>(result__)
9812     }
9813     pub unsafe fn Event(&self) -> ::windows::runtime::Result<ACDQUEUE_EVENT> {
9814         let mut result__: <ACDQUEUE_EVENT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9815         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ACDQUEUE_EVENT>(result__)
9816     }
9817 }
9818 unsafe impl ::windows::runtime::Interface for ITQueueEvent {
9819     type Vtable = ITQueueEvent_abi;
9820     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(696201267, 48401, 4561, [160, 167, 0, 128, 95, 193, 71, 211]);
9821 }
9822 impl ::std::convert::From<ITQueueEvent> for ::windows::runtime::IUnknown {
9823     fn from(value: ITQueueEvent) -> Self {
9824         unsafe { ::std::mem::transmute(value) }
9825     }
9826 }
9827 impl ::std::convert::From<&ITQueueEvent> for ::windows::runtime::IUnknown {
9828     fn from(value: &ITQueueEvent) -> Self {
9829         ::std::convert::From::from(::std::clone::Clone::clone(value))
9830     }
9831 }
9832 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITQueueEvent {
9833     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9834         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9835     }
9836 }
9837 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITQueueEvent {
9838     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9839         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9840     }
9841 }
9842 #[cfg(feature = "Win32_System_Ole_Automation")]
9843 impl ::std::convert::From<ITQueueEvent> for super::super::System::Ole::Automation::IDispatch {
9844     fn from(value: ITQueueEvent) -> Self {
9845         unsafe { ::std::mem::transmute(value) }
9846     }
9847 }
9848 #[cfg(feature = "Win32_System_Ole_Automation")]
9849 impl ::std::convert::From<&ITQueueEvent> for super::super::System::Ole::Automation::IDispatch {
9850     fn from(value: &ITQueueEvent) -> Self {
9851         ::std::convert::From::from(::std::clone::Clone::clone(value))
9852     }
9853 }
9854 #[cfg(feature = "Win32_System_Ole_Automation")]
9855 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITQueueEvent {
9856     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9857         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
9858     }
9859 }
9860 #[cfg(feature = "Win32_System_Ole_Automation")]
9861 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITQueueEvent {
9862     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9863         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
9864     }
9865 }
9866 #[repr(C)]
9867 #[doc(hidden)]
9868 pub struct ITQueueEvent_abi(
9869     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9870     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9871     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9872     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
9873     #[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,
9874     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
9875     #[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,
9876     #[cfg(not(feature = "Win32_Foundation"))] usize,
9877     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9878     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,
9879     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9880     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppqueue: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9881     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pevent: *mut ACDQUEUE_EVENT) -> ::windows::runtime::HRESULT,
9882 );
9883 #[repr(transparent)]
9884 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9885 pub struct ITRendezvous(::windows::runtime::IUnknown);
9886 impl ITRendezvous {
9887     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9888     pub unsafe fn DefaultDirectories(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
9889         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9890         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
9891     }
9892     pub unsafe fn EnumerateDefaultDirectories(&self) -> ::windows::runtime::Result<IEnumDirectory> {
9893         let mut result__: <IEnumDirectory as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9894         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumDirectory>(result__)
9895     }
9896     #[cfg(feature = "Win32_Foundation")]
9897     pub unsafe fn CreateDirectory<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, directorytype: DIRECTORY_TYPE, pname: Param1) -> ::windows::runtime::Result<ITDirectory> {
9898         let mut result__: <ITDirectory as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9899         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(directorytype), pname.into_param().abi(), &mut result__).from_abi::<ITDirectory>(result__)
9900     }
9901     #[cfg(feature = "Win32_Foundation")]
9902     pub unsafe fn CreateDirectoryObject<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, directoryobjecttype: DIRECTORY_OBJECT_TYPE, pname: Param1) -> ::windows::runtime::Result<ITDirectoryObject> {
9903         let mut result__: <ITDirectoryObject as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9904         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(directoryobjecttype), pname.into_param().abi(), &mut result__).from_abi::<ITDirectoryObject>(result__)
9905     }
9906 }
9907 unsafe impl ::windows::runtime::Interface for ITRendezvous {
9908     type Vtable = ITRendezvous_abi;
9909     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(878845291, 27903, 4561, [175, 247, 0, 192, 79, 195, 31, 238]);
9910 }
9911 impl ::std::convert::From<ITRendezvous> for ::windows::runtime::IUnknown {
9912     fn from(value: ITRendezvous) -> Self {
9913         unsafe { ::std::mem::transmute(value) }
9914     }
9915 }
9916 impl ::std::convert::From<&ITRendezvous> for ::windows::runtime::IUnknown {
9917     fn from(value: &ITRendezvous) -> Self {
9918         ::std::convert::From::from(::std::clone::Clone::clone(value))
9919     }
9920 }
9921 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITRendezvous {
9922     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9923         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9924     }
9925 }
9926 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITRendezvous {
9927     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9928         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9929     }
9930 }
9931 #[cfg(feature = "Win32_System_Ole_Automation")]
9932 impl ::std::convert::From<ITRendezvous> for super::super::System::Ole::Automation::IDispatch {
9933     fn from(value: ITRendezvous) -> Self {
9934         unsafe { ::std::mem::transmute(value) }
9935     }
9936 }
9937 #[cfg(feature = "Win32_System_Ole_Automation")]
9938 impl ::std::convert::From<&ITRendezvous> for super::super::System::Ole::Automation::IDispatch {
9939     fn from(value: &ITRendezvous) -> Self {
9940         ::std::convert::From::from(::std::clone::Clone::clone(value))
9941     }
9942 }
9943 #[cfg(feature = "Win32_System_Ole_Automation")]
9944 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITRendezvous {
9945     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9946         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
9947     }
9948 }
9949 #[cfg(feature = "Win32_System_Ole_Automation")]
9950 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITRendezvous {
9951     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
9952         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
9953     }
9954 }
9955 #[repr(C)]
9956 #[doc(hidden)]
9957 pub struct ITRendezvous_abi(
9958     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9959     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9960     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9961     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
9962     #[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,
9963     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
9964     #[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,
9965     #[cfg(not(feature = "Win32_Foundation"))] usize,
9966     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9967     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,
9968     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9969     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
9970     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9971     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumdirectory: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9972     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, directorytype: DIRECTORY_TYPE, pname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, ppdir: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9973     #[cfg(not(feature = "Win32_Foundation"))] usize,
9974     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, directoryobjecttype: DIRECTORY_OBJECT_TYPE, pname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, ppdirectoryobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9975     #[cfg(not(feature = "Win32_Foundation"))] usize,
9976 );
9977 #[repr(transparent)]
9978 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9979 pub struct ITRequest(::windows::runtime::IUnknown);
9980 impl ITRequest {
9981     #[cfg(feature = "Win32_Foundation")]
9982     pub unsafe fn MakeCall<'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>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pdestaddress: Param0, pappname: Param1, pcalledparty: Param2, pcomment: Param3) -> ::windows::runtime::Result<()> {
9983         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pdestaddress.into_param().abi(), pappname.into_param().abi(), pcalledparty.into_param().abi(), pcomment.into_param().abi()).ok()
9984     }
9985 }
9986 unsafe impl ::windows::runtime::Interface for ITRequest {
9987     type Vtable = ITRequest_abi;
9988     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2890465247, 63684, 4561, [160, 48, 0, 192, 79, 182, 128, 159]);
9989 }
9990 impl ::std::convert::From<ITRequest> for ::windows::runtime::IUnknown {
9991     fn from(value: ITRequest) -> Self {
9992         unsafe { ::std::mem::transmute(value) }
9993     }
9994 }
9995 impl ::std::convert::From<&ITRequest> for ::windows::runtime::IUnknown {
9996     fn from(value: &ITRequest) -> Self {
9997         ::std::convert::From::from(::std::clone::Clone::clone(value))
9998     }
9999 }
10000 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITRequest {
10001     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10002         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10003     }
10004 }
10005 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITRequest {
10006     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10007         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10008     }
10009 }
10010 #[cfg(feature = "Win32_System_Ole_Automation")]
10011 impl ::std::convert::From<ITRequest> for super::super::System::Ole::Automation::IDispatch {
10012     fn from(value: ITRequest) -> Self {
10013         unsafe { ::std::mem::transmute(value) }
10014     }
10015 }
10016 #[cfg(feature = "Win32_System_Ole_Automation")]
10017 impl ::std::convert::From<&ITRequest> for super::super::System::Ole::Automation::IDispatch {
10018     fn from(value: &ITRequest) -> Self {
10019         ::std::convert::From::from(::std::clone::Clone::clone(value))
10020     }
10021 }
10022 #[cfg(feature = "Win32_System_Ole_Automation")]
10023 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITRequest {
10024     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10025         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
10026     }
10027 }
10028 #[cfg(feature = "Win32_System_Ole_Automation")]
10029 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITRequest {
10030     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10031         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
10032     }
10033 }
10034 #[repr(C)]
10035 #[doc(hidden)]
10036 pub struct ITRequest_abi(
10037     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10038     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10039     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10040     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
10041     #[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,
10042     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
10043     #[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,
10044     #[cfg(not(feature = "Win32_Foundation"))] usize,
10045     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10046     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,
10047     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10048     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdestaddress: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pappname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pcalledparty: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pcomment: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10049     #[cfg(not(feature = "Win32_Foundation"))] usize,
10050 );
10051 #[repr(transparent)]
10052 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10053 pub struct ITRequestEvent(::windows::runtime::IUnknown);
10054 impl ITRequestEvent {
10055     pub unsafe fn RegistrationInstance(&self) -> ::windows::runtime::Result<i32> {
10056         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10057         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10058     }
10059     pub unsafe fn RequestMode(&self) -> ::windows::runtime::Result<i32> {
10060         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10061         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10062     }
10063     #[cfg(feature = "Win32_Foundation")]
10064     pub unsafe fn DestAddress(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10065         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10066         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10067     }
10068     #[cfg(feature = "Win32_Foundation")]
10069     pub unsafe fn AppName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10070         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10071         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10072     }
10073     #[cfg(feature = "Win32_Foundation")]
10074     pub unsafe fn CalledParty(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10075         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10076         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10077     }
10078     #[cfg(feature = "Win32_Foundation")]
10079     pub unsafe fn Comment(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10080         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10081         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10082     }
10083 }
10084 unsafe impl ::windows::runtime::Interface for ITRequestEvent {
10085     type Vtable = ITRequestEvent_abi;
10086     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2890465246, 63684, 4561, [160, 48, 0, 192, 79, 182, 128, 159]);
10087 }
10088 impl ::std::convert::From<ITRequestEvent> for ::windows::runtime::IUnknown {
10089     fn from(value: ITRequestEvent) -> Self {
10090         unsafe { ::std::mem::transmute(value) }
10091     }
10092 }
10093 impl ::std::convert::From<&ITRequestEvent> for ::windows::runtime::IUnknown {
10094     fn from(value: &ITRequestEvent) -> Self {
10095         ::std::convert::From::from(::std::clone::Clone::clone(value))
10096     }
10097 }
10098 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITRequestEvent {
10099     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10100         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10101     }
10102 }
10103 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITRequestEvent {
10104     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10105         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10106     }
10107 }
10108 #[cfg(feature = "Win32_System_Ole_Automation")]
10109 impl ::std::convert::From<ITRequestEvent> for super::super::System::Ole::Automation::IDispatch {
10110     fn from(value: ITRequestEvent) -> Self {
10111         unsafe { ::std::mem::transmute(value) }
10112     }
10113 }
10114 #[cfg(feature = "Win32_System_Ole_Automation")]
10115 impl ::std::convert::From<&ITRequestEvent> for super::super::System::Ole::Automation::IDispatch {
10116     fn from(value: &ITRequestEvent) -> Self {
10117         ::std::convert::From::from(::std::clone::Clone::clone(value))
10118     }
10119 }
10120 #[cfg(feature = "Win32_System_Ole_Automation")]
10121 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITRequestEvent {
10122     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10123         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
10124     }
10125 }
10126 #[cfg(feature = "Win32_System_Ole_Automation")]
10127 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITRequestEvent {
10128     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10129         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
10130     }
10131 }
10132 #[repr(C)]
10133 #[doc(hidden)]
10134 pub struct ITRequestEvent_abi(
10135     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10136     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10137     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10138     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
10139     #[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,
10140     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
10141     #[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,
10142     #[cfg(not(feature = "Win32_Foundation"))] usize,
10143     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10144     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,
10145     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10146     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plregistrationinstance: *mut i32) -> ::windows::runtime::HRESULT,
10147     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plrequestmode: *mut i32) -> ::windows::runtime::HRESULT,
10148     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppdestaddress: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10149     #[cfg(not(feature = "Win32_Foundation"))] usize,
10150     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppappname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10151     #[cfg(not(feature = "Win32_Foundation"))] usize,
10152     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcalledparty: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10153     #[cfg(not(feature = "Win32_Foundation"))] usize,
10154     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcomment: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10155     #[cfg(not(feature = "Win32_Foundation"))] usize,
10156 );
10157 #[repr(transparent)]
10158 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10159 pub struct ITScriptableAudioFormat(::windows::runtime::IUnknown);
10160 impl ITScriptableAudioFormat {
10161     pub unsafe fn Channels(&self) -> ::windows::runtime::Result<i32> {
10162         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10163         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10164     }
10165     pub unsafe fn SetChannels(&self, nnewval: i32) -> ::windows::runtime::Result<()> {
10166         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(nnewval)).ok()
10167     }
10168     pub unsafe fn SamplesPerSec(&self) -> ::windows::runtime::Result<i32> {
10169         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10170         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10171     }
10172     pub unsafe fn SetSamplesPerSec(&self, nnewval: i32) -> ::windows::runtime::Result<()> {
10173         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(nnewval)).ok()
10174     }
10175     pub unsafe fn AvgBytesPerSec(&self) -> ::windows::runtime::Result<i32> {
10176         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10177         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10178     }
10179     pub unsafe fn SetAvgBytesPerSec(&self, nnewval: i32) -> ::windows::runtime::Result<()> {
10180         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(nnewval)).ok()
10181     }
10182     pub unsafe fn BlockAlign(&self) -> ::windows::runtime::Result<i32> {
10183         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10184         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10185     }
10186     pub unsafe fn SetBlockAlign(&self, nnewval: i32) -> ::windows::runtime::Result<()> {
10187         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(nnewval)).ok()
10188     }
10189     pub unsafe fn BitsPerSample(&self) -> ::windows::runtime::Result<i32> {
10190         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10191         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10192     }
10193     pub unsafe fn SetBitsPerSample(&self, nnewval: i32) -> ::windows::runtime::Result<()> {
10194         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(nnewval)).ok()
10195     }
10196     pub unsafe fn FormatTag(&self) -> ::windows::runtime::Result<i32> {
10197         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10198         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10199     }
10200     pub unsafe fn SetFormatTag(&self, nnewval: i32) -> ::windows::runtime::Result<()> {
10201         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(nnewval)).ok()
10202     }
10203 }
10204 unsafe impl ::windows::runtime::Interface for ITScriptableAudioFormat {
10205     type Vtable = ITScriptableAudioFormat_abi;
10206     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3094763709, 15449, 20324, [190, 116, 174, 222, 62, 134, 168, 30]);
10207 }
10208 impl ::std::convert::From<ITScriptableAudioFormat> for ::windows::runtime::IUnknown {
10209     fn from(value: ITScriptableAudioFormat) -> Self {
10210         unsafe { ::std::mem::transmute(value) }
10211     }
10212 }
10213 impl ::std::convert::From<&ITScriptableAudioFormat> for ::windows::runtime::IUnknown {
10214     fn from(value: &ITScriptableAudioFormat) -> Self {
10215         ::std::convert::From::from(::std::clone::Clone::clone(value))
10216     }
10217 }
10218 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITScriptableAudioFormat {
10219     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10220         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10221     }
10222 }
10223 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITScriptableAudioFormat {
10224     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10225         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10226     }
10227 }
10228 #[cfg(feature = "Win32_System_Ole_Automation")]
10229 impl ::std::convert::From<ITScriptableAudioFormat> for super::super::System::Ole::Automation::IDispatch {
10230     fn from(value: ITScriptableAudioFormat) -> Self {
10231         unsafe { ::std::mem::transmute(value) }
10232     }
10233 }
10234 #[cfg(feature = "Win32_System_Ole_Automation")]
10235 impl ::std::convert::From<&ITScriptableAudioFormat> for super::super::System::Ole::Automation::IDispatch {
10236     fn from(value: &ITScriptableAudioFormat) -> Self {
10237         ::std::convert::From::from(::std::clone::Clone::clone(value))
10238     }
10239 }
10240 #[cfg(feature = "Win32_System_Ole_Automation")]
10241 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITScriptableAudioFormat {
10242     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10243         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
10244     }
10245 }
10246 #[cfg(feature = "Win32_System_Ole_Automation")]
10247 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITScriptableAudioFormat {
10248     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10249         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
10250     }
10251 }
10252 #[repr(C)]
10253 #[doc(hidden)]
10254 pub struct ITScriptableAudioFormat_abi(
10255     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10256     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10257     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10258     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
10259     #[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,
10260     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
10261     #[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,
10262     #[cfg(not(feature = "Win32_Foundation"))] usize,
10263     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10264     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,
10265     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10266     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
10267     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nnewval: i32) -> ::windows::runtime::HRESULT,
10268     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
10269     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nnewval: i32) -> ::windows::runtime::HRESULT,
10270     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
10271     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nnewval: i32) -> ::windows::runtime::HRESULT,
10272     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
10273     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nnewval: i32) -> ::windows::runtime::HRESULT,
10274     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
10275     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nnewval: i32) -> ::windows::runtime::HRESULT,
10276     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
10277     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nnewval: i32) -> ::windows::runtime::HRESULT,
10278 );
10279 #[repr(transparent)]
10280 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10281 pub struct ITStaticAudioTerminal(::windows::runtime::IUnknown);
10282 impl ITStaticAudioTerminal {
10283     pub unsafe fn WaveId(&self) -> ::windows::runtime::Result<i32> {
10284         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10285         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10286     }
10287 }
10288 unsafe impl ::windows::runtime::Interface for ITStaticAudioTerminal {
10289     type Vtable = ITStaticAudioTerminal_abi;
10290     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2825615473, 53580, 18662, [146, 46, 168, 209, 95, 152, 72, 0]);
10291 }
10292 impl ::std::convert::From<ITStaticAudioTerminal> for ::windows::runtime::IUnknown {
10293     fn from(value: ITStaticAudioTerminal) -> Self {
10294         unsafe { ::std::mem::transmute(value) }
10295     }
10296 }
10297 impl ::std::convert::From<&ITStaticAudioTerminal> for ::windows::runtime::IUnknown {
10298     fn from(value: &ITStaticAudioTerminal) -> Self {
10299         ::std::convert::From::from(::std::clone::Clone::clone(value))
10300     }
10301 }
10302 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITStaticAudioTerminal {
10303     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10304         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10305     }
10306 }
10307 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITStaticAudioTerminal {
10308     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10309         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10310     }
10311 }
10312 #[cfg(feature = "Win32_System_Ole_Automation")]
10313 impl ::std::convert::From<ITStaticAudioTerminal> for super::super::System::Ole::Automation::IDispatch {
10314     fn from(value: ITStaticAudioTerminal) -> Self {
10315         unsafe { ::std::mem::transmute(value) }
10316     }
10317 }
10318 #[cfg(feature = "Win32_System_Ole_Automation")]
10319 impl ::std::convert::From<&ITStaticAudioTerminal> for super::super::System::Ole::Automation::IDispatch {
10320     fn from(value: &ITStaticAudioTerminal) -> Self {
10321         ::std::convert::From::from(::std::clone::Clone::clone(value))
10322     }
10323 }
10324 #[cfg(feature = "Win32_System_Ole_Automation")]
10325 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITStaticAudioTerminal {
10326     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10327         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
10328     }
10329 }
10330 #[cfg(feature = "Win32_System_Ole_Automation")]
10331 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITStaticAudioTerminal {
10332     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10333         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
10334     }
10335 }
10336 #[repr(C)]
10337 #[doc(hidden)]
10338 pub struct ITStaticAudioTerminal_abi(
10339     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10340     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10341     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10342     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
10343     #[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,
10344     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
10345     #[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,
10346     #[cfg(not(feature = "Win32_Foundation"))] usize,
10347     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10348     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,
10349     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10350     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plwaveid: *mut i32) -> ::windows::runtime::HRESULT,
10351 );
10352 #[repr(transparent)]
10353 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10354 pub struct ITStream(::windows::runtime::IUnknown);
10355 impl ITStream {
10356     pub unsafe fn MediaType(&self) -> ::windows::runtime::Result<i32> {
10357         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10358         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10359     }
10360     pub unsafe fn Direction(&self) -> ::windows::runtime::Result<TERMINAL_DIRECTION> {
10361         let mut result__: <TERMINAL_DIRECTION as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10362         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<TERMINAL_DIRECTION>(result__)
10363     }
10364     #[cfg(feature = "Win32_Foundation")]
10365     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10366         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10367         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10368     }
10369     pub unsafe fn StartStream(&self) -> ::windows::runtime::Result<()> {
10370         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
10371     }
10372     pub unsafe fn PauseStream(&self) -> ::windows::runtime::Result<()> {
10373         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
10374     }
10375     pub unsafe fn StopStream(&self) -> ::windows::runtime::Result<()> {
10376         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self)).ok()
10377     }
10378     pub unsafe fn SelectTerminal<'a, Param0: ::windows::runtime::IntoParam<'a, ITTerminal>>(&self, pterminal: Param0) -> ::windows::runtime::Result<()> {
10379         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), pterminal.into_param().abi()).ok()
10380     }
10381     pub unsafe fn UnselectTerminal<'a, Param0: ::windows::runtime::IntoParam<'a, ITTerminal>>(&self, pterminal: Param0) -> ::windows::runtime::Result<()> {
10382         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), pterminal.into_param().abi()).ok()
10383     }
10384     pub unsafe fn EnumerateTerminals(&self) -> ::windows::runtime::Result<IEnumTerminal> {
10385         let mut result__: <IEnumTerminal as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10386         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumTerminal>(result__)
10387     }
10388     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10389     pub unsafe fn Terminals(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
10390         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10391         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
10392     }
10393 }
10394 unsafe impl ::windows::runtime::Interface for ITStream {
10395     type Vtable = ITStream_abi;
10396     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3996898821, 14440, 4562, [160, 69, 0, 192, 79, 182, 128, 159]);
10397 }
10398 impl ::std::convert::From<ITStream> for ::windows::runtime::IUnknown {
10399     fn from(value: ITStream) -> Self {
10400         unsafe { ::std::mem::transmute(value) }
10401     }
10402 }
10403 impl ::std::convert::From<&ITStream> for ::windows::runtime::IUnknown {
10404     fn from(value: &ITStream) -> Self {
10405         ::std::convert::From::from(::std::clone::Clone::clone(value))
10406     }
10407 }
10408 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITStream {
10409     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10410         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10411     }
10412 }
10413 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITStream {
10414     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10415         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10416     }
10417 }
10418 #[cfg(feature = "Win32_System_Ole_Automation")]
10419 impl ::std::convert::From<ITStream> for super::super::System::Ole::Automation::IDispatch {
10420     fn from(value: ITStream) -> Self {
10421         unsafe { ::std::mem::transmute(value) }
10422     }
10423 }
10424 #[cfg(feature = "Win32_System_Ole_Automation")]
10425 impl ::std::convert::From<&ITStream> for super::super::System::Ole::Automation::IDispatch {
10426     fn from(value: &ITStream) -> Self {
10427         ::std::convert::From::from(::std::clone::Clone::clone(value))
10428     }
10429 }
10430 #[cfg(feature = "Win32_System_Ole_Automation")]
10431 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITStream {
10432     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10433         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
10434     }
10435 }
10436 #[cfg(feature = "Win32_System_Ole_Automation")]
10437 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITStream {
10438     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10439         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
10440     }
10441 }
10442 #[repr(C)]
10443 #[doc(hidden)]
10444 pub struct ITStream_abi(
10445     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10446     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10447     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10448     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
10449     #[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,
10450     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
10451     #[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,
10452     #[cfg(not(feature = "Win32_Foundation"))] usize,
10453     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10454     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,
10455     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10456     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plmediatype: *mut i32) -> ::windows::runtime::HRESULT,
10457     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptd: *mut TERMINAL_DIRECTION) -> ::windows::runtime::HRESULT,
10458     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10459     #[cfg(not(feature = "Win32_Foundation"))] usize,
10460     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10461     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10462     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10463     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pterminal: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10464     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pterminal: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10465     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumterminal: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10466     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pterminals: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
10467     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10468 );
10469 #[repr(transparent)]
10470 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10471 pub struct ITStreamControl(::windows::runtime::IUnknown);
10472 impl ITStreamControl {
10473     pub unsafe fn CreateStream(&self, lmediatype: i32, td: TERMINAL_DIRECTION) -> ::windows::runtime::Result<ITStream> {
10474         let mut result__: <ITStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10475         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(lmediatype), ::std::mem::transmute(td), &mut result__).from_abi::<ITStream>(result__)
10476     }
10477     pub unsafe fn RemoveStream<'a, Param0: ::windows::runtime::IntoParam<'a, ITStream>>(&self, pstream: Param0) -> ::windows::runtime::Result<()> {
10478         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), pstream.into_param().abi()).ok()
10479     }
10480     pub unsafe fn EnumerateStreams(&self) -> ::windows::runtime::Result<IEnumStream> {
10481         let mut result__: <IEnumStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10482         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumStream>(result__)
10483     }
10484     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10485     pub unsafe fn Streams(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
10486         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10487         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
10488     }
10489 }
10490 unsafe impl ::windows::runtime::Interface for ITStreamControl {
10491     type Vtable = ITStreamControl_abi;
10492     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3996898820, 14440, 4562, [160, 69, 0, 192, 79, 182, 128, 159]);
10493 }
10494 impl ::std::convert::From<ITStreamControl> for ::windows::runtime::IUnknown {
10495     fn from(value: ITStreamControl) -> Self {
10496         unsafe { ::std::mem::transmute(value) }
10497     }
10498 }
10499 impl ::std::convert::From<&ITStreamControl> for ::windows::runtime::IUnknown {
10500     fn from(value: &ITStreamControl) -> Self {
10501         ::std::convert::From::from(::std::clone::Clone::clone(value))
10502     }
10503 }
10504 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITStreamControl {
10505     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10506         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10507     }
10508 }
10509 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITStreamControl {
10510     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10511         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10512     }
10513 }
10514 #[cfg(feature = "Win32_System_Ole_Automation")]
10515 impl ::std::convert::From<ITStreamControl> for super::super::System::Ole::Automation::IDispatch {
10516     fn from(value: ITStreamControl) -> Self {
10517         unsafe { ::std::mem::transmute(value) }
10518     }
10519 }
10520 #[cfg(feature = "Win32_System_Ole_Automation")]
10521 impl ::std::convert::From<&ITStreamControl> for super::super::System::Ole::Automation::IDispatch {
10522     fn from(value: &ITStreamControl) -> Self {
10523         ::std::convert::From::from(::std::clone::Clone::clone(value))
10524     }
10525 }
10526 #[cfg(feature = "Win32_System_Ole_Automation")]
10527 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITStreamControl {
10528     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10529         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
10530     }
10531 }
10532 #[cfg(feature = "Win32_System_Ole_Automation")]
10533 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITStreamControl {
10534     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10535         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
10536     }
10537 }
10538 #[repr(C)]
10539 #[doc(hidden)]
10540 pub struct ITStreamControl_abi(
10541     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10542     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10543     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10544     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
10545     #[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,
10546     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
10547     #[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,
10548     #[cfg(not(feature = "Win32_Foundation"))] usize,
10549     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10550     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,
10551     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10552     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lmediatype: i32, td: TERMINAL_DIRECTION, ppstream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10553     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstream: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10554     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumstream: *mut ::windows::runtime::RawPtr) -> ::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, pvariant: *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 );
10558 #[repr(transparent)]
10559 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10560 pub struct ITSubStream(::windows::runtime::IUnknown);
10561 impl ITSubStream {
10562     pub unsafe fn StartSubStream(&self) -> ::windows::runtime::Result<()> {
10563         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
10564     }
10565     pub unsafe fn PauseSubStream(&self) -> ::windows::runtime::Result<()> {
10566         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
10567     }
10568     pub unsafe fn StopSubStream(&self) -> ::windows::runtime::Result<()> {
10569         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
10570     }
10571     pub unsafe fn SelectTerminal<'a, Param0: ::windows::runtime::IntoParam<'a, ITTerminal>>(&self, pterminal: Param0) -> ::windows::runtime::Result<()> {
10572         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), pterminal.into_param().abi()).ok()
10573     }
10574     pub unsafe fn UnselectTerminal<'a, Param0: ::windows::runtime::IntoParam<'a, ITTerminal>>(&self, pterminal: Param0) -> ::windows::runtime::Result<()> {
10575         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), pterminal.into_param().abi()).ok()
10576     }
10577     pub unsafe fn EnumerateTerminals(&self) -> ::windows::runtime::Result<IEnumTerminal> {
10578         let mut result__: <IEnumTerminal as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10579         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumTerminal>(result__)
10580     }
10581     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10582     pub unsafe fn Terminals(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
10583         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10584         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
10585     }
10586     pub unsafe fn Stream(&self) -> ::windows::runtime::Result<ITStream> {
10587         let mut result__: <ITStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10588         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITStream>(result__)
10589     }
10590 }
10591 unsafe impl ::windows::runtime::Interface for ITSubStream {
10592     type Vtable = ITSubStream_abi;
10593     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3996898824, 14440, 4562, [160, 69, 0, 192, 79, 182, 128, 159]);
10594 }
10595 impl ::std::convert::From<ITSubStream> for ::windows::runtime::IUnknown {
10596     fn from(value: ITSubStream) -> Self {
10597         unsafe { ::std::mem::transmute(value) }
10598     }
10599 }
10600 impl ::std::convert::From<&ITSubStream> for ::windows::runtime::IUnknown {
10601     fn from(value: &ITSubStream) -> Self {
10602         ::std::convert::From::from(::std::clone::Clone::clone(value))
10603     }
10604 }
10605 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITSubStream {
10606     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10607         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10608     }
10609 }
10610 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITSubStream {
10611     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10612         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10613     }
10614 }
10615 #[cfg(feature = "Win32_System_Ole_Automation")]
10616 impl ::std::convert::From<ITSubStream> for super::super::System::Ole::Automation::IDispatch {
10617     fn from(value: ITSubStream) -> Self {
10618         unsafe { ::std::mem::transmute(value) }
10619     }
10620 }
10621 #[cfg(feature = "Win32_System_Ole_Automation")]
10622 impl ::std::convert::From<&ITSubStream> for super::super::System::Ole::Automation::IDispatch {
10623     fn from(value: &ITSubStream) -> Self {
10624         ::std::convert::From::from(::std::clone::Clone::clone(value))
10625     }
10626 }
10627 #[cfg(feature = "Win32_System_Ole_Automation")]
10628 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITSubStream {
10629     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10630         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
10631     }
10632 }
10633 #[cfg(feature = "Win32_System_Ole_Automation")]
10634 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITSubStream {
10635     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10636         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
10637     }
10638 }
10639 #[repr(C)]
10640 #[doc(hidden)]
10641 pub struct ITSubStream_abi(
10642     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10643     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10644     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10645     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
10646     #[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,
10647     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
10648     #[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,
10649     #[cfg(not(feature = "Win32_Foundation"))] usize,
10650     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10651     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,
10652     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10653     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10654     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10655     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10656     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pterminal: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10657     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pterminal: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10658     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumterminal: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10659     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pterminals: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
10660     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10661     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppitstream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10662 );
10663 #[repr(transparent)]
10664 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10665 pub struct ITSubStreamControl(::windows::runtime::IUnknown);
10666 impl ITSubStreamControl {
10667     pub unsafe fn CreateSubStream(&self) -> ::windows::runtime::Result<ITSubStream> {
10668         let mut result__: <ITSubStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10669         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITSubStream>(result__)
10670     }
10671     pub unsafe fn RemoveSubStream<'a, Param0: ::windows::runtime::IntoParam<'a, ITSubStream>>(&self, psubstream: Param0) -> ::windows::runtime::Result<()> {
10672         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), psubstream.into_param().abi()).ok()
10673     }
10674     pub unsafe fn EnumerateSubStreams(&self) -> ::windows::runtime::Result<IEnumSubStream> {
10675         let mut result__: <IEnumSubStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10676         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumSubStream>(result__)
10677     }
10678     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10679     pub unsafe fn SubStreams(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
10680         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10681         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
10682     }
10683 }
10684 unsafe impl ::windows::runtime::Interface for ITSubStreamControl {
10685     type Vtable = ITSubStreamControl_abi;
10686     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3996898823, 14440, 4562, [160, 69, 0, 192, 79, 182, 128, 159]);
10687 }
10688 impl ::std::convert::From<ITSubStreamControl> for ::windows::runtime::IUnknown {
10689     fn from(value: ITSubStreamControl) -> Self {
10690         unsafe { ::std::mem::transmute(value) }
10691     }
10692 }
10693 impl ::std::convert::From<&ITSubStreamControl> for ::windows::runtime::IUnknown {
10694     fn from(value: &ITSubStreamControl) -> Self {
10695         ::std::convert::From::from(::std::clone::Clone::clone(value))
10696     }
10697 }
10698 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITSubStreamControl {
10699     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10700         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10701     }
10702 }
10703 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITSubStreamControl {
10704     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10705         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10706     }
10707 }
10708 #[cfg(feature = "Win32_System_Ole_Automation")]
10709 impl ::std::convert::From<ITSubStreamControl> for super::super::System::Ole::Automation::IDispatch {
10710     fn from(value: ITSubStreamControl) -> Self {
10711         unsafe { ::std::mem::transmute(value) }
10712     }
10713 }
10714 #[cfg(feature = "Win32_System_Ole_Automation")]
10715 impl ::std::convert::From<&ITSubStreamControl> for super::super::System::Ole::Automation::IDispatch {
10716     fn from(value: &ITSubStreamControl) -> Self {
10717         ::std::convert::From::from(::std::clone::Clone::clone(value))
10718     }
10719 }
10720 #[cfg(feature = "Win32_System_Ole_Automation")]
10721 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITSubStreamControl {
10722     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10723         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
10724     }
10725 }
10726 #[cfg(feature = "Win32_System_Ole_Automation")]
10727 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITSubStreamControl {
10728     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10729         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
10730     }
10731 }
10732 #[repr(C)]
10733 #[doc(hidden)]
10734 pub struct ITSubStreamControl_abi(
10735     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10736     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10737     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10738     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
10739     #[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,
10740     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
10741     #[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,
10742     #[cfg(not(feature = "Win32_Foundation"))] usize,
10743     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10744     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,
10745     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10746     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppsubstream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10747     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psubstream: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10748     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumsubstream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10749     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
10750     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10751 );
10752 #[repr(transparent)]
10753 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10754 pub struct ITTAPI(::windows::runtime::IUnknown);
10755 impl ITTAPI {
10756     pub unsafe fn Initialize(&self) -> ::windows::runtime::Result<()> {
10757         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
10758     }
10759     pub unsafe fn Shutdown(&self) -> ::windows::runtime::Result<()> {
10760         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
10761     }
10762     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10763     pub unsafe fn Addresses(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
10764         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10765         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
10766     }
10767     pub unsafe fn EnumerateAddresses(&self) -> ::windows::runtime::Result<IEnumAddress> {
10768         let mut result__: <IEnumAddress as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10769         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumAddress>(result__)
10770     }
10771     pub unsafe fn RegisterCallNotifications<'a, Param0: ::windows::runtime::IntoParam<'a, ITAddress>>(&self, paddress: Param0, fmonitor: i16, fowner: i16, lmediatypes: i32, lcallbackinstance: i32) -> ::windows::runtime::Result<i32> {
10772         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10773         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), paddress.into_param().abi(), ::std::mem::transmute(fmonitor), ::std::mem::transmute(fowner), ::std::mem::transmute(lmediatypes), ::std::mem::transmute(lcallbackinstance), &mut result__).from_abi::<i32>(result__)
10774     }
10775     pub unsafe fn UnregisterNotifications(&self, lregister: i32) -> ::windows::runtime::Result<()> {
10776         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(lregister)).ok()
10777     }
10778     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10779     pub unsafe fn CallHubs(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
10780         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10781         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
10782     }
10783     pub unsafe fn EnumerateCallHubs(&self) -> ::windows::runtime::Result<IEnumCallHub> {
10784         let mut result__: <IEnumCallHub as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10785         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumCallHub>(result__)
10786     }
10787     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10788     pub unsafe fn SetCallHubTracking<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, paddresses: Param0, btracking: i16) -> ::windows::runtime::Result<()> {
10789         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), paddresses.into_param().abi(), ::std::mem::transmute(btracking)).ok()
10790     }
10791     #[cfg(feature = "Win32_System_Com")]
10792     pub unsafe fn EnumeratePrivateTAPIObjects(&self) -> ::windows::runtime::Result<super::super::System::Com::IEnumUnknown> {
10793         let mut result__: <super::super::System::Com::IEnumUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10794         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::IEnumUnknown>(result__)
10795     }
10796     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10797     pub unsafe fn PrivateTAPIObjects(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
10798         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10799         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
10800     }
10801     pub unsafe fn RegisterRequestRecipient(&self, lregistrationinstance: i32, lrequestmode: i32, fenable: i16) -> ::windows::runtime::Result<()> {
10802         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(lregistrationinstance), ::std::mem::transmute(lrequestmode), ::std::mem::transmute(fenable)).ok()
10803     }
10804     #[cfg(feature = "Win32_Foundation")]
10805     pub unsafe fn SetAssistedTelephonyPriority<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pappfilename: Param0, fpriority: i16) -> ::windows::runtime::Result<()> {
10806         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), pappfilename.into_param().abi(), ::std::mem::transmute(fpriority)).ok()
10807     }
10808     #[cfg(feature = "Win32_Foundation")]
10809     pub unsafe fn SetApplicationPriority<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pappfilename: Param0, lmediatype: i32, fpriority: i16) -> ::windows::runtime::Result<()> {
10810         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), pappfilename.into_param().abi(), ::std::mem::transmute(lmediatype), ::std::mem::transmute(fpriority)).ok()
10811     }
10812     pub unsafe fn SetEventFilter(&self, lfiltermask: i32) -> ::windows::runtime::Result<()> {
10813         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(lfiltermask)).ok()
10814     }
10815     pub unsafe fn EventFilter(&self) -> ::windows::runtime::Result<i32> {
10816         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10817         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10818     }
10819 }
10820 unsafe impl ::windows::runtime::Interface for ITTAPI {
10821     type Vtable = ITTAPI_abi;
10822     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2985280386, 37717, 4560, [131, 92, 0, 170, 0, 60, 202, 189]);
10823 }
10824 impl ::std::convert::From<ITTAPI> for ::windows::runtime::IUnknown {
10825     fn from(value: ITTAPI) -> Self {
10826         unsafe { ::std::mem::transmute(value) }
10827     }
10828 }
10829 impl ::std::convert::From<&ITTAPI> for ::windows::runtime::IUnknown {
10830     fn from(value: &ITTAPI) -> Self {
10831         ::std::convert::From::from(::std::clone::Clone::clone(value))
10832     }
10833 }
10834 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITTAPI {
10835     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10836         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10837     }
10838 }
10839 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITTAPI {
10840     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10841         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10842     }
10843 }
10844 #[cfg(feature = "Win32_System_Ole_Automation")]
10845 impl ::std::convert::From<ITTAPI> for super::super::System::Ole::Automation::IDispatch {
10846     fn from(value: ITTAPI) -> Self {
10847         unsafe { ::std::mem::transmute(value) }
10848     }
10849 }
10850 #[cfg(feature = "Win32_System_Ole_Automation")]
10851 impl ::std::convert::From<&ITTAPI> for super::super::System::Ole::Automation::IDispatch {
10852     fn from(value: &ITTAPI) -> Self {
10853         ::std::convert::From::from(::std::clone::Clone::clone(value))
10854     }
10855 }
10856 #[cfg(feature = "Win32_System_Ole_Automation")]
10857 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITTAPI {
10858     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10859         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
10860     }
10861 }
10862 #[cfg(feature = "Win32_System_Ole_Automation")]
10863 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITTAPI {
10864     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
10865         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
10866     }
10867 }
10868 #[repr(C)]
10869 #[doc(hidden)]
10870 pub struct ITTAPI_abi(
10871     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10872     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10873     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10874     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
10875     #[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,
10876     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
10877     #[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,
10878     #[cfg(not(feature = "Win32_Foundation"))] usize,
10879     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10880     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,
10881     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10882     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10883     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10884     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
10885     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10886     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumaddress: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10887     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paddress: ::windows::runtime::RawPtr, fmonitor: i16, fowner: i16, lmediatypes: i32, lcallbackinstance: i32, plregister: *mut i32) -> ::windows::runtime::HRESULT,
10888     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lregister: i32) -> ::windows::runtime::HRESULT,
10889     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
10890     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10891     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumcallhub: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10892     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paddresses: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, btracking: i16) -> ::windows::runtime::HRESULT,
10893     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10894     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumunknown: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10895     #[cfg(not(feature = "Win32_System_Com"))] usize,
10896     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
10897     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10898     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lregistrationinstance: i32, lrequestmode: i32, fenable: i16) -> ::windows::runtime::HRESULT,
10899     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pappfilename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, fpriority: i16) -> ::windows::runtime::HRESULT,
10900     #[cfg(not(feature = "Win32_Foundation"))] usize,
10901     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pappfilename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, lmediatype: i32, fpriority: i16) -> ::windows::runtime::HRESULT,
10902     #[cfg(not(feature = "Win32_Foundation"))] usize,
10903     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lfiltermask: i32) -> ::windows::runtime::HRESULT,
10904     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plfiltermask: *mut i32) -> ::windows::runtime::HRESULT,
10905 );
10906 #[repr(transparent)]
10907 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10908 pub struct ITTAPI2(::windows::runtime::IUnknown);
10909 impl ITTAPI2 {
10910     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
10911         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10912         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
10913     }
10914     #[cfg(feature = "Win32_System_Ole_Automation")]
10915     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
10916         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10917         (::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__)
10918     }
10919     #[cfg(feature = "Win32_Foundation")]
10920     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<()> {
10921         (::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()
10922     }
10923     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10924     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<()> {
10925         (::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()
10926     }
10927     pub unsafe fn Initialize(&self) -> ::windows::runtime::Result<()> {
10928         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
10929     }
10930     pub unsafe fn Shutdown(&self) -> ::windows::runtime::Result<()> {
10931         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
10932     }
10933     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10934     pub unsafe fn Addresses(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
10935         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10936         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
10937     }
10938     pub unsafe fn EnumerateAddresses(&self) -> ::windows::runtime::Result<IEnumAddress> {
10939         let mut result__: <IEnumAddress as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10940         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumAddress>(result__)
10941     }
10942     pub unsafe fn RegisterCallNotifications<'a, Param0: ::windows::runtime::IntoParam<'a, ITAddress>>(&self, paddress: Param0, fmonitor: i16, fowner: i16, lmediatypes: i32, lcallbackinstance: i32) -> ::windows::runtime::Result<i32> {
10943         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10944         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), paddress.into_param().abi(), ::std::mem::transmute(fmonitor), ::std::mem::transmute(fowner), ::std::mem::transmute(lmediatypes), ::std::mem::transmute(lcallbackinstance), &mut result__).from_abi::<i32>(result__)
10945     }
10946     pub unsafe fn UnregisterNotifications(&self, lregister: i32) -> ::windows::runtime::Result<()> {
10947         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(lregister)).ok()
10948     }
10949     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10950     pub unsafe fn CallHubs(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
10951         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10952         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
10953     }
10954     pub unsafe fn EnumerateCallHubs(&self) -> ::windows::runtime::Result<IEnumCallHub> {
10955         let mut result__: <IEnumCallHub as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10956         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumCallHub>(result__)
10957     }
10958     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10959     pub unsafe fn SetCallHubTracking<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, paddresses: Param0, btracking: i16) -> ::windows::runtime::Result<()> {
10960         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), paddresses.into_param().abi(), ::std::mem::transmute(btracking)).ok()
10961     }
10962     #[cfg(feature = "Win32_System_Com")]
10963     pub unsafe fn EnumeratePrivateTAPIObjects(&self) -> ::windows::runtime::Result<super::super::System::Com::IEnumUnknown> {
10964         let mut result__: <super::super::System::Com::IEnumUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10965         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::IEnumUnknown>(result__)
10966     }
10967     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10968     pub unsafe fn PrivateTAPIObjects(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
10969         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10970         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
10971     }
10972     pub unsafe fn RegisterRequestRecipient(&self, lregistrationinstance: i32, lrequestmode: i32, fenable: i16) -> ::windows::runtime::Result<()> {
10973         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(lregistrationinstance), ::std::mem::transmute(lrequestmode), ::std::mem::transmute(fenable)).ok()
10974     }
10975     #[cfg(feature = "Win32_Foundation")]
10976     pub unsafe fn SetAssistedTelephonyPriority<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pappfilename: Param0, fpriority: i16) -> ::windows::runtime::Result<()> {
10977         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), pappfilename.into_param().abi(), ::std::mem::transmute(fpriority)).ok()
10978     }
10979     #[cfg(feature = "Win32_Foundation")]
10980     pub unsafe fn SetApplicationPriority<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pappfilename: Param0, lmediatype: i32, fpriority: i16) -> ::windows::runtime::Result<()> {
10981         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), pappfilename.into_param().abi(), ::std::mem::transmute(lmediatype), ::std::mem::transmute(fpriority)).ok()
10982     }
10983     pub unsafe fn SetEventFilter(&self, lfiltermask: i32) -> ::windows::runtime::Result<()> {
10984         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(lfiltermask)).ok()
10985     }
10986     pub unsafe fn EventFilter(&self) -> ::windows::runtime::Result<i32> {
10987         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10988         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10989     }
10990     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10991     pub unsafe fn Phones(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
10992         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10993         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
10994     }
10995     pub unsafe fn EnumeratePhones(&self) -> ::windows::runtime::Result<IEnumPhone> {
10996         let mut result__: <IEnumPhone as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10997         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumPhone>(result__)
10998     }
10999     pub unsafe fn CreateEmptyCollectionObject(&self) -> ::windows::runtime::Result<ITCollection2> {
11000         let mut result__: <ITCollection2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11001         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITCollection2>(result__)
11002     }
11003 }
11004 unsafe impl ::windows::runtime::Interface for ITTAPI2 {
11005     type Vtable = ITTAPI2_abi;
11006     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1425792140, 55567, 19885, [150, 149, 179, 115, 9, 127, 9, 75]);
11007 }
11008 impl ::std::convert::From<ITTAPI2> for ::windows::runtime::IUnknown {
11009     fn from(value: ITTAPI2) -> Self {
11010         unsafe { ::std::mem::transmute(value) }
11011     }
11012 }
11013 impl ::std::convert::From<&ITTAPI2> for ::windows::runtime::IUnknown {
11014     fn from(value: &ITTAPI2) -> Self {
11015         ::std::convert::From::from(::std::clone::Clone::clone(value))
11016     }
11017 }
11018 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITTAPI2 {
11019     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11020         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
11021     }
11022 }
11023 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITTAPI2 {
11024     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11025         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
11026     }
11027 }
11028 impl ::std::convert::From<ITTAPI2> for ITTAPI {
11029     fn from(value: ITTAPI2) -> Self {
11030         unsafe { ::std::mem::transmute(value) }
11031     }
11032 }
11033 impl ::std::convert::From<&ITTAPI2> for ITTAPI {
11034     fn from(value: &ITTAPI2) -> Self {
11035         ::std::convert::From::from(::std::clone::Clone::clone(value))
11036     }
11037 }
11038 impl<'a> ::windows::runtime::IntoParam<'a, ITTAPI> for ITTAPI2 {
11039     fn into_param(self) -> ::windows::runtime::Param<'a, ITTAPI> {
11040         ::windows::runtime::Param::Owned(::std::convert::Into::<ITTAPI>::into(self))
11041     }
11042 }
11043 impl<'a> ::windows::runtime::IntoParam<'a, ITTAPI> for &ITTAPI2 {
11044     fn into_param(self) -> ::windows::runtime::Param<'a, ITTAPI> {
11045         ::windows::runtime::Param::Owned(::std::convert::Into::<ITTAPI>::into(::std::clone::Clone::clone(self)))
11046     }
11047 }
11048 #[cfg(feature = "Win32_System_Ole_Automation")]
11049 impl ::std::convert::From<ITTAPI2> for super::super::System::Ole::Automation::IDispatch {
11050     fn from(value: ITTAPI2) -> Self {
11051         unsafe { ::std::mem::transmute(value) }
11052     }
11053 }
11054 #[cfg(feature = "Win32_System_Ole_Automation")]
11055 impl ::std::convert::From<&ITTAPI2> for super::super::System::Ole::Automation::IDispatch {
11056     fn from(value: &ITTAPI2) -> Self {
11057         ::std::convert::From::from(::std::clone::Clone::clone(value))
11058     }
11059 }
11060 #[cfg(feature = "Win32_System_Ole_Automation")]
11061 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITTAPI2 {
11062     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11063         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
11064     }
11065 }
11066 #[cfg(feature = "Win32_System_Ole_Automation")]
11067 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITTAPI2 {
11068     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11069         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
11070     }
11071 }
11072 #[repr(C)]
11073 #[doc(hidden)]
11074 pub struct ITTAPI2_abi(
11075     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11076     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11077     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11078     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
11079     #[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,
11080     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
11081     #[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,
11082     #[cfg(not(feature = "Win32_Foundation"))] usize,
11083     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11084     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,
11085     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11086     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11087     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11088     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
11089     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11090     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumaddress: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11091     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paddress: ::windows::runtime::RawPtr, fmonitor: i16, fowner: i16, lmediatypes: i32, lcallbackinstance: i32, plregister: *mut i32) -> ::windows::runtime::HRESULT,
11092     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lregister: i32) -> ::windows::runtime::HRESULT,
11093     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
11094     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11095     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumcallhub: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11096     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paddresses: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, btracking: i16) -> ::windows::runtime::HRESULT,
11097     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11098     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumunknown: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11099     #[cfg(not(feature = "Win32_System_Com"))] usize,
11100     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
11101     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11102     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lregistrationinstance: i32, lrequestmode: i32, fenable: i16) -> ::windows::runtime::HRESULT,
11103     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pappfilename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, fpriority: i16) -> ::windows::runtime::HRESULT,
11104     #[cfg(not(feature = "Win32_Foundation"))] usize,
11105     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pappfilename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, lmediatype: i32, fpriority: i16) -> ::windows::runtime::HRESULT,
11106     #[cfg(not(feature = "Win32_Foundation"))] usize,
11107     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lfiltermask: i32) -> ::windows::runtime::HRESULT,
11108     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plfiltermask: *mut i32) -> ::windows::runtime::HRESULT,
11109     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pphones: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
11110     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11111     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumphone: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11112     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcollection: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11113 );
11114 #[repr(transparent)]
11115 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
11116 pub struct ITTAPICallCenter(::windows::runtime::IUnknown);
11117 impl ITTAPICallCenter {
11118     pub unsafe fn EnumerateAgentHandlers(&self) -> ::windows::runtime::Result<IEnumAgentHandler> {
11119         let mut result__: <IEnumAgentHandler as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11120         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumAgentHandler>(result__)
11121     }
11122     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11123     pub unsafe fn AgentHandlers(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
11124         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11125         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
11126     }
11127 }
11128 unsafe impl ::windows::runtime::Interface for ITTAPICallCenter {
11129     type Vtable = ITTAPICallCenter_abi;
11130     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1526477140, 19404, 4561, [191, 128, 0, 128, 95, 193, 71, 211]);
11131 }
11132 impl ::std::convert::From<ITTAPICallCenter> for ::windows::runtime::IUnknown {
11133     fn from(value: ITTAPICallCenter) -> Self {
11134         unsafe { ::std::mem::transmute(value) }
11135     }
11136 }
11137 impl ::std::convert::From<&ITTAPICallCenter> for ::windows::runtime::IUnknown {
11138     fn from(value: &ITTAPICallCenter) -> Self {
11139         ::std::convert::From::from(::std::clone::Clone::clone(value))
11140     }
11141 }
11142 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITTAPICallCenter {
11143     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11144         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
11145     }
11146 }
11147 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITTAPICallCenter {
11148     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11149         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
11150     }
11151 }
11152 #[cfg(feature = "Win32_System_Ole_Automation")]
11153 impl ::std::convert::From<ITTAPICallCenter> for super::super::System::Ole::Automation::IDispatch {
11154     fn from(value: ITTAPICallCenter) -> Self {
11155         unsafe { ::std::mem::transmute(value) }
11156     }
11157 }
11158 #[cfg(feature = "Win32_System_Ole_Automation")]
11159 impl ::std::convert::From<&ITTAPICallCenter> for super::super::System::Ole::Automation::IDispatch {
11160     fn from(value: &ITTAPICallCenter) -> Self {
11161         ::std::convert::From::from(::std::clone::Clone::clone(value))
11162     }
11163 }
11164 #[cfg(feature = "Win32_System_Ole_Automation")]
11165 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITTAPICallCenter {
11166     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11167         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
11168     }
11169 }
11170 #[cfg(feature = "Win32_System_Ole_Automation")]
11171 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITTAPICallCenter {
11172     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11173         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
11174     }
11175 }
11176 #[repr(C)]
11177 #[doc(hidden)]
11178 pub struct ITTAPICallCenter_abi(
11179     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11180     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11181     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11182     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
11183     #[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,
11184     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
11185     #[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,
11186     #[cfg(not(feature = "Win32_Foundation"))] usize,
11187     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11188     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,
11189     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11190     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumhandler: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11191     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
11192     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11193 );
11194 #[repr(transparent)]
11195 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
11196 pub struct ITTAPIDispatchEventNotification(::windows::runtime::IUnknown);
11197 impl ITTAPIDispatchEventNotification {}
11198 unsafe impl ::windows::runtime::Interface for ITTAPIDispatchEventNotification {
11199     type Vtable = ITTAPIDispatchEventNotification_abi;
11200     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2670998107, 32354, 4562, [148, 87, 0, 192, 79, 142, 200, 136]);
11201 }
11202 impl ::std::convert::From<ITTAPIDispatchEventNotification> for ::windows::runtime::IUnknown {
11203     fn from(value: ITTAPIDispatchEventNotification) -> Self {
11204         unsafe { ::std::mem::transmute(value) }
11205     }
11206 }
11207 impl ::std::convert::From<&ITTAPIDispatchEventNotification> for ::windows::runtime::IUnknown {
11208     fn from(value: &ITTAPIDispatchEventNotification) -> Self {
11209         ::std::convert::From::from(::std::clone::Clone::clone(value))
11210     }
11211 }
11212 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITTAPIDispatchEventNotification {
11213     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11214         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
11215     }
11216 }
11217 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITTAPIDispatchEventNotification {
11218     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11219         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
11220     }
11221 }
11222 #[cfg(feature = "Win32_System_Ole_Automation")]
11223 impl ::std::convert::From<ITTAPIDispatchEventNotification> for super::super::System::Ole::Automation::IDispatch {
11224     fn from(value: ITTAPIDispatchEventNotification) -> Self {
11225         unsafe { ::std::mem::transmute(value) }
11226     }
11227 }
11228 #[cfg(feature = "Win32_System_Ole_Automation")]
11229 impl ::std::convert::From<&ITTAPIDispatchEventNotification> for super::super::System::Ole::Automation::IDispatch {
11230     fn from(value: &ITTAPIDispatchEventNotification) -> Self {
11231         ::std::convert::From::from(::std::clone::Clone::clone(value))
11232     }
11233 }
11234 #[cfg(feature = "Win32_System_Ole_Automation")]
11235 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITTAPIDispatchEventNotification {
11236     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11237         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
11238     }
11239 }
11240 #[cfg(feature = "Win32_System_Ole_Automation")]
11241 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITTAPIDispatchEventNotification {
11242     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11243         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
11244     }
11245 }
11246 #[repr(C)]
11247 #[doc(hidden)]
11248 pub struct ITTAPIDispatchEventNotification_abi(
11249     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11250     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11251     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11252     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
11253     #[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,
11254     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
11255     #[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,
11256     #[cfg(not(feature = "Win32_Foundation"))] usize,
11257     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11258     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,
11259     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11260 );
11261 #[repr(transparent)]
11262 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
11263 pub struct ITTAPIEventNotification(::windows::runtime::IUnknown);
11264 impl ITTAPIEventNotification {
11265     #[cfg(feature = "Win32_System_Ole_Automation")]
11266     pub unsafe fn Event<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch>>(&self, tapievent: TAPI_EVENT, pevent: Param1) -> ::windows::runtime::Result<()> {
11267         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(tapievent), pevent.into_param().abi()).ok()
11268     }
11269 }
11270 unsafe impl ::windows::runtime::Interface for ITTAPIEventNotification {
11271     type Vtable = ITTAPIEventNotification_abi;
11272     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3990590502, 15249, 4561, [143, 48, 0, 192, 79, 182, 128, 159]);
11273 }
11274 impl ::std::convert::From<ITTAPIEventNotification> for ::windows::runtime::IUnknown {
11275     fn from(value: ITTAPIEventNotification) -> Self {
11276         unsafe { ::std::mem::transmute(value) }
11277     }
11278 }
11279 impl ::std::convert::From<&ITTAPIEventNotification> for ::windows::runtime::IUnknown {
11280     fn from(value: &ITTAPIEventNotification) -> Self {
11281         ::std::convert::From::from(::std::clone::Clone::clone(value))
11282     }
11283 }
11284 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITTAPIEventNotification {
11285     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11286         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
11287     }
11288 }
11289 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITTAPIEventNotification {
11290     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11291         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
11292     }
11293 }
11294 #[repr(C)]
11295 #[doc(hidden)]
11296 pub struct ITTAPIEventNotification_abi(
11297     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11298     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11299     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11300     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, tapievent: TAPI_EVENT, pevent: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11301     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
11302 );
11303 #[repr(transparent)]
11304 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
11305 pub struct ITTAPIObjectEvent(::windows::runtime::IUnknown);
11306 impl ITTAPIObjectEvent {
11307     pub unsafe fn TAPIObject(&self) -> ::windows::runtime::Result<ITTAPI> {
11308         let mut result__: <ITTAPI as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11309         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITTAPI>(result__)
11310     }
11311     pub unsafe fn Event(&self) -> ::windows::runtime::Result<TAPIOBJECT_EVENT> {
11312         let mut result__: <TAPIOBJECT_EVENT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11313         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<TAPIOBJECT_EVENT>(result__)
11314     }
11315     pub unsafe fn Address(&self) -> ::windows::runtime::Result<ITAddress> {
11316         let mut result__: <ITAddress as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11317         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITAddress>(result__)
11318     }
11319     pub unsafe fn CallbackInstance(&self) -> ::windows::runtime::Result<i32> {
11320         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11321         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11322     }
11323 }
11324 unsafe impl ::windows::runtime::Interface for ITTAPIObjectEvent {
11325     type Vtable = ITTAPIObjectEvent_abi;
11326     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4102376776, 37754, 4561, [187, 88, 0, 192, 79, 182, 128, 159]);
11327 }
11328 impl ::std::convert::From<ITTAPIObjectEvent> for ::windows::runtime::IUnknown {
11329     fn from(value: ITTAPIObjectEvent) -> Self {
11330         unsafe { ::std::mem::transmute(value) }
11331     }
11332 }
11333 impl ::std::convert::From<&ITTAPIObjectEvent> for ::windows::runtime::IUnknown {
11334     fn from(value: &ITTAPIObjectEvent) -> Self {
11335         ::std::convert::From::from(::std::clone::Clone::clone(value))
11336     }
11337 }
11338 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITTAPIObjectEvent {
11339     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11340         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
11341     }
11342 }
11343 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITTAPIObjectEvent {
11344     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11345         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
11346     }
11347 }
11348 #[cfg(feature = "Win32_System_Ole_Automation")]
11349 impl ::std::convert::From<ITTAPIObjectEvent> for super::super::System::Ole::Automation::IDispatch {
11350     fn from(value: ITTAPIObjectEvent) -> Self {
11351         unsafe { ::std::mem::transmute(value) }
11352     }
11353 }
11354 #[cfg(feature = "Win32_System_Ole_Automation")]
11355 impl ::std::convert::From<&ITTAPIObjectEvent> for super::super::System::Ole::Automation::IDispatch {
11356     fn from(value: &ITTAPIObjectEvent) -> Self {
11357         ::std::convert::From::from(::std::clone::Clone::clone(value))
11358     }
11359 }
11360 #[cfg(feature = "Win32_System_Ole_Automation")]
11361 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITTAPIObjectEvent {
11362     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11363         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
11364     }
11365 }
11366 #[cfg(feature = "Win32_System_Ole_Automation")]
11367 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITTAPIObjectEvent {
11368     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11369         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
11370     }
11371 }
11372 #[repr(C)]
11373 #[doc(hidden)]
11374 pub struct ITTAPIObjectEvent_abi(
11375     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11376     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11377     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11378     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
11379     #[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,
11380     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
11381     #[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,
11382     #[cfg(not(feature = "Win32_Foundation"))] usize,
11383     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11384     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,
11385     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11386     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pptapiobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11387     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pevent: *mut TAPIOBJECT_EVENT) -> ::windows::runtime::HRESULT,
11388     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppaddress: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11389     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plcallbackinstance: *mut i32) -> ::windows::runtime::HRESULT,
11390 );
11391 #[repr(transparent)]
11392 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
11393 pub struct ITTAPIObjectEvent2(::windows::runtime::IUnknown);
11394 impl ITTAPIObjectEvent2 {
11395     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
11396         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11397         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
11398     }
11399     #[cfg(feature = "Win32_System_Ole_Automation")]
11400     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
11401         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11402         (::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__)
11403     }
11404     #[cfg(feature = "Win32_Foundation")]
11405     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<()> {
11406         (::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()
11407     }
11408     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11409     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<()> {
11410         (::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()
11411     }
11412     pub unsafe fn TAPIObject(&self) -> ::windows::runtime::Result<ITTAPI> {
11413         let mut result__: <ITTAPI as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11414         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITTAPI>(result__)
11415     }
11416     pub unsafe fn Event(&self) -> ::windows::runtime::Result<TAPIOBJECT_EVENT> {
11417         let mut result__: <TAPIOBJECT_EVENT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11418         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<TAPIOBJECT_EVENT>(result__)
11419     }
11420     pub unsafe fn Address(&self) -> ::windows::runtime::Result<ITAddress> {
11421         let mut result__: <ITAddress as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11422         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITAddress>(result__)
11423     }
11424     pub unsafe fn CallbackInstance(&self) -> ::windows::runtime::Result<i32> {
11425         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11426         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11427     }
11428     pub unsafe fn Phone(&self) -> ::windows::runtime::Result<ITPhone> {
11429         let mut result__: <ITPhone as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11430         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITPhone>(result__)
11431     }
11432 }
11433 unsafe impl ::windows::runtime::Interface for ITTAPIObjectEvent2 {
11434     type Vtable = ITTAPIObjectEvent2_abi;
11435     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(899537518, 26830, 17283, [191, 11, 22, 145, 51, 196, 27, 70]);
11436 }
11437 impl ::std::convert::From<ITTAPIObjectEvent2> for ::windows::runtime::IUnknown {
11438     fn from(value: ITTAPIObjectEvent2) -> Self {
11439         unsafe { ::std::mem::transmute(value) }
11440     }
11441 }
11442 impl ::std::convert::From<&ITTAPIObjectEvent2> for ::windows::runtime::IUnknown {
11443     fn from(value: &ITTAPIObjectEvent2) -> Self {
11444         ::std::convert::From::from(::std::clone::Clone::clone(value))
11445     }
11446 }
11447 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITTAPIObjectEvent2 {
11448     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11449         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
11450     }
11451 }
11452 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITTAPIObjectEvent2 {
11453     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11454         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
11455     }
11456 }
11457 impl ::std::convert::From<ITTAPIObjectEvent2> for ITTAPIObjectEvent {
11458     fn from(value: ITTAPIObjectEvent2) -> Self {
11459         unsafe { ::std::mem::transmute(value) }
11460     }
11461 }
11462 impl ::std::convert::From<&ITTAPIObjectEvent2> for ITTAPIObjectEvent {
11463     fn from(value: &ITTAPIObjectEvent2) -> Self {
11464         ::std::convert::From::from(::std::clone::Clone::clone(value))
11465     }
11466 }
11467 impl<'a> ::windows::runtime::IntoParam<'a, ITTAPIObjectEvent> for ITTAPIObjectEvent2 {
11468     fn into_param(self) -> ::windows::runtime::Param<'a, ITTAPIObjectEvent> {
11469         ::windows::runtime::Param::Owned(::std::convert::Into::<ITTAPIObjectEvent>::into(self))
11470     }
11471 }
11472 impl<'a> ::windows::runtime::IntoParam<'a, ITTAPIObjectEvent> for &ITTAPIObjectEvent2 {
11473     fn into_param(self) -> ::windows::runtime::Param<'a, ITTAPIObjectEvent> {
11474         ::windows::runtime::Param::Owned(::std::convert::Into::<ITTAPIObjectEvent>::into(::std::clone::Clone::clone(self)))
11475     }
11476 }
11477 #[cfg(feature = "Win32_System_Ole_Automation")]
11478 impl ::std::convert::From<ITTAPIObjectEvent2> for super::super::System::Ole::Automation::IDispatch {
11479     fn from(value: ITTAPIObjectEvent2) -> Self {
11480         unsafe { ::std::mem::transmute(value) }
11481     }
11482 }
11483 #[cfg(feature = "Win32_System_Ole_Automation")]
11484 impl ::std::convert::From<&ITTAPIObjectEvent2> for super::super::System::Ole::Automation::IDispatch {
11485     fn from(value: &ITTAPIObjectEvent2) -> Self {
11486         ::std::convert::From::from(::std::clone::Clone::clone(value))
11487     }
11488 }
11489 #[cfg(feature = "Win32_System_Ole_Automation")]
11490 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITTAPIObjectEvent2 {
11491     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11492         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
11493     }
11494 }
11495 #[cfg(feature = "Win32_System_Ole_Automation")]
11496 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITTAPIObjectEvent2 {
11497     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11498         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
11499     }
11500 }
11501 #[repr(C)]
11502 #[doc(hidden)]
11503 pub struct ITTAPIObjectEvent2_abi(
11504     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11505     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11506     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11507     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
11508     #[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,
11509     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
11510     #[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,
11511     #[cfg(not(feature = "Win32_Foundation"))] usize,
11512     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11513     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,
11514     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11515     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pptapiobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11516     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pevent: *mut TAPIOBJECT_EVENT) -> ::windows::runtime::HRESULT,
11517     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppaddress: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11518     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plcallbackinstance: *mut i32) -> ::windows::runtime::HRESULT,
11519     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppphone: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11520 );
11521 #[repr(transparent)]
11522 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
11523 pub struct ITTTSTerminalEvent(::windows::runtime::IUnknown);
11524 impl ITTTSTerminalEvent {
11525     pub unsafe fn Terminal(&self) -> ::windows::runtime::Result<ITTerminal> {
11526         let mut result__: <ITTerminal as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11527         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITTerminal>(result__)
11528     }
11529     pub unsafe fn Call(&self) -> ::windows::runtime::Result<ITCallInfo> {
11530         let mut result__: <ITCallInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11531         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITCallInfo>(result__)
11532     }
11533     pub unsafe fn Error(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT> {
11534         let mut result__: <::windows::runtime::HRESULT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11535         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::HRESULT>(result__)
11536     }
11537 }
11538 unsafe impl ::windows::runtime::Interface for ITTTSTerminalEvent {
11539     type Vtable = ITTTSTerminalEvent_abi;
11540     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3647240335, 38309, 17949, [171, 12, 185, 144, 10, 108, 39, 19]);
11541 }
11542 impl ::std::convert::From<ITTTSTerminalEvent> for ::windows::runtime::IUnknown {
11543     fn from(value: ITTTSTerminalEvent) -> Self {
11544         unsafe { ::std::mem::transmute(value) }
11545     }
11546 }
11547 impl ::std::convert::From<&ITTTSTerminalEvent> for ::windows::runtime::IUnknown {
11548     fn from(value: &ITTTSTerminalEvent) -> Self {
11549         ::std::convert::From::from(::std::clone::Clone::clone(value))
11550     }
11551 }
11552 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITTTSTerminalEvent {
11553     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11554         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
11555     }
11556 }
11557 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITTTSTerminalEvent {
11558     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11559         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
11560     }
11561 }
11562 #[cfg(feature = "Win32_System_Ole_Automation")]
11563 impl ::std::convert::From<ITTTSTerminalEvent> for super::super::System::Ole::Automation::IDispatch {
11564     fn from(value: ITTTSTerminalEvent) -> Self {
11565         unsafe { ::std::mem::transmute(value) }
11566     }
11567 }
11568 #[cfg(feature = "Win32_System_Ole_Automation")]
11569 impl ::std::convert::From<&ITTTSTerminalEvent> for super::super::System::Ole::Automation::IDispatch {
11570     fn from(value: &ITTTSTerminalEvent) -> Self {
11571         ::std::convert::From::from(::std::clone::Clone::clone(value))
11572     }
11573 }
11574 #[cfg(feature = "Win32_System_Ole_Automation")]
11575 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITTTSTerminalEvent {
11576     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11577         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
11578     }
11579 }
11580 #[cfg(feature = "Win32_System_Ole_Automation")]
11581 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITTTSTerminalEvent {
11582     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11583         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
11584     }
11585 }
11586 #[repr(C)]
11587 #[doc(hidden)]
11588 pub struct ITTTSTerminalEvent_abi(
11589     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11590     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11591     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11592     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
11593     #[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,
11594     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
11595     #[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,
11596     #[cfg(not(feature = "Win32_Foundation"))] usize,
11597     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11598     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,
11599     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11600     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppterminal: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11601     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcall: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11602     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, phrerrorcode: *mut ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
11603 );
11604 #[repr(transparent)]
11605 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
11606 pub struct ITTerminal(::windows::runtime::IUnknown);
11607 impl ITTerminal {
11608     #[cfg(feature = "Win32_Foundation")]
11609     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11610         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11611         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11612     }
11613     pub unsafe fn State(&self) -> ::windows::runtime::Result<TERMINAL_STATE> {
11614         let mut result__: <TERMINAL_STATE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11615         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<TERMINAL_STATE>(result__)
11616     }
11617     pub unsafe fn TerminalType(&self) -> ::windows::runtime::Result<TERMINAL_TYPE> {
11618         let mut result__: <TERMINAL_TYPE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11619         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<TERMINAL_TYPE>(result__)
11620     }
11621     #[cfg(feature = "Win32_Foundation")]
11622     pub unsafe fn TerminalClass(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11623         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11624         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11625     }
11626     pub unsafe fn MediaType(&self) -> ::windows::runtime::Result<i32> {
11627         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11628         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11629     }
11630     pub unsafe fn Direction(&self) -> ::windows::runtime::Result<TERMINAL_DIRECTION> {
11631         let mut result__: <TERMINAL_DIRECTION as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11632         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<TERMINAL_DIRECTION>(result__)
11633     }
11634 }
11635 unsafe impl ::windows::runtime::Interface for ITTerminal {
11636     type Vtable = ITTerminal_abi;
11637     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2985280394, 37717, 4560, [131, 92, 0, 170, 0, 60, 202, 189]);
11638 }
11639 impl ::std::convert::From<ITTerminal> for ::windows::runtime::IUnknown {
11640     fn from(value: ITTerminal) -> Self {
11641         unsafe { ::std::mem::transmute(value) }
11642     }
11643 }
11644 impl ::std::convert::From<&ITTerminal> for ::windows::runtime::IUnknown {
11645     fn from(value: &ITTerminal) -> Self {
11646         ::std::convert::From::from(::std::clone::Clone::clone(value))
11647     }
11648 }
11649 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITTerminal {
11650     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11651         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
11652     }
11653 }
11654 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITTerminal {
11655     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11656         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
11657     }
11658 }
11659 #[cfg(feature = "Win32_System_Ole_Automation")]
11660 impl ::std::convert::From<ITTerminal> for super::super::System::Ole::Automation::IDispatch {
11661     fn from(value: ITTerminal) -> Self {
11662         unsafe { ::std::mem::transmute(value) }
11663     }
11664 }
11665 #[cfg(feature = "Win32_System_Ole_Automation")]
11666 impl ::std::convert::From<&ITTerminal> for super::super::System::Ole::Automation::IDispatch {
11667     fn from(value: &ITTerminal) -> Self {
11668         ::std::convert::From::from(::std::clone::Clone::clone(value))
11669     }
11670 }
11671 #[cfg(feature = "Win32_System_Ole_Automation")]
11672 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITTerminal {
11673     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11674         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
11675     }
11676 }
11677 #[cfg(feature = "Win32_System_Ole_Automation")]
11678 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITTerminal {
11679     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11680         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
11681     }
11682 }
11683 #[repr(C)]
11684 #[doc(hidden)]
11685 pub struct ITTerminal_abi(
11686     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11687     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11688     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11689     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
11690     #[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,
11691     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
11692     #[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,
11693     #[cfg(not(feature = "Win32_Foundation"))] usize,
11694     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11695     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,
11696     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11697     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11698     #[cfg(not(feature = "Win32_Foundation"))] usize,
11699     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pterminalstate: *mut TERMINAL_STATE) -> ::windows::runtime::HRESULT,
11700     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptype: *mut TERMINAL_TYPE) -> ::windows::runtime::HRESULT,
11701     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppterminalclass: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11702     #[cfg(not(feature = "Win32_Foundation"))] usize,
11703     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plmediatype: *mut i32) -> ::windows::runtime::HRESULT,
11704     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdirection: *mut TERMINAL_DIRECTION) -> ::windows::runtime::HRESULT,
11705 );
11706 #[repr(transparent)]
11707 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
11708 pub struct ITTerminalSupport(::windows::runtime::IUnknown);
11709 impl ITTerminalSupport {
11710     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11711     pub unsafe fn StaticTerminals(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
11712         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11713         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
11714     }
11715     pub unsafe fn EnumerateStaticTerminals(&self) -> ::windows::runtime::Result<IEnumTerminal> {
11716         let mut result__: <IEnumTerminal as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11717         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumTerminal>(result__)
11718     }
11719     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11720     pub unsafe fn DynamicTerminalClasses(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
11721         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11722         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
11723     }
11724     pub unsafe fn EnumerateDynamicTerminalClasses(&self) -> ::windows::runtime::Result<IEnumTerminalClass> {
11725         let mut result__: <IEnumTerminalClass as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11726         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumTerminalClass>(result__)
11727     }
11728     #[cfg(feature = "Win32_Foundation")]
11729     pub unsafe fn CreateTerminal<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pterminalclass: Param0, lmediatype: i32, direction: TERMINAL_DIRECTION) -> ::windows::runtime::Result<ITTerminal> {
11730         let mut result__: <ITTerminal as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11731         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), pterminalclass.into_param().abi(), ::std::mem::transmute(lmediatype), ::std::mem::transmute(direction), &mut result__).from_abi::<ITTerminal>(result__)
11732     }
11733     pub unsafe fn GetDefaultStaticTerminal(&self, lmediatype: i32, direction: TERMINAL_DIRECTION) -> ::windows::runtime::Result<ITTerminal> {
11734         let mut result__: <ITTerminal as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11735         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(lmediatype), ::std::mem::transmute(direction), &mut result__).from_abi::<ITTerminal>(result__)
11736     }
11737 }
11738 unsafe impl ::windows::runtime::Interface for ITTerminalSupport {
11739     type Vtable = ITTerminalSupport_abi;
11740     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2985280389, 37717, 4560, [131, 92, 0, 170, 0, 60, 202, 189]);
11741 }
11742 impl ::std::convert::From<ITTerminalSupport> for ::windows::runtime::IUnknown {
11743     fn from(value: ITTerminalSupport) -> Self {
11744         unsafe { ::std::mem::transmute(value) }
11745     }
11746 }
11747 impl ::std::convert::From<&ITTerminalSupport> for ::windows::runtime::IUnknown {
11748     fn from(value: &ITTerminalSupport) -> Self {
11749         ::std::convert::From::from(::std::clone::Clone::clone(value))
11750     }
11751 }
11752 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITTerminalSupport {
11753     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11754         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
11755     }
11756 }
11757 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITTerminalSupport {
11758     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11759         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
11760     }
11761 }
11762 #[cfg(feature = "Win32_System_Ole_Automation")]
11763 impl ::std::convert::From<ITTerminalSupport> for super::super::System::Ole::Automation::IDispatch {
11764     fn from(value: ITTerminalSupport) -> Self {
11765         unsafe { ::std::mem::transmute(value) }
11766     }
11767 }
11768 #[cfg(feature = "Win32_System_Ole_Automation")]
11769 impl ::std::convert::From<&ITTerminalSupport> for super::super::System::Ole::Automation::IDispatch {
11770     fn from(value: &ITTerminalSupport) -> Self {
11771         ::std::convert::From::from(::std::clone::Clone::clone(value))
11772     }
11773 }
11774 #[cfg(feature = "Win32_System_Ole_Automation")]
11775 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITTerminalSupport {
11776     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11777         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
11778     }
11779 }
11780 #[cfg(feature = "Win32_System_Ole_Automation")]
11781 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITTerminalSupport {
11782     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11783         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
11784     }
11785 }
11786 #[repr(C)]
11787 #[doc(hidden)]
11788 pub struct ITTerminalSupport_abi(
11789     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11790     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11791     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11792     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
11793     #[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,
11794     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
11795     #[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,
11796     #[cfg(not(feature = "Win32_Foundation"))] usize,
11797     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11798     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,
11799     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11800     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
11801     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11802     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppterminalenumerator: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11803     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
11804     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11805     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppterminalclassenumerator: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11806     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pterminalclass: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, lmediatype: i32, direction: TERMINAL_DIRECTION, ppterminal: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11807     #[cfg(not(feature = "Win32_Foundation"))] usize,
11808     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lmediatype: i32, direction: TERMINAL_DIRECTION, ppterminal: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11809 );
11810 #[repr(transparent)]
11811 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
11812 pub struct ITTerminalSupport2(::windows::runtime::IUnknown);
11813 impl ITTerminalSupport2 {
11814     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
11815         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11816         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
11817     }
11818     #[cfg(feature = "Win32_System_Ole_Automation")]
11819     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
11820         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11821         (::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__)
11822     }
11823     #[cfg(feature = "Win32_Foundation")]
11824     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<()> {
11825         (::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()
11826     }
11827     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11828     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<()> {
11829         (::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()
11830     }
11831     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11832     pub unsafe fn StaticTerminals(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
11833         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11834         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
11835     }
11836     pub unsafe fn EnumerateStaticTerminals(&self) -> ::windows::runtime::Result<IEnumTerminal> {
11837         let mut result__: <IEnumTerminal as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11838         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumTerminal>(result__)
11839     }
11840     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11841     pub unsafe fn DynamicTerminalClasses(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
11842         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11843         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
11844     }
11845     pub unsafe fn EnumerateDynamicTerminalClasses(&self) -> ::windows::runtime::Result<IEnumTerminalClass> {
11846         let mut result__: <IEnumTerminalClass as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11847         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumTerminalClass>(result__)
11848     }
11849     #[cfg(feature = "Win32_Foundation")]
11850     pub unsafe fn CreateTerminal<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pterminalclass: Param0, lmediatype: i32, direction: TERMINAL_DIRECTION) -> ::windows::runtime::Result<ITTerminal> {
11851         let mut result__: <ITTerminal as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11852         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), pterminalclass.into_param().abi(), ::std::mem::transmute(lmediatype), ::std::mem::transmute(direction), &mut result__).from_abi::<ITTerminal>(result__)
11853     }
11854     pub unsafe fn GetDefaultStaticTerminal(&self, lmediatype: i32, direction: TERMINAL_DIRECTION) -> ::windows::runtime::Result<ITTerminal> {
11855         let mut result__: <ITTerminal as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11856         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(lmediatype), ::std::mem::transmute(direction), &mut result__).from_abi::<ITTerminal>(result__)
11857     }
11858     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11859     pub unsafe fn PluggableSuperclasses(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
11860         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11861         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
11862     }
11863     pub unsafe fn EnumeratePluggableSuperclasses(&self) -> ::windows::runtime::Result<IEnumPluggableSuperclassInfo> {
11864         let mut result__: <IEnumPluggableSuperclassInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11865         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumPluggableSuperclassInfo>(result__)
11866     }
11867     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11868     pub unsafe fn PluggableTerminalClasses<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrterminalsuperclass: Param0, lmediatype: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
11869         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11870         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), bstrterminalsuperclass.into_param().abi(), ::std::mem::transmute(lmediatype), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
11871     }
11872     pub unsafe fn EnumeratePluggableTerminalClasses<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, iidterminalsuperclass: Param0, lmediatype: i32) -> ::windows::runtime::Result<IEnumPluggableTerminalClassInfo> {
11873         let mut result__: <IEnumPluggableTerminalClassInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11874         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), iidterminalsuperclass.into_param().abi(), ::std::mem::transmute(lmediatype), &mut result__).from_abi::<IEnumPluggableTerminalClassInfo>(result__)
11875     }
11876 }
11877 unsafe impl ::windows::runtime::Interface for ITTerminalSupport2 {
11878     type Vtable = ITTerminalSupport2_abi;
11879     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4092279228, 6943, 20121, [160, 192, 86, 48, 92, 77, 213, 145]);
11880 }
11881 impl ::std::convert::From<ITTerminalSupport2> for ::windows::runtime::IUnknown {
11882     fn from(value: ITTerminalSupport2) -> Self {
11883         unsafe { ::std::mem::transmute(value) }
11884     }
11885 }
11886 impl ::std::convert::From<&ITTerminalSupport2> for ::windows::runtime::IUnknown {
11887     fn from(value: &ITTerminalSupport2) -> Self {
11888         ::std::convert::From::from(::std::clone::Clone::clone(value))
11889     }
11890 }
11891 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITTerminalSupport2 {
11892     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11893         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
11894     }
11895 }
11896 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITTerminalSupport2 {
11897     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11898         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
11899     }
11900 }
11901 impl ::std::convert::From<ITTerminalSupport2> for ITTerminalSupport {
11902     fn from(value: ITTerminalSupport2) -> Self {
11903         unsafe { ::std::mem::transmute(value) }
11904     }
11905 }
11906 impl ::std::convert::From<&ITTerminalSupport2> for ITTerminalSupport {
11907     fn from(value: &ITTerminalSupport2) -> Self {
11908         ::std::convert::From::from(::std::clone::Clone::clone(value))
11909     }
11910 }
11911 impl<'a> ::windows::runtime::IntoParam<'a, ITTerminalSupport> for ITTerminalSupport2 {
11912     fn into_param(self) -> ::windows::runtime::Param<'a, ITTerminalSupport> {
11913         ::windows::runtime::Param::Owned(::std::convert::Into::<ITTerminalSupport>::into(self))
11914     }
11915 }
11916 impl<'a> ::windows::runtime::IntoParam<'a, ITTerminalSupport> for &ITTerminalSupport2 {
11917     fn into_param(self) -> ::windows::runtime::Param<'a, ITTerminalSupport> {
11918         ::windows::runtime::Param::Owned(::std::convert::Into::<ITTerminalSupport>::into(::std::clone::Clone::clone(self)))
11919     }
11920 }
11921 #[cfg(feature = "Win32_System_Ole_Automation")]
11922 impl ::std::convert::From<ITTerminalSupport2> for super::super::System::Ole::Automation::IDispatch {
11923     fn from(value: ITTerminalSupport2) -> Self {
11924         unsafe { ::std::mem::transmute(value) }
11925     }
11926 }
11927 #[cfg(feature = "Win32_System_Ole_Automation")]
11928 impl ::std::convert::From<&ITTerminalSupport2> for super::super::System::Ole::Automation::IDispatch {
11929     fn from(value: &ITTerminalSupport2) -> Self {
11930         ::std::convert::From::from(::std::clone::Clone::clone(value))
11931     }
11932 }
11933 #[cfg(feature = "Win32_System_Ole_Automation")]
11934 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITTerminalSupport2 {
11935     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11936         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
11937     }
11938 }
11939 #[cfg(feature = "Win32_System_Ole_Automation")]
11940 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITTerminalSupport2 {
11941     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
11942         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
11943     }
11944 }
11945 #[repr(C)]
11946 #[doc(hidden)]
11947 pub struct ITTerminalSupport2_abi(
11948     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11949     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11950     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11951     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
11952     #[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,
11953     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
11954     #[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,
11955     #[cfg(not(feature = "Win32_Foundation"))] usize,
11956     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11957     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,
11958     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11959     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
11960     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11961     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppterminalenumerator: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11962     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
11963     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11964     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppterminalclassenumerator: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11965     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pterminalclass: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, lmediatype: i32, direction: TERMINAL_DIRECTION, ppterminal: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11966     #[cfg(not(feature = "Win32_Foundation"))] usize,
11967     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lmediatype: i32, direction: TERMINAL_DIRECTION, ppterminal: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11968     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
11969     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11970     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppsuperclassenumerator: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11971     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrterminalsuperclass: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, lmediatype: i32, pvariant: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
11972     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11973     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iidterminalsuperclass: ::windows::runtime::GUID, lmediatype: i32, ppclassenumerator: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11974 );
11975 #[repr(transparent)]
11976 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
11977 pub struct ITToneDetectionEvent(::windows::runtime::IUnknown);
11978 impl ITToneDetectionEvent {
11979     pub unsafe fn Call(&self) -> ::windows::runtime::Result<ITCallInfo> {
11980         let mut result__: <ITCallInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11981         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITCallInfo>(result__)
11982     }
11983     pub unsafe fn AppSpecific(&self) -> ::windows::runtime::Result<i32> {
11984         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11985         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11986     }
11987     pub unsafe fn TickCount(&self) -> ::windows::runtime::Result<i32> {
11988         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11989         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11990     }
11991     pub unsafe fn CallbackInstance(&self) -> ::windows::runtime::Result<i32> {
11992         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11993         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11994     }
11995 }
11996 unsafe impl ::windows::runtime::Interface for ITToneDetectionEvent {
11997     type Vtable = ITToneDetectionEvent_abi;
11998     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1082003375, 53319, 18259, [176, 198, 142, 6, 3, 115, 254, 205]);
11999 }
12000 impl ::std::convert::From<ITToneDetectionEvent> for ::windows::runtime::IUnknown {
12001     fn from(value: ITToneDetectionEvent) -> Self {
12002         unsafe { ::std::mem::transmute(value) }
12003     }
12004 }
12005 impl ::std::convert::From<&ITToneDetectionEvent> for ::windows::runtime::IUnknown {
12006     fn from(value: &ITToneDetectionEvent) -> Self {
12007         ::std::convert::From::from(::std::clone::Clone::clone(value))
12008     }
12009 }
12010 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITToneDetectionEvent {
12011     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
12012         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
12013     }
12014 }
12015 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITToneDetectionEvent {
12016     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
12017         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
12018     }
12019 }
12020 #[cfg(feature = "Win32_System_Ole_Automation")]
12021 impl ::std::convert::From<ITToneDetectionEvent> for super::super::System::Ole::Automation::IDispatch {
12022     fn from(value: ITToneDetectionEvent) -> Self {
12023         unsafe { ::std::mem::transmute(value) }
12024     }
12025 }
12026 #[cfg(feature = "Win32_System_Ole_Automation")]
12027 impl ::std::convert::From<&ITToneDetectionEvent> for super::super::System::Ole::Automation::IDispatch {
12028     fn from(value: &ITToneDetectionEvent) -> Self {
12029         ::std::convert::From::from(::std::clone::Clone::clone(value))
12030     }
12031 }
12032 #[cfg(feature = "Win32_System_Ole_Automation")]
12033 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITToneDetectionEvent {
12034     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
12035         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
12036     }
12037 }
12038 #[cfg(feature = "Win32_System_Ole_Automation")]
12039 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITToneDetectionEvent {
12040     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
12041         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
12042     }
12043 }
12044 #[repr(C)]
12045 #[doc(hidden)]
12046 pub struct ITToneDetectionEvent_abi(
12047     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12048     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
12049     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
12050     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
12051     #[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,
12052     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
12053     #[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,
12054     #[cfg(not(feature = "Win32_Foundation"))] usize,
12055     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
12056     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,
12057     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
12058     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcallinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12059     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plappspecific: *mut i32) -> ::windows::runtime::HRESULT,
12060     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pltickcount: *mut i32) -> ::windows::runtime::HRESULT,
12061     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plcallbackinstance: *mut i32) -> ::windows::runtime::HRESULT,
12062 );
12063 #[repr(transparent)]
12064 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
12065 pub struct ITToneTerminalEvent(::windows::runtime::IUnknown);
12066 impl ITToneTerminalEvent {
12067     pub unsafe fn Terminal(&self) -> ::windows::runtime::Result<ITTerminal> {
12068         let mut result__: <ITTerminal as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12069         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITTerminal>(result__)
12070     }
12071     pub unsafe fn Call(&self) -> ::windows::runtime::Result<ITCallInfo> {
12072         let mut result__: <ITCallInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12073         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITCallInfo>(result__)
12074     }
12075     pub unsafe fn Error(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT> {
12076         let mut result__: <::windows::runtime::HRESULT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12077         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::HRESULT>(result__)
12078     }
12079 }
12080 unsafe impl ::windows::runtime::Interface for ITToneTerminalEvent {
12081     type Vtable = ITToneTerminalEvent_abi;
12082     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3874840585, 24863, 18757, [187, 210, 45, 12, 229, 97, 32, 86]);
12083 }
12084 impl ::std::convert::From<ITToneTerminalEvent> for ::windows::runtime::IUnknown {
12085     fn from(value: ITToneTerminalEvent) -> Self {
12086         unsafe { ::std::mem::transmute(value) }
12087     }
12088 }
12089 impl ::std::convert::From<&ITToneTerminalEvent> for ::windows::runtime::IUnknown {
12090     fn from(value: &ITToneTerminalEvent) -> Self {
12091         ::std::convert::From::from(::std::clone::Clone::clone(value))
12092     }
12093 }
12094 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITToneTerminalEvent {
12095     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
12096         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
12097     }
12098 }
12099 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITToneTerminalEvent {
12100     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
12101         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
12102     }
12103 }
12104 #[cfg(feature = "Win32_System_Ole_Automation")]
12105 impl ::std::convert::From<ITToneTerminalEvent> for super::super::System::Ole::Automation::IDispatch {
12106     fn from(value: ITToneTerminalEvent) -> Self {
12107         unsafe { ::std::mem::transmute(value) }
12108     }
12109 }
12110 #[cfg(feature = "Win32_System_Ole_Automation")]
12111 impl ::std::convert::From<&ITToneTerminalEvent> for super::super::System::Ole::Automation::IDispatch {
12112     fn from(value: &ITToneTerminalEvent) -> Self {
12113         ::std::convert::From::from(::std::clone::Clone::clone(value))
12114     }
12115 }
12116 #[cfg(feature = "Win32_System_Ole_Automation")]
12117 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for ITToneTerminalEvent {
12118     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
12119         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
12120     }
12121 }
12122 #[cfg(feature = "Win32_System_Ole_Automation")]
12123 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &ITToneTerminalEvent {
12124     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
12125         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
12126     }
12127 }
12128 #[repr(C)]
12129 #[doc(hidden)]
12130 pub struct ITToneTerminalEvent_abi(
12131     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12132     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
12133     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
12134     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
12135     #[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,
12136     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
12137     #[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,
12138     #[cfg(not(feature = "Win32_Foundation"))] usize,
12139     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
12140     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,
12141     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
12142     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppterminal: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12143     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcall: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12144     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, phrerrorcode: *mut ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
12145 );
12146 #[repr(transparent)]
12147 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
12148 pub struct ITnef(::windows::runtime::IUnknown);
12149 impl ITnef {
12150     #[cfg(feature = "Win32_System_AddressBook")]
12151     pub unsafe fn AddProps(&self, ulflags: u32, ulelemid: u32, lpvdata: *mut ::std::ffi::c_void, lpproplist: *mut super::super::System::AddressBook::SPropTagArray) -> ::windows::runtime::Result<()> {
12152         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(ulelemid), ::std::mem::transmute(lpvdata), ::std::mem::transmute(lpproplist)).ok()
12153     }
12154     #[cfg(feature = "Win32_System_AddressBook")]
12155     pub unsafe fn ExtractProps(&self, ulflags: u32, lpproplist: *mut super::super::System::AddressBook::SPropTagArray, lpproblems: *mut *mut STnefProblemArray) -> ::windows::runtime::Result<()> {
12156         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpproplist), ::std::mem::transmute(lpproblems)).ok()
12157     }
12158     pub unsafe fn Finish(&self, ulflags: u32, lpkey: *mut u16, lpproblems: *mut *mut STnefProblemArray) -> ::windows::runtime::Result<()> {
12159         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpkey), ::std::mem::transmute(lpproblems)).ok()
12160     }
12161     #[cfg(all(feature = "Win32_System_AddressBook", feature = "Win32_System_Com"))]
12162     pub unsafe fn OpenTaggedBody<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::AddressBook::IMessage>>(&self, lpmessage: Param0, ulflags: u32) -> ::windows::runtime::Result<super::super::System::Com::IStream> {
12163         let mut result__: <super::super::System::Com::IStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12164         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), lpmessage.into_param().abi(), ::std::mem::transmute(ulflags), &mut result__).from_abi::<super::super::System::Com::IStream>(result__)
12165     }
12166     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_AddressBook", feature = "Win32_System_Com"))]
12167     pub unsafe fn SetProps(&self, ulflags: u32, ulelemid: u32, cvalues: u32, lpprops: *mut super::super::System::AddressBook::SPropValue) -> ::windows::runtime::Result<()> {
12168         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(ulelemid), ::std::mem::transmute(cvalues), ::std::mem::transmute(lpprops)).ok()
12169     }
12170     #[cfg(feature = "Win32_System_AddressBook")]
12171     pub unsafe fn EncodeRecips<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::AddressBook::IMAPITable>>(&self, ulflags: u32, lprecipienttable: Param1) -> ::windows::runtime::Result<()> {
12172         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), lprecipienttable.into_param().abi()).ok()
12173     }
12174     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_AddressBook", feature = "Win32_System_Com"))]
12175     pub unsafe fn FinishComponent(&self, ulflags: u32, ulcomponentid: u32, lpcustomproplist: *mut super::super::System::AddressBook::SPropTagArray, lpcustomprops: *mut super::super::System::AddressBook::SPropValue, lpproplist: *mut super::super::System::AddressBook::SPropTagArray, lpproblems: *mut *mut STnefProblemArray) -> ::windows::runtime::Result<()> {
12176         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(ulcomponentid), ::std::mem::transmute(lpcustomproplist), ::std::mem::transmute(lpcustomprops), ::std::mem::transmute(lpproplist), ::std::mem::transmute(lpproblems)).ok()
12177     }
12178 }
12179 unsafe impl ::windows::runtime::Interface for ITnef {
12180     type Vtable = ITnef_abi;
12181     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::zeroed();
12182 }
12183 impl ::std::convert::From<ITnef> for ::windows::runtime::IUnknown {
12184     fn from(value: ITnef) -> Self {
12185         unsafe { ::std::mem::transmute(value) }
12186     }
12187 }
12188 impl ::std::convert::From<&ITnef> for ::windows::runtime::IUnknown {
12189     fn from(value: &ITnef) -> Self {
12190         ::std::convert::From::from(::std::clone::Clone::clone(value))
12191     }
12192 }
12193 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITnef {
12194     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
12195         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
12196     }
12197 }
12198 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITnef {
12199     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
12200         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
12201     }
12202 }
12203 #[repr(C)]
12204 #[doc(hidden)]
12205 pub struct ITnef_abi(
12206     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12207     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
12208     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
12209     #[cfg(feature = "Win32_System_AddressBook")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, ulelemid: u32, lpvdata: *mut ::std::ffi::c_void, lpproplist: *mut super::super::System::AddressBook::SPropTagArray) -> ::windows::runtime::HRESULT,
12210     #[cfg(not(feature = "Win32_System_AddressBook"))] usize,
12211     #[cfg(feature = "Win32_System_AddressBook")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lpproplist: *mut super::super::System::AddressBook::SPropTagArray, lpproblems: *mut *mut STnefProblemArray) -> ::windows::runtime::HRESULT,
12212     #[cfg(not(feature = "Win32_System_AddressBook"))] usize,
12213     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lpkey: *mut u16, lpproblems: *mut *mut STnefProblemArray) -> ::windows::runtime::HRESULT,
12214     #[cfg(all(feature = "Win32_System_AddressBook", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpmessage: ::windows::runtime::RawPtr, ulflags: u32, lppstream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12215     #[cfg(not(all(feature = "Win32_System_AddressBook", feature = "Win32_System_Com")))] usize,
12216     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_AddressBook", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, ulelemid: u32, cvalues: u32, lpprops: *mut super::super::System::AddressBook::SPropValue) -> ::windows::runtime::HRESULT,
12217     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_AddressBook", feature = "Win32_System_Com")))] usize,
12218     #[cfg(feature = "Win32_System_AddressBook")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lprecipienttable: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12219     #[cfg(not(feature = "Win32_System_AddressBook"))] usize,
12220     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_AddressBook", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, ulcomponentid: u32, lpcustomproplist: *mut super::super::System::AddressBook::SPropTagArray, lpcustomprops: *mut super::super::System::AddressBook::SPropValue, lpproplist: *mut super::super::System::AddressBook::SPropTagArray, lpproblems: *mut *mut STnefProblemArray) -> ::windows::runtime::HRESULT,
12221     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_AddressBook", feature = "Win32_System_Com")))] usize,
12222 );
12223 pub const LAST_LINEMEDIAMODE: u32 = 32768u32;
12224 pub const LAST_LINEREQUESTMODE: u32 = 2u32;
12225 pub const LINEADDRCAPFLAGS_ACCEPTTOALERT: u32 = 1048576u32;
12226 pub const LINEADDRCAPFLAGS_ACDGROUP: u32 = 1073741824u32;
12227 pub const LINEADDRCAPFLAGS_AUTORECONNECT: u32 = 1024u32;
12228 pub const LINEADDRCAPFLAGS_BLOCKIDDEFAULT: u32 = 8u32;
12229 pub const LINEADDRCAPFLAGS_BLOCKIDOVERRIDE: u32 = 16u32;
12230 pub const LINEADDRCAPFLAGS_COMPLETIONID: u32 = 2048u32;
12231 pub const LINEADDRCAPFLAGS_CONFDROP: u32 = 2097152u32;
12232 pub const LINEADDRCAPFLAGS_CONFERENCEHELD: u32 = 16384u32;
12233 pub const LINEADDRCAPFLAGS_CONFERENCEMAKE: u32 = 32768u32;
12234 pub const LINEADDRCAPFLAGS_DESTOFFHOOK: u32 = 128u32;
12235 pub const LINEADDRCAPFLAGS_DIALED: u32 = 32u32;
12236 pub const LINEADDRCAPFLAGS_FWDBUSYNAADDR: u32 = 524288u32;
12237 pub const LINEADDRCAPFLAGS_FWDCONSULT: u32 = 256u32;
12238 pub const LINEADDRCAPFLAGS_FWDINTEXTADDR: u32 = 262144u32;
12239 pub const LINEADDRCAPFLAGS_FWDNUMRINGS: u32 = 1u32;
12240 pub const LINEADDRCAPFLAGS_FWDSTATUSVALID: u32 = 131072u32;
12241 pub const LINEADDRCAPFLAGS_HOLDMAKESNEW: u32 = 67108864u32;
12242 pub const LINEADDRCAPFLAGS_NOEXTERNALCALLS: u32 = 268435456u32;
12243 pub const LINEADDRCAPFLAGS_NOINTERNALCALLS: u32 = 134217728u32;
12244 pub const LINEADDRCAPFLAGS_NOPSTNADDRESSTRANSLATION: u32 = 2147483648u32;
12245 pub const LINEADDRCAPFLAGS_ORIGOFFHOOK: u32 = 64u32;
12246 pub const LINEADDRCAPFLAGS_PARTIALDIAL: u32 = 65536u32;
12247 pub const LINEADDRCAPFLAGS_PICKUPCALLWAIT: u32 = 4194304u32;
12248 pub const LINEADDRCAPFLAGS_PICKUPGROUPID: u32 = 2u32;
12249 pub const LINEADDRCAPFLAGS_PREDICTIVEDIALER: u32 = 8388608u32;
12250 pub const LINEADDRCAPFLAGS_QUEUE: u32 = 16777216u32;
12251 pub const LINEADDRCAPFLAGS_ROUTEPOINT: u32 = 33554432u32;
12252 pub const LINEADDRCAPFLAGS_SECURE: u32 = 4u32;
12253 pub const LINEADDRCAPFLAGS_SETCALLINGID: u32 = 536870912u32;
12254 pub const LINEADDRCAPFLAGS_SETUPCONFNULL: u32 = 512u32;
12255 pub const LINEADDRCAPFLAGS_TRANSFERHELD: u32 = 4096u32;
12256 pub const LINEADDRCAPFLAGS_TRANSFERMAKE: u32 = 8192u32;
12257 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12258 #[repr(C, packed(1))]
12259 pub struct LINEADDRESSCAPS {
12260     pub dwTotalSize: u32,
12261     pub dwNeededSize: u32,
12262     pub dwUsedSize: u32,
12263     pub dwLineDeviceID: u32,
12264     pub dwAddressSize: u32,
12265     pub dwAddressOffset: u32,
12266     pub dwDevSpecificSize: u32,
12267     pub dwDevSpecificOffset: u32,
12268     pub dwAddressSharing: u32,
12269     pub dwAddressStates: u32,
12270     pub dwCallInfoStates: u32,
12271     pub dwCallerIDFlags: u32,
12272     pub dwCalledIDFlags: u32,
12273     pub dwConnectedIDFlags: u32,
12274     pub dwRedirectionIDFlags: u32,
12275     pub dwRedirectingIDFlags: u32,
12276     pub dwCallStates: u32,
12277     pub dwDialToneModes: u32,
12278     pub dwBusyModes: u32,
12279     pub dwSpecialInfo: u32,
12280     pub dwDisconnectModes: u32,
12281     pub dwMaxNumActiveCalls: u32,
12282     pub dwMaxNumOnHoldCalls: u32,
12283     pub dwMaxNumOnHoldPendingCalls: u32,
12284     pub dwMaxNumConference: u32,
12285     pub dwMaxNumTransConf: u32,
12286     pub dwAddrCapFlags: u32,
12287     pub dwCallFeatures: u32,
12288     pub dwRemoveFromConfCaps: u32,
12289     pub dwRemoveFromConfState: u32,
12290     pub dwTransferModes: u32,
12291     pub dwParkModes: u32,
12292     pub dwForwardModes: u32,
12293     pub dwMaxForwardEntries: u32,
12294     pub dwMaxSpecificEntries: u32,
12295     pub dwMinFwdNumRings: u32,
12296     pub dwMaxFwdNumRings: u32,
12297     pub dwMaxCallCompletions: u32,
12298     pub dwCallCompletionConds: u32,
12299     pub dwCallCompletionModes: u32,
12300     pub dwNumCompletionMessages: u32,
12301     pub dwCompletionMsgTextEntrySize: u32,
12302     pub dwCompletionMsgTextSize: u32,
12303     pub dwCompletionMsgTextOffset: u32,
12304     pub dwAddressFeatures: u32,
12305     pub dwPredictiveAutoTransferStates: u32,
12306     pub dwNumCallTreatments: u32,
12307     pub dwCallTreatmentListSize: u32,
12308     pub dwCallTreatmentListOffset: u32,
12309     pub dwDeviceClassesSize: u32,
12310     pub dwDeviceClassesOffset: u32,
12311     pub dwMaxCallDataSize: u32,
12312     pub dwCallFeatures2: u32,
12313     pub dwMaxNoAnswerTimeout: u32,
12314     pub dwConnectedModes: u32,
12315     pub dwOfferingModes: u32,
12316     pub dwAvailableMediaModes: u32,
12317 }
12318 impl LINEADDRESSCAPS {}
12319 impl ::std::default::Default for LINEADDRESSCAPS {
12320     fn default() -> Self {
12321         unsafe { ::std::mem::zeroed() }
12322     }
12323 }
12324 impl ::std::cmp::PartialEq for LINEADDRESSCAPS {
12325     fn eq(&self, _other: &Self) -> bool {
12326         unimplemented!()
12327     }
12328 }
12329 impl ::std::cmp::Eq for LINEADDRESSCAPS {}
12330 unsafe impl ::windows::runtime::Abi for LINEADDRESSCAPS {
12331     type Abi = Self;
12332     type DefaultType = Self;
12333 }
12334 pub const LINEADDRESSMODE_ADDRESSID: u32 = 1u32;
12335 pub const LINEADDRESSMODE_DIALABLEADDR: u32 = 2u32;
12336 pub const LINEADDRESSSHARING_BRIDGEDEXCL: u32 = 2u32;
12337 pub const LINEADDRESSSHARING_BRIDGEDNEW: u32 = 4u32;
12338 pub const LINEADDRESSSHARING_BRIDGEDSHARED: u32 = 8u32;
12339 pub const LINEADDRESSSHARING_MONITORED: u32 = 16u32;
12340 pub const LINEADDRESSSHARING_PRIVATE: u32 = 1u32;
12341 pub const LINEADDRESSSTATE_CAPSCHANGE: u32 = 256u32;
12342 pub const LINEADDRESSSTATE_DEVSPECIFIC: u32 = 2u32;
12343 pub const LINEADDRESSSTATE_FORWARD: u32 = 64u32;
12344 pub const LINEADDRESSSTATE_INUSEMANY: u32 = 16u32;
12345 pub const LINEADDRESSSTATE_INUSEONE: u32 = 8u32;
12346 pub const LINEADDRESSSTATE_INUSEZERO: u32 = 4u32;
12347 pub const LINEADDRESSSTATE_NUMCALLS: u32 = 32u32;
12348 pub const LINEADDRESSSTATE_OTHER: u32 = 1u32;
12349 pub const LINEADDRESSSTATE_TERMINALS: u32 = 128u32;
12350 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12351 #[repr(C, packed(1))]
12352 pub struct LINEADDRESSSTATUS {
12353     pub dwTotalSize: u32,
12354     pub dwNeededSize: u32,
12355     pub dwUsedSize: u32,
12356     pub dwNumInUse: u32,
12357     pub dwNumActiveCalls: u32,
12358     pub dwNumOnHoldCalls: u32,
12359     pub dwNumOnHoldPendCalls: u32,
12360     pub dwAddressFeatures: u32,
12361     pub dwNumRingsNoAnswer: u32,
12362     pub dwForwardNumEntries: u32,
12363     pub dwForwardSize: u32,
12364     pub dwForwardOffset: u32,
12365     pub dwTerminalModesSize: u32,
12366     pub dwTerminalModesOffset: u32,
12367     pub dwDevSpecificSize: u32,
12368     pub dwDevSpecificOffset: u32,
12369 }
12370 impl LINEADDRESSSTATUS {}
12371 impl ::std::default::Default for LINEADDRESSSTATUS {
12372     fn default() -> Self {
12373         unsafe { ::std::mem::zeroed() }
12374     }
12375 }
12376 impl ::std::cmp::PartialEq for LINEADDRESSSTATUS {
12377     fn eq(&self, _other: &Self) -> bool {
12378         unimplemented!()
12379     }
12380 }
12381 impl ::std::cmp::Eq for LINEADDRESSSTATUS {}
12382 unsafe impl ::windows::runtime::Abi for LINEADDRESSSTATUS {
12383     type Abi = Self;
12384     type DefaultType = Self;
12385 }
12386 pub const LINEADDRESSTYPE_DOMAINNAME: u32 = 8u32;
12387 pub const LINEADDRESSTYPE_EMAILNAME: u32 = 4u32;
12388 pub const LINEADDRESSTYPE_IPADDRESS: u32 = 16u32;
12389 pub const LINEADDRESSTYPE_PHONENUMBER: u32 = 1u32;
12390 pub const LINEADDRESSTYPE_SDP: u32 = 2u32;
12391 pub const LINEADDRFEATURE_FORWARD: u32 = 1u32;
12392 pub const LINEADDRFEATURE_FORWARDDND: u32 = 8192u32;
12393 pub const LINEADDRFEATURE_FORWARDFWD: u32 = 4096u32;
12394 pub const LINEADDRFEATURE_MAKECALL: u32 = 2u32;
12395 pub const LINEADDRFEATURE_PICKUP: u32 = 4u32;
12396 pub const LINEADDRFEATURE_PICKUPDIRECT: u32 = 1024u32;
12397 pub const LINEADDRFEATURE_PICKUPGROUP: u32 = 512u32;
12398 pub const LINEADDRFEATURE_PICKUPHELD: u32 = 256u32;
12399 pub const LINEADDRFEATURE_PICKUPWAITING: u32 = 2048u32;
12400 pub const LINEADDRFEATURE_SETMEDIACONTROL: u32 = 8u32;
12401 pub const LINEADDRFEATURE_SETTERMINAL: u32 = 16u32;
12402 pub const LINEADDRFEATURE_SETUPCONF: u32 = 32u32;
12403 pub const LINEADDRFEATURE_UNCOMPLETECALL: u32 = 64u32;
12404 pub const LINEADDRFEATURE_UNPARK: u32 = 128u32;
12405 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12406 #[repr(C, packed(1))]
12407 pub struct LINEAGENTACTIVITYENTRY {
12408     pub dwID: u32,
12409     pub dwNameSize: u32,
12410     pub dwNameOffset: u32,
12411 }
12412 impl LINEAGENTACTIVITYENTRY {}
12413 impl ::std::default::Default for LINEAGENTACTIVITYENTRY {
12414     fn default() -> Self {
12415         unsafe { ::std::mem::zeroed() }
12416     }
12417 }
12418 impl ::std::cmp::PartialEq for LINEAGENTACTIVITYENTRY {
12419     fn eq(&self, _other: &Self) -> bool {
12420         unimplemented!()
12421     }
12422 }
12423 impl ::std::cmp::Eq for LINEAGENTACTIVITYENTRY {}
12424 unsafe impl ::windows::runtime::Abi for LINEAGENTACTIVITYENTRY {
12425     type Abi = Self;
12426     type DefaultType = Self;
12427 }
12428 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12429 #[repr(C, packed(1))]
12430 pub struct LINEAGENTACTIVITYLIST {
12431     pub dwTotalSize: u32,
12432     pub dwNeededSize: u32,
12433     pub dwUsedSize: u32,
12434     pub dwNumEntries: u32,
12435     pub dwListSize: u32,
12436     pub dwListOffset: u32,
12437 }
12438 impl LINEAGENTACTIVITYLIST {}
12439 impl ::std::default::Default for LINEAGENTACTIVITYLIST {
12440     fn default() -> Self {
12441         unsafe { ::std::mem::zeroed() }
12442     }
12443 }
12444 impl ::std::cmp::PartialEq for LINEAGENTACTIVITYLIST {
12445     fn eq(&self, _other: &Self) -> bool {
12446         unimplemented!()
12447     }
12448 }
12449 impl ::std::cmp::Eq for LINEAGENTACTIVITYLIST {}
12450 unsafe impl ::windows::runtime::Abi for LINEAGENTACTIVITYLIST {
12451     type Abi = Self;
12452     type DefaultType = Self;
12453 }
12454 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12455 #[repr(C, packed(1))]
12456 pub struct LINEAGENTCAPS {
12457     pub dwTotalSize: u32,
12458     pub dwNeededSize: u32,
12459     pub dwUsedSize: u32,
12460     pub dwAgentHandlerInfoSize: u32,
12461     pub dwAgentHandlerInfoOffset: u32,
12462     pub dwCapsVersion: u32,
12463     pub dwFeatures: u32,
12464     pub dwStates: u32,
12465     pub dwNextStates: u32,
12466     pub dwMaxNumGroupEntries: u32,
12467     pub dwAgentStatusMessages: u32,
12468     pub dwNumAgentExtensionIDs: u32,
12469     pub dwAgentExtensionIDListSize: u32,
12470     pub dwAgentExtensionIDListOffset: u32,
12471     pub ProxyGUID: ::windows::runtime::GUID,
12472 }
12473 impl LINEAGENTCAPS {}
12474 impl ::std::default::Default for LINEAGENTCAPS {
12475     fn default() -> Self {
12476         unsafe { ::std::mem::zeroed() }
12477     }
12478 }
12479 impl ::std::cmp::PartialEq for LINEAGENTCAPS {
12480     fn eq(&self, _other: &Self) -> bool {
12481         unimplemented!()
12482     }
12483 }
12484 impl ::std::cmp::Eq for LINEAGENTCAPS {}
12485 unsafe impl ::windows::runtime::Abi for LINEAGENTCAPS {
12486     type Abi = Self;
12487     type DefaultType = Self;
12488 }
12489 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12490 #[repr(C, packed(1))]
12491 pub struct LINEAGENTENTRY {
12492     pub hAgent: u32,
12493     pub dwNameSize: u32,
12494     pub dwNameOffset: u32,
12495     pub dwIDSize: u32,
12496     pub dwIDOffset: u32,
12497     pub dwPINSize: u32,
12498     pub dwPINOffset: u32,
12499 }
12500 impl LINEAGENTENTRY {}
12501 impl ::std::default::Default for LINEAGENTENTRY {
12502     fn default() -> Self {
12503         unsafe { ::std::mem::zeroed() }
12504     }
12505 }
12506 impl ::std::cmp::PartialEq for LINEAGENTENTRY {
12507     fn eq(&self, _other: &Self) -> bool {
12508         unimplemented!()
12509     }
12510 }
12511 impl ::std::cmp::Eq for LINEAGENTENTRY {}
12512 unsafe impl ::windows::runtime::Abi for LINEAGENTENTRY {
12513     type Abi = Self;
12514     type DefaultType = Self;
12515 }
12516 pub const LINEAGENTFEATURE_AGENTSPECIFIC: u32 = 8u32;
12517 pub const LINEAGENTFEATURE_GETAGENTACTIVITYLIST: u32 = 16u32;
12518 pub const LINEAGENTFEATURE_GETAGENTGROUP: u32 = 32u32;
12519 pub const LINEAGENTFEATURE_SETAGENTACTIVITY: u32 = 4u32;
12520 pub const LINEAGENTFEATURE_SETAGENTGROUP: u32 = 1u32;
12521 pub const LINEAGENTFEATURE_SETAGENTSTATE: u32 = 2u32;
12522 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12523 #[repr(C, packed(1))]
12524 pub struct LINEAGENTGROUPENTRY {
12525     pub GroupID: LINEAGENTGROUPENTRY_0,
12526     pub dwNameSize: u32,
12527     pub dwNameOffset: u32,
12528 }
12529 impl LINEAGENTGROUPENTRY {}
12530 impl ::std::default::Default for LINEAGENTGROUPENTRY {
12531     fn default() -> Self {
12532         unsafe { ::std::mem::zeroed() }
12533     }
12534 }
12535 impl ::std::cmp::PartialEq for LINEAGENTGROUPENTRY {
12536     fn eq(&self, _other: &Self) -> bool {
12537         unimplemented!()
12538     }
12539 }
12540 impl ::std::cmp::Eq for LINEAGENTGROUPENTRY {}
12541 unsafe impl ::windows::runtime::Abi for LINEAGENTGROUPENTRY {
12542     type Abi = Self;
12543     type DefaultType = Self;
12544 }
12545 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12546 #[repr(C, packed(1))]
12547 pub struct LINEAGENTGROUPENTRY_0 {
12548     pub dwGroupID1: u32,
12549     pub dwGroupID2: u32,
12550     pub dwGroupID3: u32,
12551     pub dwGroupID4: u32,
12552 }
12553 impl LINEAGENTGROUPENTRY_0 {}
12554 impl ::std::default::Default for LINEAGENTGROUPENTRY_0 {
12555     fn default() -> Self {
12556         unsafe { ::std::mem::zeroed() }
12557     }
12558 }
12559 impl ::std::cmp::PartialEq for LINEAGENTGROUPENTRY_0 {
12560     fn eq(&self, _other: &Self) -> bool {
12561         unimplemented!()
12562     }
12563 }
12564 impl ::std::cmp::Eq for LINEAGENTGROUPENTRY_0 {}
12565 unsafe impl ::windows::runtime::Abi for LINEAGENTGROUPENTRY_0 {
12566     type Abi = Self;
12567     type DefaultType = Self;
12568 }
12569 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12570 #[repr(C, packed(1))]
12571 pub struct LINEAGENTGROUPLIST {
12572     pub dwTotalSize: u32,
12573     pub dwNeededSize: u32,
12574     pub dwUsedSize: u32,
12575     pub dwNumEntries: u32,
12576     pub dwListSize: u32,
12577     pub dwListOffset: u32,
12578 }
12579 impl LINEAGENTGROUPLIST {}
12580 impl ::std::default::Default for LINEAGENTGROUPLIST {
12581     fn default() -> Self {
12582         unsafe { ::std::mem::zeroed() }
12583     }
12584 }
12585 impl ::std::cmp::PartialEq for LINEAGENTGROUPLIST {
12586     fn eq(&self, _other: &Self) -> bool {
12587         unimplemented!()
12588     }
12589 }
12590 impl ::std::cmp::Eq for LINEAGENTGROUPLIST {}
12591 unsafe impl ::windows::runtime::Abi for LINEAGENTGROUPLIST {
12592     type Abi = Self;
12593     type DefaultType = Self;
12594 }
12595 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12596 #[repr(C, packed(1))]
12597 #[cfg(feature = "Win32_System_Com")]
12598 pub struct LINEAGENTINFO {
12599     pub dwTotalSize: u32,
12600     pub dwNeededSize: u32,
12601     pub dwUsedSize: u32,
12602     pub dwAgentState: u32,
12603     pub dwNextAgentState: u32,
12604     pub dwMeasurementPeriod: u32,
12605     pub cyOverallCallRate: super::super::System::Com::CY,
12606     pub dwNumberOfACDCalls: u32,
12607     pub dwNumberOfIncomingCalls: u32,
12608     pub dwNumberOfOutgoingCalls: u32,
12609     pub dwTotalACDTalkTime: u32,
12610     pub dwTotalACDCallTime: u32,
12611     pub dwTotalACDWrapUpTime: u32,
12612 }
12613 #[cfg(feature = "Win32_System_Com")]
12614 impl LINEAGENTINFO {}
12615 #[cfg(feature = "Win32_System_Com")]
12616 impl ::std::default::Default for LINEAGENTINFO {
12617     fn default() -> Self {
12618         unsafe { ::std::mem::zeroed() }
12619     }
12620 }
12621 #[cfg(feature = "Win32_System_Com")]
12622 impl ::std::cmp::PartialEq for LINEAGENTINFO {
12623     fn eq(&self, _other: &Self) -> bool {
12624         unimplemented!()
12625     }
12626 }
12627 #[cfg(feature = "Win32_System_Com")]
12628 impl ::std::cmp::Eq for LINEAGENTINFO {}
12629 #[cfg(feature = "Win32_System_Com")]
12630 unsafe impl ::windows::runtime::Abi for LINEAGENTINFO {
12631     type Abi = Self;
12632     type DefaultType = Self;
12633 }
12634 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12635 #[repr(C, packed(1))]
12636 pub struct LINEAGENTLIST {
12637     pub dwTotalSize: u32,
12638     pub dwNeededSize: u32,
12639     pub dwUsedSize: u32,
12640     pub dwNumEntries: u32,
12641     pub dwListSize: u32,
12642     pub dwListOffset: u32,
12643 }
12644 impl LINEAGENTLIST {}
12645 impl ::std::default::Default for LINEAGENTLIST {
12646     fn default() -> Self {
12647         unsafe { ::std::mem::zeroed() }
12648     }
12649 }
12650 impl ::std::cmp::PartialEq for LINEAGENTLIST {
12651     fn eq(&self, _other: &Self) -> bool {
12652         unimplemented!()
12653     }
12654 }
12655 impl ::std::cmp::Eq for LINEAGENTLIST {}
12656 unsafe impl ::windows::runtime::Abi for LINEAGENTLIST {
12657     type Abi = Self;
12658     type DefaultType = Self;
12659 }
12660 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12661 #[repr(C, packed(1))]
12662 pub struct LINEAGENTSESSIONENTRY {
12663     pub hAgentSession: u32,
12664     pub hAgent: u32,
12665     pub GroupID: ::windows::runtime::GUID,
12666     pub dwWorkingAddressID: u32,
12667 }
12668 impl LINEAGENTSESSIONENTRY {}
12669 impl ::std::default::Default for LINEAGENTSESSIONENTRY {
12670     fn default() -> Self {
12671         unsafe { ::std::mem::zeroed() }
12672     }
12673 }
12674 impl ::std::cmp::PartialEq for LINEAGENTSESSIONENTRY {
12675     fn eq(&self, _other: &Self) -> bool {
12676         unimplemented!()
12677     }
12678 }
12679 impl ::std::cmp::Eq for LINEAGENTSESSIONENTRY {}
12680 unsafe impl ::windows::runtime::Abi for LINEAGENTSESSIONENTRY {
12681     type Abi = Self;
12682     type DefaultType = Self;
12683 }
12684 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12685 #[repr(C, packed(1))]
12686 #[cfg(feature = "Win32_System_Com")]
12687 pub struct LINEAGENTSESSIONINFO {
12688     pub dwTotalSize: u32,
12689     pub dwNeededSize: u32,
12690     pub dwUsedSize: u32,
12691     pub dwAgentSessionState: u32,
12692     pub dwNextAgentSessionState: u32,
12693     pub dateSessionStartTime: f64,
12694     pub dwSessionDuration: u32,
12695     pub dwNumberOfCalls: u32,
12696     pub dwTotalTalkTime: u32,
12697     pub dwAverageTalkTime: u32,
12698     pub dwTotalCallTime: u32,
12699     pub dwAverageCallTime: u32,
12700     pub dwTotalWrapUpTime: u32,
12701     pub dwAverageWrapUpTime: u32,
12702     pub cyACDCallRate: super::super::System::Com::CY,
12703     pub dwLongestTimeToAnswer: u32,
12704     pub dwAverageTimeToAnswer: u32,
12705 }
12706 #[cfg(feature = "Win32_System_Com")]
12707 impl LINEAGENTSESSIONINFO {}
12708 #[cfg(feature = "Win32_System_Com")]
12709 impl ::std::default::Default for LINEAGENTSESSIONINFO {
12710     fn default() -> Self {
12711         unsafe { ::std::mem::zeroed() }
12712     }
12713 }
12714 #[cfg(feature = "Win32_System_Com")]
12715 impl ::std::cmp::PartialEq for LINEAGENTSESSIONINFO {
12716     fn eq(&self, _other: &Self) -> bool {
12717         unimplemented!()
12718     }
12719 }
12720 #[cfg(feature = "Win32_System_Com")]
12721 impl ::std::cmp::Eq for LINEAGENTSESSIONINFO {}
12722 #[cfg(feature = "Win32_System_Com")]
12723 unsafe impl ::windows::runtime::Abi for LINEAGENTSESSIONINFO {
12724     type Abi = Self;
12725     type DefaultType = Self;
12726 }
12727 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12728 #[repr(C, packed(1))]
12729 pub struct LINEAGENTSESSIONLIST {
12730     pub dwTotalSize: u32,
12731     pub dwNeededSize: u32,
12732     pub dwUsedSize: u32,
12733     pub dwNumEntries: u32,
12734     pub dwListSize: u32,
12735     pub dwListOffset: u32,
12736 }
12737 impl LINEAGENTSESSIONLIST {}
12738 impl ::std::default::Default for LINEAGENTSESSIONLIST {
12739     fn default() -> Self {
12740         unsafe { ::std::mem::zeroed() }
12741     }
12742 }
12743 impl ::std::cmp::PartialEq for LINEAGENTSESSIONLIST {
12744     fn eq(&self, _other: &Self) -> bool {
12745         unimplemented!()
12746     }
12747 }
12748 impl ::std::cmp::Eq for LINEAGENTSESSIONLIST {}
12749 unsafe impl ::windows::runtime::Abi for LINEAGENTSESSIONLIST {
12750     type Abi = Self;
12751     type DefaultType = Self;
12752 }
12753 pub const LINEAGENTSESSIONSTATE_BUSYONCALL: u32 = 4u32;
12754 pub const LINEAGENTSESSIONSTATE_BUSYWRAPUP: u32 = 8u32;
12755 pub const LINEAGENTSESSIONSTATE_ENDED: u32 = 16u32;
12756 pub const LINEAGENTSESSIONSTATE_NOTREADY: u32 = 1u32;
12757 pub const LINEAGENTSESSIONSTATE_READY: u32 = 2u32;
12758 pub const LINEAGENTSESSIONSTATE_RELEASED: u32 = 32u32;
12759 pub const LINEAGENTSESSIONSTATUS_NEWSESSION: u32 = 1u32;
12760 pub const LINEAGENTSESSIONSTATUS_STATE: u32 = 2u32;
12761 pub const LINEAGENTSESSIONSTATUS_UPDATEINFO: u32 = 4u32;
12762 pub const LINEAGENTSTATEEX_BUSYACD: u32 = 4u32;
12763 pub const LINEAGENTSTATEEX_BUSYINCOMING: u32 = 8u32;
12764 pub const LINEAGENTSTATEEX_BUSYOUTGOING: u32 = 16u32;
12765 pub const LINEAGENTSTATEEX_NOTREADY: u32 = 1u32;
12766 pub const LINEAGENTSTATEEX_READY: u32 = 2u32;
12767 pub const LINEAGENTSTATEEX_RELEASED: u32 = 64u32;
12768 pub const LINEAGENTSTATEEX_UNKNOWN: u32 = 32u32;
12769 pub const LINEAGENTSTATE_BUSYACD: u32 = 8u32;
12770 pub const LINEAGENTSTATE_BUSYINCOMING: u32 = 16u32;
12771 pub const LINEAGENTSTATE_BUSYOTHER: u32 = 64u32;
12772 pub const LINEAGENTSTATE_BUSYOUTBOUND: u32 = 32u32;
12773 pub const LINEAGENTSTATE_LOGGEDOFF: u32 = 1u32;
12774 pub const LINEAGENTSTATE_NOTREADY: u32 = 2u32;
12775 pub const LINEAGENTSTATE_READY: u32 = 4u32;
12776 pub const LINEAGENTSTATE_UNAVAIL: u32 = 512u32;
12777 pub const LINEAGENTSTATE_UNKNOWN: u32 = 256u32;
12778 pub const LINEAGENTSTATE_WORKINGAFTERCALL: u32 = 128u32;
12779 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12780 #[repr(C, packed(1))]
12781 pub struct LINEAGENTSTATUS {
12782     pub dwTotalSize: u32,
12783     pub dwNeededSize: u32,
12784     pub dwUsedSize: u32,
12785     pub dwNumEntries: u32,
12786     pub dwGroupListSize: u32,
12787     pub dwGroupListOffset: u32,
12788     pub dwState: u32,
12789     pub dwNextState: u32,
12790     pub dwActivityID: u32,
12791     pub dwActivitySize: u32,
12792     pub dwActivityOffset: u32,
12793     pub dwAgentFeatures: u32,
12794     pub dwValidStates: u32,
12795     pub dwValidNextStates: u32,
12796 }
12797 impl LINEAGENTSTATUS {}
12798 impl ::std::default::Default for LINEAGENTSTATUS {
12799     fn default() -> Self {
12800         unsafe { ::std::mem::zeroed() }
12801     }
12802 }
12803 impl ::std::cmp::PartialEq for LINEAGENTSTATUS {
12804     fn eq(&self, _other: &Self) -> bool {
12805         unimplemented!()
12806     }
12807 }
12808 impl ::std::cmp::Eq for LINEAGENTSTATUS {}
12809 unsafe impl ::windows::runtime::Abi for LINEAGENTSTATUS {
12810     type Abi = Self;
12811     type DefaultType = Self;
12812 }
12813 pub const LINEAGENTSTATUSEX_NEWAGENT: u32 = 1u32;
12814 pub const LINEAGENTSTATUSEX_STATE: u32 = 2u32;
12815 pub const LINEAGENTSTATUSEX_UPDATEINFO: u32 = 4u32;
12816 pub const LINEAGENTSTATUS_ACTIVITY: u32 = 8u32;
12817 pub const LINEAGENTSTATUS_ACTIVITYLIST: u32 = 16u32;
12818 pub const LINEAGENTSTATUS_CAPSCHANGE: u32 = 64u32;
12819 pub const LINEAGENTSTATUS_GROUP: u32 = 1u32;
12820 pub const LINEAGENTSTATUS_GROUPLIST: u32 = 32u32;
12821 pub const LINEAGENTSTATUS_NEXTSTATE: u32 = 4u32;
12822 pub const LINEAGENTSTATUS_STATE: u32 = 2u32;
12823 pub const LINEAGENTSTATUS_VALIDNEXTSTATES: u32 = 256u32;
12824 pub const LINEAGENTSTATUS_VALIDSTATES: u32 = 128u32;
12825 pub const LINEANSWERMODE_DROP: u32 = 2u32;
12826 pub const LINEANSWERMODE_HOLD: u32 = 4u32;
12827 pub const LINEANSWERMODE_NONE: u32 = 1u32;
12828 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12829 #[repr(C, packed(1))]
12830 pub struct LINEAPPINFO {
12831     pub dwMachineNameSize: u32,
12832     pub dwMachineNameOffset: u32,
12833     pub dwUserNameSize: u32,
12834     pub dwUserNameOffset: u32,
12835     pub dwModuleFilenameSize: u32,
12836     pub dwModuleFilenameOffset: u32,
12837     pub dwFriendlyNameSize: u32,
12838     pub dwFriendlyNameOffset: u32,
12839     pub dwMediaModes: u32,
12840     pub dwAddressID: u32,
12841 }
12842 impl LINEAPPINFO {}
12843 impl ::std::default::Default for LINEAPPINFO {
12844     fn default() -> Self {
12845         unsafe { ::std::mem::zeroed() }
12846     }
12847 }
12848 impl ::std::cmp::PartialEq for LINEAPPINFO {
12849     fn eq(&self, _other: &Self) -> bool {
12850         unimplemented!()
12851     }
12852 }
12853 impl ::std::cmp::Eq for LINEAPPINFO {}
12854 unsafe impl ::windows::runtime::Abi for LINEAPPINFO {
12855     type Abi = Self;
12856     type DefaultType = Self;
12857 }
12858 pub const LINEBEARERMODE_ALTSPEECHDATA: u32 = 16u32;
12859 pub const LINEBEARERMODE_DATA: u32 = 8u32;
12860 pub const LINEBEARERMODE_MULTIUSE: u32 = 4u32;
12861 pub const LINEBEARERMODE_NONCALLSIGNALING: u32 = 32u32;
12862 pub const LINEBEARERMODE_PASSTHROUGH: u32 = 64u32;
12863 pub const LINEBEARERMODE_RESTRICTEDDATA: u32 = 128u32;
12864 pub const LINEBEARERMODE_SPEECH: u32 = 2u32;
12865 pub const LINEBEARERMODE_VOICE: u32 = 1u32;
12866 pub const LINEBUSYMODE_STATION: u32 = 1u32;
12867 pub const LINEBUSYMODE_TRUNK: u32 = 2u32;
12868 pub const LINEBUSYMODE_UNAVAIL: u32 = 8u32;
12869 pub const LINEBUSYMODE_UNKNOWN: u32 = 4u32;
12870 pub type LINECALLBACK = unsafe extern "system" fn(hdevice: u32, dwmessage: u32, dwinstance: usize, dwparam1: usize, dwparam2: usize, dwparam3: usize);
12871 pub const LINECALLCOMPLCOND_BUSY: u32 = 1u32;
12872 pub const LINECALLCOMPLCOND_NOANSWER: u32 = 2u32;
12873 pub const LINECALLCOMPLMODE_CALLBACK: u32 = 2u32;
12874 pub const LINECALLCOMPLMODE_CAMPON: u32 = 1u32;
12875 pub const LINECALLCOMPLMODE_INTRUDE: u32 = 4u32;
12876 pub const LINECALLCOMPLMODE_MESSAGE: u32 = 8u32;
12877 pub const LINECALLFEATURE2_COMPLCALLBACK: u32 = 8u32;
12878 pub const LINECALLFEATURE2_COMPLCAMPON: u32 = 4u32;
12879 pub const LINECALLFEATURE2_COMPLINTRUDE: u32 = 16u32;
12880 pub const LINECALLFEATURE2_COMPLMESSAGE: u32 = 32u32;
12881 pub const LINECALLFEATURE2_NOHOLDCONFERENCE: u32 = 1u32;
12882 pub const LINECALLFEATURE2_ONESTEPTRANSFER: u32 = 2u32;
12883 pub const LINECALLFEATURE2_PARKDIRECT: u32 = 256u32;
12884 pub const LINECALLFEATURE2_PARKNONDIRECT: u32 = 512u32;
12885 pub const LINECALLFEATURE2_TRANSFERCONF: u32 = 128u32;
12886 pub const LINECALLFEATURE2_TRANSFERNORM: u32 = 64u32;
12887 pub const LINECALLFEATURE_ACCEPT: u32 = 1u32;
12888 pub const LINECALLFEATURE_ADDTOCONF: u32 = 2u32;
12889 pub const LINECALLFEATURE_ANSWER: u32 = 4u32;
12890 pub const LINECALLFEATURE_BLINDTRANSFER: u32 = 8u32;
12891 pub const LINECALLFEATURE_COMPLETECALL: u32 = 16u32;
12892 pub const LINECALLFEATURE_COMPLETETRANSF: u32 = 32u32;
12893 pub const LINECALLFEATURE_DIAL: u32 = 64u32;
12894 pub const LINECALLFEATURE_DROP: u32 = 128u32;
12895 pub const LINECALLFEATURE_GATHERDIGITS: u32 = 256u32;
12896 pub const LINECALLFEATURE_GENERATEDIGITS: u32 = 512u32;
12897 pub const LINECALLFEATURE_GENERATETONE: u32 = 1024u32;
12898 pub const LINECALLFEATURE_HOLD: u32 = 2048u32;
12899 pub const LINECALLFEATURE_MONITORDIGITS: u32 = 4096u32;
12900 pub const LINECALLFEATURE_MONITORMEDIA: u32 = 8192u32;
12901 pub const LINECALLFEATURE_MONITORTONES: u32 = 16384u32;
12902 pub const LINECALLFEATURE_PARK: u32 = 32768u32;
12903 pub const LINECALLFEATURE_PREPAREADDCONF: u32 = 65536u32;
12904 pub const LINECALLFEATURE_REDIRECT: u32 = 131072u32;
12905 pub const LINECALLFEATURE_RELEASEUSERUSERINFO: u32 = 268435456u32;
12906 pub const LINECALLFEATURE_REMOVEFROMCONF: u32 = 262144u32;
12907 pub const LINECALLFEATURE_SECURECALL: u32 = 524288u32;
12908 pub const LINECALLFEATURE_SENDUSERUSER: u32 = 1048576u32;
12909 pub const LINECALLFEATURE_SETCALLDATA: u32 = 2147483648u32;
12910 pub const LINECALLFEATURE_SETCALLPARAMS: u32 = 2097152u32;
12911 pub const LINECALLFEATURE_SETMEDIACONTROL: u32 = 4194304u32;
12912 pub const LINECALLFEATURE_SETQOS: u32 = 1073741824u32;
12913 pub const LINECALLFEATURE_SETTERMINAL: u32 = 8388608u32;
12914 pub const LINECALLFEATURE_SETTREATMENT: u32 = 536870912u32;
12915 pub const LINECALLFEATURE_SETUPCONF: u32 = 16777216u32;
12916 pub const LINECALLFEATURE_SETUPTRANSFER: u32 = 33554432u32;
12917 pub const LINECALLFEATURE_SWAPHOLD: u32 = 67108864u32;
12918 pub const LINECALLFEATURE_UNHOLD: u32 = 134217728u32;
12919 pub const LINECALLHUBTRACKING_ALLCALLS: u32 = 2u32;
12920 pub const LINECALLHUBTRACKING_NONE: u32 = 0u32;
12921 pub const LINECALLHUBTRACKING_PROVIDERLEVEL: u32 = 1u32;
12922 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12923 #[repr(C, packed(1))]
12924 pub struct LINECALLINFO {
12925     pub dwTotalSize: u32,
12926     pub dwNeededSize: u32,
12927     pub dwUsedSize: u32,
12928     pub hLine: u32,
12929     pub dwLineDeviceID: u32,
12930     pub dwAddressID: u32,
12931     pub dwBearerMode: u32,
12932     pub dwRate: u32,
12933     pub dwMediaMode: u32,
12934     pub dwAppSpecific: u32,
12935     pub dwCallID: u32,
12936     pub dwRelatedCallID: u32,
12937     pub dwCallParamFlags: u32,
12938     pub dwCallStates: u32,
12939     pub dwMonitorDigitModes: u32,
12940     pub dwMonitorMediaModes: u32,
12941     pub DialParams: LINEDIALPARAMS,
12942     pub dwOrigin: u32,
12943     pub dwReason: u32,
12944     pub dwCompletionID: u32,
12945     pub dwNumOwners: u32,
12946     pub dwNumMonitors: u32,
12947     pub dwCountryCode: u32,
12948     pub dwTrunk: u32,
12949     pub dwCallerIDFlags: u32,
12950     pub dwCallerIDSize: u32,
12951     pub dwCallerIDOffset: u32,
12952     pub dwCallerIDNameSize: u32,
12953     pub dwCallerIDNameOffset: u32,
12954     pub dwCalledIDFlags: u32,
12955     pub dwCalledIDSize: u32,
12956     pub dwCalledIDOffset: u32,
12957     pub dwCalledIDNameSize: u32,
12958     pub dwCalledIDNameOffset: u32,
12959     pub dwConnectedIDFlags: u32,
12960     pub dwConnectedIDSize: u32,
12961     pub dwConnectedIDOffset: u32,
12962     pub dwConnectedIDNameSize: u32,
12963     pub dwConnectedIDNameOffset: u32,
12964     pub dwRedirectionIDFlags: u32,
12965     pub dwRedirectionIDSize: u32,
12966     pub dwRedirectionIDOffset: u32,
12967     pub dwRedirectionIDNameSize: u32,
12968     pub dwRedirectionIDNameOffset: u32,
12969     pub dwRedirectingIDFlags: u32,
12970     pub dwRedirectingIDSize: u32,
12971     pub dwRedirectingIDOffset: u32,
12972     pub dwRedirectingIDNameSize: u32,
12973     pub dwRedirectingIDNameOffset: u32,
12974     pub dwAppNameSize: u32,
12975     pub dwAppNameOffset: u32,
12976     pub dwDisplayableAddressSize: u32,
12977     pub dwDisplayableAddressOffset: u32,
12978     pub dwCalledPartySize: u32,
12979     pub dwCalledPartyOffset: u32,
12980     pub dwCommentSize: u32,
12981     pub dwCommentOffset: u32,
12982     pub dwDisplaySize: u32,
12983     pub dwDisplayOffset: u32,
12984     pub dwUserUserInfoSize: u32,
12985     pub dwUserUserInfoOffset: u32,
12986     pub dwHighLevelCompSize: u32,
12987     pub dwHighLevelCompOffset: u32,
12988     pub dwLowLevelCompSize: u32,
12989     pub dwLowLevelCompOffset: u32,
12990     pub dwChargingInfoSize: u32,
12991     pub dwChargingInfoOffset: u32,
12992     pub dwTerminalModesSize: u32,
12993     pub dwTerminalModesOffset: u32,
12994     pub dwDevSpecificSize: u32,
12995     pub dwDevSpecificOffset: u32,
12996     pub dwCallTreatment: u32,
12997     pub dwCallDataSize: u32,
12998     pub dwCallDataOffset: u32,
12999     pub dwSendingFlowspecSize: u32,
13000     pub dwSendingFlowspecOffset: u32,
13001     pub dwReceivingFlowspecSize: u32,
13002     pub dwReceivingFlowspecOffset: u32,
13003 }
13004 impl LINECALLINFO {}
13005 impl ::std::default::Default for LINECALLINFO {
13006     fn default() -> Self {
13007         unsafe { ::std::mem::zeroed() }
13008     }
13009 }
13010 impl ::std::cmp::PartialEq for LINECALLINFO {
13011     fn eq(&self, _other: &Self) -> bool {
13012         unimplemented!()
13013     }
13014 }
13015 impl ::std::cmp::Eq for LINECALLINFO {}
13016 unsafe impl ::windows::runtime::Abi for LINECALLINFO {
13017     type Abi = Self;
13018     type DefaultType = Self;
13019 }
13020 pub const LINECALLINFOSTATE_APPSPECIFIC: u32 = 32u32;
13021 pub const LINECALLINFOSTATE_BEARERMODE: u32 = 4u32;
13022 pub const LINECALLINFOSTATE_CALLDATA: u32 = 1073741824u32;
13023 pub const LINECALLINFOSTATE_CALLEDID: u32 = 65536u32;
13024 pub const LINECALLINFOSTATE_CALLERID: u32 = 32768u32;
13025 pub const LINECALLINFOSTATE_CALLID: u32 = 64u32;
13026 pub const LINECALLINFOSTATE_CHARGINGINFO: u32 = 16777216u32;
13027 pub const LINECALLINFOSTATE_COMPLETIONID: u32 = 1024u32;
13028 pub const LINECALLINFOSTATE_CONNECTEDID: u32 = 131072u32;
13029 pub const LINECALLINFOSTATE_DEVSPECIFIC: u32 = 2u32;
13030 pub const LINECALLINFOSTATE_DIALPARAMS: u32 = 67108864u32;
13031 pub const LINECALLINFOSTATE_DISPLAY: u32 = 1048576u32;
13032 pub const LINECALLINFOSTATE_HIGHLEVELCOMP: u32 = 4194304u32;
13033 pub const LINECALLINFOSTATE_LOWLEVELCOMP: u32 = 8388608u32;
13034 pub const LINECALLINFOSTATE_MEDIAMODE: u32 = 16u32;
13035 pub const LINECALLINFOSTATE_MONITORMODES: u32 = 134217728u32;
13036 pub const LINECALLINFOSTATE_NUMMONITORS: u32 = 8192u32;
13037 pub const LINECALLINFOSTATE_NUMOWNERDECR: u32 = 4096u32;
13038 pub const LINECALLINFOSTATE_NUMOWNERINCR: u32 = 2048u32;
13039 pub const LINECALLINFOSTATE_ORIGIN: u32 = 256u32;
13040 pub const LINECALLINFOSTATE_OTHER: u32 = 1u32;
13041 pub const LINECALLINFOSTATE_QOS: u32 = 536870912u32;
13042 pub const LINECALLINFOSTATE_RATE: u32 = 8u32;
13043 pub const LINECALLINFOSTATE_REASON: u32 = 512u32;
13044 pub const LINECALLINFOSTATE_REDIRECTINGID: u32 = 524288u32;
13045 pub const LINECALLINFOSTATE_REDIRECTIONID: u32 = 262144u32;
13046 pub const LINECALLINFOSTATE_RELATEDCALLID: u32 = 128u32;
13047 pub const LINECALLINFOSTATE_TERMINAL: u32 = 33554432u32;
13048 pub const LINECALLINFOSTATE_TREATMENT: u32 = 268435456u32;
13049 pub const LINECALLINFOSTATE_TRUNK: u32 = 16384u32;
13050 pub const LINECALLINFOSTATE_USERUSERINFO: u32 = 2097152u32;
13051 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13052 #[repr(C, packed(1))]
13053 pub struct LINECALLLIST {
13054     pub dwTotalSize: u32,
13055     pub dwNeededSize: u32,
13056     pub dwUsedSize: u32,
13057     pub dwCallsNumEntries: u32,
13058     pub dwCallsSize: u32,
13059     pub dwCallsOffset: u32,
13060 }
13061 impl LINECALLLIST {}
13062 impl ::std::default::Default for LINECALLLIST {
13063     fn default() -> Self {
13064         unsafe { ::std::mem::zeroed() }
13065     }
13066 }
13067 impl ::std::cmp::PartialEq for LINECALLLIST {
13068     fn eq(&self, _other: &Self) -> bool {
13069         unimplemented!()
13070     }
13071 }
13072 impl ::std::cmp::Eq for LINECALLLIST {}
13073 unsafe impl ::windows::runtime::Abi for LINECALLLIST {
13074     type Abi = Self;
13075     type DefaultType = Self;
13076 }
13077 pub const LINECALLORIGIN_CONFERENCE: u32 = 64u32;
13078 pub const LINECALLORIGIN_EXTERNAL: u32 = 4u32;
13079 pub const LINECALLORIGIN_INBOUND: u32 = 128u32;
13080 pub const LINECALLORIGIN_INTERNAL: u32 = 2u32;
13081 pub const LINECALLORIGIN_OUTBOUND: u32 = 1u32;
13082 pub const LINECALLORIGIN_UNAVAIL: u32 = 32u32;
13083 pub const LINECALLORIGIN_UNKNOWN: u32 = 16u32;
13084 pub const LINECALLPARAMFLAGS_BLOCKID: u32 = 4u32;
13085 pub const LINECALLPARAMFLAGS_DESTOFFHOOK: u32 = 16u32;
13086 pub const LINECALLPARAMFLAGS_IDLE: u32 = 2u32;
13087 pub const LINECALLPARAMFLAGS_NOHOLDCONFERENCE: u32 = 32u32;
13088 pub const LINECALLPARAMFLAGS_ONESTEPTRANSFER: u32 = 128u32;
13089 pub const LINECALLPARAMFLAGS_ORIGOFFHOOK: u32 = 8u32;
13090 pub const LINECALLPARAMFLAGS_PREDICTIVEDIAL: u32 = 64u32;
13091 pub const LINECALLPARAMFLAGS_SECURE: u32 = 1u32;
13092 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13093 #[repr(C, packed(1))]
13094 pub struct LINECALLPARAMS {
13095     pub dwTotalSize: u32,
13096     pub dwBearerMode: u32,
13097     pub dwMinRate: u32,
13098     pub dwMaxRate: u32,
13099     pub dwMediaMode: u32,
13100     pub dwCallParamFlags: u32,
13101     pub dwAddressMode: u32,
13102     pub dwAddressID: u32,
13103     pub DialParams: LINEDIALPARAMS,
13104     pub dwOrigAddressSize: u32,
13105     pub dwOrigAddressOffset: u32,
13106     pub dwDisplayableAddressSize: u32,
13107     pub dwDisplayableAddressOffset: u32,
13108     pub dwCalledPartySize: u32,
13109     pub dwCalledPartyOffset: u32,
13110     pub dwCommentSize: u32,
13111     pub dwCommentOffset: u32,
13112     pub dwUserUserInfoSize: u32,
13113     pub dwUserUserInfoOffset: u32,
13114     pub dwHighLevelCompSize: u32,
13115     pub dwHighLevelCompOffset: u32,
13116     pub dwLowLevelCompSize: u32,
13117     pub dwLowLevelCompOffset: u32,
13118     pub dwDevSpecificSize: u32,
13119     pub dwDevSpecificOffset: u32,
13120     pub dwPredictiveAutoTransferStates: u32,
13121     pub dwTargetAddressSize: u32,
13122     pub dwTargetAddressOffset: u32,
13123     pub dwSendingFlowspecSize: u32,
13124     pub dwSendingFlowspecOffset: u32,
13125     pub dwReceivingFlowspecSize: u32,
13126     pub dwReceivingFlowspecOffset: u32,
13127     pub dwDeviceClassSize: u32,
13128     pub dwDeviceClassOffset: u32,
13129     pub dwDeviceConfigSize: u32,
13130     pub dwDeviceConfigOffset: u32,
13131     pub dwCallDataSize: u32,
13132     pub dwCallDataOffset: u32,
13133     pub dwNoAnswerTimeout: u32,
13134     pub dwCallingPartyIDSize: u32,
13135     pub dwCallingPartyIDOffset: u32,
13136 }
13137 impl LINECALLPARAMS {}
13138 impl ::std::default::Default for LINECALLPARAMS {
13139     fn default() -> Self {
13140         unsafe { ::std::mem::zeroed() }
13141     }
13142 }
13143 impl ::std::cmp::PartialEq for LINECALLPARAMS {
13144     fn eq(&self, _other: &Self) -> bool {
13145         unimplemented!()
13146     }
13147 }
13148 impl ::std::cmp::Eq for LINECALLPARAMS {}
13149 unsafe impl ::windows::runtime::Abi for LINECALLPARAMS {
13150     type Abi = Self;
13151     type DefaultType = Self;
13152 }
13153 pub const LINECALLPARTYID_ADDRESS: u32 = 8u32;
13154 pub const LINECALLPARTYID_BLOCKED: u32 = 1u32;
13155 pub const LINECALLPARTYID_NAME: u32 = 4u32;
13156 pub const LINECALLPARTYID_OUTOFAREA: u32 = 2u32;
13157 pub const LINECALLPARTYID_PARTIAL: u32 = 16u32;
13158 pub const LINECALLPARTYID_UNAVAIL: u32 = 64u32;
13159 pub const LINECALLPARTYID_UNKNOWN: u32 = 32u32;
13160 pub const LINECALLPRIVILEGE_MONITOR: u32 = 2u32;
13161 pub const LINECALLPRIVILEGE_NONE: u32 = 1u32;
13162 pub const LINECALLPRIVILEGE_OWNER: u32 = 4u32;
13163 pub const LINECALLREASON_CALLCOMPLETION: u32 = 128u32;
13164 pub const LINECALLREASON_CAMPEDON: u32 = 16384u32;
13165 pub const LINECALLREASON_DIRECT: u32 = 1u32;
13166 pub const LINECALLREASON_FWDBUSY: u32 = 2u32;
13167 pub const LINECALLREASON_FWDNOANSWER: u32 = 4u32;
13168 pub const LINECALLREASON_FWDUNCOND: u32 = 8u32;
13169 pub const LINECALLREASON_INTRUDE: u32 = 4096u32;
13170 pub const LINECALLREASON_PARKED: u32 = 8192u32;
13171 pub const LINECALLREASON_PICKUP: u32 = 16u32;
13172 pub const LINECALLREASON_REDIRECT: u32 = 64u32;
13173 pub const LINECALLREASON_REMINDER: u32 = 512u32;
13174 pub const LINECALLREASON_ROUTEREQUEST: u32 = 32768u32;
13175 pub const LINECALLREASON_TRANSFER: u32 = 256u32;
13176 pub const LINECALLREASON_UNAVAIL: u32 = 2048u32;
13177 pub const LINECALLREASON_UNKNOWN: u32 = 1024u32;
13178 pub const LINECALLREASON_UNPARK: u32 = 32u32;
13179 pub const LINECALLSELECT_ADDRESS: u32 = 2u32;
13180 pub const LINECALLSELECT_CALL: u32 = 4u32;
13181 pub const LINECALLSELECT_CALLID: u32 = 16u32;
13182 pub const LINECALLSELECT_DEVICEID: u32 = 8u32;
13183 pub const LINECALLSELECT_LINE: u32 = 1u32;
13184 pub const LINECALLSTATE_ACCEPTED: u32 = 4u32;
13185 pub const LINECALLSTATE_BUSY: u32 = 64u32;
13186 pub const LINECALLSTATE_CONFERENCED: u32 = 2048u32;
13187 pub const LINECALLSTATE_CONNECTED: u32 = 256u32;
13188 pub const LINECALLSTATE_DIALING: u32 = 16u32;
13189 pub const LINECALLSTATE_DIALTONE: u32 = 8u32;
13190 pub const LINECALLSTATE_DISCONNECTED: u32 = 16384u32;
13191 pub const LINECALLSTATE_IDLE: u32 = 1u32;
13192 pub const LINECALLSTATE_OFFERING: u32 = 2u32;
13193 pub const LINECALLSTATE_ONHOLD: u32 = 1024u32;
13194 pub const LINECALLSTATE_ONHOLDPENDCONF: u32 = 4096u32;
13195 pub const LINECALLSTATE_ONHOLDPENDTRANSFER: u32 = 8192u32;
13196 pub const LINECALLSTATE_PROCEEDING: u32 = 512u32;
13197 pub const LINECALLSTATE_RINGBACK: u32 = 32u32;
13198 pub const LINECALLSTATE_SPECIALINFO: u32 = 128u32;
13199 pub const LINECALLSTATE_UNKNOWN: u32 = 32768u32;
13200 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13201 #[repr(C, packed(1))]
13202 #[cfg(feature = "Win32_Foundation")]
13203 pub struct LINECALLSTATUS {
13204     pub dwTotalSize: u32,
13205     pub dwNeededSize: u32,
13206     pub dwUsedSize: u32,
13207     pub dwCallState: u32,
13208     pub dwCallStateMode: u32,
13209     pub dwCallPrivilege: u32,
13210     pub dwCallFeatures: u32,
13211     pub dwDevSpecificSize: u32,
13212     pub dwDevSpecificOffset: u32,
13213     pub dwCallFeatures2: u32,
13214     pub tStateEntryTime: super::super::Foundation::SYSTEMTIME,
13215 }
13216 #[cfg(feature = "Win32_Foundation")]
13217 impl LINECALLSTATUS {}
13218 #[cfg(feature = "Win32_Foundation")]
13219 impl ::std::default::Default for LINECALLSTATUS {
13220     fn default() -> Self {
13221         unsafe { ::std::mem::zeroed() }
13222     }
13223 }
13224 #[cfg(feature = "Win32_Foundation")]
13225 impl ::std::cmp::PartialEq for LINECALLSTATUS {
13226     fn eq(&self, _other: &Self) -> bool {
13227         unimplemented!()
13228     }
13229 }
13230 #[cfg(feature = "Win32_Foundation")]
13231 impl ::std::cmp::Eq for LINECALLSTATUS {}
13232 #[cfg(feature = "Win32_Foundation")]
13233 unsafe impl ::windows::runtime::Abi for LINECALLSTATUS {
13234     type Abi = Self;
13235     type DefaultType = Self;
13236 }
13237 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13238 #[repr(C, packed(1))]
13239 pub struct LINECALLTREATMENTENTRY {
13240     pub dwCallTreatmentID: u32,
13241     pub dwCallTreatmentNameSize: u32,
13242     pub dwCallTreatmentNameOffset: u32,
13243 }
13244 impl LINECALLTREATMENTENTRY {}
13245 impl ::std::default::Default for LINECALLTREATMENTENTRY {
13246     fn default() -> Self {
13247         unsafe { ::std::mem::zeroed() }
13248     }
13249 }
13250 impl ::std::cmp::PartialEq for LINECALLTREATMENTENTRY {
13251     fn eq(&self, _other: &Self) -> bool {
13252         unimplemented!()
13253     }
13254 }
13255 impl ::std::cmp::Eq for LINECALLTREATMENTENTRY {}
13256 unsafe impl ::windows::runtime::Abi for LINECALLTREATMENTENTRY {
13257     type Abi = Self;
13258     type DefaultType = Self;
13259 }
13260 pub const LINECALLTREATMENT_BUSY: u32 = 3u32;
13261 pub const LINECALLTREATMENT_MUSIC: u32 = 4u32;
13262 pub const LINECALLTREATMENT_RINGBACK: u32 = 2u32;
13263 pub const LINECALLTREATMENT_SILENCE: u32 = 1u32;
13264 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13265 #[repr(C, packed(1))]
13266 pub struct LINECARDENTRY {
13267     pub dwPermanentCardID: u32,
13268     pub dwCardNameSize: u32,
13269     pub dwCardNameOffset: u32,
13270     pub dwCardNumberDigits: u32,
13271     pub dwSameAreaRuleSize: u32,
13272     pub dwSameAreaRuleOffset: u32,
13273     pub dwLongDistanceRuleSize: u32,
13274     pub dwLongDistanceRuleOffset: u32,
13275     pub dwInternationalRuleSize: u32,
13276     pub dwInternationalRuleOffset: u32,
13277     pub dwOptions: u32,
13278 }
13279 impl LINECARDENTRY {}
13280 impl ::std::default::Default for LINECARDENTRY {
13281     fn default() -> Self {
13282         unsafe { ::std::mem::zeroed() }
13283     }
13284 }
13285 impl ::std::cmp::PartialEq for LINECARDENTRY {
13286     fn eq(&self, _other: &Self) -> bool {
13287         unimplemented!()
13288     }
13289 }
13290 impl ::std::cmp::Eq for LINECARDENTRY {}
13291 unsafe impl ::windows::runtime::Abi for LINECARDENTRY {
13292     type Abi = Self;
13293     type DefaultType = Self;
13294 }
13295 pub const LINECARDOPTION_HIDDEN: u32 = 2u32;
13296 pub const LINECARDOPTION_PREDEFINED: u32 = 1u32;
13297 pub const LINECONNECTEDMODE_ACTIVE: u32 = 1u32;
13298 pub const LINECONNECTEDMODE_ACTIVEHELD: u32 = 4u32;
13299 pub const LINECONNECTEDMODE_CONFIRMED: u32 = 16u32;
13300 pub const LINECONNECTEDMODE_INACTIVE: u32 = 2u32;
13301 pub const LINECONNECTEDMODE_INACTIVEHELD: u32 = 8u32;
13302 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13303 #[repr(C, packed(1))]
13304 pub struct LINECOUNTRYENTRY {
13305     pub dwCountryID: u32,
13306     pub dwCountryCode: u32,
13307     pub dwNextCountryID: u32,
13308     pub dwCountryNameSize: u32,
13309     pub dwCountryNameOffset: u32,
13310     pub dwSameAreaRuleSize: u32,
13311     pub dwSameAreaRuleOffset: u32,
13312     pub dwLongDistanceRuleSize: u32,
13313     pub dwLongDistanceRuleOffset: u32,
13314     pub dwInternationalRuleSize: u32,
13315     pub dwInternationalRuleOffset: u32,
13316 }
13317 impl LINECOUNTRYENTRY {}
13318 impl ::std::default::Default for LINECOUNTRYENTRY {
13319     fn default() -> Self {
13320         unsafe { ::std::mem::zeroed() }
13321     }
13322 }
13323 impl ::std::cmp::PartialEq for LINECOUNTRYENTRY {
13324     fn eq(&self, _other: &Self) -> bool {
13325         unimplemented!()
13326     }
13327 }
13328 impl ::std::cmp::Eq for LINECOUNTRYENTRY {}
13329 unsafe impl ::windows::runtime::Abi for LINECOUNTRYENTRY {
13330     type Abi = Self;
13331     type DefaultType = Self;
13332 }
13333 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13334 #[repr(C, packed(1))]
13335 pub struct LINECOUNTRYLIST {
13336     pub dwTotalSize: u32,
13337     pub dwNeededSize: u32,
13338     pub dwUsedSize: u32,
13339     pub dwNumCountries: u32,
13340     pub dwCountryListSize: u32,
13341     pub dwCountryListOffset: u32,
13342 }
13343 impl LINECOUNTRYLIST {}
13344 impl ::std::default::Default for LINECOUNTRYLIST {
13345     fn default() -> Self {
13346         unsafe { ::std::mem::zeroed() }
13347     }
13348 }
13349 impl ::std::cmp::PartialEq for LINECOUNTRYLIST {
13350     fn eq(&self, _other: &Self) -> bool {
13351         unimplemented!()
13352     }
13353 }
13354 impl ::std::cmp::Eq for LINECOUNTRYLIST {}
13355 unsafe impl ::windows::runtime::Abi for LINECOUNTRYLIST {
13356     type Abi = Self;
13357     type DefaultType = Self;
13358 }
13359 pub const LINEDEVCAPFLAGS_CALLHUB: u32 = 1024u32;
13360 pub const LINEDEVCAPFLAGS_CALLHUBTRACKING: u32 = 2048u32;
13361 pub const LINEDEVCAPFLAGS_CLOSEDROP: u32 = 32u32;
13362 pub const LINEDEVCAPFLAGS_CROSSADDRCONF: u32 = 1u32;
13363 pub const LINEDEVCAPFLAGS_DIALBILLING: u32 = 64u32;
13364 pub const LINEDEVCAPFLAGS_DIALDIALTONE: u32 = 256u32;
13365 pub const LINEDEVCAPFLAGS_DIALQUIET: u32 = 128u32;
13366 pub const LINEDEVCAPFLAGS_HIGHLEVCOMP: u32 = 2u32;
13367 pub const LINEDEVCAPFLAGS_LOCAL: u32 = 8192u32;
13368 pub const LINEDEVCAPFLAGS_LOWLEVCOMP: u32 = 4u32;
13369 pub const LINEDEVCAPFLAGS_MEDIACONTROL: u32 = 8u32;
13370 pub const LINEDEVCAPFLAGS_MSP: u32 = 512u32;
13371 pub const LINEDEVCAPFLAGS_MULTIPLEADDR: u32 = 16u32;
13372 pub const LINEDEVCAPFLAGS_PRIVATEOBJECTS: u32 = 4096u32;
13373 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13374 #[repr(C, packed(1))]
13375 pub struct LINEDEVCAPS {
13376     pub dwTotalSize: u32,
13377     pub dwNeededSize: u32,
13378     pub dwUsedSize: u32,
13379     pub dwProviderInfoSize: u32,
13380     pub dwProviderInfoOffset: u32,
13381     pub dwSwitchInfoSize: u32,
13382     pub dwSwitchInfoOffset: u32,
13383     pub dwPermanentLineID: u32,
13384     pub dwLineNameSize: u32,
13385     pub dwLineNameOffset: u32,
13386     pub dwStringFormat: u32,
13387     pub dwAddressModes: u32,
13388     pub dwNumAddresses: u32,
13389     pub dwBearerModes: u32,
13390     pub dwMaxRate: u32,
13391     pub dwMediaModes: u32,
13392     pub dwGenerateToneModes: u32,
13393     pub dwGenerateToneMaxNumFreq: u32,
13394     pub dwGenerateDigitModes: u32,
13395     pub dwMonitorToneMaxNumFreq: u32,
13396     pub dwMonitorToneMaxNumEntries: u32,
13397     pub dwMonitorDigitModes: u32,
13398     pub dwGatherDigitsMinTimeout: u32,
13399     pub dwGatherDigitsMaxTimeout: u32,
13400     pub dwMedCtlDigitMaxListSize: u32,
13401     pub dwMedCtlMediaMaxListSize: u32,
13402     pub dwMedCtlToneMaxListSize: u32,
13403     pub dwMedCtlCallStateMaxListSize: u32,
13404     pub dwDevCapFlags: u32,
13405     pub dwMaxNumActiveCalls: u32,
13406     pub dwAnswerMode: u32,
13407     pub dwRingModes: u32,
13408     pub dwLineStates: u32,
13409     pub dwUUIAcceptSize: u32,
13410     pub dwUUIAnswerSize: u32,
13411     pub dwUUIMakeCallSize: u32,
13412     pub dwUUIDropSize: u32,
13413     pub dwUUISendUserUserInfoSize: u32,
13414     pub dwUUICallInfoSize: u32,
13415     pub MinDialParams: LINEDIALPARAMS,
13416     pub MaxDialParams: LINEDIALPARAMS,
13417     pub DefaultDialParams: LINEDIALPARAMS,
13418     pub dwNumTerminals: u32,
13419     pub dwTerminalCapsSize: u32,
13420     pub dwTerminalCapsOffset: u32,
13421     pub dwTerminalTextEntrySize: u32,
13422     pub dwTerminalTextSize: u32,
13423     pub dwTerminalTextOffset: u32,
13424     pub dwDevSpecificSize: u32,
13425     pub dwDevSpecificOffset: u32,
13426     pub dwLineFeatures: u32,
13427     pub dwSettableDevStatus: u32,
13428     pub dwDeviceClassesSize: u32,
13429     pub dwDeviceClassesOffset: u32,
13430     pub PermanentLineGuid: ::windows::runtime::GUID,
13431 }
13432 impl LINEDEVCAPS {}
13433 impl ::std::default::Default for LINEDEVCAPS {
13434     fn default() -> Self {
13435         unsafe { ::std::mem::zeroed() }
13436     }
13437 }
13438 impl ::std::cmp::PartialEq for LINEDEVCAPS {
13439     fn eq(&self, _other: &Self) -> bool {
13440         unimplemented!()
13441     }
13442 }
13443 impl ::std::cmp::Eq for LINEDEVCAPS {}
13444 unsafe impl ::windows::runtime::Abi for LINEDEVCAPS {
13445     type Abi = Self;
13446     type DefaultType = Self;
13447 }
13448 pub const LINEDEVSTATE_BATTERY: u32 = 32768u32;
13449 pub const LINEDEVSTATE_CAPSCHANGE: u32 = 1048576u32;
13450 pub const LINEDEVSTATE_CLOSE: u32 = 1024u32;
13451 pub const LINEDEVSTATE_COMPLCANCEL: u32 = 8388608u32;
13452 pub const LINEDEVSTATE_CONFIGCHANGE: u32 = 2097152u32;
13453 pub const LINEDEVSTATE_CONNECTED: u32 = 4u32;
13454 pub const LINEDEVSTATE_DEVSPECIFIC: u32 = 131072u32;
13455 pub const LINEDEVSTATE_DISCONNECTED: u32 = 8u32;
13456 pub const LINEDEVSTATE_INSERVICE: u32 = 64u32;
13457 pub const LINEDEVSTATE_LOCK: u32 = 524288u32;
13458 pub const LINEDEVSTATE_MAINTENANCE: u32 = 256u32;
13459 pub const LINEDEVSTATE_MSGWAITOFF: u32 = 32u32;
13460 pub const LINEDEVSTATE_MSGWAITON: u32 = 16u32;
13461 pub const LINEDEVSTATE_NUMCALLS: u32 = 2048u32;
13462 pub const LINEDEVSTATE_NUMCOMPLETIONS: u32 = 4096u32;
13463 pub const LINEDEVSTATE_OPEN: u32 = 512u32;
13464 pub const LINEDEVSTATE_OTHER: u32 = 1u32;
13465 pub const LINEDEVSTATE_OUTOFSERVICE: u32 = 128u32;
13466 pub const LINEDEVSTATE_REINIT: u32 = 262144u32;
13467 pub const LINEDEVSTATE_REMOVED: u32 = 16777216u32;
13468 pub const LINEDEVSTATE_RINGING: u32 = 2u32;
13469 pub const LINEDEVSTATE_ROAMMODE: u32 = 16384u32;
13470 pub const LINEDEVSTATE_SIGNAL: u32 = 65536u32;
13471 pub const LINEDEVSTATE_TERMINALS: u32 = 8192u32;
13472 pub const LINEDEVSTATE_TRANSLATECHANGE: u32 = 4194304u32;
13473 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13474 #[repr(C, packed(1))]
13475 pub struct LINEDEVSTATUS {
13476     pub dwTotalSize: u32,
13477     pub dwNeededSize: u32,
13478     pub dwUsedSize: u32,
13479     pub dwNumOpens: u32,
13480     pub dwOpenMediaModes: u32,
13481     pub dwNumActiveCalls: u32,
13482     pub dwNumOnHoldCalls: u32,
13483     pub dwNumOnHoldPendCalls: u32,
13484     pub dwLineFeatures: u32,
13485     pub dwNumCallCompletions: u32,
13486     pub dwRingMode: u32,
13487     pub dwSignalLevel: u32,
13488     pub dwBatteryLevel: u32,
13489     pub dwRoamMode: u32,
13490     pub dwDevStatusFlags: u32,
13491     pub dwTerminalModesSize: u32,
13492     pub dwTerminalModesOffset: u32,
13493     pub dwDevSpecificSize: u32,
13494     pub dwDevSpecificOffset: u32,
13495     pub dwAvailableMediaModes: u32,
13496     pub dwAppInfoSize: u32,
13497     pub dwAppInfoOffset: u32,
13498 }
13499 impl LINEDEVSTATUS {}
13500 impl ::std::default::Default for LINEDEVSTATUS {
13501     fn default() -> Self {
13502         unsafe { ::std::mem::zeroed() }
13503     }
13504 }
13505 impl ::std::cmp::PartialEq for LINEDEVSTATUS {
13506     fn eq(&self, _other: &Self) -> bool {
13507         unimplemented!()
13508     }
13509 }
13510 impl ::std::cmp::Eq for LINEDEVSTATUS {}
13511 unsafe impl ::windows::runtime::Abi for LINEDEVSTATUS {
13512     type Abi = Self;
13513     type DefaultType = Self;
13514 }
13515 pub const LINEDEVSTATUSFLAGS_CONNECTED: u32 = 1u32;
13516 pub const LINEDEVSTATUSFLAGS_INSERVICE: u32 = 4u32;
13517 pub const LINEDEVSTATUSFLAGS_LOCKED: u32 = 8u32;
13518 pub const LINEDEVSTATUSFLAGS_MSGWAIT: u32 = 2u32;
13519 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13520 #[repr(C, packed(1))]
13521 pub struct LINEDIALPARAMS {
13522     pub dwDialPause: u32,
13523     pub dwDialSpeed: u32,
13524     pub dwDigitDuration: u32,
13525     pub dwWaitForDialtone: u32,
13526 }
13527 impl LINEDIALPARAMS {}
13528 impl ::std::default::Default for LINEDIALPARAMS {
13529     fn default() -> Self {
13530         unsafe { ::std::mem::zeroed() }
13531     }
13532 }
13533 impl ::std::cmp::PartialEq for LINEDIALPARAMS {
13534     fn eq(&self, _other: &Self) -> bool {
13535         unimplemented!()
13536     }
13537 }
13538 impl ::std::cmp::Eq for LINEDIALPARAMS {}
13539 unsafe impl ::windows::runtime::Abi for LINEDIALPARAMS {
13540     type Abi = Self;
13541     type DefaultType = Self;
13542 }
13543 pub const LINEDIALTONEMODE_EXTERNAL: u32 = 8u32;
13544 pub const LINEDIALTONEMODE_INTERNAL: u32 = 4u32;
13545 pub const LINEDIALTONEMODE_NORMAL: u32 = 1u32;
13546 pub const LINEDIALTONEMODE_SPECIAL: u32 = 2u32;
13547 pub const LINEDIALTONEMODE_UNAVAIL: u32 = 32u32;
13548 pub const LINEDIALTONEMODE_UNKNOWN: u32 = 16u32;
13549 pub const LINEDIGITMODE_DTMF: u32 = 2u32;
13550 pub const LINEDIGITMODE_DTMFEND: u32 = 4u32;
13551 pub const LINEDIGITMODE_PULSE: u32 = 1u32;
13552 pub const LINEDISCONNECTMODE_BADADDRESS: u32 = 128u32;
13553 pub const LINEDISCONNECTMODE_BLOCKED: u32 = 131072u32;
13554 pub const LINEDISCONNECTMODE_BUSY: u32 = 32u32;
13555 pub const LINEDISCONNECTMODE_CANCELLED: u32 = 524288u32;
13556 pub const LINEDISCONNECTMODE_CONGESTION: u32 = 512u32;
13557 pub const LINEDISCONNECTMODE_DESTINATIONBARRED: u32 = 1048576u32;
13558 pub const LINEDISCONNECTMODE_DONOTDISTURB: u32 = 262144u32;
13559 pub const LINEDISCONNECTMODE_FDNRESTRICT: u32 = 2097152u32;
13560 pub const LINEDISCONNECTMODE_FORWARDED: u32 = 16u32;
13561 pub const LINEDISCONNECTMODE_INCOMPATIBLE: u32 = 1024u32;
13562 pub const LINEDISCONNECTMODE_NOANSWER: u32 = 64u32;
13563 pub const LINEDISCONNECTMODE_NODIALTONE: u32 = 4096u32;
13564 pub const LINEDISCONNECTMODE_NORMAL: u32 = 1u32;
13565 pub const LINEDISCONNECTMODE_NUMBERCHANGED: u32 = 8192u32;
13566 pub const LINEDISCONNECTMODE_OUTOFORDER: u32 = 16384u32;
13567 pub const LINEDISCONNECTMODE_PICKUP: u32 = 8u32;
13568 pub const LINEDISCONNECTMODE_QOSUNAVAIL: u32 = 65536u32;
13569 pub const LINEDISCONNECTMODE_REJECT: u32 = 4u32;
13570 pub const LINEDISCONNECTMODE_TEMPFAILURE: u32 = 32768u32;
13571 pub const LINEDISCONNECTMODE_UNAVAIL: u32 = 2048u32;
13572 pub const LINEDISCONNECTMODE_UNKNOWN: u32 = 2u32;
13573 pub const LINEDISCONNECTMODE_UNREACHABLE: u32 = 256u32;
13574 pub const LINEEQOSINFO_ADMISSIONFAILURE: u32 = 2u32;
13575 pub const LINEEQOSINFO_GENERICERROR: u32 = 4u32;
13576 pub const LINEEQOSINFO_NOQOS: u32 = 1u32;
13577 pub const LINEEQOSINFO_POLICYFAILURE: u32 = 3u32;
13578 pub const LINEERR_ADDRESSBLOCKED: u32 = 2147483731u32;
13579 pub const LINEERR_ALLOCATED: u32 = 2147483649u32;
13580 pub const LINEERR_BADDEVICEID: u32 = 2147483650u32;
13581 pub const LINEERR_BEARERMODEUNAVAIL: u32 = 2147483651u32;
13582 pub const LINEERR_BILLINGREJECTED: u32 = 2147483732u32;
13583 pub const LINEERR_CALLUNAVAIL: u32 = 2147483653u32;
13584 pub const LINEERR_COMPLETIONOVERRUN: u32 = 2147483654u32;
13585 pub const LINEERR_CONFERENCEFULL: u32 = 2147483655u32;
13586 pub const LINEERR_DIALBILLING: u32 = 2147483656u32;
13587 pub const LINEERR_DIALDIALTONE: u32 = 2147483657u32;
13588 pub const LINEERR_DIALPROMPT: u32 = 2147483658u32;
13589 pub const LINEERR_DIALQUIET: u32 = 2147483659u32;
13590 pub const LINEERR_DIALVOICEDETECT: u32 = 2147483740u32;
13591 pub const LINEERR_DISCONNECTED: u32 = 2147483744u32;
13592 pub const LINEERR_INCOMPATIBLEAPIVERSION: u32 = 2147483660u32;
13593 pub const LINEERR_INCOMPATIBLEEXTVERSION: u32 = 2147483661u32;
13594 pub const LINEERR_INIFILECORRUPT: u32 = 2147483662u32;
13595 pub const LINEERR_INUSE: u32 = 2147483663u32;
13596 pub const LINEERR_INVALADDRESS: u32 = 2147483664u32;
13597 pub const LINEERR_INVALADDRESSID: u32 = 2147483665u32;
13598 pub const LINEERR_INVALADDRESSMODE: u32 = 2147483666u32;
13599 pub const LINEERR_INVALADDRESSSTATE: u32 = 2147483667u32;
13600 pub const LINEERR_INVALADDRESSTYPE: u32 = 2147483742u32;
13601 pub const LINEERR_INVALAGENTACTIVITY: u32 = 2147483739u32;
13602 pub const LINEERR_INVALAGENTGROUP: u32 = 2147483736u32;
13603 pub const LINEERR_INVALAGENTID: u32 = 2147483735u32;
13604 pub const LINEERR_INVALAGENTSESSIONSTATE: u32 = 2147483743u32;
13605 pub const LINEERR_INVALAGENTSTATE: u32 = 2147483738u32;
13606 pub const LINEERR_INVALAPPHANDLE: u32 = 2147483668u32;
13607 pub const LINEERR_INVALAPPNAME: u32 = 2147483669u32;
13608 pub const LINEERR_INVALBEARERMODE: u32 = 2147483670u32;
13609 pub const LINEERR_INVALCALLCOMPLMODE: u32 = 2147483671u32;
13610 pub const LINEERR_INVALCALLHANDLE: u32 = 2147483672u32;
13611 pub const LINEERR_INVALCALLPARAMS: u32 = 2147483673u32;
13612 pub const LINEERR_INVALCALLPRIVILEGE: u32 = 2147483674u32;
13613 pub const LINEERR_INVALCALLSELECT: u32 = 2147483675u32;
13614 pub const LINEERR_INVALCALLSTATE: u32 = 2147483676u32;
13615 pub const LINEERR_INVALCALLSTATELIST: u32 = 2147483677u32;
13616 pub const LINEERR_INVALCARD: u32 = 2147483678u32;
13617 pub const LINEERR_INVALCOMPLETIONID: u32 = 2147483679u32;
13618 pub const LINEERR_INVALCONFCALLHANDLE: u32 = 2147483680u32;
13619 pub const LINEERR_INVALCONSULTCALLHANDLE: u32 = 2147483681u32;
13620 pub const LINEERR_INVALCOUNTRYCODE: u32 = 2147483682u32;
13621 pub const LINEERR_INVALDEVICECLASS: u32 = 2147483683u32;
13622 pub const LINEERR_INVALDEVICEHANDLE: u32 = 2147483684u32;
13623 pub const LINEERR_INVALDIALPARAMS: u32 = 2147483685u32;
13624 pub const LINEERR_INVALDIGITLIST: u32 = 2147483686u32;
13625 pub const LINEERR_INVALDIGITMODE: u32 = 2147483687u32;
13626 pub const LINEERR_INVALDIGITS: u32 = 2147483688u32;
13627 pub const LINEERR_INVALEXTVERSION: u32 = 2147483689u32;
13628 pub const LINEERR_INVALFEATURE: u32 = 2147483733u32;
13629 pub const LINEERR_INVALGROUPID: u32 = 2147483690u32;
13630 pub const LINEERR_INVALLINEHANDLE: u32 = 2147483691u32;
13631 pub const LINEERR_INVALLINESTATE: u32 = 2147483692u32;
13632 pub const LINEERR_INVALLOCATION: u32 = 2147483693u32;
13633 pub const LINEERR_INVALMEDIALIST: u32 = 2147483694u32;
13634 pub const LINEERR_INVALMEDIAMODE: u32 = 2147483695u32;
13635 pub const LINEERR_INVALMESSAGEID: u32 = 2147483696u32;
13636 pub const LINEERR_INVALPARAM: u32 = 2147483698u32;
13637 pub const LINEERR_INVALPARKID: u32 = 2147483699u32;
13638 pub const LINEERR_INVALPARKMODE: u32 = 2147483700u32;
13639 pub const LINEERR_INVALPASSWORD: u32 = 2147483737u32;
13640 pub const LINEERR_INVALPOINTER: u32 = 2147483701u32;
13641 pub const LINEERR_INVALPRIVSELECT: u32 = 2147483702u32;
13642 pub const LINEERR_INVALRATE: u32 = 2147483703u32;
13643 pub const LINEERR_INVALREQUESTMODE: u32 = 2147483704u32;
13644 pub const LINEERR_INVALTERMINALID: u32 = 2147483705u32;
13645 pub const LINEERR_INVALTERMINALMODE: u32 = 2147483706u32;
13646 pub const LINEERR_INVALTIMEOUT: u32 = 2147483707u32;
13647 pub const LINEERR_INVALTONE: u32 = 2147483708u32;
13648 pub const LINEERR_INVALTONELIST: u32 = 2147483709u32;
13649 pub const LINEERR_INVALTONEMODE: u32 = 2147483710u32;
13650 pub const LINEERR_INVALTRANSFERMODE: u32 = 2147483711u32;
13651 pub const LINEERR_LINEMAPPERFAILED: u32 = 2147483712u32;
13652 pub const LINEERR_NOCONFERENCE: u32 = 2147483713u32;
13653 pub const LINEERR_NODEVICE: u32 = 2147483714u32;
13654 pub const LINEERR_NODRIVER: u32 = 2147483715u32;
13655 pub const LINEERR_NOMEM: u32 = 2147483716u32;
13656 pub const LINEERR_NOMULTIPLEINSTANCE: u32 = 2147483734u32;
13657 pub const LINEERR_NOREQUEST: u32 = 2147483717u32;
13658 pub const LINEERR_NOTOWNER: u32 = 2147483718u32;
13659 pub const LINEERR_NOTREGISTERED: u32 = 2147483719u32;
13660 pub const LINEERR_OPERATIONFAILED: u32 = 2147483720u32;
13661 pub const LINEERR_OPERATIONUNAVAIL: u32 = 2147483721u32;
13662 pub const LINEERR_RATEUNAVAIL: u32 = 2147483722u32;
13663 pub const LINEERR_REINIT: u32 = 2147483730u32;
13664 pub const LINEERR_REQUESTOVERRUN: u32 = 2147483724u32;
13665 pub const LINEERR_RESOURCEUNAVAIL: u32 = 2147483723u32;
13666 pub const LINEERR_SERVICE_NOT_RUNNING: u32 = 2147483745u32;
13667 pub const LINEERR_STRUCTURETOOSMALL: u32 = 2147483725u32;
13668 pub const LINEERR_TARGETNOTFOUND: u32 = 2147483726u32;
13669 pub const LINEERR_TARGETSELF: u32 = 2147483727u32;
13670 pub const LINEERR_UNINITIALIZED: u32 = 2147483728u32;
13671 pub const LINEERR_USERCANCELLED: u32 = 2147483741u32;
13672 pub const LINEERR_USERUSERINFOTOOBIG: u32 = 2147483729u32;
13673 pub type LINEEVENT = unsafe extern "system" fn(htline: *mut HTAPILINE__, htcall: *mut HTAPICALL__, dwmsg: u32, dwparam1: usize, dwparam2: usize, dwparam3: usize);
13674 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13675 #[repr(C, packed(1))]
13676 pub struct LINEEXTENSIONID {
13677     pub dwExtensionID0: u32,
13678     pub dwExtensionID1: u32,
13679     pub dwExtensionID2: u32,
13680     pub dwExtensionID3: u32,
13681 }
13682 impl LINEEXTENSIONID {}
13683 impl ::std::default::Default for LINEEXTENSIONID {
13684     fn default() -> Self {
13685         unsafe { ::std::mem::zeroed() }
13686     }
13687 }
13688 impl ::std::cmp::PartialEq for LINEEXTENSIONID {
13689     fn eq(&self, _other: &Self) -> bool {
13690         unimplemented!()
13691     }
13692 }
13693 impl ::std::cmp::Eq for LINEEXTENSIONID {}
13694 unsafe impl ::windows::runtime::Abi for LINEEXTENSIONID {
13695     type Abi = Self;
13696     type DefaultType = Self;
13697 }
13698 pub const LINEFEATURE_DEVSPECIFIC: u32 = 1u32;
13699 pub const LINEFEATURE_DEVSPECIFICFEAT: u32 = 2u32;
13700 pub const LINEFEATURE_FORWARD: u32 = 4u32;
13701 pub const LINEFEATURE_FORWARDDND: u32 = 256u32;
13702 pub const LINEFEATURE_FORWARDFWD: u32 = 128u32;
13703 pub const LINEFEATURE_MAKECALL: u32 = 8u32;
13704 pub const LINEFEATURE_SETDEVSTATUS: u32 = 64u32;
13705 pub const LINEFEATURE_SETMEDIACONTROL: u32 = 16u32;
13706 pub const LINEFEATURE_SETTERMINAL: u32 = 32u32;
13707 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13708 #[repr(C, packed(1))]
13709 pub struct LINEFORWARD {
13710     pub dwForwardMode: u32,
13711     pub dwCallerAddressSize: u32,
13712     pub dwCallerAddressOffset: u32,
13713     pub dwDestCountryCode: u32,
13714     pub dwDestAddressSize: u32,
13715     pub dwDestAddressOffset: u32,
13716 }
13717 impl LINEFORWARD {}
13718 impl ::std::default::Default for LINEFORWARD {
13719     fn default() -> Self {
13720         unsafe { ::std::mem::zeroed() }
13721     }
13722 }
13723 impl ::std::cmp::PartialEq for LINEFORWARD {
13724     fn eq(&self, _other: &Self) -> bool {
13725         unimplemented!()
13726     }
13727 }
13728 impl ::std::cmp::Eq for LINEFORWARD {}
13729 unsafe impl ::windows::runtime::Abi for LINEFORWARD {
13730     type Abi = Self;
13731     type DefaultType = Self;
13732 }
13733 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13734 #[repr(C, packed(1))]
13735 pub struct LINEFORWARDLIST {
13736     pub dwTotalSize: u32,
13737     pub dwNumEntries: u32,
13738     pub ForwardList: [LINEFORWARD; 1],
13739 }
13740 impl LINEFORWARDLIST {}
13741 impl ::std::default::Default for LINEFORWARDLIST {
13742     fn default() -> Self {
13743         unsafe { ::std::mem::zeroed() }
13744     }
13745 }
13746 impl ::std::cmp::PartialEq for LINEFORWARDLIST {
13747     fn eq(&self, _other: &Self) -> bool {
13748         unimplemented!()
13749     }
13750 }
13751 impl ::std::cmp::Eq for LINEFORWARDLIST {}
13752 unsafe impl ::windows::runtime::Abi for LINEFORWARDLIST {
13753     type Abi = Self;
13754     type DefaultType = Self;
13755 }
13756 pub const LINEFORWARDMODE_BUSY: u32 = 16u32;
13757 pub const LINEFORWARDMODE_BUSYEXTERNAL: u32 = 64u32;
13758 pub const LINEFORWARDMODE_BUSYINTERNAL: u32 = 32u32;
13759 pub const LINEFORWARDMODE_BUSYNA: u32 = 4096u32;
13760 pub const LINEFORWARDMODE_BUSYNAEXTERNAL: u32 = 16384u32;
13761 pub const LINEFORWARDMODE_BUSYNAINTERNAL: u32 = 8192u32;
13762 pub const LINEFORWARDMODE_BUSYNASPECIFIC: u32 = 32768u32;
13763 pub const LINEFORWARDMODE_BUSYSPECIFIC: u32 = 128u32;
13764 pub const LINEFORWARDMODE_NOANSW: u32 = 256u32;
13765 pub const LINEFORWARDMODE_NOANSWEXTERNAL: u32 = 1024u32;
13766 pub const LINEFORWARDMODE_NOANSWINTERNAL: u32 = 512u32;
13767 pub const LINEFORWARDMODE_NOANSWSPECIFIC: u32 = 2048u32;
13768 pub const LINEFORWARDMODE_UNAVAIL: u32 = 131072u32;
13769 pub const LINEFORWARDMODE_UNCOND: u32 = 1u32;
13770 pub const LINEFORWARDMODE_UNCONDEXTERNAL: u32 = 4u32;
13771 pub const LINEFORWARDMODE_UNCONDINTERNAL: u32 = 2u32;
13772 pub const LINEFORWARDMODE_UNCONDSPECIFIC: u32 = 8u32;
13773 pub const LINEFORWARDMODE_UNKNOWN: u32 = 65536u32;
13774 pub const LINEGATHERTERM_BUFFERFULL: u32 = 1u32;
13775 pub const LINEGATHERTERM_CANCEL: u32 = 16u32;
13776 pub const LINEGATHERTERM_FIRSTTIMEOUT: u32 = 4u32;
13777 pub const LINEGATHERTERM_INTERTIMEOUT: u32 = 8u32;
13778 pub const LINEGATHERTERM_TERMDIGIT: u32 = 2u32;
13779 pub const LINEGENERATETERM_CANCEL: u32 = 2u32;
13780 pub const LINEGENERATETERM_DONE: u32 = 1u32;
13781 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13782 #[repr(C, packed(1))]
13783 pub struct LINEGENERATETONE {
13784     pub dwFrequency: u32,
13785     pub dwCadenceOn: u32,
13786     pub dwCadenceOff: u32,
13787     pub dwVolume: u32,
13788 }
13789 impl LINEGENERATETONE {}
13790 impl ::std::default::Default for LINEGENERATETONE {
13791     fn default() -> Self {
13792         unsafe { ::std::mem::zeroed() }
13793     }
13794 }
13795 impl ::std::cmp::PartialEq for LINEGENERATETONE {
13796     fn eq(&self, _other: &Self) -> bool {
13797         unimplemented!()
13798     }
13799 }
13800 impl ::std::cmp::Eq for LINEGENERATETONE {}
13801 unsafe impl ::windows::runtime::Abi for LINEGENERATETONE {
13802     type Abi = Self;
13803     type DefaultType = Self;
13804 }
13805 pub const LINEGROUPSTATUS_GROUPREMOVED: u32 = 2u32;
13806 pub const LINEGROUPSTATUS_NEWGROUP: u32 = 1u32;
13807 pub const LINEINITIALIZEEXOPTION_CALLHUBTRACKING: u32 = 2147483648u32;
13808 pub const LINEINITIALIZEEXOPTION_USECOMPLETIONPORT: u32 = 3u32;
13809 pub const LINEINITIALIZEEXOPTION_USEEVENT: u32 = 2u32;
13810 pub const LINEINITIALIZEEXOPTION_USEHIDDENWINDOW: u32 = 1u32;
13811 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13812 #[repr(C, packed(1))]
13813 #[cfg(feature = "Win32_Foundation")]
13814 pub struct LINEINITIALIZEEXPARAMS {
13815     pub dwTotalSize: u32,
13816     pub dwNeededSize: u32,
13817     pub dwUsedSize: u32,
13818     pub dwOptions: u32,
13819     pub Handles: LINEINITIALIZEEXPARAMS_0,
13820     pub dwCompletionKey: u32,
13821 }
13822 #[cfg(feature = "Win32_Foundation")]
13823 impl LINEINITIALIZEEXPARAMS {}
13824 #[cfg(feature = "Win32_Foundation")]
13825 impl ::std::default::Default for LINEINITIALIZEEXPARAMS {
13826     fn default() -> Self {
13827         unsafe { ::std::mem::zeroed() }
13828     }
13829 }
13830 #[cfg(feature = "Win32_Foundation")]
13831 impl ::std::cmp::PartialEq for LINEINITIALIZEEXPARAMS {
13832     fn eq(&self, _other: &Self) -> bool {
13833         unimplemented!()
13834     }
13835 }
13836 #[cfg(feature = "Win32_Foundation")]
13837 impl ::std::cmp::Eq for LINEINITIALIZEEXPARAMS {}
13838 #[cfg(feature = "Win32_Foundation")]
13839 unsafe impl ::windows::runtime::Abi for LINEINITIALIZEEXPARAMS {
13840     type Abi = Self;
13841     type DefaultType = Self;
13842 }
13843 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13844 #[repr(C, packed(1))]
13845 #[cfg(feature = "Win32_Foundation")]
13846 pub union LINEINITIALIZEEXPARAMS_0 {
13847     pub hEvent: super::super::Foundation::HANDLE,
13848     pub hCompletionPort: super::super::Foundation::HANDLE,
13849 }
13850 #[cfg(feature = "Win32_Foundation")]
13851 impl LINEINITIALIZEEXPARAMS_0 {}
13852 #[cfg(feature = "Win32_Foundation")]
13853 impl ::std::default::Default for LINEINITIALIZEEXPARAMS_0 {
13854     fn default() -> Self {
13855         unsafe { ::std::mem::zeroed() }
13856     }
13857 }
13858 #[cfg(feature = "Win32_Foundation")]
13859 impl ::std::cmp::PartialEq for LINEINITIALIZEEXPARAMS_0 {
13860     fn eq(&self, _other: &Self) -> bool {
13861         unimplemented!()
13862     }
13863 }
13864 #[cfg(feature = "Win32_Foundation")]
13865 impl ::std::cmp::Eq for LINEINITIALIZEEXPARAMS_0 {}
13866 #[cfg(feature = "Win32_Foundation")]
13867 unsafe impl ::windows::runtime::Abi for LINEINITIALIZEEXPARAMS_0 {
13868     type Abi = Self;
13869     type DefaultType = Self;
13870 }
13871 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13872 #[repr(C, packed(1))]
13873 pub struct LINELOCATIONENTRY {
13874     pub dwPermanentLocationID: u32,
13875     pub dwLocationNameSize: u32,
13876     pub dwLocationNameOffset: u32,
13877     pub dwCountryCode: u32,
13878     pub dwCityCodeSize: u32,
13879     pub dwCityCodeOffset: u32,
13880     pub dwPreferredCardID: u32,
13881     pub dwLocalAccessCodeSize: u32,
13882     pub dwLocalAccessCodeOffset: u32,
13883     pub dwLongDistanceAccessCodeSize: u32,
13884     pub dwLongDistanceAccessCodeOffset: u32,
13885     pub dwTollPrefixListSize: u32,
13886     pub dwTollPrefixListOffset: u32,
13887     pub dwCountryID: u32,
13888     pub dwOptions: u32,
13889     pub dwCancelCallWaitingSize: u32,
13890     pub dwCancelCallWaitingOffset: u32,
13891 }
13892 impl LINELOCATIONENTRY {}
13893 impl ::std::default::Default for LINELOCATIONENTRY {
13894     fn default() -> Self {
13895         unsafe { ::std::mem::zeroed() }
13896     }
13897 }
13898 impl ::std::cmp::PartialEq for LINELOCATIONENTRY {
13899     fn eq(&self, _other: &Self) -> bool {
13900         unimplemented!()
13901     }
13902 }
13903 impl ::std::cmp::Eq for LINELOCATIONENTRY {}
13904 unsafe impl ::windows::runtime::Abi for LINELOCATIONENTRY {
13905     type Abi = Self;
13906     type DefaultType = Self;
13907 }
13908 pub const LINELOCATIONOPTION_PULSEDIAL: u32 = 1u32;
13909 pub const LINEMAPPER: u32 = 4294967295u32;
13910 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13911 #[repr(C, packed(1))]
13912 pub struct LINEMEDIACONTROLCALLSTATE {
13913     pub dwCallStates: u32,
13914     pub dwMediaControl: u32,
13915 }
13916 impl LINEMEDIACONTROLCALLSTATE {}
13917 impl ::std::default::Default for LINEMEDIACONTROLCALLSTATE {
13918     fn default() -> Self {
13919         unsafe { ::std::mem::zeroed() }
13920     }
13921 }
13922 impl ::std::cmp::PartialEq for LINEMEDIACONTROLCALLSTATE {
13923     fn eq(&self, _other: &Self) -> bool {
13924         unimplemented!()
13925     }
13926 }
13927 impl ::std::cmp::Eq for LINEMEDIACONTROLCALLSTATE {}
13928 unsafe impl ::windows::runtime::Abi for LINEMEDIACONTROLCALLSTATE {
13929     type Abi = Self;
13930     type DefaultType = Self;
13931 }
13932 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13933 #[repr(C, packed(1))]
13934 pub struct LINEMEDIACONTROLDIGIT {
13935     pub dwDigit: u32,
13936     pub dwDigitModes: u32,
13937     pub dwMediaControl: u32,
13938 }
13939 impl LINEMEDIACONTROLDIGIT {}
13940 impl ::std::default::Default for LINEMEDIACONTROLDIGIT {
13941     fn default() -> Self {
13942         unsafe { ::std::mem::zeroed() }
13943     }
13944 }
13945 impl ::std::cmp::PartialEq for LINEMEDIACONTROLDIGIT {
13946     fn eq(&self, _other: &Self) -> bool {
13947         unimplemented!()
13948     }
13949 }
13950 impl ::std::cmp::Eq for LINEMEDIACONTROLDIGIT {}
13951 unsafe impl ::windows::runtime::Abi for LINEMEDIACONTROLDIGIT {
13952     type Abi = Self;
13953     type DefaultType = Self;
13954 }
13955 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13956 #[repr(C, packed(1))]
13957 pub struct LINEMEDIACONTROLMEDIA {
13958     pub dwMediaModes: u32,
13959     pub dwDuration: u32,
13960     pub dwMediaControl: u32,
13961 }
13962 impl LINEMEDIACONTROLMEDIA {}
13963 impl ::std::default::Default for LINEMEDIACONTROLMEDIA {
13964     fn default() -> Self {
13965         unsafe { ::std::mem::zeroed() }
13966     }
13967 }
13968 impl ::std::cmp::PartialEq for LINEMEDIACONTROLMEDIA {
13969     fn eq(&self, _other: &Self) -> bool {
13970         unimplemented!()
13971     }
13972 }
13973 impl ::std::cmp::Eq for LINEMEDIACONTROLMEDIA {}
13974 unsafe impl ::windows::runtime::Abi for LINEMEDIACONTROLMEDIA {
13975     type Abi = Self;
13976     type DefaultType = Self;
13977 }
13978 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13979 #[repr(C, packed(1))]
13980 pub struct LINEMEDIACONTROLTONE {
13981     pub dwAppSpecific: u32,
13982     pub dwDuration: u32,
13983     pub dwFrequency1: u32,
13984     pub dwFrequency2: u32,
13985     pub dwFrequency3: u32,
13986     pub dwMediaControl: u32,
13987 }
13988 impl LINEMEDIACONTROLTONE {}
13989 impl ::std::default::Default for LINEMEDIACONTROLTONE {
13990     fn default() -> Self {
13991         unsafe { ::std::mem::zeroed() }
13992     }
13993 }
13994 impl ::std::cmp::PartialEq for LINEMEDIACONTROLTONE {
13995     fn eq(&self, _other: &Self) -> bool {
13996         unimplemented!()
13997     }
13998 }
13999 impl ::std::cmp::Eq for LINEMEDIACONTROLTONE {}
14000 unsafe impl ::windows::runtime::Abi for LINEMEDIACONTROLTONE {
14001     type Abi = Self;
14002     type DefaultType = Self;
14003 }
14004 pub const LINEMEDIACONTROL_NONE: u32 = 1u32;
14005 pub const LINEMEDIACONTROL_PAUSE: u32 = 8u32;
14006 pub const LINEMEDIACONTROL_RATEDOWN: u32 = 64u32;
14007 pub const LINEMEDIACONTROL_RATENORMAL: u32 = 128u32;
14008 pub const LINEMEDIACONTROL_RATEUP: u32 = 32u32;
14009 pub const LINEMEDIACONTROL_RESET: u32 = 4u32;
14010 pub const LINEMEDIACONTROL_RESUME: u32 = 16u32;
14011 pub const LINEMEDIACONTROL_START: u32 = 2u32;
14012 pub const LINEMEDIACONTROL_VOLUMEDOWN: u32 = 512u32;
14013 pub const LINEMEDIACONTROL_VOLUMENORMAL: u32 = 1024u32;
14014 pub const LINEMEDIACONTROL_VOLUMEUP: u32 = 256u32;
14015 pub const LINEMEDIAMODE_ADSI: u32 = 8192u32;
14016 pub const LINEMEDIAMODE_AUTOMATEDVOICE: u32 = 8u32;
14017 pub const LINEMEDIAMODE_DATAMODEM: u32 = 16u32;
14018 pub const LINEMEDIAMODE_DIGITALDATA: u32 = 256u32;
14019 pub const LINEMEDIAMODE_G3FAX: u32 = 32u32;
14020 pub const LINEMEDIAMODE_G4FAX: u32 = 128u32;
14021 pub const LINEMEDIAMODE_INTERACTIVEVOICE: u32 = 4u32;
14022 pub const LINEMEDIAMODE_MIXED: u32 = 4096u32;
14023 pub const LINEMEDIAMODE_TDD: u32 = 64u32;
14024 pub const LINEMEDIAMODE_TELETEX: u32 = 512u32;
14025 pub const LINEMEDIAMODE_TELEX: u32 = 2048u32;
14026 pub const LINEMEDIAMODE_UNKNOWN: u32 = 2u32;
14027 pub const LINEMEDIAMODE_VIDEO: u32 = 32768u32;
14028 pub const LINEMEDIAMODE_VIDEOTEX: u32 = 1024u32;
14029 pub const LINEMEDIAMODE_VOICEVIEW: u32 = 16384u32;
14030 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14031 #[repr(C, packed(1))]
14032 pub struct LINEMESSAGE {
14033     pub hDevice: u32,
14034     pub dwMessageID: u32,
14035     pub dwCallbackInstance: usize,
14036     pub dwParam1: usize,
14037     pub dwParam2: usize,
14038     pub dwParam3: usize,
14039 }
14040 impl LINEMESSAGE {}
14041 impl ::std::default::Default for LINEMESSAGE {
14042     fn default() -> Self {
14043         unsafe { ::std::mem::zeroed() }
14044     }
14045 }
14046 impl ::std::cmp::PartialEq for LINEMESSAGE {
14047     fn eq(&self, _other: &Self) -> bool {
14048         unimplemented!()
14049     }
14050 }
14051 impl ::std::cmp::Eq for LINEMESSAGE {}
14052 unsafe impl ::windows::runtime::Abi for LINEMESSAGE {
14053     type Abi = Self;
14054     type DefaultType = Self;
14055 }
14056 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14057 #[repr(C, packed(1))]
14058 pub struct LINEMONITORTONE {
14059     pub dwAppSpecific: u32,
14060     pub dwDuration: u32,
14061     pub dwFrequency1: u32,
14062     pub dwFrequency2: u32,
14063     pub dwFrequency3: u32,
14064 }
14065 impl LINEMONITORTONE {}
14066 impl ::std::default::Default for LINEMONITORTONE {
14067     fn default() -> Self {
14068         unsafe { ::std::mem::zeroed() }
14069     }
14070 }
14071 impl ::std::cmp::PartialEq for LINEMONITORTONE {
14072     fn eq(&self, _other: &Self) -> bool {
14073         unimplemented!()
14074     }
14075 }
14076 impl ::std::cmp::Eq for LINEMONITORTONE {}
14077 unsafe impl ::windows::runtime::Abi for LINEMONITORTONE {
14078     type Abi = Self;
14079     type DefaultType = Self;
14080 }
14081 pub const LINEOFFERINGMODE_ACTIVE: u32 = 1u32;
14082 pub const LINEOFFERINGMODE_INACTIVE: u32 = 2u32;
14083 pub const LINEOPENOPTION_PROXY: u32 = 1073741824u32;
14084 pub const LINEOPENOPTION_SINGLEADDRESS: u32 = 2147483648u32;
14085 pub const LINEPARKMODE_DIRECTED: u32 = 1u32;
14086 pub const LINEPARKMODE_NONDIRECTED: u32 = 2u32;
14087 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14088 #[repr(C, packed(1))]
14089 pub struct LINEPROVIDERENTRY {
14090     pub dwPermanentProviderID: u32,
14091     pub dwProviderFilenameSize: u32,
14092     pub dwProviderFilenameOffset: u32,
14093 }
14094 impl LINEPROVIDERENTRY {}
14095 impl ::std::default::Default for LINEPROVIDERENTRY {
14096     fn default() -> Self {
14097         unsafe { ::std::mem::zeroed() }
14098     }
14099 }
14100 impl ::std::cmp::PartialEq for LINEPROVIDERENTRY {
14101     fn eq(&self, _other: &Self) -> bool {
14102         unimplemented!()
14103     }
14104 }
14105 impl ::std::cmp::Eq for LINEPROVIDERENTRY {}
14106 unsafe impl ::windows::runtime::Abi for LINEPROVIDERENTRY {
14107     type Abi = Self;
14108     type DefaultType = Self;
14109 }
14110 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14111 #[repr(C, packed(1))]
14112 pub struct LINEPROVIDERLIST {
14113     pub dwTotalSize: u32,
14114     pub dwNeededSize: u32,
14115     pub dwUsedSize: u32,
14116     pub dwNumProviders: u32,
14117     pub dwProviderListSize: u32,
14118     pub dwProviderListOffset: u32,
14119 }
14120 impl LINEPROVIDERLIST {}
14121 impl ::std::default::Default for LINEPROVIDERLIST {
14122     fn default() -> Self {
14123         unsafe { ::std::mem::zeroed() }
14124     }
14125 }
14126 impl ::std::cmp::PartialEq for LINEPROVIDERLIST {
14127     fn eq(&self, _other: &Self) -> bool {
14128         unimplemented!()
14129     }
14130 }
14131 impl ::std::cmp::Eq for LINEPROVIDERLIST {}
14132 unsafe impl ::windows::runtime::Abi for LINEPROVIDERLIST {
14133     type Abi = Self;
14134     type DefaultType = Self;
14135 }
14136 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14137 #[repr(C, packed(1))]
14138 #[cfg(feature = "Win32_System_Com")]
14139 pub struct LINEPROXYREQUEST {
14140     pub dwSize: u32,
14141     pub dwClientMachineNameSize: u32,
14142     pub dwClientMachineNameOffset: u32,
14143     pub dwClientUserNameSize: u32,
14144     pub dwClientUserNameOffset: u32,
14145     pub dwClientAppAPIVersion: u32,
14146     pub dwRequestType: u32,
14147     pub Anonymous: LINEPROXYREQUEST_0,
14148 }
14149 #[cfg(feature = "Win32_System_Com")]
14150 impl LINEPROXYREQUEST {}
14151 #[cfg(feature = "Win32_System_Com")]
14152 impl ::std::default::Default for LINEPROXYREQUEST {
14153     fn default() -> Self {
14154         unsafe { ::std::mem::zeroed() }
14155     }
14156 }
14157 #[cfg(feature = "Win32_System_Com")]
14158 impl ::std::cmp::PartialEq for LINEPROXYREQUEST {
14159     fn eq(&self, _other: &Self) -> bool {
14160         unimplemented!()
14161     }
14162 }
14163 #[cfg(feature = "Win32_System_Com")]
14164 impl ::std::cmp::Eq for LINEPROXYREQUEST {}
14165 #[cfg(feature = "Win32_System_Com")]
14166 unsafe impl ::windows::runtime::Abi for LINEPROXYREQUEST {
14167     type Abi = Self;
14168     type DefaultType = Self;
14169 }
14170 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14171 #[repr(C)]
14172 #[cfg(feature = "Win32_System_Com")]
14173 pub union LINEPROXYREQUEST_0 {
14174     pub SetAgentGroup: LINEPROXYREQUEST_0_14,
14175     pub SetAgentState: LINEPROXYREQUEST_0_18,
14176     pub SetAgentActivity: LINEPROXYREQUEST_0_13,
14177     pub GetAgentCaps: LINEPROXYREQUEST_0_4,
14178     pub GetAgentStatus: LINEPROXYREQUEST_0_9,
14179     pub AgentSpecific: LINEPROXYREQUEST_0_0,
14180     pub GetAgentActivityList: LINEPROXYREQUEST_0_3,
14181     pub GetAgentGroupList: LINEPROXYREQUEST_0_5,
14182     pub CreateAgent: LINEPROXYREQUEST_0_2,
14183     pub SetAgentStateEx: LINEPROXYREQUEST_0_17,
14184     pub SetAgentMeasurementPeriod: LINEPROXYREQUEST_0_15,
14185     pub GetAgentInfo: LINEPROXYREQUEST_0_6,
14186     pub CreateAgentSession: LINEPROXYREQUEST_0_1,
14187     pub GetAgentSessionList: LINEPROXYREQUEST_0_8,
14188     pub GetAgentSessionInfo: LINEPROXYREQUEST_0_7,
14189     pub SetAgentSessionState: LINEPROXYREQUEST_0_16,
14190     pub GetQueueList: LINEPROXYREQUEST_0_12,
14191     pub SetQueueMeasurementPeriod: LINEPROXYREQUEST_0_19,
14192     pub GetQueueInfo: LINEPROXYREQUEST_0_11,
14193     pub GetGroupList: LINEPROXYREQUEST_0_10,
14194 }
14195 #[cfg(feature = "Win32_System_Com")]
14196 impl LINEPROXYREQUEST_0 {}
14197 #[cfg(feature = "Win32_System_Com")]
14198 impl ::std::default::Default for LINEPROXYREQUEST_0 {
14199     fn default() -> Self {
14200         unsafe { ::std::mem::zeroed() }
14201     }
14202 }
14203 #[cfg(feature = "Win32_System_Com")]
14204 impl ::std::cmp::PartialEq for LINEPROXYREQUEST_0 {
14205     fn eq(&self, _other: &Self) -> bool {
14206         unimplemented!()
14207     }
14208 }
14209 #[cfg(feature = "Win32_System_Com")]
14210 impl ::std::cmp::Eq for LINEPROXYREQUEST_0 {}
14211 #[cfg(feature = "Win32_System_Com")]
14212 unsafe impl ::windows::runtime::Abi for LINEPROXYREQUEST_0 {
14213     type Abi = Self;
14214     type DefaultType = Self;
14215 }
14216 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14217 #[repr(C, packed(1))]
14218 pub struct LINEPROXYREQUEST_0_0 {
14219     pub dwAddressID: u32,
14220     pub dwAgentExtensionIDIndex: u32,
14221     pub dwSize: u32,
14222     pub Params: [u8; 1],
14223 }
14224 impl LINEPROXYREQUEST_0_0 {}
14225 impl ::std::default::Default for LINEPROXYREQUEST_0_0 {
14226     fn default() -> Self {
14227         unsafe { ::std::mem::zeroed() }
14228     }
14229 }
14230 impl ::std::cmp::PartialEq for LINEPROXYREQUEST_0_0 {
14231     fn eq(&self, _other: &Self) -> bool {
14232         unimplemented!()
14233     }
14234 }
14235 impl ::std::cmp::Eq for LINEPROXYREQUEST_0_0 {}
14236 unsafe impl ::windows::runtime::Abi for LINEPROXYREQUEST_0_0 {
14237     type Abi = Self;
14238     type DefaultType = Self;
14239 }
14240 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14241 #[repr(C, packed(1))]
14242 pub struct LINEPROXYREQUEST_0_1 {
14243     pub hAgentSession: u32,
14244     pub dwAgentPINSize: u32,
14245     pub dwAgentPINOffset: u32,
14246     pub hAgent: u32,
14247     pub GroupID: ::windows::runtime::GUID,
14248     pub dwWorkingAddressID: u32,
14249 }
14250 impl LINEPROXYREQUEST_0_1 {}
14251 impl ::std::default::Default for LINEPROXYREQUEST_0_1 {
14252     fn default() -> Self {
14253         unsafe { ::std::mem::zeroed() }
14254     }
14255 }
14256 impl ::std::cmp::PartialEq for LINEPROXYREQUEST_0_1 {
14257     fn eq(&self, _other: &Self) -> bool {
14258         unimplemented!()
14259     }
14260 }
14261 impl ::std::cmp::Eq for LINEPROXYREQUEST_0_1 {}
14262 unsafe impl ::windows::runtime::Abi for LINEPROXYREQUEST_0_1 {
14263     type Abi = Self;
14264     type DefaultType = Self;
14265 }
14266 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14267 #[repr(C, packed(1))]
14268 pub struct LINEPROXYREQUEST_0_2 {
14269     pub hAgent: u32,
14270     pub dwAgentIDSize: u32,
14271     pub dwAgentIDOffset: u32,
14272     pub dwAgentPINSize: u32,
14273     pub dwAgentPINOffset: u32,
14274 }
14275 impl LINEPROXYREQUEST_0_2 {}
14276 impl ::std::default::Default for LINEPROXYREQUEST_0_2 {
14277     fn default() -> Self {
14278         unsafe { ::std::mem::zeroed() }
14279     }
14280 }
14281 impl ::std::cmp::PartialEq for LINEPROXYREQUEST_0_2 {
14282     fn eq(&self, _other: &Self) -> bool {
14283         unimplemented!()
14284     }
14285 }
14286 impl ::std::cmp::Eq for LINEPROXYREQUEST_0_2 {}
14287 unsafe impl ::windows::runtime::Abi for LINEPROXYREQUEST_0_2 {
14288     type Abi = Self;
14289     type DefaultType = Self;
14290 }
14291 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14292 #[repr(C, packed(1))]
14293 pub struct LINEPROXYREQUEST_0_3 {
14294     pub dwAddressID: u32,
14295     pub ActivityList: LINEAGENTACTIVITYLIST,
14296 }
14297 impl LINEPROXYREQUEST_0_3 {}
14298 impl ::std::default::Default for LINEPROXYREQUEST_0_3 {
14299     fn default() -> Self {
14300         unsafe { ::std::mem::zeroed() }
14301     }
14302 }
14303 impl ::std::cmp::PartialEq for LINEPROXYREQUEST_0_3 {
14304     fn eq(&self, _other: &Self) -> bool {
14305         unimplemented!()
14306     }
14307 }
14308 impl ::std::cmp::Eq for LINEPROXYREQUEST_0_3 {}
14309 unsafe impl ::windows::runtime::Abi for LINEPROXYREQUEST_0_3 {
14310     type Abi = Self;
14311     type DefaultType = Self;
14312 }
14313 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14314 #[repr(C, packed(1))]
14315 pub struct LINEPROXYREQUEST_0_4 {
14316     pub dwAddressID: u32,
14317     pub AgentCaps: LINEAGENTCAPS,
14318 }
14319 impl LINEPROXYREQUEST_0_4 {}
14320 impl ::std::default::Default for LINEPROXYREQUEST_0_4 {
14321     fn default() -> Self {
14322         unsafe { ::std::mem::zeroed() }
14323     }
14324 }
14325 impl ::std::cmp::PartialEq for LINEPROXYREQUEST_0_4 {
14326     fn eq(&self, _other: &Self) -> bool {
14327         unimplemented!()
14328     }
14329 }
14330 impl ::std::cmp::Eq for LINEPROXYREQUEST_0_4 {}
14331 unsafe impl ::windows::runtime::Abi for LINEPROXYREQUEST_0_4 {
14332     type Abi = Self;
14333     type DefaultType = Self;
14334 }
14335 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14336 #[repr(C, packed(1))]
14337 pub struct LINEPROXYREQUEST_0_5 {
14338     pub dwAddressID: u32,
14339     pub GroupList: LINEAGENTGROUPLIST,
14340 }
14341 impl LINEPROXYREQUEST_0_5 {}
14342 impl ::std::default::Default for LINEPROXYREQUEST_0_5 {
14343     fn default() -> Self {
14344         unsafe { ::std::mem::zeroed() }
14345     }
14346 }
14347 impl ::std::cmp::PartialEq for LINEPROXYREQUEST_0_5 {
14348     fn eq(&self, _other: &Self) -> bool {
14349         unimplemented!()
14350     }
14351 }
14352 impl ::std::cmp::Eq for LINEPROXYREQUEST_0_5 {}
14353 unsafe impl ::windows::runtime::Abi for LINEPROXYREQUEST_0_5 {
14354     type Abi = Self;
14355     type DefaultType = Self;
14356 }
14357 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14358 #[repr(C, packed(1))]
14359 #[cfg(feature = "Win32_System_Com")]
14360 pub struct LINEPROXYREQUEST_0_6 {
14361     pub hAgent: u32,
14362     pub AgentInfo: LINEAGENTINFO,
14363 }
14364 #[cfg(feature = "Win32_System_Com")]
14365 impl LINEPROXYREQUEST_0_6 {}
14366 #[cfg(feature = "Win32_System_Com")]
14367 impl ::std::default::Default for LINEPROXYREQUEST_0_6 {
14368     fn default() -> Self {
14369         unsafe { ::std::mem::zeroed() }
14370     }
14371 }
14372 #[cfg(feature = "Win32_System_Com")]
14373 impl ::std::cmp::PartialEq for LINEPROXYREQUEST_0_6 {
14374     fn eq(&self, _other: &Self) -> bool {
14375         unimplemented!()
14376     }
14377 }
14378 #[cfg(feature = "Win32_System_Com")]
14379 impl ::std::cmp::Eq for LINEPROXYREQUEST_0_6 {}
14380 #[cfg(feature = "Win32_System_Com")]
14381 unsafe impl ::windows::runtime::Abi for LINEPROXYREQUEST_0_6 {
14382     type Abi = Self;
14383     type DefaultType = Self;
14384 }
14385 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14386 #[repr(C, packed(1))]
14387 #[cfg(feature = "Win32_System_Com")]
14388 pub struct LINEPROXYREQUEST_0_7 {
14389     pub hAgentSession: u32,
14390     pub SessionInfo: LINEAGENTSESSIONINFO,
14391 }
14392 #[cfg(feature = "Win32_System_Com")]
14393 impl LINEPROXYREQUEST_0_7 {}
14394 #[cfg(feature = "Win32_System_Com")]
14395 impl ::std::default::Default for LINEPROXYREQUEST_0_7 {
14396     fn default() -> Self {
14397         unsafe { ::std::mem::zeroed() }
14398     }
14399 }
14400 #[cfg(feature = "Win32_System_Com")]
14401 impl ::std::cmp::PartialEq for LINEPROXYREQUEST_0_7 {
14402     fn eq(&self, _other: &Self) -> bool {
14403         unimplemented!()
14404     }
14405 }
14406 #[cfg(feature = "Win32_System_Com")]
14407 impl ::std::cmp::Eq for LINEPROXYREQUEST_0_7 {}
14408 #[cfg(feature = "Win32_System_Com")]
14409 unsafe impl ::windows::runtime::Abi for LINEPROXYREQUEST_0_7 {
14410     type Abi = Self;
14411     type DefaultType = Self;
14412 }
14413 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14414 #[repr(C, packed(1))]
14415 pub struct LINEPROXYREQUEST_0_8 {
14416     pub hAgent: u32,
14417     pub SessionList: LINEAGENTSESSIONLIST,
14418 }
14419 impl LINEPROXYREQUEST_0_8 {}
14420 impl ::std::default::Default for LINEPROXYREQUEST_0_8 {
14421     fn default() -> Self {
14422         unsafe { ::std::mem::zeroed() }
14423     }
14424 }
14425 impl ::std::cmp::PartialEq for LINEPROXYREQUEST_0_8 {
14426     fn eq(&self, _other: &Self) -> bool {
14427         unimplemented!()
14428     }
14429 }
14430 impl ::std::cmp::Eq for LINEPROXYREQUEST_0_8 {}
14431 unsafe impl ::windows::runtime::Abi for LINEPROXYREQUEST_0_8 {
14432     type Abi = Self;
14433     type DefaultType = Self;
14434 }
14435 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14436 #[repr(C, packed(1))]
14437 pub struct LINEPROXYREQUEST_0_9 {
14438     pub dwAddressID: u32,
14439     pub AgentStatus: LINEAGENTSTATUS,
14440 }
14441 impl LINEPROXYREQUEST_0_9 {}
14442 impl ::std::default::Default for LINEPROXYREQUEST_0_9 {
14443     fn default() -> Self {
14444         unsafe { ::std::mem::zeroed() }
14445     }
14446 }
14447 impl ::std::cmp::PartialEq for LINEPROXYREQUEST_0_9 {
14448     fn eq(&self, _other: &Self) -> bool {
14449         unimplemented!()
14450     }
14451 }
14452 impl ::std::cmp::Eq for LINEPROXYREQUEST_0_9 {}
14453 unsafe impl ::windows::runtime::Abi for LINEPROXYREQUEST_0_9 {
14454     type Abi = Self;
14455     type DefaultType = Self;
14456 }
14457 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14458 #[repr(C)]
14459 pub struct LINEPROXYREQUEST_0_10 {
14460     pub GroupList: LINEAGENTGROUPLIST,
14461 }
14462 impl LINEPROXYREQUEST_0_10 {}
14463 impl ::std::default::Default for LINEPROXYREQUEST_0_10 {
14464     fn default() -> Self {
14465         unsafe { ::std::mem::zeroed() }
14466     }
14467 }
14468 impl ::std::cmp::PartialEq for LINEPROXYREQUEST_0_10 {
14469     fn eq(&self, _other: &Self) -> bool {
14470         unimplemented!()
14471     }
14472 }
14473 impl ::std::cmp::Eq for LINEPROXYREQUEST_0_10 {}
14474 unsafe impl ::windows::runtime::Abi for LINEPROXYREQUEST_0_10 {
14475     type Abi = Self;
14476     type DefaultType = Self;
14477 }
14478 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14479 #[repr(C, packed(1))]
14480 pub struct LINEPROXYREQUEST_0_11 {
14481     pub dwQueueID: u32,
14482     pub QueueInfo: LINEQUEUEINFO,
14483 }
14484 impl LINEPROXYREQUEST_0_11 {}
14485 impl ::std::default::Default for LINEPROXYREQUEST_0_11 {
14486     fn default() -> Self {
14487         unsafe { ::std::mem::zeroed() }
14488     }
14489 }
14490 impl ::std::cmp::PartialEq for LINEPROXYREQUEST_0_11 {
14491     fn eq(&self, _other: &Self) -> bool {
14492         unimplemented!()
14493     }
14494 }
14495 impl ::std::cmp::Eq for LINEPROXYREQUEST_0_11 {}
14496 unsafe impl ::windows::runtime::Abi for LINEPROXYREQUEST_0_11 {
14497     type Abi = Self;
14498     type DefaultType = Self;
14499 }
14500 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14501 #[repr(C, packed(1))]
14502 pub struct LINEPROXYREQUEST_0_12 {
14503     pub GroupID: ::windows::runtime::GUID,
14504     pub QueueList: LINEQUEUELIST,
14505 }
14506 impl LINEPROXYREQUEST_0_12 {}
14507 impl ::std::default::Default for LINEPROXYREQUEST_0_12 {
14508     fn default() -> Self {
14509         unsafe { ::std::mem::zeroed() }
14510     }
14511 }
14512 impl ::std::cmp::PartialEq for LINEPROXYREQUEST_0_12 {
14513     fn eq(&self, _other: &Self) -> bool {
14514         unimplemented!()
14515     }
14516 }
14517 impl ::std::cmp::Eq for LINEPROXYREQUEST_0_12 {}
14518 unsafe impl ::windows::runtime::Abi for LINEPROXYREQUEST_0_12 {
14519     type Abi = Self;
14520     type DefaultType = Self;
14521 }
14522 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14523 #[repr(C, packed(1))]
14524 pub struct LINEPROXYREQUEST_0_13 {
14525     pub dwAddressID: u32,
14526     pub dwActivityID: u32,
14527 }
14528 impl LINEPROXYREQUEST_0_13 {}
14529 impl ::std::default::Default for LINEPROXYREQUEST_0_13 {
14530     fn default() -> Self {
14531         unsafe { ::std::mem::zeroed() }
14532     }
14533 }
14534 impl ::std::cmp::PartialEq for LINEPROXYREQUEST_0_13 {
14535     fn eq(&self, _other: &Self) -> bool {
14536         unimplemented!()
14537     }
14538 }
14539 impl ::std::cmp::Eq for LINEPROXYREQUEST_0_13 {}
14540 unsafe impl ::windows::runtime::Abi for LINEPROXYREQUEST_0_13 {
14541     type Abi = Self;
14542     type DefaultType = Self;
14543 }
14544 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14545 #[repr(C, packed(1))]
14546 pub struct LINEPROXYREQUEST_0_14 {
14547     pub dwAddressID: u32,
14548     pub GroupList: LINEAGENTGROUPLIST,
14549 }
14550 impl LINEPROXYREQUEST_0_14 {}
14551 impl ::std::default::Default for LINEPROXYREQUEST_0_14 {
14552     fn default() -> Self {
14553         unsafe { ::std::mem::zeroed() }
14554     }
14555 }
14556 impl ::std::cmp::PartialEq for LINEPROXYREQUEST_0_14 {
14557     fn eq(&self, _other: &Self) -> bool {
14558         unimplemented!()
14559     }
14560 }
14561 impl ::std::cmp::Eq for LINEPROXYREQUEST_0_14 {}
14562 unsafe impl ::windows::runtime::Abi for LINEPROXYREQUEST_0_14 {
14563     type Abi = Self;
14564     type DefaultType = Self;
14565 }
14566 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14567 #[repr(C, packed(1))]
14568 pub struct LINEPROXYREQUEST_0_15 {
14569     pub hAgent: u32,
14570     pub dwMeasurementPeriod: u32,
14571 }
14572 impl LINEPROXYREQUEST_0_15 {}
14573 impl ::std::default::Default for LINEPROXYREQUEST_0_15 {
14574     fn default() -> Self {
14575         unsafe { ::std::mem::zeroed() }
14576     }
14577 }
14578 impl ::std::cmp::PartialEq for LINEPROXYREQUEST_0_15 {
14579     fn eq(&self, _other: &Self) -> bool {
14580         unimplemented!()
14581     }
14582 }
14583 impl ::std::cmp::Eq for LINEPROXYREQUEST_0_15 {}
14584 unsafe impl ::windows::runtime::Abi for LINEPROXYREQUEST_0_15 {
14585     type Abi = Self;
14586     type DefaultType = Self;
14587 }
14588 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14589 #[repr(C, packed(1))]
14590 pub struct LINEPROXYREQUEST_0_16 {
14591     pub hAgentSession: u32,
14592     pub dwAgentSessionState: u32,
14593     pub dwNextAgentSessionState: u32,
14594 }
14595 impl LINEPROXYREQUEST_0_16 {}
14596 impl ::std::default::Default for LINEPROXYREQUEST_0_16 {
14597     fn default() -> Self {
14598         unsafe { ::std::mem::zeroed() }
14599     }
14600 }
14601 impl ::std::cmp::PartialEq for LINEPROXYREQUEST_0_16 {
14602     fn eq(&self, _other: &Self) -> bool {
14603         unimplemented!()
14604     }
14605 }
14606 impl ::std::cmp::Eq for LINEPROXYREQUEST_0_16 {}
14607 unsafe impl ::windows::runtime::Abi for LINEPROXYREQUEST_0_16 {
14608     type Abi = Self;
14609     type DefaultType = Self;
14610 }
14611 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14612 #[repr(C, packed(1))]
14613 pub struct LINEPROXYREQUEST_0_17 {
14614     pub hAgent: u32,
14615     pub dwAgentState: u32,
14616     pub dwNextAgentState: u32,
14617 }
14618 impl LINEPROXYREQUEST_0_17 {}
14619 impl ::std::default::Default for LINEPROXYREQUEST_0_17 {
14620     fn default() -> Self {
14621         unsafe { ::std::mem::zeroed() }
14622     }
14623 }
14624 impl ::std::cmp::PartialEq for LINEPROXYREQUEST_0_17 {
14625     fn eq(&self, _other: &Self) -> bool {
14626         unimplemented!()
14627     }
14628 }
14629 impl ::std::cmp::Eq for LINEPROXYREQUEST_0_17 {}
14630 unsafe impl ::windows::runtime::Abi for LINEPROXYREQUEST_0_17 {
14631     type Abi = Self;
14632     type DefaultType = Self;
14633 }
14634 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14635 #[repr(C, packed(1))]
14636 pub struct LINEPROXYREQUEST_0_18 {
14637     pub dwAddressID: u32,
14638     pub dwAgentState: u32,
14639     pub dwNextAgentState: u32,
14640 }
14641 impl LINEPROXYREQUEST_0_18 {}
14642 impl ::std::default::Default for LINEPROXYREQUEST_0_18 {
14643     fn default() -> Self {
14644         unsafe { ::std::mem::zeroed() }
14645     }
14646 }
14647 impl ::std::cmp::PartialEq for LINEPROXYREQUEST_0_18 {
14648     fn eq(&self, _other: &Self) -> bool {
14649         unimplemented!()
14650     }
14651 }
14652 impl ::std::cmp::Eq for LINEPROXYREQUEST_0_18 {}
14653 unsafe impl ::windows::runtime::Abi for LINEPROXYREQUEST_0_18 {
14654     type Abi = Self;
14655     type DefaultType = Self;
14656 }
14657 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14658 #[repr(C, packed(1))]
14659 pub struct LINEPROXYREQUEST_0_19 {
14660     pub dwQueueID: u32,
14661     pub dwMeasurementPeriod: u32,
14662 }
14663 impl LINEPROXYREQUEST_0_19 {}
14664 impl ::std::default::Default for LINEPROXYREQUEST_0_19 {
14665     fn default() -> Self {
14666         unsafe { ::std::mem::zeroed() }
14667     }
14668 }
14669 impl ::std::cmp::PartialEq for LINEPROXYREQUEST_0_19 {
14670     fn eq(&self, _other: &Self) -> bool {
14671         unimplemented!()
14672     }
14673 }
14674 impl ::std::cmp::Eq for LINEPROXYREQUEST_0_19 {}
14675 unsafe impl ::windows::runtime::Abi for LINEPROXYREQUEST_0_19 {
14676     type Abi = Self;
14677     type DefaultType = Self;
14678 }
14679 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14680 #[repr(C, packed(1))]
14681 pub struct LINEPROXYREQUESTLIST {
14682     pub dwTotalSize: u32,
14683     pub dwNeededSize: u32,
14684     pub dwUsedSize: u32,
14685     pub dwNumEntries: u32,
14686     pub dwListSize: u32,
14687     pub dwListOffset: u32,
14688 }
14689 impl LINEPROXYREQUESTLIST {}
14690 impl ::std::default::Default for LINEPROXYREQUESTLIST {
14691     fn default() -> Self {
14692         unsafe { ::std::mem::zeroed() }
14693     }
14694 }
14695 impl ::std::cmp::PartialEq for LINEPROXYREQUESTLIST {
14696     fn eq(&self, _other: &Self) -> bool {
14697         unimplemented!()
14698     }
14699 }
14700 impl ::std::cmp::Eq for LINEPROXYREQUESTLIST {}
14701 unsafe impl ::windows::runtime::Abi for LINEPROXYREQUESTLIST {
14702     type Abi = Self;
14703     type DefaultType = Self;
14704 }
14705 pub const LINEPROXYREQUEST_AGENTSPECIFIC: u32 = 6u32;
14706 pub const LINEPROXYREQUEST_CREATEAGENT: u32 = 9u32;
14707 pub const LINEPROXYREQUEST_CREATEAGENTSESSION: u32 = 12u32;
14708 pub const LINEPROXYREQUEST_GETAGENTACTIVITYLIST: u32 = 7u32;
14709 pub const LINEPROXYREQUEST_GETAGENTCAPS: u32 = 4u32;
14710 pub const LINEPROXYREQUEST_GETAGENTGROUPLIST: u32 = 8u32;
14711 pub const LINEPROXYREQUEST_GETAGENTINFO: u32 = 11u32;
14712 pub const LINEPROXYREQUEST_GETAGENTSESSIONINFO: u32 = 15u32;
14713 pub const LINEPROXYREQUEST_GETAGENTSESSIONLIST: u32 = 13u32;
14714 pub const LINEPROXYREQUEST_GETAGENTSTATUS: u32 = 5u32;
14715 pub const LINEPROXYREQUEST_GETGROUPLIST: u32 = 19u32;
14716 pub const LINEPROXYREQUEST_GETQUEUEINFO: u32 = 18u32;
14717 pub const LINEPROXYREQUEST_GETQUEUELIST: u32 = 16u32;
14718 pub const LINEPROXYREQUEST_SETAGENTACTIVITY: u32 = 3u32;
14719 pub const LINEPROXYREQUEST_SETAGENTGROUP: u32 = 1u32;
14720 pub const LINEPROXYREQUEST_SETAGENTMEASUREMENTPERIOD: u32 = 10u32;
14721 pub const LINEPROXYREQUEST_SETAGENTSESSIONSTATE: u32 = 14u32;
14722 pub const LINEPROXYREQUEST_SETAGENTSTATE: u32 = 2u32;
14723 pub const LINEPROXYREQUEST_SETAGENTSTATEEX: u32 = 20u32;
14724 pub const LINEPROXYREQUEST_SETQUEUEMEASUREMENTPERIOD: u32 = 17u32;
14725 pub const LINEPROXYSTATUS_ALLOPENFORACD: u32 = 4u32;
14726 pub const LINEPROXYSTATUS_CLOSE: u32 = 2u32;
14727 pub const LINEPROXYSTATUS_OPEN: u32 = 1u32;
14728 pub const LINEQOSREQUESTTYPE_SERVICELEVEL: u32 = 1u32;
14729 pub const LINEQOSSERVICELEVEL_BESTEFFORT: u32 = 3u32;
14730 pub const LINEQOSSERVICELEVEL_IFAVAILABLE: u32 = 2u32;
14731 pub const LINEQOSSERVICELEVEL_NEEDED: u32 = 1u32;
14732 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14733 #[repr(C, packed(1))]
14734 pub struct LINEQUEUEENTRY {
14735     pub dwQueueID: u32,
14736     pub dwNameSize: u32,
14737     pub dwNameOffset: u32,
14738 }
14739 impl LINEQUEUEENTRY {}
14740 impl ::std::default::Default for LINEQUEUEENTRY {
14741     fn default() -> Self {
14742         unsafe { ::std::mem::zeroed() }
14743     }
14744 }
14745 impl ::std::cmp::PartialEq for LINEQUEUEENTRY {
14746     fn eq(&self, _other: &Self) -> bool {
14747         unimplemented!()
14748     }
14749 }
14750 impl ::std::cmp::Eq for LINEQUEUEENTRY {}
14751 unsafe impl ::windows::runtime::Abi for LINEQUEUEENTRY {
14752     type Abi = Self;
14753     type DefaultType = Self;
14754 }
14755 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14756 #[repr(C, packed(1))]
14757 pub struct LINEQUEUEINFO {
14758     pub dwTotalSize: u32,
14759     pub dwNeededSize: u32,
14760     pub dwUsedSize: u32,
14761     pub dwMeasurementPeriod: u32,
14762     pub dwTotalCallsQueued: u32,
14763     pub dwCurrentCallsQueued: u32,
14764     pub dwTotalCallsAbandoned: u32,
14765     pub dwTotalCallsFlowedIn: u32,
14766     pub dwTotalCallsFlowedOut: u32,
14767     pub dwLongestEverWaitTime: u32,
14768     pub dwCurrentLongestWaitTime: u32,
14769     pub dwAverageWaitTime: u32,
14770     pub dwFinalDisposition: u32,
14771 }
14772 impl LINEQUEUEINFO {}
14773 impl ::std::default::Default for LINEQUEUEINFO {
14774     fn default() -> Self {
14775         unsafe { ::std::mem::zeroed() }
14776     }
14777 }
14778 impl ::std::cmp::PartialEq for LINEQUEUEINFO {
14779     fn eq(&self, _other: &Self) -> bool {
14780         unimplemented!()
14781     }
14782 }
14783 impl ::std::cmp::Eq for LINEQUEUEINFO {}
14784 unsafe impl ::windows::runtime::Abi for LINEQUEUEINFO {
14785     type Abi = Self;
14786     type DefaultType = Self;
14787 }
14788 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14789 #[repr(C, packed(1))]
14790 pub struct LINEQUEUELIST {
14791     pub dwTotalSize: u32,
14792     pub dwNeededSize: u32,
14793     pub dwUsedSize: u32,
14794     pub dwNumEntries: u32,
14795     pub dwListSize: u32,
14796     pub dwListOffset: u32,
14797 }
14798 impl LINEQUEUELIST {}
14799 impl ::std::default::Default for LINEQUEUELIST {
14800     fn default() -> Self {
14801         unsafe { ::std::mem::zeroed() }
14802     }
14803 }
14804 impl ::std::cmp::PartialEq for LINEQUEUELIST {
14805     fn eq(&self, _other: &Self) -> bool {
14806         unimplemented!()
14807     }
14808 }
14809 impl ::std::cmp::Eq for LINEQUEUELIST {}
14810 unsafe impl ::windows::runtime::Abi for LINEQUEUELIST {
14811     type Abi = Self;
14812     type DefaultType = Self;
14813 }
14814 pub const LINEQUEUESTATUS_NEWQUEUE: u32 = 2u32;
14815 pub const LINEQUEUESTATUS_QUEUEREMOVED: u32 = 4u32;
14816 pub const LINEQUEUESTATUS_UPDATEINFO: u32 = 1u32;
14817 pub const LINEREMOVEFROMCONF_ANY: u32 = 3u32;
14818 pub const LINEREMOVEFROMCONF_LAST: u32 = 2u32;
14819 pub const LINEREMOVEFROMCONF_NONE: u32 = 1u32;
14820 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14821 #[repr(C)]
14822 #[cfg(feature = "Win32_Foundation")]
14823 pub struct LINEREQMAKECALL {
14824     pub szDestAddress: [super::super::Foundation::CHAR; 80],
14825     pub szAppName: [super::super::Foundation::CHAR; 40],
14826     pub szCalledParty: [super::super::Foundation::CHAR; 40],
14827     pub szComment: [super::super::Foundation::CHAR; 80],
14828 }
14829 #[cfg(feature = "Win32_Foundation")]
14830 impl LINEREQMAKECALL {}
14831 #[cfg(feature = "Win32_Foundation")]
14832 impl ::std::default::Default for LINEREQMAKECALL {
14833     fn default() -> Self {
14834         unsafe { ::std::mem::zeroed() }
14835     }
14836 }
14837 #[cfg(feature = "Win32_Foundation")]
14838 impl ::std::fmt::Debug for LINEREQMAKECALL {
14839     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14840         fmt.debug_struct("LINEREQMAKECALL").field("szDestAddress", &self.szDestAddress).field("szAppName", &self.szAppName).field("szCalledParty", &self.szCalledParty).field("szComment", &self.szComment).finish()
14841     }
14842 }
14843 #[cfg(feature = "Win32_Foundation")]
14844 impl ::std::cmp::PartialEq for LINEREQMAKECALL {
14845     fn eq(&self, other: &Self) -> bool {
14846         self.szDestAddress == other.szDestAddress && self.szAppName == other.szAppName && self.szCalledParty == other.szCalledParty && self.szComment == other.szComment
14847     }
14848 }
14849 #[cfg(feature = "Win32_Foundation")]
14850 impl ::std::cmp::Eq for LINEREQMAKECALL {}
14851 #[cfg(feature = "Win32_Foundation")]
14852 unsafe impl ::windows::runtime::Abi for LINEREQMAKECALL {
14853     type Abi = Self;
14854     type DefaultType = Self;
14855 }
14856 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14857 #[repr(C, packed(1))]
14858 #[cfg(feature = "Win32_Foundation")]
14859 pub struct LINEREQMEDIACALL {
14860     pub hWnd: super::super::Foundation::HWND,
14861     pub wRequestID: super::super::Foundation::WPARAM,
14862     pub szDeviceClass: [super::super::Foundation::CHAR; 40],
14863     pub ucDeviceID: [u8; 40],
14864     pub dwSize: u32,
14865     pub dwSecure: u32,
14866     pub szDestAddress: [super::super::Foundation::CHAR; 80],
14867     pub szAppName: [super::super::Foundation::CHAR; 40],
14868     pub szCalledParty: [super::super::Foundation::CHAR; 40],
14869     pub szComment: [super::super::Foundation::CHAR; 80],
14870 }
14871 #[cfg(feature = "Win32_Foundation")]
14872 impl LINEREQMEDIACALL {}
14873 #[cfg(feature = "Win32_Foundation")]
14874 impl ::std::default::Default for LINEREQMEDIACALL {
14875     fn default() -> Self {
14876         unsafe { ::std::mem::zeroed() }
14877     }
14878 }
14879 #[cfg(feature = "Win32_Foundation")]
14880 impl ::std::cmp::PartialEq for LINEREQMEDIACALL {
14881     fn eq(&self, _other: &Self) -> bool {
14882         unimplemented!()
14883     }
14884 }
14885 #[cfg(feature = "Win32_Foundation")]
14886 impl ::std::cmp::Eq for LINEREQMEDIACALL {}
14887 #[cfg(feature = "Win32_Foundation")]
14888 unsafe impl ::windows::runtime::Abi for LINEREQMEDIACALL {
14889     type Abi = Self;
14890     type DefaultType = Self;
14891 }
14892 pub const LINEREQUESTMODE_DROP: u32 = 4u32;
14893 pub const LINEREQUESTMODE_MAKECALL: u32 = 1u32;
14894 pub const LINEREQUESTMODE_MEDIACALL: u32 = 2u32;
14895 pub const LINEROAMMODE_HOME: u32 = 4u32;
14896 pub const LINEROAMMODE_ROAMA: u32 = 8u32;
14897 pub const LINEROAMMODE_ROAMB: u32 = 16u32;
14898 pub const LINEROAMMODE_UNAVAIL: u32 = 2u32;
14899 pub const LINEROAMMODE_UNKNOWN: u32 = 1u32;
14900 pub const LINESPECIALINFO_CUSTIRREG: u32 = 2u32;
14901 pub const LINESPECIALINFO_NOCIRCUIT: u32 = 1u32;
14902 pub const LINESPECIALINFO_REORDER: u32 = 4u32;
14903 pub const LINESPECIALINFO_UNAVAIL: u32 = 16u32;
14904 pub const LINESPECIALINFO_UNKNOWN: u32 = 8u32;
14905 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14906 #[repr(C, packed(1))]
14907 pub struct LINETERMCAPS {
14908     pub dwTermDev: u32,
14909     pub dwTermModes: u32,
14910     pub dwTermSharing: u32,
14911 }
14912 impl LINETERMCAPS {}
14913 impl ::std::default::Default for LINETERMCAPS {
14914     fn default() -> Self {
14915         unsafe { ::std::mem::zeroed() }
14916     }
14917 }
14918 impl ::std::cmp::PartialEq for LINETERMCAPS {
14919     fn eq(&self, _other: &Self) -> bool {
14920         unimplemented!()
14921     }
14922 }
14923 impl ::std::cmp::Eq for LINETERMCAPS {}
14924 unsafe impl ::windows::runtime::Abi for LINETERMCAPS {
14925     type Abi = Self;
14926     type DefaultType = Self;
14927 }
14928 pub const LINETERMDEV_HEADSET: u32 = 2u32;
14929 pub const LINETERMDEV_PHONE: u32 = 1u32;
14930 pub const LINETERMDEV_SPEAKER: u32 = 4u32;
14931 pub const LINETERMMODE_BUTTONS: u32 = 1u32;
14932 pub const LINETERMMODE_DISPLAY: u32 = 4u32;
14933 pub const LINETERMMODE_HOOKSWITCH: u32 = 16u32;
14934 pub const LINETERMMODE_LAMPS: u32 = 2u32;
14935 pub const LINETERMMODE_MEDIABIDIRECT: u32 = 128u32;
14936 pub const LINETERMMODE_MEDIAFROMLINE: u32 = 64u32;
14937 pub const LINETERMMODE_MEDIATOLINE: u32 = 32u32;
14938 pub const LINETERMMODE_RINGER: u32 = 8u32;
14939 pub const LINETERMSHARING_PRIVATE: u32 = 1u32;
14940 pub const LINETERMSHARING_SHAREDCONF: u32 = 4u32;
14941 pub const LINETERMSHARING_SHAREDEXCL: u32 = 2u32;
14942 pub const LINETOLLLISTOPTION_ADD: u32 = 1u32;
14943 pub const LINETOLLLISTOPTION_REMOVE: u32 = 2u32;
14944 pub const LINETONEMODE_BEEP: u32 = 8u32;
14945 pub const LINETONEMODE_BILLING: u32 = 16u32;
14946 pub const LINETONEMODE_BUSY: u32 = 4u32;
14947 pub const LINETONEMODE_CUSTOM: u32 = 1u32;
14948 pub const LINETONEMODE_RINGBACK: u32 = 2u32;
14949 pub const LINETRANSFERMODE_CONFERENCE: u32 = 2u32;
14950 pub const LINETRANSFERMODE_TRANSFER: u32 = 1u32;
14951 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14952 #[repr(C, packed(1))]
14953 pub struct LINETRANSLATECAPS {
14954     pub dwTotalSize: u32,
14955     pub dwNeededSize: u32,
14956     pub dwUsedSize: u32,
14957     pub dwNumLocations: u32,
14958     pub dwLocationListSize: u32,
14959     pub dwLocationListOffset: u32,
14960     pub dwCurrentLocationID: u32,
14961     pub dwNumCards: u32,
14962     pub dwCardListSize: u32,
14963     pub dwCardListOffset: u32,
14964     pub dwCurrentPreferredCardID: u32,
14965 }
14966 impl LINETRANSLATECAPS {}
14967 impl ::std::default::Default for LINETRANSLATECAPS {
14968     fn default() -> Self {
14969         unsafe { ::std::mem::zeroed() }
14970     }
14971 }
14972 impl ::std::cmp::PartialEq for LINETRANSLATECAPS {
14973     fn eq(&self, _other: &Self) -> bool {
14974         unimplemented!()
14975     }
14976 }
14977 impl ::std::cmp::Eq for LINETRANSLATECAPS {}
14978 unsafe impl ::windows::runtime::Abi for LINETRANSLATECAPS {
14979     type Abi = Self;
14980     type DefaultType = Self;
14981 }
14982 pub const LINETRANSLATEOPTION_CANCELCALLWAITING: u32 = 2u32;
14983 pub const LINETRANSLATEOPTION_CARDOVERRIDE: u32 = 1u32;
14984 pub const LINETRANSLATEOPTION_FORCELD: u32 = 8u32;
14985 pub const LINETRANSLATEOPTION_FORCELOCAL: u32 = 4u32;
14986 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14987 #[repr(C, packed(1))]
14988 pub struct LINETRANSLATEOUTPUT {
14989     pub dwTotalSize: u32,
14990     pub dwNeededSize: u32,
14991     pub dwUsedSize: u32,
14992     pub dwDialableStringSize: u32,
14993     pub dwDialableStringOffset: u32,
14994     pub dwDisplayableStringSize: u32,
14995     pub dwDisplayableStringOffset: u32,
14996     pub dwCurrentCountry: u32,
14997     pub dwDestCountry: u32,
14998     pub dwTranslateResults: u32,
14999 }
15000 impl LINETRANSLATEOUTPUT {}
15001 impl ::std::default::Default for LINETRANSLATEOUTPUT {
15002     fn default() -> Self {
15003         unsafe { ::std::mem::zeroed() }
15004     }
15005 }
15006 impl ::std::cmp::PartialEq for LINETRANSLATEOUTPUT {
15007     fn eq(&self, _other: &Self) -> bool {
15008         unimplemented!()
15009     }
15010 }
15011 impl ::std::cmp::Eq for LINETRANSLATEOUTPUT {}
15012 unsafe impl ::windows::runtime::Abi for LINETRANSLATEOUTPUT {
15013     type Abi = Self;
15014     type DefaultType = Self;
15015 }
15016 pub const LINETRANSLATERESULT_CANONICAL: u32 = 1u32;
15017 pub const LINETRANSLATERESULT_DIALBILLING: u32 = 64u32;
15018 pub const LINETRANSLATERESULT_DIALDIALTONE: u32 = 256u32;
15019 pub const LINETRANSLATERESULT_DIALPROMPT: u32 = 512u32;
15020 pub const LINETRANSLATERESULT_DIALQUIET: u32 = 128u32;
15021 pub const LINETRANSLATERESULT_INTERNATIONAL: u32 = 2u32;
15022 pub const LINETRANSLATERESULT_INTOLLLIST: u32 = 16u32;
15023 pub const LINETRANSLATERESULT_LOCAL: u32 = 8u32;
15024 pub const LINETRANSLATERESULT_LONGDISTANCE: u32 = 4u32;
15025 pub const LINETRANSLATERESULT_NOTINTOLLLIST: u32 = 32u32;
15026 pub const LINETRANSLATERESULT_NOTRANSLATION: u32 = 2048u32;
15027 pub const LINETRANSLATERESULT_VOICEDETECT: u32 = 1024u32;
15028 pub const LINETSPIOPTION_NONREENTRANT: u32 = 1u32;
15029 pub const LINE_ADDRESSSTATE: i32 = 0i32;
15030 pub const LINE_AGENTSESSIONSTATUS: i32 = 27i32;
15031 pub const LINE_AGENTSPECIFIC: i32 = 21i32;
15032 pub const LINE_AGENTSTATUS: i32 = 22i32;
15033 pub const LINE_AGENTSTATUSEX: i32 = 29i32;
15034 pub const LINE_APPNEWCALL: i32 = 23i32;
15035 pub const LINE_APPNEWCALLHUB: i32 = 32i32;
15036 pub const LINE_CALLHUBCLOSE: i32 = 33i32;
15037 pub const LINE_CALLINFO: i32 = 1i32;
15038 pub const LINE_CALLSTATE: i32 = 2i32;
15039 pub const LINE_CLOSE: i32 = 3i32;
15040 pub const LINE_CREATE: i32 = 19i32;
15041 pub const LINE_DEVSPECIFIC: i32 = 4i32;
15042 pub const LINE_DEVSPECIFICEX: i32 = 34i32;
15043 pub const LINE_DEVSPECIFICFEATURE: i32 = 5i32;
15044 pub const LINE_GATHERDIGITS: i32 = 6i32;
15045 pub const LINE_GENERATE: i32 = 7i32;
15046 pub const LINE_GROUPSTATUS: i32 = 30i32;
15047 pub const LINE_LINEDEVSTATE: i32 = 8i32;
15048 pub const LINE_MONITORDIGITS: i32 = 9i32;
15049 pub const LINE_MONITORMEDIA: i32 = 10i32;
15050 pub const LINE_MONITORTONE: i32 = 11i32;
15051 pub const LINE_PROXYREQUEST: i32 = 24i32;
15052 pub const LINE_PROXYSTATUS: i32 = 31i32;
15053 pub const LINE_QUEUESTATUS: i32 = 28i32;
15054 pub const LINE_REMOVE: i32 = 25i32;
15055 pub const LINE_REPLY: i32 = 12i32;
15056 pub const LINE_REQUEST: i32 = 13i32;
15057 #[cfg(feature = "Win32_System_Com")]
15058 pub type LPGETTNEFSTREAMCODEPAGE = unsafe extern "system" fn(lpstream: ::windows::runtime::RawPtr, lpulcodepage: *mut u32, lpulsubcodepage: *mut u32) -> ::windows::runtime::HRESULT;
15059 #[cfg(all(feature = "Win32_System_AddressBook", feature = "Win32_System_Com"))]
15060 pub type LPOPENTNEFSTREAM = unsafe extern "system" fn(lpvsupport: *mut ::std::ffi::c_void, lpstream: ::windows::runtime::RawPtr, lpszstreamname: *const i8, ulflags: u32, lpmessage: ::windows::runtime::RawPtr, wkeyval: u16, lpptnef: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
15061 #[cfg(all(feature = "Win32_System_AddressBook", feature = "Win32_System_Com"))]
15062 pub type LPOPENTNEFSTREAMEX = unsafe extern "system" fn(lpvsupport: *mut ::std::ffi::c_void, lpstream: ::windows::runtime::RawPtr, lpszstreamname: *const i8, ulflags: u32, lpmessage: ::windows::runtime::RawPtr, wkeyval: u16, lpadressbook: ::windows::runtime::RawPtr, lpptnef: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
15063 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15064 #[repr(transparent)]
15065 pub struct MSP_ADDRESS_EVENT(pub i32);
15066 pub const ADDRESS_TERMINAL_AVAILABLE: MSP_ADDRESS_EVENT = MSP_ADDRESS_EVENT(0i32);
15067 pub const ADDRESS_TERMINAL_UNAVAILABLE: MSP_ADDRESS_EVENT = MSP_ADDRESS_EVENT(1i32);
15068 impl ::std::convert::From<i32> for MSP_ADDRESS_EVENT {
15069     fn from(value: i32) -> Self {
15070         Self(value)
15071     }
15072 }
15073 unsafe impl ::windows::runtime::Abi for MSP_ADDRESS_EVENT {
15074     type Abi = Self;
15075     type DefaultType = Self;
15076 }
15077 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15078 #[repr(transparent)]
15079 pub struct MSP_CALL_EVENT(pub i32);
15080 pub const CALL_NEW_STREAM: MSP_CALL_EVENT = MSP_CALL_EVENT(0i32);
15081 pub const CALL_STREAM_FAIL: MSP_CALL_EVENT = MSP_CALL_EVENT(1i32);
15082 pub const CALL_TERMINAL_FAIL: MSP_CALL_EVENT = MSP_CALL_EVENT(2i32);
15083 pub const CALL_STREAM_NOT_USED: MSP_CALL_EVENT = MSP_CALL_EVENT(3i32);
15084 pub const CALL_STREAM_ACTIVE: MSP_CALL_EVENT = MSP_CALL_EVENT(4i32);
15085 pub const CALL_STREAM_INACTIVE: MSP_CALL_EVENT = MSP_CALL_EVENT(5i32);
15086 impl ::std::convert::From<i32> for MSP_CALL_EVENT {
15087     fn from(value: i32) -> Self {
15088         Self(value)
15089     }
15090 }
15091 unsafe impl ::windows::runtime::Abi for MSP_CALL_EVENT {
15092     type Abi = Self;
15093     type DefaultType = Self;
15094 }
15095 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15096 #[repr(transparent)]
15097 pub struct MSP_CALL_EVENT_CAUSE(pub i32);
15098 pub const CALL_CAUSE_UNKNOWN: MSP_CALL_EVENT_CAUSE = MSP_CALL_EVENT_CAUSE(0i32);
15099 pub const CALL_CAUSE_BAD_DEVICE: MSP_CALL_EVENT_CAUSE = MSP_CALL_EVENT_CAUSE(1i32);
15100 pub const CALL_CAUSE_CONNECT_FAIL: MSP_CALL_EVENT_CAUSE = MSP_CALL_EVENT_CAUSE(2i32);
15101 pub const CALL_CAUSE_LOCAL_REQUEST: MSP_CALL_EVENT_CAUSE = MSP_CALL_EVENT_CAUSE(3i32);
15102 pub const CALL_CAUSE_REMOTE_REQUEST: MSP_CALL_EVENT_CAUSE = MSP_CALL_EVENT_CAUSE(4i32);
15103 pub const CALL_CAUSE_MEDIA_TIMEOUT: MSP_CALL_EVENT_CAUSE = MSP_CALL_EVENT_CAUSE(5i32);
15104 pub const CALL_CAUSE_MEDIA_RECOVERED: MSP_CALL_EVENT_CAUSE = MSP_CALL_EVENT_CAUSE(6i32);
15105 pub const CALL_CAUSE_QUALITY_OF_SERVICE: MSP_CALL_EVENT_CAUSE = MSP_CALL_EVENT_CAUSE(7i32);
15106 impl ::std::convert::From<i32> for MSP_CALL_EVENT_CAUSE {
15107     fn from(value: i32) -> Self {
15108         Self(value)
15109     }
15110 }
15111 unsafe impl ::windows::runtime::Abi for MSP_CALL_EVENT_CAUSE {
15112     type Abi = Self;
15113     type DefaultType = Self;
15114 }
15115 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15116 #[repr(transparent)]
15117 pub struct MSP_EVENT(pub i32);
15118 pub const ME_ADDRESS_EVENT: MSP_EVENT = MSP_EVENT(0i32);
15119 pub const ME_CALL_EVENT: MSP_EVENT = MSP_EVENT(1i32);
15120 pub const ME_TSP_DATA: MSP_EVENT = MSP_EVENT(2i32);
15121 pub const ME_PRIVATE_EVENT: MSP_EVENT = MSP_EVENT(3i32);
15122 pub const ME_ASR_TERMINAL_EVENT: MSP_EVENT = MSP_EVENT(4i32);
15123 pub const ME_TTS_TERMINAL_EVENT: MSP_EVENT = MSP_EVENT(5i32);
15124 pub const ME_FILE_TERMINAL_EVENT: MSP_EVENT = MSP_EVENT(6i32);
15125 pub const ME_TONE_TERMINAL_EVENT: MSP_EVENT = MSP_EVENT(7i32);
15126 impl ::std::convert::From<i32> for MSP_EVENT {
15127     fn from(value: i32) -> Self {
15128         Self(value)
15129     }
15130 }
15131 unsafe impl ::windows::runtime::Abi for MSP_EVENT {
15132     type Abi = Self;
15133     type DefaultType = Self;
15134 }
15135 #[cfg(feature = "Win32_System_Ole_Automation")]
15136 impl ::std::clone::Clone for MSP_EVENT_INFO {
15137     fn clone(&self) -> Self {
15138         unimplemented!()
15139     }
15140 }
15141 #[repr(C)]
15142 #[cfg(feature = "Win32_System_Ole_Automation")]
15143 pub struct MSP_EVENT_INFO {
15144     pub dwSize: u32,
15145     pub Event: MSP_EVENT,
15146     pub hCall: *mut i32,
15147     pub Anonymous: MSP_EVENT_INFO_0,
15148 }
15149 #[cfg(feature = "Win32_System_Ole_Automation")]
15150 impl MSP_EVENT_INFO {}
15151 #[cfg(feature = "Win32_System_Ole_Automation")]
15152 impl ::std::default::Default for MSP_EVENT_INFO {
15153     fn default() -> Self {
15154         unsafe { ::std::mem::zeroed() }
15155     }
15156 }
15157 #[cfg(feature = "Win32_System_Ole_Automation")]
15158 impl ::std::cmp::PartialEq for MSP_EVENT_INFO {
15159     fn eq(&self, _other: &Self) -> bool {
15160         unimplemented!()
15161     }
15162 }
15163 #[cfg(feature = "Win32_System_Ole_Automation")]
15164 impl ::std::cmp::Eq for MSP_EVENT_INFO {}
15165 #[cfg(feature = "Win32_System_Ole_Automation")]
15166 unsafe impl ::windows::runtime::Abi for MSP_EVENT_INFO {
15167     type Abi = ::std::mem::ManuallyDrop<Self>;
15168     type DefaultType = Self;
15169 }
15170 #[cfg(feature = "Win32_System_Ole_Automation")]
15171 impl ::std::clone::Clone for MSP_EVENT_INFO_0 {
15172     fn clone(&self) -> Self {
15173         unimplemented!()
15174     }
15175 }
15176 #[repr(C)]
15177 #[cfg(feature = "Win32_System_Ole_Automation")]
15178 pub union MSP_EVENT_INFO_0 {
15179     pub MSP_ADDRESS_EVENT_INFO: ::std::mem::ManuallyDrop<MSP_EVENT_INFO_0_0>,
15180     pub MSP_CALL_EVENT_INFO: ::std::mem::ManuallyDrop<MSP_EVENT_INFO_0_2>,
15181     pub MSP_TSP_DATA: MSP_EVENT_INFO_0_6,
15182     pub MSP_PRIVATE_EVENT_INFO: ::std::mem::ManuallyDrop<MSP_EVENT_INFO_0_4>,
15183     pub MSP_FILE_TERMINAL_EVENT_INFO: ::std::mem::ManuallyDrop<MSP_EVENT_INFO_0_3>,
15184     pub MSP_ASR_TERMINAL_EVENT_INFO: ::std::mem::ManuallyDrop<MSP_EVENT_INFO_0_1>,
15185     pub MSP_TTS_TERMINAL_EVENT_INFO: ::std::mem::ManuallyDrop<MSP_EVENT_INFO_0_7>,
15186     pub MSP_TONE_TERMINAL_EVENT_INFO: ::std::mem::ManuallyDrop<MSP_EVENT_INFO_0_5>,
15187 }
15188 #[cfg(feature = "Win32_System_Ole_Automation")]
15189 impl MSP_EVENT_INFO_0 {}
15190 #[cfg(feature = "Win32_System_Ole_Automation")]
15191 impl ::std::default::Default for MSP_EVENT_INFO_0 {
15192     fn default() -> Self {
15193         unsafe { ::std::mem::zeroed() }
15194     }
15195 }
15196 #[cfg(feature = "Win32_System_Ole_Automation")]
15197 impl ::std::cmp::PartialEq for MSP_EVENT_INFO_0 {
15198     fn eq(&self, _other: &Self) -> bool {
15199         unimplemented!()
15200     }
15201 }
15202 #[cfg(feature = "Win32_System_Ole_Automation")]
15203 impl ::std::cmp::Eq for MSP_EVENT_INFO_0 {}
15204 #[cfg(feature = "Win32_System_Ole_Automation")]
15205 unsafe impl ::windows::runtime::Abi for MSP_EVENT_INFO_0 {
15206     type Abi = ::std::mem::ManuallyDrop<Self>;
15207     type DefaultType = Self;
15208 }
15209 #[derive(:: std :: clone :: Clone)]
15210 #[repr(C)]
15211 pub struct MSP_EVENT_INFO_0_0 {
15212     pub Type: MSP_ADDRESS_EVENT,
15213     pub pTerminal: ::std::option::Option<ITTerminal>,
15214 }
15215 impl MSP_EVENT_INFO_0_0 {}
15216 impl ::std::default::Default for MSP_EVENT_INFO_0_0 {
15217     fn default() -> Self {
15218         unsafe { ::std::mem::zeroed() }
15219     }
15220 }
15221 impl ::std::fmt::Debug for MSP_EVENT_INFO_0_0 {
15222     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
15223         fmt.debug_struct("_MSP_ADDRESS_EVENT_INFO_e__Struct").field("Type", &self.Type).field("pTerminal", &self.pTerminal).finish()
15224     }
15225 }
15226 impl ::std::cmp::PartialEq for MSP_EVENT_INFO_0_0 {
15227     fn eq(&self, other: &Self) -> bool {
15228         self.Type == other.Type && self.pTerminal == other.pTerminal
15229     }
15230 }
15231 impl ::std::cmp::Eq for MSP_EVENT_INFO_0_0 {}
15232 unsafe impl ::windows::runtime::Abi for MSP_EVENT_INFO_0_0 {
15233     type Abi = ::std::mem::ManuallyDrop<Self>;
15234     type DefaultType = Self;
15235 }
15236 #[derive(:: std :: clone :: Clone)]
15237 #[repr(C)]
15238 pub struct MSP_EVENT_INFO_0_1 {
15239     pub pASRTerminal: ::std::option::Option<ITTerminal>,
15240     pub hrErrorCode: ::windows::runtime::HRESULT,
15241 }
15242 impl MSP_EVENT_INFO_0_1 {}
15243 impl ::std::default::Default for MSP_EVENT_INFO_0_1 {
15244     fn default() -> Self {
15245         unsafe { ::std::mem::zeroed() }
15246     }
15247 }
15248 impl ::std::fmt::Debug for MSP_EVENT_INFO_0_1 {
15249     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
15250         fmt.debug_struct("_MSP_ASR_TERMINAL_EVENT_INFO_e__Struct").field("pASRTerminal", &self.pASRTerminal).field("hrErrorCode", &self.hrErrorCode).finish()
15251     }
15252 }
15253 impl ::std::cmp::PartialEq for MSP_EVENT_INFO_0_1 {
15254     fn eq(&self, other: &Self) -> bool {
15255         self.pASRTerminal == other.pASRTerminal && self.hrErrorCode == other.hrErrorCode
15256     }
15257 }
15258 impl ::std::cmp::Eq for MSP_EVENT_INFO_0_1 {}
15259 unsafe impl ::windows::runtime::Abi for MSP_EVENT_INFO_0_1 {
15260     type Abi = ::std::mem::ManuallyDrop<Self>;
15261     type DefaultType = Self;
15262 }
15263 #[derive(:: std :: clone :: Clone)]
15264 #[repr(C)]
15265 pub struct MSP_EVENT_INFO_0_2 {
15266     pub Type: MSP_CALL_EVENT,
15267     pub Cause: MSP_CALL_EVENT_CAUSE,
15268     pub pStream: ::std::option::Option<ITStream>,
15269     pub pTerminal: ::std::option::Option<ITTerminal>,
15270     pub hrError: ::windows::runtime::HRESULT,
15271 }
15272 impl MSP_EVENT_INFO_0_2 {}
15273 impl ::std::default::Default for MSP_EVENT_INFO_0_2 {
15274     fn default() -> Self {
15275         unsafe { ::std::mem::zeroed() }
15276     }
15277 }
15278 impl ::std::fmt::Debug for MSP_EVENT_INFO_0_2 {
15279     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
15280         fmt.debug_struct("_MSP_CALL_EVENT_INFO_e__Struct").field("Type", &self.Type).field("Cause", &self.Cause).field("pStream", &self.pStream).field("pTerminal", &self.pTerminal).field("hrError", &self.hrError).finish()
15281     }
15282 }
15283 impl ::std::cmp::PartialEq for MSP_EVENT_INFO_0_2 {
15284     fn eq(&self, other: &Self) -> bool {
15285         self.Type == other.Type && self.Cause == other.Cause && self.pStream == other.pStream && self.pTerminal == other.pTerminal && self.hrError == other.hrError
15286     }
15287 }
15288 impl ::std::cmp::Eq for MSP_EVENT_INFO_0_2 {}
15289 unsafe impl ::windows::runtime::Abi for MSP_EVENT_INFO_0_2 {
15290     type Abi = ::std::mem::ManuallyDrop<Self>;
15291     type DefaultType = Self;
15292 }
15293 #[derive(:: std :: clone :: Clone)]
15294 #[repr(C)]
15295 pub struct MSP_EVENT_INFO_0_3 {
15296     pub pParentFileTerminal: ::std::option::Option<ITTerminal>,
15297     pub pFileTrack: ::std::option::Option<ITFileTrack>,
15298     pub TerminalMediaState: TERMINAL_MEDIA_STATE,
15299     pub ftecEventCause: FT_STATE_EVENT_CAUSE,
15300     pub hrErrorCode: ::windows::runtime::HRESULT,
15301 }
15302 impl MSP_EVENT_INFO_0_3 {}
15303 impl ::std::default::Default for MSP_EVENT_INFO_0_3 {
15304     fn default() -> Self {
15305         unsafe { ::std::mem::zeroed() }
15306     }
15307 }
15308 impl ::std::fmt::Debug for MSP_EVENT_INFO_0_3 {
15309     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
15310         fmt.debug_struct("_MSP_FILE_TERMINAL_EVENT_INFO_e__Struct")
15311             .field("pParentFileTerminal", &self.pParentFileTerminal)
15312             .field("pFileTrack", &self.pFileTrack)
15313             .field("TerminalMediaState", &self.TerminalMediaState)
15314             .field("ftecEventCause", &self.ftecEventCause)
15315             .field("hrErrorCode", &self.hrErrorCode)
15316             .finish()
15317     }
15318 }
15319 impl ::std::cmp::PartialEq for MSP_EVENT_INFO_0_3 {
15320     fn eq(&self, other: &Self) -> bool {
15321         self.pParentFileTerminal == other.pParentFileTerminal && self.pFileTrack == other.pFileTrack && self.TerminalMediaState == other.TerminalMediaState && self.ftecEventCause == other.ftecEventCause && self.hrErrorCode == other.hrErrorCode
15322     }
15323 }
15324 impl ::std::cmp::Eq for MSP_EVENT_INFO_0_3 {}
15325 unsafe impl ::windows::runtime::Abi for MSP_EVENT_INFO_0_3 {
15326     type Abi = ::std::mem::ManuallyDrop<Self>;
15327     type DefaultType = Self;
15328 }
15329 #[derive(:: std :: clone :: Clone)]
15330 #[repr(C)]
15331 #[cfg(feature = "Win32_System_Ole_Automation")]
15332 pub struct MSP_EVENT_INFO_0_4 {
15333     pub pEvent: ::std::option::Option<super::super::System::Ole::Automation::IDispatch>,
15334     pub lEventCode: i32,
15335 }
15336 #[cfg(feature = "Win32_System_Ole_Automation")]
15337 impl MSP_EVENT_INFO_0_4 {}
15338 #[cfg(feature = "Win32_System_Ole_Automation")]
15339 impl ::std::default::Default for MSP_EVENT_INFO_0_4 {
15340     fn default() -> Self {
15341         unsafe { ::std::mem::zeroed() }
15342     }
15343 }
15344 #[cfg(feature = "Win32_System_Ole_Automation")]
15345 impl ::std::fmt::Debug for MSP_EVENT_INFO_0_4 {
15346     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
15347         fmt.debug_struct("_MSP_PRIVATE_EVENT_INFO_e__Struct").field("pEvent", &self.pEvent).field("lEventCode", &self.lEventCode).finish()
15348     }
15349 }
15350 #[cfg(feature = "Win32_System_Ole_Automation")]
15351 impl ::std::cmp::PartialEq for MSP_EVENT_INFO_0_4 {
15352     fn eq(&self, other: &Self) -> bool {
15353         self.pEvent == other.pEvent && self.lEventCode == other.lEventCode
15354     }
15355 }
15356 #[cfg(feature = "Win32_System_Ole_Automation")]
15357 impl ::std::cmp::Eq for MSP_EVENT_INFO_0_4 {}
15358 #[cfg(feature = "Win32_System_Ole_Automation")]
15359 unsafe impl ::windows::runtime::Abi for MSP_EVENT_INFO_0_4 {
15360     type Abi = ::std::mem::ManuallyDrop<Self>;
15361     type DefaultType = Self;
15362 }
15363 #[derive(:: std :: clone :: Clone)]
15364 #[repr(C)]
15365 pub struct MSP_EVENT_INFO_0_5 {
15366     pub pToneTerminal: ::std::option::Option<ITTerminal>,
15367     pub hrErrorCode: ::windows::runtime::HRESULT,
15368 }
15369 impl MSP_EVENT_INFO_0_5 {}
15370 impl ::std::default::Default for MSP_EVENT_INFO_0_5 {
15371     fn default() -> Self {
15372         unsafe { ::std::mem::zeroed() }
15373     }
15374 }
15375 impl ::std::fmt::Debug for MSP_EVENT_INFO_0_5 {
15376     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
15377         fmt.debug_struct("_MSP_TONE_TERMINAL_EVENT_INFO_e__Struct").field("pToneTerminal", &self.pToneTerminal).field("hrErrorCode", &self.hrErrorCode).finish()
15378     }
15379 }
15380 impl ::std::cmp::PartialEq for MSP_EVENT_INFO_0_5 {
15381     fn eq(&self, other: &Self) -> bool {
15382         self.pToneTerminal == other.pToneTerminal && self.hrErrorCode == other.hrErrorCode
15383     }
15384 }
15385 impl ::std::cmp::Eq for MSP_EVENT_INFO_0_5 {}
15386 unsafe impl ::windows::runtime::Abi for MSP_EVENT_INFO_0_5 {
15387     type Abi = ::std::mem::ManuallyDrop<Self>;
15388     type DefaultType = Self;
15389 }
15390 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15391 #[repr(C)]
15392 pub struct MSP_EVENT_INFO_0_6 {
15393     pub dwBufferSize: u32,
15394     pub pBuffer: [u8; 1],
15395 }
15396 impl MSP_EVENT_INFO_0_6 {}
15397 impl ::std::default::Default for MSP_EVENT_INFO_0_6 {
15398     fn default() -> Self {
15399         unsafe { ::std::mem::zeroed() }
15400     }
15401 }
15402 impl ::std::fmt::Debug for MSP_EVENT_INFO_0_6 {
15403     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
15404         fmt.debug_struct("_MSP_TSP_DATA_e__Struct").field("dwBufferSize", &self.dwBufferSize).field("pBuffer", &self.pBuffer).finish()
15405     }
15406 }
15407 impl ::std::cmp::PartialEq for MSP_EVENT_INFO_0_6 {
15408     fn eq(&self, other: &Self) -> bool {
15409         self.dwBufferSize == other.dwBufferSize && self.pBuffer == other.pBuffer
15410     }
15411 }
15412 impl ::std::cmp::Eq for MSP_EVENT_INFO_0_6 {}
15413 unsafe impl ::windows::runtime::Abi for MSP_EVENT_INFO_0_6 {
15414     type Abi = Self;
15415     type DefaultType = Self;
15416 }
15417 #[derive(:: std :: clone :: Clone)]
15418 #[repr(C)]
15419 pub struct MSP_EVENT_INFO_0_7 {
15420     pub pTTSTerminal: ::std::option::Option<ITTerminal>,
15421     pub hrErrorCode: ::windows::runtime::HRESULT,
15422 }
15423 impl MSP_EVENT_INFO_0_7 {}
15424 impl ::std::default::Default for MSP_EVENT_INFO_0_7 {
15425     fn default() -> Self {
15426         unsafe { ::std::mem::zeroed() }
15427     }
15428 }
15429 impl ::std::fmt::Debug for MSP_EVENT_INFO_0_7 {
15430     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
15431         fmt.debug_struct("_MSP_TTS_TERMINAL_EVENT_INFO_e__Struct").field("pTTSTerminal", &self.pTTSTerminal).field("hrErrorCode", &self.hrErrorCode).finish()
15432     }
15433 }
15434 impl ::std::cmp::PartialEq for MSP_EVENT_INFO_0_7 {
15435     fn eq(&self, other: &Self) -> bool {
15436         self.pTTSTerminal == other.pTTSTerminal && self.hrErrorCode == other.hrErrorCode
15437     }
15438 }
15439 impl ::std::cmp::Eq for MSP_EVENT_INFO_0_7 {}
15440 unsafe impl ::windows::runtime::Abi for MSP_EVENT_INFO_0_7 {
15441     type Abi = ::std::mem::ManuallyDrop<Self>;
15442     type DefaultType = Self;
15443 }
15444 pub const McastAddressAllocation: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3742215922, 41609, 4561, [134, 151, 0, 96, 8, 176, 229, 210]);
15445 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15446 #[repr(C)]
15447 #[cfg(feature = "Win32_Foundation")]
15448 pub struct NSID {
15449     pub dwSize: u32,
15450     pub uchType: [u8; 16],
15451     pub xtype: u32,
15452     pub lTime: i32,
15453     pub address: NSID_0,
15454 }
15455 #[cfg(feature = "Win32_Foundation")]
15456 impl NSID {}
15457 #[cfg(feature = "Win32_Foundation")]
15458 impl ::std::default::Default for NSID {
15459     fn default() -> Self {
15460         unsafe { ::std::mem::zeroed() }
15461     }
15462 }
15463 #[cfg(feature = "Win32_Foundation")]
15464 impl ::std::cmp::PartialEq for NSID {
15465     fn eq(&self, _other: &Self) -> bool {
15466         unimplemented!()
15467     }
15468 }
15469 #[cfg(feature = "Win32_Foundation")]
15470 impl ::std::cmp::Eq for NSID {}
15471 #[cfg(feature = "Win32_Foundation")]
15472 unsafe impl ::windows::runtime::Abi for NSID {
15473     type Abi = Self;
15474     type DefaultType = Self;
15475 }
15476 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15477 #[repr(C)]
15478 #[cfg(feature = "Win32_Foundation")]
15479 pub union NSID_0 {
15480     pub alias: _ADDR_ALIAS,
15481     pub rgchInterNet: [super::super::Foundation::CHAR; 1],
15482 }
15483 #[cfg(feature = "Win32_Foundation")]
15484 impl NSID_0 {}
15485 #[cfg(feature = "Win32_Foundation")]
15486 impl ::std::default::Default for NSID_0 {
15487     fn default() -> Self {
15488         unsafe { ::std::mem::zeroed() }
15489     }
15490 }
15491 #[cfg(feature = "Win32_Foundation")]
15492 impl ::std::cmp::PartialEq for NSID_0 {
15493     fn eq(&self, _other: &Self) -> bool {
15494         unimplemented!()
15495     }
15496 }
15497 #[cfg(feature = "Win32_Foundation")]
15498 impl ::std::cmp::Eq for NSID_0 {}
15499 #[cfg(feature = "Win32_Foundation")]
15500 unsafe impl ::windows::runtime::Abi for NSID_0 {
15501     type Abi = Self;
15502     type DefaultType = Self;
15503 }
15504 #[cfg(all(feature = "Win32_System_AddressBook", feature = "Win32_System_Com"))]
15505 #[inline]
15506 pub unsafe fn OpenTnefStream<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>, Param4: ::windows::runtime::IntoParam<'a, super::super::System::AddressBook::IMessage>>(lpvsupport: *mut ::std::ffi::c_void, lpstream: Param1, lpszstreamname: *const i8, ulflags: u32, lpmessage: Param4, wkeyval: u16, lpptnef: *mut ::std::option::Option<ITnef>) -> ::windows::runtime::Result<()> {
15507     #[cfg(windows)]
15508     {
15509         #[link(name = "windows")]
15510         extern "system" {
15511             fn OpenTnefStream(lpvsupport: *mut ::std::ffi::c_void, lpstream: ::windows::runtime::RawPtr, lpszstreamname: *const i8, ulflags: u32, lpmessage: ::windows::runtime::RawPtr, wkeyval: u16, lpptnef: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
15512         }
15513         OpenTnefStream(::std::mem::transmute(lpvsupport), lpstream.into_param().abi(), ::std::mem::transmute(lpszstreamname), ::std::mem::transmute(ulflags), lpmessage.into_param().abi(), ::std::mem::transmute(wkeyval), ::std::mem::transmute(lpptnef)).ok()
15514     }
15515     #[cfg(not(windows))]
15516     unimplemented!("Unsupported target OS");
15517 }
15518 #[cfg(all(feature = "Win32_System_AddressBook", feature = "Win32_System_Com"))]
15519 #[inline]
15520 pub unsafe fn OpenTnefStreamEx<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>, Param4: ::windows::runtime::IntoParam<'a, super::super::System::AddressBook::IMessage>, Param6: ::windows::runtime::IntoParam<'a, super::super::System::AddressBook::IAddrBook>>(
15521     lpvsupport: *mut ::std::ffi::c_void,
15522     lpstream: Param1,
15523     lpszstreamname: *const i8,
15524     ulflags: u32,
15525     lpmessage: Param4,
15526     wkeyval: u16,
15527     lpadressbook: Param6,
15528     lpptnef: *mut ::std::option::Option<ITnef>,
15529 ) -> ::windows::runtime::Result<()> {
15530     #[cfg(windows)]
15531     {
15532         #[link(name = "windows")]
15533         extern "system" {
15534             fn OpenTnefStreamEx(lpvsupport: *mut ::std::ffi::c_void, lpstream: ::windows::runtime::RawPtr, lpszstreamname: *const i8, ulflags: u32, lpmessage: ::windows::runtime::RawPtr, wkeyval: u16, lpadressbook: ::windows::runtime::RawPtr, lpptnef: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
15535         }
15536         OpenTnefStreamEx(::std::mem::transmute(lpvsupport), lpstream.into_param().abi(), ::std::mem::transmute(lpszstreamname), ::std::mem::transmute(ulflags), lpmessage.into_param().abi(), ::std::mem::transmute(wkeyval), lpadressbook.into_param().abi(), ::std::mem::transmute(lpptnef)).ok()
15537     }
15538     #[cfg(not(windows))]
15539     unimplemented!("Unsupported target OS");
15540 }
15541 pub const PHONEBUTTONFUNCTION_ABBREVDIAL: u32 = 11u32;
15542 pub const PHONEBUTTONFUNCTION_BRIDGEDAPP: u32 = 28u32;
15543 pub const PHONEBUTTONFUNCTION_BUSY: u32 = 29u32;
15544 pub const PHONEBUTTONFUNCTION_CALLAPP: u32 = 30u32;
15545 pub const PHONEBUTTONFUNCTION_CALLID: u32 = 34u32;
15546 pub const PHONEBUTTONFUNCTION_CAMPON: u32 = 43u32;
15547 pub const PHONEBUTTONFUNCTION_CONFERENCE: u32 = 1u32;
15548 pub const PHONEBUTTONFUNCTION_CONNECT: u32 = 7u32;
15549 pub const PHONEBUTTONFUNCTION_COVER: u32 = 33u32;
15550 pub const PHONEBUTTONFUNCTION_DATAOFF: u32 = 25u32;
15551 pub const PHONEBUTTONFUNCTION_DATAON: u32 = 24u32;
15552 pub const PHONEBUTTONFUNCTION_DATETIME: u32 = 31u32;
15553 pub const PHONEBUTTONFUNCTION_DIRECTORY: u32 = 32u32;
15554 pub const PHONEBUTTONFUNCTION_DISCONNECT: u32 = 6u32;
15555 pub const PHONEBUTTONFUNCTION_DONOTDISTURB: u32 = 26u32;
15556 pub const PHONEBUTTONFUNCTION_DROP: u32 = 3u32;
15557 pub const PHONEBUTTONFUNCTION_FLASH: u32 = 23u32;
15558 pub const PHONEBUTTONFUNCTION_FORWARD: u32 = 12u32;
15559 pub const PHONEBUTTONFUNCTION_HOLD: u32 = 4u32;
15560 pub const PHONEBUTTONFUNCTION_INTERCOM: u32 = 27u32;
15561 pub const PHONEBUTTONFUNCTION_LASTNUM: u32 = 35u32;
15562 pub const PHONEBUTTONFUNCTION_MSGINDICATOR: u32 = 38u32;
15563 pub const PHONEBUTTONFUNCTION_MSGWAITOFF: u32 = 9u32;
15564 pub const PHONEBUTTONFUNCTION_MSGWAITON: u32 = 8u32;
15565 pub const PHONEBUTTONFUNCTION_MUTE: u32 = 18u32;
15566 pub const PHONEBUTTONFUNCTION_NIGHTSRV: u32 = 36u32;
15567 pub const PHONEBUTTONFUNCTION_NONE: u32 = 46u32;
15568 pub const PHONEBUTTONFUNCTION_PARK: u32 = 15u32;
15569 pub const PHONEBUTTONFUNCTION_PICKUP: u32 = 13u32;
15570 pub const PHONEBUTTONFUNCTION_QUEUECALL: u32 = 45u32;
15571 pub const PHONEBUTTONFUNCTION_RECALL: u32 = 5u32;
15572 pub const PHONEBUTTONFUNCTION_REDIRECT: u32 = 17u32;
15573 pub const PHONEBUTTONFUNCTION_REJECT: u32 = 16u32;
15574 pub const PHONEBUTTONFUNCTION_REPDIAL: u32 = 39u32;
15575 pub const PHONEBUTTONFUNCTION_RINGAGAIN: u32 = 14u32;
15576 pub const PHONEBUTTONFUNCTION_SAVEREPEAT: u32 = 44u32;
15577 pub const PHONEBUTTONFUNCTION_SELECTRING: u32 = 10u32;
15578 pub const PHONEBUTTONFUNCTION_SEND: u32 = 47u32;
15579 pub const PHONEBUTTONFUNCTION_SENDCALLS: u32 = 37u32;
15580 pub const PHONEBUTTONFUNCTION_SETREPDIAL: u32 = 40u32;
15581 pub const PHONEBUTTONFUNCTION_SPEAKEROFF: u32 = 22u32;
15582 pub const PHONEBUTTONFUNCTION_SPEAKERON: u32 = 21u32;
15583 pub const PHONEBUTTONFUNCTION_STATIONSPEED: u32 = 42u32;
15584 pub const PHONEBUTTONFUNCTION_SYSTEMSPEED: u32 = 41u32;
15585 pub const PHONEBUTTONFUNCTION_TRANSFER: u32 = 2u32;
15586 pub const PHONEBUTTONFUNCTION_UNKNOWN: u32 = 0u32;
15587 pub const PHONEBUTTONFUNCTION_VOLUMEDOWN: u32 = 20u32;
15588 pub const PHONEBUTTONFUNCTION_VOLUMEUP: u32 = 19u32;
15589 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15590 #[repr(C, packed(1))]
15591 pub struct PHONEBUTTONINFO {
15592     pub dwTotalSize: u32,
15593     pub dwNeededSize: u32,
15594     pub dwUsedSize: u32,
15595     pub dwButtonMode: u32,
15596     pub dwButtonFunction: u32,
15597     pub dwButtonTextSize: u32,
15598     pub dwButtonTextOffset: u32,
15599     pub dwDevSpecificSize: u32,
15600     pub dwDevSpecificOffset: u32,
15601     pub dwButtonState: u32,
15602 }
15603 impl PHONEBUTTONINFO {}
15604 impl ::std::default::Default for PHONEBUTTONINFO {
15605     fn default() -> Self {
15606         unsafe { ::std::mem::zeroed() }
15607     }
15608 }
15609 impl ::std::cmp::PartialEq for PHONEBUTTONINFO {
15610     fn eq(&self, _other: &Self) -> bool {
15611         unimplemented!()
15612     }
15613 }
15614 impl ::std::cmp::Eq for PHONEBUTTONINFO {}
15615 unsafe impl ::windows::runtime::Abi for PHONEBUTTONINFO {
15616     type Abi = Self;
15617     type DefaultType = Self;
15618 }
15619 pub const PHONEBUTTONMODE_CALL: u32 = 2u32;
15620 pub const PHONEBUTTONMODE_DISPLAY: u32 = 32u32;
15621 pub const PHONEBUTTONMODE_DUMMY: u32 = 1u32;
15622 pub const PHONEBUTTONMODE_FEATURE: u32 = 4u32;
15623 pub const PHONEBUTTONMODE_KEYPAD: u32 = 8u32;
15624 pub const PHONEBUTTONMODE_LOCAL: u32 = 16u32;
15625 pub const PHONEBUTTONSTATE_DOWN: u32 = 2u32;
15626 pub const PHONEBUTTONSTATE_UNAVAIL: u32 = 8u32;
15627 pub const PHONEBUTTONSTATE_UNKNOWN: u32 = 4u32;
15628 pub const PHONEBUTTONSTATE_UP: u32 = 1u32;
15629 pub type PHONECALLBACK = unsafe extern "system" fn(hdevice: u32, dwmessage: u32, dwinstance: usize, dwparam1: usize, dwparam2: usize, dwparam3: usize);
15630 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15631 #[repr(C, packed(1))]
15632 pub struct PHONECAPS {
15633     pub dwTotalSize: u32,
15634     pub dwNeededSize: u32,
15635     pub dwUsedSize: u32,
15636     pub dwProviderInfoSize: u32,
15637     pub dwProviderInfoOffset: u32,
15638     pub dwPhoneInfoSize: u32,
15639     pub dwPhoneInfoOffset: u32,
15640     pub dwPermanentPhoneID: u32,
15641     pub dwPhoneNameSize: u32,
15642     pub dwPhoneNameOffset: u32,
15643     pub dwStringFormat: u32,
15644     pub dwPhoneStates: u32,
15645     pub dwHookSwitchDevs: u32,
15646     pub dwHandsetHookSwitchModes: u32,
15647     pub dwSpeakerHookSwitchModes: u32,
15648     pub dwHeadsetHookSwitchModes: u32,
15649     pub dwVolumeFlags: u32,
15650     pub dwGainFlags: u32,
15651     pub dwDisplayNumRows: u32,
15652     pub dwDisplayNumColumns: u32,
15653     pub dwNumRingModes: u32,
15654     pub dwNumButtonLamps: u32,
15655     pub dwButtonModesSize: u32,
15656     pub dwButtonModesOffset: u32,
15657     pub dwButtonFunctionsSize: u32,
15658     pub dwButtonFunctionsOffset: u32,
15659     pub dwLampModesSize: u32,
15660     pub dwLampModesOffset: u32,
15661     pub dwNumSetData: u32,
15662     pub dwSetDataSize: u32,
15663     pub dwSetDataOffset: u32,
15664     pub dwNumGetData: u32,
15665     pub dwGetDataSize: u32,
15666     pub dwGetDataOffset: u32,
15667     pub dwDevSpecificSize: u32,
15668     pub dwDevSpecificOffset: u32,
15669     pub dwDeviceClassesSize: u32,
15670     pub dwDeviceClassesOffset: u32,
15671     pub dwPhoneFeatures: u32,
15672     pub dwSettableHandsetHookSwitchModes: u32,
15673     pub dwSettableSpeakerHookSwitchModes: u32,
15674     pub dwSettableHeadsetHookSwitchModes: u32,
15675     pub dwMonitoredHandsetHookSwitchModes: u32,
15676     pub dwMonitoredSpeakerHookSwitchModes: u32,
15677     pub dwMonitoredHeadsetHookSwitchModes: u32,
15678     pub PermanentPhoneGuid: ::windows::runtime::GUID,
15679 }
15680 impl PHONECAPS {}
15681 impl ::std::default::Default for PHONECAPS {
15682     fn default() -> Self {
15683         unsafe { ::std::mem::zeroed() }
15684     }
15685 }
15686 impl ::std::cmp::PartialEq for PHONECAPS {
15687     fn eq(&self, _other: &Self) -> bool {
15688         unimplemented!()
15689     }
15690 }
15691 impl ::std::cmp::Eq for PHONECAPS {}
15692 unsafe impl ::windows::runtime::Abi for PHONECAPS {
15693     type Abi = Self;
15694     type DefaultType = Self;
15695 }
15696 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15697 #[repr(transparent)]
15698 pub struct PHONECAPS_BUFFER(pub i32);
15699 pub const PCB_DEVSPECIFICBUFFER: PHONECAPS_BUFFER = PHONECAPS_BUFFER(0i32);
15700 impl ::std::convert::From<i32> for PHONECAPS_BUFFER {
15701     fn from(value: i32) -> Self {
15702         Self(value)
15703     }
15704 }
15705 unsafe impl ::windows::runtime::Abi for PHONECAPS_BUFFER {
15706     type Abi = Self;
15707     type DefaultType = Self;
15708 }
15709 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15710 #[repr(transparent)]
15711 pub struct PHONECAPS_LONG(pub i32);
15712 pub const PCL_HOOKSWITCHES: PHONECAPS_LONG = PHONECAPS_LONG(0i32);
15713 pub const PCL_HANDSETHOOKSWITCHMODES: PHONECAPS_LONG = PHONECAPS_LONG(1i32);
15714 pub const PCL_HEADSETHOOKSWITCHMODES: PHONECAPS_LONG = PHONECAPS_LONG(2i32);
15715 pub const PCL_SPEAKERPHONEHOOKSWITCHMODES: PHONECAPS_LONG = PHONECAPS_LONG(3i32);
15716 pub const PCL_DISPLAYNUMROWS: PHONECAPS_LONG = PHONECAPS_LONG(4i32);
15717 pub const PCL_DISPLAYNUMCOLUMNS: PHONECAPS_LONG = PHONECAPS_LONG(5i32);
15718 pub const PCL_NUMRINGMODES: PHONECAPS_LONG = PHONECAPS_LONG(6i32);
15719 pub const PCL_NUMBUTTONLAMPS: PHONECAPS_LONG = PHONECAPS_LONG(7i32);
15720 pub const PCL_GENERICPHONE: PHONECAPS_LONG = PHONECAPS_LONG(8i32);
15721 impl ::std::convert::From<i32> for PHONECAPS_LONG {
15722     fn from(value: i32) -> Self {
15723         Self(value)
15724     }
15725 }
15726 unsafe impl ::windows::runtime::Abi for PHONECAPS_LONG {
15727     type Abi = Self;
15728     type DefaultType = Self;
15729 }
15730 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15731 #[repr(transparent)]
15732 pub struct PHONECAPS_STRING(pub i32);
15733 pub const PCS_PHONENAME: PHONECAPS_STRING = PHONECAPS_STRING(0i32);
15734 pub const PCS_PHONEINFO: PHONECAPS_STRING = PHONECAPS_STRING(1i32);
15735 pub const PCS_PROVIDERINFO: PHONECAPS_STRING = PHONECAPS_STRING(2i32);
15736 impl ::std::convert::From<i32> for PHONECAPS_STRING {
15737     fn from(value: i32) -> Self {
15738         Self(value)
15739     }
15740 }
15741 unsafe impl ::windows::runtime::Abi for PHONECAPS_STRING {
15742     type Abi = Self;
15743     type DefaultType = Self;
15744 }
15745 pub const PHONEERR_ALLOCATED: u32 = 2415919105u32;
15746 pub const PHONEERR_BADDEVICEID: u32 = 2415919106u32;
15747 pub const PHONEERR_DISCONNECTED: u32 = 2415919140u32;
15748 pub const PHONEERR_INCOMPATIBLEAPIVERSION: u32 = 2415919107u32;
15749 pub const PHONEERR_INCOMPATIBLEEXTVERSION: u32 = 2415919108u32;
15750 pub const PHONEERR_INIFILECORRUPT: u32 = 2415919109u32;
15751 pub const PHONEERR_INUSE: u32 = 2415919110u32;
15752 pub const PHONEERR_INVALAPPHANDLE: u32 = 2415919111u32;
15753 pub const PHONEERR_INVALAPPNAME: u32 = 2415919112u32;
15754 pub const PHONEERR_INVALBUTTONLAMPID: u32 = 2415919113u32;
15755 pub const PHONEERR_INVALBUTTONMODE: u32 = 2415919114u32;
15756 pub const PHONEERR_INVALBUTTONSTATE: u32 = 2415919115u32;
15757 pub const PHONEERR_INVALDATAID: u32 = 2415919116u32;
15758 pub const PHONEERR_INVALDEVICECLASS: u32 = 2415919117u32;
15759 pub const PHONEERR_INVALEXTVERSION: u32 = 2415919118u32;
15760 pub const PHONEERR_INVALHOOKSWITCHDEV: u32 = 2415919119u32;
15761 pub const PHONEERR_INVALHOOKSWITCHMODE: u32 = 2415919120u32;
15762 pub const PHONEERR_INVALLAMPMODE: u32 = 2415919121u32;
15763 pub const PHONEERR_INVALPARAM: u32 = 2415919122u32;
15764 pub const PHONEERR_INVALPHONEHANDLE: u32 = 2415919123u32;
15765 pub const PHONEERR_INVALPHONESTATE: u32 = 2415919124u32;
15766 pub const PHONEERR_INVALPOINTER: u32 = 2415919125u32;
15767 pub const PHONEERR_INVALPRIVILEGE: u32 = 2415919126u32;
15768 pub const PHONEERR_INVALRINGMODE: u32 = 2415919127u32;
15769 pub const PHONEERR_NODEVICE: u32 = 2415919128u32;
15770 pub const PHONEERR_NODRIVER: u32 = 2415919129u32;
15771 pub const PHONEERR_NOMEM: u32 = 2415919130u32;
15772 pub const PHONEERR_NOTOWNER: u32 = 2415919131u32;
15773 pub const PHONEERR_OPERATIONFAILED: u32 = 2415919132u32;
15774 pub const PHONEERR_OPERATIONUNAVAIL: u32 = 2415919133u32;
15775 pub const PHONEERR_REINIT: u32 = 2415919139u32;
15776 pub const PHONEERR_REQUESTOVERRUN: u32 = 2415919136u32;
15777 pub const PHONEERR_RESOURCEUNAVAIL: u32 = 2415919135u32;
15778 pub const PHONEERR_SERVICE_NOT_RUNNING: u32 = 2415919141u32;
15779 pub const PHONEERR_STRUCTURETOOSMALL: u32 = 2415919137u32;
15780 pub const PHONEERR_UNINITIALIZED: u32 = 2415919138u32;
15781 pub type PHONEEVENT = unsafe extern "system" fn(htphone: *mut HTAPIPHONE__, dwmsg: u32, dwparam1: usize, dwparam2: usize, dwparam3: usize);
15782 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15783 #[repr(C, packed(1))]
15784 pub struct PHONEEXTENSIONID {
15785     pub dwExtensionID0: u32,
15786     pub dwExtensionID1: u32,
15787     pub dwExtensionID2: u32,
15788     pub dwExtensionID3: u32,
15789 }
15790 impl PHONEEXTENSIONID {}
15791 impl ::std::default::Default for PHONEEXTENSIONID {
15792     fn default() -> Self {
15793         unsafe { ::std::mem::zeroed() }
15794     }
15795 }
15796 impl ::std::cmp::PartialEq for PHONEEXTENSIONID {
15797     fn eq(&self, _other: &Self) -> bool {
15798         unimplemented!()
15799     }
15800 }
15801 impl ::std::cmp::Eq for PHONEEXTENSIONID {}
15802 unsafe impl ::windows::runtime::Abi for PHONEEXTENSIONID {
15803     type Abi = Self;
15804     type DefaultType = Self;
15805 }
15806 pub const PHONEFEATURE_GENERICPHONE: u32 = 268435456u32;
15807 pub const PHONEFEATURE_GETBUTTONINFO: u32 = 1u32;
15808 pub const PHONEFEATURE_GETDATA: u32 = 2u32;
15809 pub const PHONEFEATURE_GETDISPLAY: u32 = 4u32;
15810 pub const PHONEFEATURE_GETGAINHANDSET: u32 = 8u32;
15811 pub const PHONEFEATURE_GETGAINHEADSET: u32 = 32u32;
15812 pub const PHONEFEATURE_GETGAINSPEAKER: u32 = 16u32;
15813 pub const PHONEFEATURE_GETHOOKSWITCHHANDSET: u32 = 64u32;
15814 pub const PHONEFEATURE_GETHOOKSWITCHHEADSET: u32 = 256u32;
15815 pub const PHONEFEATURE_GETHOOKSWITCHSPEAKER: u32 = 128u32;
15816 pub const PHONEFEATURE_GETLAMP: u32 = 512u32;
15817 pub const PHONEFEATURE_GETRING: u32 = 1024u32;
15818 pub const PHONEFEATURE_GETVOLUMEHANDSET: u32 = 2048u32;
15819 pub const PHONEFEATURE_GETVOLUMEHEADSET: u32 = 8192u32;
15820 pub const PHONEFEATURE_GETVOLUMESPEAKER: u32 = 4096u32;
15821 pub const PHONEFEATURE_SETBUTTONINFO: u32 = 16384u32;
15822 pub const PHONEFEATURE_SETDATA: u32 = 32768u32;
15823 pub const PHONEFEATURE_SETDISPLAY: u32 = 65536u32;
15824 pub const PHONEFEATURE_SETGAINHANDSET: u32 = 131072u32;
15825 pub const PHONEFEATURE_SETGAINHEADSET: u32 = 524288u32;
15826 pub const PHONEFEATURE_SETGAINSPEAKER: u32 = 262144u32;
15827 pub const PHONEFEATURE_SETHOOKSWITCHHANDSET: u32 = 1048576u32;
15828 pub const PHONEFEATURE_SETHOOKSWITCHHEADSET: u32 = 4194304u32;
15829 pub const PHONEFEATURE_SETHOOKSWITCHSPEAKER: u32 = 2097152u32;
15830 pub const PHONEFEATURE_SETLAMP: u32 = 8388608u32;
15831 pub const PHONEFEATURE_SETRING: u32 = 16777216u32;
15832 pub const PHONEFEATURE_SETVOLUMEHANDSET: u32 = 33554432u32;
15833 pub const PHONEFEATURE_SETVOLUMEHEADSET: u32 = 134217728u32;
15834 pub const PHONEFEATURE_SETVOLUMESPEAKER: u32 = 67108864u32;
15835 pub const PHONEHOOKSWITCHDEV_HANDSET: u32 = 1u32;
15836 pub const PHONEHOOKSWITCHDEV_HEADSET: u32 = 4u32;
15837 pub const PHONEHOOKSWITCHDEV_SPEAKER: u32 = 2u32;
15838 pub const PHONEHOOKSWITCHMODE_MIC: u32 = 2u32;
15839 pub const PHONEHOOKSWITCHMODE_MICSPEAKER: u32 = 8u32;
15840 pub const PHONEHOOKSWITCHMODE_ONHOOK: u32 = 1u32;
15841 pub const PHONEHOOKSWITCHMODE_SPEAKER: u32 = 4u32;
15842 pub const PHONEHOOKSWITCHMODE_UNKNOWN: u32 = 16u32;
15843 pub const PHONEINITIALIZEEXOPTION_USECOMPLETIONPORT: u32 = 3u32;
15844 pub const PHONEINITIALIZEEXOPTION_USEEVENT: u32 = 2u32;
15845 pub const PHONEINITIALIZEEXOPTION_USEHIDDENWINDOW: u32 = 1u32;
15846 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15847 #[repr(C, packed(1))]
15848 #[cfg(feature = "Win32_Foundation")]
15849 pub struct PHONEINITIALIZEEXPARAMS {
15850     pub dwTotalSize: u32,
15851     pub dwNeededSize: u32,
15852     pub dwUsedSize: u32,
15853     pub dwOptions: u32,
15854     pub Handles: PHONEINITIALIZEEXPARAMS_0,
15855     pub dwCompletionKey: u32,
15856 }
15857 #[cfg(feature = "Win32_Foundation")]
15858 impl PHONEINITIALIZEEXPARAMS {}
15859 #[cfg(feature = "Win32_Foundation")]
15860 impl ::std::default::Default for PHONEINITIALIZEEXPARAMS {
15861     fn default() -> Self {
15862         unsafe { ::std::mem::zeroed() }
15863     }
15864 }
15865 #[cfg(feature = "Win32_Foundation")]
15866 impl ::std::cmp::PartialEq for PHONEINITIALIZEEXPARAMS {
15867     fn eq(&self, _other: &Self) -> bool {
15868         unimplemented!()
15869     }
15870 }
15871 #[cfg(feature = "Win32_Foundation")]
15872 impl ::std::cmp::Eq for PHONEINITIALIZEEXPARAMS {}
15873 #[cfg(feature = "Win32_Foundation")]
15874 unsafe impl ::windows::runtime::Abi for PHONEINITIALIZEEXPARAMS {
15875     type Abi = Self;
15876     type DefaultType = Self;
15877 }
15878 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15879 #[repr(C, packed(1))]
15880 #[cfg(feature = "Win32_Foundation")]
15881 pub union PHONEINITIALIZEEXPARAMS_0 {
15882     pub hEvent: super::super::Foundation::HANDLE,
15883     pub hCompletionPort: super::super::Foundation::HANDLE,
15884 }
15885 #[cfg(feature = "Win32_Foundation")]
15886 impl PHONEINITIALIZEEXPARAMS_0 {}
15887 #[cfg(feature = "Win32_Foundation")]
15888 impl ::std::default::Default for PHONEINITIALIZEEXPARAMS_0 {
15889     fn default() -> Self {
15890         unsafe { ::std::mem::zeroed() }
15891     }
15892 }
15893 #[cfg(feature = "Win32_Foundation")]
15894 impl ::std::cmp::PartialEq for PHONEINITIALIZEEXPARAMS_0 {
15895     fn eq(&self, _other: &Self) -> bool {
15896         unimplemented!()
15897     }
15898 }
15899 #[cfg(feature = "Win32_Foundation")]
15900 impl ::std::cmp::Eq for PHONEINITIALIZEEXPARAMS_0 {}
15901 #[cfg(feature = "Win32_Foundation")]
15902 unsafe impl ::windows::runtime::Abi for PHONEINITIALIZEEXPARAMS_0 {
15903     type Abi = Self;
15904     type DefaultType = Self;
15905 }
15906 pub const PHONELAMPMODE_BROKENFLUTTER: u32 = 64u32;
15907 pub const PHONELAMPMODE_DUMMY: u32 = 1u32;
15908 pub const PHONELAMPMODE_FLASH: u32 = 16u32;
15909 pub const PHONELAMPMODE_FLUTTER: u32 = 32u32;
15910 pub const PHONELAMPMODE_OFF: u32 = 2u32;
15911 pub const PHONELAMPMODE_STEADY: u32 = 4u32;
15912 pub const PHONELAMPMODE_UNKNOWN: u32 = 128u32;
15913 pub const PHONELAMPMODE_WINK: u32 = 8u32;
15914 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15915 #[repr(C, packed(1))]
15916 pub struct PHONEMESSAGE {
15917     pub hDevice: u32,
15918     pub dwMessageID: u32,
15919     pub dwCallbackInstance: usize,
15920     pub dwParam1: usize,
15921     pub dwParam2: usize,
15922     pub dwParam3: usize,
15923 }
15924 impl PHONEMESSAGE {}
15925 impl ::std::default::Default for PHONEMESSAGE {
15926     fn default() -> Self {
15927         unsafe { ::std::mem::zeroed() }
15928     }
15929 }
15930 impl ::std::cmp::PartialEq for PHONEMESSAGE {
15931     fn eq(&self, _other: &Self) -> bool {
15932         unimplemented!()
15933     }
15934 }
15935 impl ::std::cmp::Eq for PHONEMESSAGE {}
15936 unsafe impl ::windows::runtime::Abi for PHONEMESSAGE {
15937     type Abi = Self;
15938     type DefaultType = Self;
15939 }
15940 pub const PHONEPRIVILEGE_MONITOR: u32 = 1u32;
15941 pub const PHONEPRIVILEGE_OWNER: u32 = 2u32;
15942 pub const PHONESTATE_CAPSCHANGE: u32 = 4194304u32;
15943 pub const PHONESTATE_CONNECTED: u32 = 2u32;
15944 pub const PHONESTATE_DEVSPECIFIC: u32 = 1048576u32;
15945 pub const PHONESTATE_DISCONNECTED: u32 = 4u32;
15946 pub const PHONESTATE_DISPLAY: u32 = 32u32;
15947 pub const PHONESTATE_HANDSETGAIN: u32 = 2048u32;
15948 pub const PHONESTATE_HANDSETHOOKSWITCH: u32 = 512u32;
15949 pub const PHONESTATE_HANDSETVOLUME: u32 = 1024u32;
15950 pub const PHONESTATE_HEADSETGAIN: u32 = 131072u32;
15951 pub const PHONESTATE_HEADSETHOOKSWITCH: u32 = 32768u32;
15952 pub const PHONESTATE_HEADSETVOLUME: u32 = 65536u32;
15953 pub const PHONESTATE_LAMP: u32 = 64u32;
15954 pub const PHONESTATE_MONITORS: u32 = 16u32;
15955 pub const PHONESTATE_OTHER: u32 = 1u32;
15956 pub const PHONESTATE_OWNER: u32 = 8u32;
15957 pub const PHONESTATE_REINIT: u32 = 2097152u32;
15958 pub const PHONESTATE_REMOVED: u32 = 8388608u32;
15959 pub const PHONESTATE_RESUME: u32 = 524288u32;
15960 pub const PHONESTATE_RINGMODE: u32 = 128u32;
15961 pub const PHONESTATE_RINGVOLUME: u32 = 256u32;
15962 pub const PHONESTATE_SPEAKERGAIN: u32 = 16384u32;
15963 pub const PHONESTATE_SPEAKERHOOKSWITCH: u32 = 4096u32;
15964 pub const PHONESTATE_SPEAKERVOLUME: u32 = 8192u32;
15965 pub const PHONESTATE_SUSPEND: u32 = 262144u32;
15966 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15967 #[repr(C, packed(1))]
15968 pub struct PHONESTATUS {
15969     pub dwTotalSize: u32,
15970     pub dwNeededSize: u32,
15971     pub dwUsedSize: u32,
15972     pub dwStatusFlags: u32,
15973     pub dwNumOwners: u32,
15974     pub dwNumMonitors: u32,
15975     pub dwRingMode: u32,
15976     pub dwRingVolume: u32,
15977     pub dwHandsetHookSwitchMode: u32,
15978     pub dwHandsetVolume: u32,
15979     pub dwHandsetGain: u32,
15980     pub dwSpeakerHookSwitchMode: u32,
15981     pub dwSpeakerVolume: u32,
15982     pub dwSpeakerGain: u32,
15983     pub dwHeadsetHookSwitchMode: u32,
15984     pub dwHeadsetVolume: u32,
15985     pub dwHeadsetGain: u32,
15986     pub dwDisplaySize: u32,
15987     pub dwDisplayOffset: u32,
15988     pub dwLampModesSize: u32,
15989     pub dwLampModesOffset: u32,
15990     pub dwOwnerNameSize: u32,
15991     pub dwOwnerNameOffset: u32,
15992     pub dwDevSpecificSize: u32,
15993     pub dwDevSpecificOffset: u32,
15994     pub dwPhoneFeatures: u32,
15995 }
15996 impl PHONESTATUS {}
15997 impl ::std::default::Default for PHONESTATUS {
15998     fn default() -> Self {
15999         unsafe { ::std::mem::zeroed() }
16000     }
16001 }
16002 impl ::std::cmp::PartialEq for PHONESTATUS {
16003     fn eq(&self, _other: &Self) -> bool {
16004         unimplemented!()
16005     }
16006 }
16007 impl ::std::cmp::Eq for PHONESTATUS {}
16008 unsafe impl ::windows::runtime::Abi for PHONESTATUS {
16009     type Abi = Self;
16010     type DefaultType = Self;
16011 }
16012 pub const PHONESTATUSFLAGS_CONNECTED: u32 = 1u32;
16013 pub const PHONESTATUSFLAGS_SUSPENDED: u32 = 2u32;
16014 pub const PHONE_BUTTON: i32 = 14i32;
16015 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16016 #[repr(transparent)]
16017 pub struct PHONE_BUTTON_FUNCTION(pub i32);
16018 pub const PBF_UNKNOWN: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(0i32);
16019 pub const PBF_CONFERENCE: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(1i32);
16020 pub const PBF_TRANSFER: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(2i32);
16021 pub const PBF_DROP: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(3i32);
16022 pub const PBF_HOLD: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(4i32);
16023 pub const PBF_RECALL: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(5i32);
16024 pub const PBF_DISCONNECT: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(6i32);
16025 pub const PBF_CONNECT: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(7i32);
16026 pub const PBF_MSGWAITON: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(8i32);
16027 pub const PBF_MSGWAITOFF: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(9i32);
16028 pub const PBF_SELECTRING: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(10i32);
16029 pub const PBF_ABBREVDIAL: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(11i32);
16030 pub const PBF_FORWARD: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(12i32);
16031 pub const PBF_PICKUP: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(13i32);
16032 pub const PBF_RINGAGAIN: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(14i32);
16033 pub const PBF_PARK: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(15i32);
16034 pub const PBF_REJECT: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(16i32);
16035 pub const PBF_REDIRECT: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(17i32);
16036 pub const PBF_MUTE: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(18i32);
16037 pub const PBF_VOLUMEUP: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(19i32);
16038 pub const PBF_VOLUMEDOWN: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(20i32);
16039 pub const PBF_SPEAKERON: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(21i32);
16040 pub const PBF_SPEAKEROFF: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(22i32);
16041 pub const PBF_FLASH: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(23i32);
16042 pub const PBF_DATAON: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(24i32);
16043 pub const PBF_DATAOFF: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(25i32);
16044 pub const PBF_DONOTDISTURB: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(26i32);
16045 pub const PBF_INTERCOM: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(27i32);
16046 pub const PBF_BRIDGEDAPP: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(28i32);
16047 pub const PBF_BUSY: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(29i32);
16048 pub const PBF_CALLAPP: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(30i32);
16049 pub const PBF_DATETIME: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(31i32);
16050 pub const PBF_DIRECTORY: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(32i32);
16051 pub const PBF_COVER: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(33i32);
16052 pub const PBF_CALLID: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(34i32);
16053 pub const PBF_LASTNUM: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(35i32);
16054 pub const PBF_NIGHTSRV: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(36i32);
16055 pub const PBF_SENDCALLS: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(37i32);
16056 pub const PBF_MSGINDICATOR: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(38i32);
16057 pub const PBF_REPDIAL: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(39i32);
16058 pub const PBF_SETREPDIAL: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(40i32);
16059 pub const PBF_SYSTEMSPEED: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(41i32);
16060 pub const PBF_STATIONSPEED: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(42i32);
16061 pub const PBF_CAMPON: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(43i32);
16062 pub const PBF_SAVEREPEAT: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(44i32);
16063 pub const PBF_QUEUECALL: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(45i32);
16064 pub const PBF_NONE: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(46i32);
16065 pub const PBF_SEND: PHONE_BUTTON_FUNCTION = PHONE_BUTTON_FUNCTION(47i32);
16066 impl ::std::convert::From<i32> for PHONE_BUTTON_FUNCTION {
16067     fn from(value: i32) -> Self {
16068         Self(value)
16069     }
16070 }
16071 unsafe impl ::windows::runtime::Abi for PHONE_BUTTON_FUNCTION {
16072     type Abi = Self;
16073     type DefaultType = Self;
16074 }
16075 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16076 #[repr(transparent)]
16077 pub struct PHONE_BUTTON_MODE(pub i32);
16078 pub const PBM_DUMMY: PHONE_BUTTON_MODE = PHONE_BUTTON_MODE(0i32);
16079 pub const PBM_CALL: PHONE_BUTTON_MODE = PHONE_BUTTON_MODE(1i32);
16080 pub const PBM_FEATURE: PHONE_BUTTON_MODE = PHONE_BUTTON_MODE(2i32);
16081 pub const PBM_KEYPAD: PHONE_BUTTON_MODE = PHONE_BUTTON_MODE(3i32);
16082 pub const PBM_LOCAL: PHONE_BUTTON_MODE = PHONE_BUTTON_MODE(4i32);
16083 pub const PBM_DISPLAY: PHONE_BUTTON_MODE = PHONE_BUTTON_MODE(5i32);
16084 impl ::std::convert::From<i32> for PHONE_BUTTON_MODE {
16085     fn from(value: i32) -> Self {
16086         Self(value)
16087     }
16088 }
16089 unsafe impl ::windows::runtime::Abi for PHONE_BUTTON_MODE {
16090     type Abi = Self;
16091     type DefaultType = Self;
16092 }
16093 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16094 #[repr(transparent)]
16095 pub struct PHONE_BUTTON_STATE(pub i32);
16096 pub const PBS_UP: PHONE_BUTTON_STATE = PHONE_BUTTON_STATE(1i32);
16097 pub const PBS_DOWN: PHONE_BUTTON_STATE = PHONE_BUTTON_STATE(2i32);
16098 pub const PBS_UNKNOWN: PHONE_BUTTON_STATE = PHONE_BUTTON_STATE(4i32);
16099 pub const PBS_UNAVAIL: PHONE_BUTTON_STATE = PHONE_BUTTON_STATE(8i32);
16100 impl ::std::convert::From<i32> for PHONE_BUTTON_STATE {
16101     fn from(value: i32) -> Self {
16102         Self(value)
16103     }
16104 }
16105 unsafe impl ::windows::runtime::Abi for PHONE_BUTTON_STATE {
16106     type Abi = Self;
16107     type DefaultType = Self;
16108 }
16109 pub const PHONE_CLOSE: i32 = 15i32;
16110 pub const PHONE_CREATE: i32 = 20i32;
16111 pub const PHONE_DEVSPECIFIC: i32 = 16i32;
16112 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16113 #[repr(transparent)]
16114 pub struct PHONE_EVENT(pub i32);
16115 pub const PE_DISPLAY: PHONE_EVENT = PHONE_EVENT(0i32);
16116 pub const PE_LAMPMODE: PHONE_EVENT = PHONE_EVENT(1i32);
16117 pub const PE_RINGMODE: PHONE_EVENT = PHONE_EVENT(2i32);
16118 pub const PE_RINGVOLUME: PHONE_EVENT = PHONE_EVENT(3i32);
16119 pub const PE_HOOKSWITCH: PHONE_EVENT = PHONE_EVENT(4i32);
16120 pub const PE_CAPSCHANGE: PHONE_EVENT = PHONE_EVENT(5i32);
16121 pub const PE_BUTTON: PHONE_EVENT = PHONE_EVENT(6i32);
16122 pub const PE_CLOSE: PHONE_EVENT = PHONE_EVENT(7i32);
16123 pub const PE_NUMBERGATHERED: PHONE_EVENT = PHONE_EVENT(8i32);
16124 pub const PE_DIALING: PHONE_EVENT = PHONE_EVENT(9i32);
16125 pub const PE_ANSWER: PHONE_EVENT = PHONE_EVENT(10i32);
16126 pub const PE_DISCONNECT: PHONE_EVENT = PHONE_EVENT(11i32);
16127 pub const PE_LASTITEM: PHONE_EVENT = PHONE_EVENT(11i32);
16128 impl ::std::convert::From<i32> for PHONE_EVENT {
16129     fn from(value: i32) -> Self {
16130         Self(value)
16131     }
16132 }
16133 unsafe impl ::windows::runtime::Abi for PHONE_EVENT {
16134     type Abi = Self;
16135     type DefaultType = Self;
16136 }
16137 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16138 #[repr(transparent)]
16139 pub struct PHONE_HOOK_SWITCH_DEVICE(pub i32);
16140 pub const PHSD_HANDSET: PHONE_HOOK_SWITCH_DEVICE = PHONE_HOOK_SWITCH_DEVICE(1i32);
16141 pub const PHSD_SPEAKERPHONE: PHONE_HOOK_SWITCH_DEVICE = PHONE_HOOK_SWITCH_DEVICE(2i32);
16142 pub const PHSD_HEADSET: PHONE_HOOK_SWITCH_DEVICE = PHONE_HOOK_SWITCH_DEVICE(4i32);
16143 impl ::std::convert::From<i32> for PHONE_HOOK_SWITCH_DEVICE {
16144     fn from(value: i32) -> Self {
16145         Self(value)
16146     }
16147 }
16148 unsafe impl ::windows::runtime::Abi for PHONE_HOOK_SWITCH_DEVICE {
16149     type Abi = Self;
16150     type DefaultType = Self;
16151 }
16152 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16153 #[repr(transparent)]
16154 pub struct PHONE_HOOK_SWITCH_STATE(pub i32);
16155 pub const PHSS_ONHOOK: PHONE_HOOK_SWITCH_STATE = PHONE_HOOK_SWITCH_STATE(1i32);
16156 pub const PHSS_OFFHOOK_MIC_ONLY: PHONE_HOOK_SWITCH_STATE = PHONE_HOOK_SWITCH_STATE(2i32);
16157 pub const PHSS_OFFHOOK_SPEAKER_ONLY: PHONE_HOOK_SWITCH_STATE = PHONE_HOOK_SWITCH_STATE(4i32);
16158 pub const PHSS_OFFHOOK: PHONE_HOOK_SWITCH_STATE = PHONE_HOOK_SWITCH_STATE(8i32);
16159 impl ::std::convert::From<i32> for PHONE_HOOK_SWITCH_STATE {
16160     fn from(value: i32) -> Self {
16161         Self(value)
16162     }
16163 }
16164 unsafe impl ::windows::runtime::Abi for PHONE_HOOK_SWITCH_STATE {
16165     type Abi = Self;
16166     type DefaultType = Self;
16167 }
16168 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16169 #[repr(transparent)]
16170 pub struct PHONE_LAMP_MODE(pub i32);
16171 pub const LM_DUMMY: PHONE_LAMP_MODE = PHONE_LAMP_MODE(1i32);
16172 pub const LM_OFF: PHONE_LAMP_MODE = PHONE_LAMP_MODE(2i32);
16173 pub const LM_STEADY: PHONE_LAMP_MODE = PHONE_LAMP_MODE(4i32);
16174 pub const LM_WINK: PHONE_LAMP_MODE = PHONE_LAMP_MODE(8i32);
16175 pub const LM_FLASH: PHONE_LAMP_MODE = PHONE_LAMP_MODE(16i32);
16176 pub const LM_FLUTTER: PHONE_LAMP_MODE = PHONE_LAMP_MODE(32i32);
16177 pub const LM_BROKENFLUTTER: PHONE_LAMP_MODE = PHONE_LAMP_MODE(64i32);
16178 pub const LM_UNKNOWN: PHONE_LAMP_MODE = PHONE_LAMP_MODE(128i32);
16179 impl ::std::convert::From<i32> for PHONE_LAMP_MODE {
16180     fn from(value: i32) -> Self {
16181         Self(value)
16182     }
16183 }
16184 unsafe impl ::windows::runtime::Abi for PHONE_LAMP_MODE {
16185     type Abi = Self;
16186     type DefaultType = Self;
16187 }
16188 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16189 #[repr(transparent)]
16190 pub struct PHONE_PRIVILEGE(pub i32);
16191 pub const PP_OWNER: PHONE_PRIVILEGE = PHONE_PRIVILEGE(0i32);
16192 pub const PP_MONITOR: PHONE_PRIVILEGE = PHONE_PRIVILEGE(1i32);
16193 impl ::std::convert::From<i32> for PHONE_PRIVILEGE {
16194     fn from(value: i32) -> Self {
16195         Self(value)
16196     }
16197 }
16198 unsafe impl ::windows::runtime::Abi for PHONE_PRIVILEGE {
16199     type Abi = Self;
16200     type DefaultType = Self;
16201 }
16202 pub const PHONE_REMOVE: i32 = 26i32;
16203 pub const PHONE_REPLY: i32 = 17i32;
16204 pub const PHONE_STATE: i32 = 18i32;
16205 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16206 #[repr(transparent)]
16207 pub struct PHONE_TONE(pub i32);
16208 pub const PT_KEYPADZERO: PHONE_TONE = PHONE_TONE(0i32);
16209 pub const PT_KEYPADONE: PHONE_TONE = PHONE_TONE(1i32);
16210 pub const PT_KEYPADTWO: PHONE_TONE = PHONE_TONE(2i32);
16211 pub const PT_KEYPADTHREE: PHONE_TONE = PHONE_TONE(3i32);
16212 pub const PT_KEYPADFOUR: PHONE_TONE = PHONE_TONE(4i32);
16213 pub const PT_KEYPADFIVE: PHONE_TONE = PHONE_TONE(5i32);
16214 pub const PT_KEYPADSIX: PHONE_TONE = PHONE_TONE(6i32);
16215 pub const PT_KEYPADSEVEN: PHONE_TONE = PHONE_TONE(7i32);
16216 pub const PT_KEYPADEIGHT: PHONE_TONE = PHONE_TONE(8i32);
16217 pub const PT_KEYPADNINE: PHONE_TONE = PHONE_TONE(9i32);
16218 pub const PT_KEYPADSTAR: PHONE_TONE = PHONE_TONE(10i32);
16219 pub const PT_KEYPADPOUND: PHONE_TONE = PHONE_TONE(11i32);
16220 pub const PT_KEYPADA: PHONE_TONE = PHONE_TONE(12i32);
16221 pub const PT_KEYPADB: PHONE_TONE = PHONE_TONE(13i32);
16222 pub const PT_KEYPADC: PHONE_TONE = PHONE_TONE(14i32);
16223 pub const PT_KEYPADD: PHONE_TONE = PHONE_TONE(15i32);
16224 pub const PT_NORMALDIALTONE: PHONE_TONE = PHONE_TONE(16i32);
16225 pub const PT_EXTERNALDIALTONE: PHONE_TONE = PHONE_TONE(17i32);
16226 pub const PT_BUSY: PHONE_TONE = PHONE_TONE(18i32);
16227 pub const PT_RINGBACK: PHONE_TONE = PHONE_TONE(19i32);
16228 pub const PT_ERRORTONE: PHONE_TONE = PHONE_TONE(20i32);
16229 pub const PT_SILENCE: PHONE_TONE = PHONE_TONE(21i32);
16230 impl ::std::convert::From<i32> for PHONE_TONE {
16231     fn from(value: i32) -> Self {
16232         Self(value)
16233     }
16234 }
16235 unsafe impl ::windows::runtime::Abi for PHONE_TONE {
16236     type Abi = Self;
16237     type DefaultType = Self;
16238 }
16239 pub const PRIVATEOBJECT_ADDRESS: u32 = 6u32;
16240 pub const PRIVATEOBJECT_CALL: u32 = 4u32;
16241 pub const PRIVATEOBJECT_CALLID: u32 = 2u32;
16242 pub const PRIVATEOBJECT_LINE: u32 = 3u32;
16243 pub const PRIVATEOBJECT_NONE: u32 = 1u32;
16244 pub const PRIVATEOBJECT_PHONE: u32 = 5u32;
16245 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16246 #[repr(transparent)]
16247 pub struct QOS_EVENT(pub i32);
16248 pub const QE_NOQOS: QOS_EVENT = QOS_EVENT(1i32);
16249 pub const QE_ADMISSIONFAILURE: QOS_EVENT = QOS_EVENT(2i32);
16250 pub const QE_POLICYFAILURE: QOS_EVENT = QOS_EVENT(3i32);
16251 pub const QE_GENERICERROR: QOS_EVENT = QOS_EVENT(4i32);
16252 pub const QE_LASTITEM: QOS_EVENT = QOS_EVENT(4i32);
16253 impl ::std::convert::From<i32> for QOS_EVENT {
16254     fn from(value: i32) -> Self {
16255         Self(value)
16256     }
16257 }
16258 unsafe impl ::windows::runtime::Abi for QOS_EVENT {
16259     type Abi = Self;
16260     type DefaultType = Self;
16261 }
16262 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16263 #[repr(transparent)]
16264 pub struct QOS_SERVICE_LEVEL(pub i32);
16265 pub const QSL_NEEDED: QOS_SERVICE_LEVEL = QOS_SERVICE_LEVEL(1i32);
16266 pub const QSL_IF_AVAILABLE: QOS_SERVICE_LEVEL = QOS_SERVICE_LEVEL(2i32);
16267 pub const QSL_BEST_EFFORT: QOS_SERVICE_LEVEL = QOS_SERVICE_LEVEL(3i32);
16268 impl ::std::convert::From<i32> for QOS_SERVICE_LEVEL {
16269     fn from(value: i32) -> Self {
16270         Self(value)
16271     }
16272 }
16273 unsafe impl ::windows::runtime::Abi for QOS_SERVICE_LEVEL {
16274     type Abi = Self;
16275     type DefaultType = Self;
16276 }
16277 pub const RENDBIND_AUTHENTICATE: u32 = 1u32;
16278 pub const RENDBIND_DEFAULTCREDENTIALS: u32 = 14u32;
16279 pub const RENDBIND_DEFAULTDOMAINNAME: u32 = 2u32;
16280 pub const RENDBIND_DEFAULTPASSWORD: u32 = 8u32;
16281 pub const RENDBIND_DEFAULTUSERNAME: u32 = 4u32;
16282 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16283 #[repr(transparent)]
16284 pub struct RND_ADVERTISING_SCOPE(pub i32);
16285 pub const RAS_LOCAL: RND_ADVERTISING_SCOPE = RND_ADVERTISING_SCOPE(1i32);
16286 pub const RAS_SITE: RND_ADVERTISING_SCOPE = RND_ADVERTISING_SCOPE(2i32);
16287 pub const RAS_REGION: RND_ADVERTISING_SCOPE = RND_ADVERTISING_SCOPE(3i32);
16288 pub const RAS_WORLD: RND_ADVERTISING_SCOPE = RND_ADVERTISING_SCOPE(4i32);
16289 impl ::std::convert::From<i32> for RND_ADVERTISING_SCOPE {
16290     fn from(value: i32) -> Self {
16291         Self(value)
16292     }
16293 }
16294 unsafe impl ::windows::runtime::Abi for RND_ADVERTISING_SCOPE {
16295     type Abi = Self;
16296     type DefaultType = Self;
16297 }
16298 pub const Rendezvous: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4043480667, 52059, 4560, [141, 89, 0, 192, 79, 217, 26, 192]);
16299 pub const RequestMakeCall: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2890465248, 63684, 4561, [160, 48, 0, 192, 79, 182, 128, 159]);
16300 pub const STRINGFORMAT_ASCII: u32 = 1u32;
16301 pub const STRINGFORMAT_BINARY: u32 = 4u32;
16302 pub const STRINGFORMAT_DBCS: u32 = 2u32;
16303 pub const STRINGFORMAT_UNICODE: u32 = 3u32;
16304 pub const STRM_CONFIGURED: u32 = 2u32;
16305 pub const STRM_INITIAL: u32 = 0u32;
16306 pub const STRM_PAUSED: u32 = 8u32;
16307 pub const STRM_RUNNING: u32 = 4u32;
16308 pub const STRM_STOPPED: u32 = 16u32;
16309 pub const STRM_TERMINALSELECTED: u32 = 1u32;
16310 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16311 #[repr(C)]
16312 pub struct STnefProblem {
16313     pub ulComponent: u32,
16314     pub ulAttribute: u32,
16315     pub ulPropTag: u32,
16316     pub scode: i32,
16317 }
16318 impl STnefProblem {}
16319 impl ::std::default::Default for STnefProblem {
16320     fn default() -> Self {
16321         unsafe { ::std::mem::zeroed() }
16322     }
16323 }
16324 impl ::std::fmt::Debug for STnefProblem {
16325     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
16326         fmt.debug_struct("STnefProblem").field("ulComponent", &self.ulComponent).field("ulAttribute", &self.ulAttribute).field("ulPropTag", &self.ulPropTag).field("scode", &self.scode).finish()
16327     }
16328 }
16329 impl ::std::cmp::PartialEq for STnefProblem {
16330     fn eq(&self, other: &Self) -> bool {
16331         self.ulComponent == other.ulComponent && self.ulAttribute == other.ulAttribute && self.ulPropTag == other.ulPropTag && self.scode == other.scode
16332     }
16333 }
16334 impl ::std::cmp::Eq for STnefProblem {}
16335 unsafe impl ::windows::runtime::Abi for STnefProblem {
16336     type Abi = Self;
16337     type DefaultType = Self;
16338 }
16339 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16340 #[repr(C)]
16341 pub struct STnefProblemArray {
16342     pub cProblem: u32,
16343     pub aProblem: [STnefProblem; 1],
16344 }
16345 impl STnefProblemArray {}
16346 impl ::std::default::Default for STnefProblemArray {
16347     fn default() -> Self {
16348         unsafe { ::std::mem::zeroed() }
16349     }
16350 }
16351 impl ::std::fmt::Debug for STnefProblemArray {
16352     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
16353         fmt.debug_struct("STnefProblemArray").field("cProblem", &self.cProblem).field("aProblem", &self.aProblem).finish()
16354     }
16355 }
16356 impl ::std::cmp::PartialEq for STnefProblemArray {
16357     fn eq(&self, other: &Self) -> bool {
16358         self.cProblem == other.cProblem && self.aProblem == other.aProblem
16359     }
16360 }
16361 impl ::std::cmp::Eq for STnefProblemArray {}
16362 unsafe impl ::windows::runtime::Abi for STnefProblemArray {
16363     type Abi = Self;
16364     type DefaultType = Self;
16365 }
16366 pub const TAPI: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(567727246, 43147, 4560, [131, 221, 0, 170, 0, 60, 202, 189]);
16367 pub const TAPIERR_CONNECTED: i32 = 0i32;
16368 pub const TAPIERR_DESTBUSY: i32 = -11i32;
16369 pub const TAPIERR_DESTNOANSWER: i32 = -12i32;
16370 pub const TAPIERR_DESTUNAVAIL: i32 = -13i32;
16371 pub const TAPIERR_DEVICECLASSUNAVAIL: i32 = -8i32;
16372 pub const TAPIERR_DEVICEIDUNAVAIL: i32 = -9i32;
16373 pub const TAPIERR_DEVICEINUSE: i32 = -10i32;
16374 pub const TAPIERR_DROPPED: i32 = -1i32;
16375 pub const TAPIERR_INVALDESTADDRESS: i32 = -4i32;
16376 pub const TAPIERR_INVALDEVICECLASS: i32 = -6i32;
16377 pub const TAPIERR_INVALDEVICEID: i32 = -7i32;
16378 pub const TAPIERR_INVALPOINTER: i32 = -18i32;
16379 pub const TAPIERR_INVALWINDOWHANDLE: i32 = -5i32;
16380 pub const TAPIERR_MMCWRITELOCKED: i32 = -20i32;
16381 pub const TAPIERR_NOREQUESTRECIPIENT: i32 = -2i32;
16382 pub const TAPIERR_NOTADMIN: i32 = -19i32;
16383 pub const TAPIERR_PROVIDERALREADYINSTALLED: i32 = -21i32;
16384 pub const TAPIERR_REQUESTCANCELLED: i32 = -17i32;
16385 pub const TAPIERR_REQUESTFAILED: i32 = -16i32;
16386 pub const TAPIERR_REQUESTQUEUEFULL: i32 = -3i32;
16387 pub const TAPIERR_SCP_ALREADY_EXISTS: i32 = -22i32;
16388 pub const TAPIERR_SCP_DOES_NOT_EXIST: i32 = -23i32;
16389 pub const TAPIERR_UNKNOWNREQUESTID: i32 = -15i32;
16390 pub const TAPIERR_UNKNOWNWINHANDLE: i32 = -14i32;
16391 pub const TAPIMAXAPPNAMESIZE: i32 = 40i32;
16392 pub const TAPIMAXCALLEDPARTYSIZE: i32 = 40i32;
16393 pub const TAPIMAXCOMMENTSIZE: i32 = 80i32;
16394 pub const TAPIMAXDESTADDRESSSIZE: i32 = 80i32;
16395 pub const TAPIMAXDEVICECLASSSIZE: i32 = 40i32;
16396 pub const TAPIMAXDEVICEIDSIZE: i32 = 40i32;
16397 pub const TAPIMEDIATYPE_AUDIO: u32 = 8u32;
16398 pub const TAPIMEDIATYPE_DATAMODEM: u32 = 16u32;
16399 pub const TAPIMEDIATYPE_G3FAX: u32 = 32u32;
16400 pub const TAPIMEDIATYPE_MULTITRACK: u32 = 65536u32;
16401 pub const TAPIMEDIATYPE_VIDEO: u32 = 32768u32;
16402 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16403 #[repr(transparent)]
16404 pub struct TAPIOBJECT_EVENT(pub i32);
16405 pub const TE_ADDRESSCREATE: TAPIOBJECT_EVENT = TAPIOBJECT_EVENT(0i32);
16406 pub const TE_ADDRESSREMOVE: TAPIOBJECT_EVENT = TAPIOBJECT_EVENT(1i32);
16407 pub const TE_REINIT: TAPIOBJECT_EVENT = TAPIOBJECT_EVENT(2i32);
16408 pub const TE_TRANSLATECHANGE: TAPIOBJECT_EVENT = TAPIOBJECT_EVENT(3i32);
16409 pub const TE_ADDRESSCLOSE: TAPIOBJECT_EVENT = TAPIOBJECT_EVENT(4i32);
16410 pub const TE_PHONECREATE: TAPIOBJECT_EVENT = TAPIOBJECT_EVENT(5i32);
16411 pub const TE_PHONEREMOVE: TAPIOBJECT_EVENT = TAPIOBJECT_EVENT(6i32);
16412 impl ::std::convert::From<i32> for TAPIOBJECT_EVENT {
16413     fn from(value: i32) -> Self {
16414         Self(value)
16415     }
16416 }
16417 unsafe impl ::windows::runtime::Abi for TAPIOBJECT_EVENT {
16418     type Abi = Self;
16419     type DefaultType = Self;
16420 }
16421 pub const TAPI_CURRENT_VERSION: u32 = 131074u32;
16422 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16423 #[repr(C)]
16424 pub struct TAPI_CUSTOMTONE {
16425     pub dwFrequency: u32,
16426     pub dwCadenceOn: u32,
16427     pub dwCadenceOff: u32,
16428     pub dwVolume: u32,
16429 }
16430 impl TAPI_CUSTOMTONE {}
16431 impl ::std::default::Default for TAPI_CUSTOMTONE {
16432     fn default() -> Self {
16433         unsafe { ::std::mem::zeroed() }
16434     }
16435 }
16436 impl ::std::fmt::Debug for TAPI_CUSTOMTONE {
16437     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
16438         fmt.debug_struct("TAPI_CUSTOMTONE").field("dwFrequency", &self.dwFrequency).field("dwCadenceOn", &self.dwCadenceOn).field("dwCadenceOff", &self.dwCadenceOff).field("dwVolume", &self.dwVolume).finish()
16439     }
16440 }
16441 impl ::std::cmp::PartialEq for TAPI_CUSTOMTONE {
16442     fn eq(&self, other: &Self) -> bool {
16443         self.dwFrequency == other.dwFrequency && self.dwCadenceOn == other.dwCadenceOn && self.dwCadenceOff == other.dwCadenceOff && self.dwVolume == other.dwVolume
16444     }
16445 }
16446 impl ::std::cmp::Eq for TAPI_CUSTOMTONE {}
16447 unsafe impl ::windows::runtime::Abi for TAPI_CUSTOMTONE {
16448     type Abi = Self;
16449     type DefaultType = Self;
16450 }
16451 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16452 #[repr(C)]
16453 pub struct TAPI_DETECTTONE {
16454     pub dwAppSpecific: u32,
16455     pub dwDuration: u32,
16456     pub dwFrequency1: u32,
16457     pub dwFrequency2: u32,
16458     pub dwFrequency3: u32,
16459 }
16460 impl TAPI_DETECTTONE {}
16461 impl ::std::default::Default for TAPI_DETECTTONE {
16462     fn default() -> Self {
16463         unsafe { ::std::mem::zeroed() }
16464     }
16465 }
16466 impl ::std::fmt::Debug for TAPI_DETECTTONE {
16467     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
16468         fmt.debug_struct("TAPI_DETECTTONE").field("dwAppSpecific", &self.dwAppSpecific).field("dwDuration", &self.dwDuration).field("dwFrequency1", &self.dwFrequency1).field("dwFrequency2", &self.dwFrequency2).field("dwFrequency3", &self.dwFrequency3).finish()
16469     }
16470 }
16471 impl ::std::cmp::PartialEq for TAPI_DETECTTONE {
16472     fn eq(&self, other: &Self) -> bool {
16473         self.dwAppSpecific == other.dwAppSpecific && self.dwDuration == other.dwDuration && self.dwFrequency1 == other.dwFrequency1 && self.dwFrequency2 == other.dwFrequency2 && self.dwFrequency3 == other.dwFrequency3
16474     }
16475 }
16476 impl ::std::cmp::Eq for TAPI_DETECTTONE {}
16477 unsafe impl ::windows::runtime::Abi for TAPI_DETECTTONE {
16478     type Abi = Self;
16479     type DefaultType = Self;
16480 }
16481 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16482 #[repr(transparent)]
16483 pub struct TAPI_EVENT(pub i32);
16484 pub const TE_TAPIOBJECT: TAPI_EVENT = TAPI_EVENT(1i32);
16485 pub const TE_ADDRESS: TAPI_EVENT = TAPI_EVENT(2i32);
16486 pub const TE_CALLNOTIFICATION: TAPI_EVENT = TAPI_EVENT(4i32);
16487 pub const TE_CALLSTATE: TAPI_EVENT = TAPI_EVENT(8i32);
16488 pub const TE_CALLMEDIA: TAPI_EVENT = TAPI_EVENT(16i32);
16489 pub const TE_CALLHUB: TAPI_EVENT = TAPI_EVENT(32i32);
16490 pub const TE_CALLINFOCHANGE: TAPI_EVENT = TAPI_EVENT(64i32);
16491 pub const TE_PRIVATE: TAPI_EVENT = TAPI_EVENT(128i32);
16492 pub const TE_REQUEST: TAPI_EVENT = TAPI_EVENT(256i32);
16493 pub const TE_AGENT: TAPI_EVENT = TAPI_EVENT(512i32);
16494 pub const TE_AGENTSESSION: TAPI_EVENT = TAPI_EVENT(1024i32);
16495 pub const TE_QOSEVENT: TAPI_EVENT = TAPI_EVENT(2048i32);
16496 pub const TE_AGENTHANDLER: TAPI_EVENT = TAPI_EVENT(4096i32);
16497 pub const TE_ACDGROUP: TAPI_EVENT = TAPI_EVENT(8192i32);
16498 pub const TE_QUEUE: TAPI_EVENT = TAPI_EVENT(16384i32);
16499 pub const TE_DIGITEVENT: TAPI_EVENT = TAPI_EVENT(32768i32);
16500 pub const TE_GENERATEEVENT: TAPI_EVENT = TAPI_EVENT(65536i32);
16501 pub const TE_ASRTERMINAL: TAPI_EVENT = TAPI_EVENT(131072i32);
16502 pub const TE_TTSTERMINAL: TAPI_EVENT = TAPI_EVENT(262144i32);
16503 pub const TE_FILETERMINAL: TAPI_EVENT = TAPI_EVENT(524288i32);
16504 pub const TE_TONETERMINAL: TAPI_EVENT = TAPI_EVENT(1048576i32);
16505 pub const TE_PHONEEVENT: TAPI_EVENT = TAPI_EVENT(2097152i32);
16506 pub const TE_TONEEVENT: TAPI_EVENT = TAPI_EVENT(4194304i32);
16507 pub const TE_GATHERDIGITS: TAPI_EVENT = TAPI_EVENT(8388608i32);
16508 pub const TE_ADDRESSDEVSPECIFIC: TAPI_EVENT = TAPI_EVENT(16777216i32);
16509 pub const TE_PHONEDEVSPECIFIC: TAPI_EVENT = TAPI_EVENT(33554432i32);
16510 impl ::std::convert::From<i32> for TAPI_EVENT {
16511     fn from(value: i32) -> Self {
16512         Self(value)
16513     }
16514 }
16515 unsafe impl ::windows::runtime::Abi for TAPI_EVENT {
16516     type Abi = Self;
16517     type DefaultType = Self;
16518 }
16519 pub const TAPI_E_ADDRESSBLOCKED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221462i32 as _);
16520 pub const TAPI_E_ALLOCATED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221498i32 as _);
16521 pub const TAPI_E_BILLINGREJECTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221461i32 as _);
16522 pub const TAPI_E_CALLCENTER_GROUP_REMOVED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221435i32 as _);
16523 pub const TAPI_E_CALLCENTER_INVALAGENTACTIVITY: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221428i32 as _);
16524 pub const TAPI_E_CALLCENTER_INVALAGENTGROUP: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221431i32 as _);
16525 pub const TAPI_E_CALLCENTER_INVALAGENTID: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221432i32 as _);
16526 pub const TAPI_E_CALLCENTER_INVALAGENTSTATE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221429i32 as _);
16527 pub const TAPI_E_CALLCENTER_INVALPASSWORD: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221430i32 as _);
16528 pub const TAPI_E_CALLCENTER_NO_AGENT_ID: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221433i32 as _);
16529 pub const TAPI_E_CALLCENTER_QUEUE_REMOVED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221434i32 as _);
16530 pub const TAPI_E_CALLNOTSELECTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221420i32 as _);
16531 pub const TAPI_E_CALLUNAVAIL: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221497i32 as _);
16532 pub const TAPI_E_COMPLETIONOVERRUN: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221496i32 as _);
16533 pub const TAPI_E_CONFERENCEFULL: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221495i32 as _);
16534 pub const TAPI_E_DESTBUSY: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221452i32 as _);
16535 pub const TAPI_E_DESTNOANSWER: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221451i32 as _);
16536 pub const TAPI_E_DESTUNAVAIL: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221450i32 as _);
16537 pub const TAPI_E_DIALMODIFIERNOTSUPPORTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221494i32 as _);
16538 pub const TAPI_E_DROPPED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221455i32 as _);
16539 pub const TAPI_E_INUSE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221493i32 as _);
16540 pub const TAPI_E_INVALADDRESS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221492i32 as _);
16541 pub const TAPI_E_INVALADDRESSSTATE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221491i32 as _);
16542 pub const TAPI_E_INVALADDRESSTYPE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221423i32 as _);
16543 pub const TAPI_E_INVALBUTTONLAMPID: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221459i32 as _);
16544 pub const TAPI_E_INVALBUTTONSTATE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221458i32 as _);
16545 pub const TAPI_E_INVALCALLPARAMS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221490i32 as _);
16546 pub const TAPI_E_INVALCALLPRIVILEGE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221489i32 as _);
16547 pub const TAPI_E_INVALCALLSTATE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221488i32 as _);
16548 pub const TAPI_E_INVALCARD: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221487i32 as _);
16549 pub const TAPI_E_INVALCOMPLETIONID: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221486i32 as _);
16550 pub const TAPI_E_INVALCOUNTRYCODE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221485i32 as _);
16551 pub const TAPI_E_INVALDATAID: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221457i32 as _);
16552 pub const TAPI_E_INVALDEVICECLASS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221484i32 as _);
16553 pub const TAPI_E_INVALDIALPARAMS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221483i32 as _);
16554 pub const TAPI_E_INVALDIGITS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221482i32 as _);
16555 pub const TAPI_E_INVALFEATURE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221460i32 as _);
16556 pub const TAPI_E_INVALGROUPID: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221481i32 as _);
16557 pub const TAPI_E_INVALHOOKSWITCHDEV: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221456i32 as _);
16558 pub const TAPI_E_INVALIDDIRECTION: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221446i32 as _);
16559 pub const TAPI_E_INVALIDMEDIATYPE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221500i32 as _);
16560 pub const TAPI_E_INVALIDSTREAM: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221437i32 as _);
16561 pub const TAPI_E_INVALIDSTREAMSTATE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221417i32 as _);
16562 pub const TAPI_E_INVALIDTERMINAL: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221445i32 as _);
16563 pub const TAPI_E_INVALIDTERMINALCLASS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221444i32 as _);
16564 pub const TAPI_E_INVALLIST: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221474i32 as _);
16565 pub const TAPI_E_INVALLOCATION: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221480i32 as _);
16566 pub const TAPI_E_INVALMESSAGEID: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221479i32 as _);
16567 pub const TAPI_E_INVALMODE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221473i32 as _);
16568 pub const TAPI_E_INVALPARKID: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221478i32 as _);
16569 pub const TAPI_E_INVALPRIVILEGE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221447i32 as _);
16570 pub const TAPI_E_INVALRATE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221477i32 as _);
16571 pub const TAPI_E_INVALTIMEOUT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221476i32 as _);
16572 pub const TAPI_E_INVALTONE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221475i32 as _);
16573 pub const TAPI_E_MAXSTREAMS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221442i32 as _);
16574 pub const TAPI_E_MAXTERMINALS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221438i32 as _);
16575 pub const TAPI_E_NOCONFERENCE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221472i32 as _);
16576 pub const TAPI_E_NODEVICE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221471i32 as _);
16577 pub const TAPI_E_NODRIVER: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221443i32 as _);
16578 pub const TAPI_E_NOEVENT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221424i32 as _);
16579 pub const TAPI_E_NOFORMAT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221418i32 as _);
16580 pub const TAPI_E_NOITEMS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221502i32 as _);
16581 pub const TAPI_E_NOREQUEST: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221470i32 as _);
16582 pub const TAPI_E_NOREQUESTRECIPIENT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221454i32 as _);
16583 pub const TAPI_E_NOTENOUGHMEMORY: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221503i32 as _);
16584 pub const TAPI_E_NOTERMINALSELECTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221441i32 as _);
16585 pub const TAPI_E_NOTOWNER: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221469i32 as _);
16586 pub const TAPI_E_NOTREGISTERED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221468i32 as _);
16587 pub const TAPI_E_NOTSTOPPED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221439i32 as _);
16588 pub const TAPI_E_NOTSUPPORTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221501i32 as _);
16589 pub const TAPI_E_NOT_INITIALIZED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221415i32 as _);
16590 pub const TAPI_E_OPERATIONFAILED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221499i32 as _);
16591 pub const TAPI_E_PEER_NOT_SET: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221425i32 as _);
16592 pub const TAPI_E_PHONENOTOPEN: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221421i32 as _);
16593 pub const TAPI_E_REGISTRY_SETTING_CORRUPT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221427i32 as _);
16594 pub const TAPI_E_REINIT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221463i32 as _);
16595 pub const TAPI_E_REQUESTCANCELLED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221448i32 as _);
16596 pub const TAPI_E_REQUESTFAILED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221449i32 as _);
16597 pub const TAPI_E_REQUESTOVERRUN: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221467i32 as _);
16598 pub const TAPI_E_REQUESTQUEUEFULL: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221453i32 as _);
16599 pub const TAPI_E_RESOURCEUNAVAIL: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221422i32 as _);
16600 pub const TAPI_E_SERVICE_NOT_RUNNING: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221414i32 as _);
16601 pub const TAPI_E_TARGETNOTFOUND: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221466i32 as _);
16602 pub const TAPI_E_TARGETSELF: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221465i32 as _);
16603 pub const TAPI_E_TERMINALINUSE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221440i32 as _);
16604 pub const TAPI_E_TERMINAL_PEER: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221426i32 as _);
16605 pub const TAPI_E_TIMEOUT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221436i32 as _);
16606 pub const TAPI_E_USERUSERINFOTOOBIG: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221464i32 as _);
16607 pub const TAPI_E_WRONGEVENT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221419i32 as _);
16608 pub const TAPI_E_WRONG_STATE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147221416i32 as _);
16609 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16610 #[repr(transparent)]
16611 pub struct TAPI_GATHERTERM(pub i32);
16612 pub const TGT_BUFFERFULL: TAPI_GATHERTERM = TAPI_GATHERTERM(1i32);
16613 pub const TGT_TERMDIGIT: TAPI_GATHERTERM = TAPI_GATHERTERM(2i32);
16614 pub const TGT_FIRSTTIMEOUT: TAPI_GATHERTERM = TAPI_GATHERTERM(4i32);
16615 pub const TGT_INTERTIMEOUT: TAPI_GATHERTERM = TAPI_GATHERTERM(8i32);
16616 pub const TGT_CANCEL: TAPI_GATHERTERM = TAPI_GATHERTERM(16i32);
16617 impl ::std::convert::From<i32> for TAPI_GATHERTERM {
16618     fn from(value: i32) -> Self {
16619         Self(value)
16620     }
16621 }
16622 unsafe impl ::windows::runtime::Abi for TAPI_GATHERTERM {
16623     type Abi = Self;
16624     type DefaultType = Self;
16625 }
16626 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16627 #[repr(transparent)]
16628 pub struct TAPI_OBJECT_TYPE(pub i32);
16629 pub const TOT_NONE: TAPI_OBJECT_TYPE = TAPI_OBJECT_TYPE(0i32);
16630 pub const TOT_TAPI: TAPI_OBJECT_TYPE = TAPI_OBJECT_TYPE(1i32);
16631 pub const TOT_ADDRESS: TAPI_OBJECT_TYPE = TAPI_OBJECT_TYPE(2i32);
16632 pub const TOT_TERMINAL: TAPI_OBJECT_TYPE = TAPI_OBJECT_TYPE(3i32);
16633 pub const TOT_CALL: TAPI_OBJECT_TYPE = TAPI_OBJECT_TYPE(4i32);
16634 pub const TOT_CALLHUB: TAPI_OBJECT_TYPE = TAPI_OBJECT_TYPE(5i32);
16635 pub const TOT_PHONE: TAPI_OBJECT_TYPE = TAPI_OBJECT_TYPE(6i32);
16636 impl ::std::convert::From<i32> for TAPI_OBJECT_TYPE {
16637     fn from(value: i32) -> Self {
16638         Self(value)
16639     }
16640 }
16641 unsafe impl ::windows::runtime::Abi for TAPI_OBJECT_TYPE {
16642     type Abi = Self;
16643     type DefaultType = Self;
16644 }
16645 pub const TAPI_REPLY: u32 = 1123u32;
16646 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16647 #[repr(transparent)]
16648 pub struct TAPI_TONEMODE(pub i32);
16649 pub const TTM_RINGBACK: TAPI_TONEMODE = TAPI_TONEMODE(2i32);
16650 pub const TTM_BUSY: TAPI_TONEMODE = TAPI_TONEMODE(4i32);
16651 pub const TTM_BEEP: TAPI_TONEMODE = TAPI_TONEMODE(8i32);
16652 pub const TTM_BILLING: TAPI_TONEMODE = TAPI_TONEMODE(16i32);
16653 impl ::std::convert::From<i32> for TAPI_TONEMODE {
16654     fn from(value: i32) -> Self {
16655         Self(value)
16656     }
16657 }
16658 unsafe impl ::windows::runtime::Abi for TAPI_TONEMODE {
16659     type Abi = Self;
16660     type DefaultType = Self;
16661 }
16662 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16663 #[repr(transparent)]
16664 pub struct TERMINAL_DIRECTION(pub i32);
16665 pub const TD_CAPTURE: TERMINAL_DIRECTION = TERMINAL_DIRECTION(0i32);
16666 pub const TD_RENDER: TERMINAL_DIRECTION = TERMINAL_DIRECTION(1i32);
16667 pub const TD_BIDIRECTIONAL: TERMINAL_DIRECTION = TERMINAL_DIRECTION(2i32);
16668 pub const TD_MULTITRACK_MIXED: TERMINAL_DIRECTION = TERMINAL_DIRECTION(3i32);
16669 pub const TD_NONE: TERMINAL_DIRECTION = TERMINAL_DIRECTION(4i32);
16670 impl ::std::convert::From<i32> for TERMINAL_DIRECTION {
16671     fn from(value: i32) -> Self {
16672         Self(value)
16673     }
16674 }
16675 unsafe impl ::windows::runtime::Abi for TERMINAL_DIRECTION {
16676     type Abi = Self;
16677     type DefaultType = Self;
16678 }
16679 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16680 #[repr(transparent)]
16681 pub struct TERMINAL_MEDIA_STATE(pub i32);
16682 pub const TMS_IDLE: TERMINAL_MEDIA_STATE = TERMINAL_MEDIA_STATE(0i32);
16683 pub const TMS_ACTIVE: TERMINAL_MEDIA_STATE = TERMINAL_MEDIA_STATE(1i32);
16684 pub const TMS_PAUSED: TERMINAL_MEDIA_STATE = TERMINAL_MEDIA_STATE(2i32);
16685 pub const TMS_LASTITEM: TERMINAL_MEDIA_STATE = TERMINAL_MEDIA_STATE(2i32);
16686 impl ::std::convert::From<i32> for TERMINAL_MEDIA_STATE {
16687     fn from(value: i32) -> Self {
16688         Self(value)
16689     }
16690 }
16691 unsafe impl ::windows::runtime::Abi for TERMINAL_MEDIA_STATE {
16692     type Abi = Self;
16693     type DefaultType = Self;
16694 }
16695 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16696 #[repr(transparent)]
16697 pub struct TERMINAL_STATE(pub i32);
16698 pub const TS_INUSE: TERMINAL_STATE = TERMINAL_STATE(0i32);
16699 pub const TS_NOTINUSE: TERMINAL_STATE = TERMINAL_STATE(1i32);
16700 impl ::std::convert::From<i32> for TERMINAL_STATE {
16701     fn from(value: i32) -> Self {
16702         Self(value)
16703     }
16704 }
16705 unsafe impl ::windows::runtime::Abi for TERMINAL_STATE {
16706     type Abi = Self;
16707     type DefaultType = Self;
16708 }
16709 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16710 #[repr(transparent)]
16711 pub struct TERMINAL_TYPE(pub i32);
16712 pub const TT_STATIC: TERMINAL_TYPE = TERMINAL_TYPE(0i32);
16713 pub const TT_DYNAMIC: TERMINAL_TYPE = TERMINAL_TYPE(1i32);
16714 impl ::std::convert::From<i32> for TERMINAL_TYPE {
16715     fn from(value: i32) -> Self {
16716         Self(value)
16717     }
16718 }
16719 unsafe impl ::windows::runtime::Abi for TERMINAL_TYPE {
16720     type Abi = Self;
16721     type DefaultType = Self;
16722 }
16723 pub const TSPI_LINEACCEPT: u32 = 500u32;
16724 pub const TSPI_LINEADDTOCONFERENCE: u32 = 501u32;
16725 pub const TSPI_LINEANSWER: u32 = 502u32;
16726 pub const TSPI_LINEBLINDTRANSFER: u32 = 503u32;
16727 pub const TSPI_LINECLOSE: u32 = 504u32;
16728 pub const TSPI_LINECLOSECALL: u32 = 505u32;
16729 pub const TSPI_LINECLOSEMSPINSTANCE: u32 = 609u32;
16730 pub const TSPI_LINECOMPLETECALL: u32 = 506u32;
16731 pub const TSPI_LINECOMPLETETRANSFER: u32 = 507u32;
16732 pub const TSPI_LINECONDITIONALMEDIADETECTION: u32 = 508u32;
16733 pub const TSPI_LINECONFIGDIALOG: u32 = 509u32;
16734 pub const TSPI_LINECONFIGDIALOGEDIT: u32 = 601u32;
16735 pub const TSPI_LINECREATEMSPINSTANCE: u32 = 608u32;
16736 pub const TSPI_LINEDEVSPECIFIC: u32 = 510u32;
16737 pub const TSPI_LINEDEVSPECIFICFEATURE: u32 = 511u32;
16738 pub const TSPI_LINEDIAL: u32 = 512u32;
16739 pub const TSPI_LINEDROP: u32 = 513u32;
16740 pub const TSPI_LINEDROPNOOWNER: u32 = 597u32;
16741 pub const TSPI_LINEDROPONCLOSE: u32 = 596u32;
16742 pub const TSPI_LINEFORWARD: u32 = 514u32;
16743 pub const TSPI_LINEGATHERDIGITS: u32 = 515u32;
16744 pub const TSPI_LINEGENERATEDIGITS: u32 = 516u32;
16745 pub const TSPI_LINEGENERATETONE: u32 = 517u32;
16746 pub const TSPI_LINEGETADDRESSCAPS: u32 = 518u32;
16747 pub const TSPI_LINEGETADDRESSID: u32 = 519u32;
16748 pub const TSPI_LINEGETADDRESSSTATUS: u32 = 520u32;
16749 pub const TSPI_LINEGETCALLADDRESSID: u32 = 521u32;
16750 pub const TSPI_LINEGETCALLHUBTRACKING: u32 = 604u32;
16751 pub const TSPI_LINEGETCALLID: u32 = 603u32;
16752 pub const TSPI_LINEGETCALLINFO: u32 = 522u32;
16753 pub const TSPI_LINEGETCALLSTATUS: u32 = 523u32;
16754 pub const TSPI_LINEGETDEVCAPS: u32 = 524u32;
16755 pub const TSPI_LINEGETDEVCONFIG: u32 = 525u32;
16756 pub const TSPI_LINEGETEXTENSIONID: u32 = 526u32;
16757 pub const TSPI_LINEGETICON: u32 = 527u32;
16758 pub const TSPI_LINEGETID: u32 = 528u32;
16759 pub const TSPI_LINEGETLINEDEVSTATUS: u32 = 529u32;
16760 pub const TSPI_LINEGETNUMADDRESSIDS: u32 = 530u32;
16761 pub const TSPI_LINEHOLD: u32 = 531u32;
16762 pub const TSPI_LINEMAKECALL: u32 = 532u32;
16763 pub const TSPI_LINEMONITORDIGITS: u32 = 533u32;
16764 pub const TSPI_LINEMONITORMEDIA: u32 = 534u32;
16765 pub const TSPI_LINEMONITORTONES: u32 = 535u32;
16766 pub const TSPI_LINEMSPIDENTIFY: u32 = 607u32;
16767 pub const TSPI_LINENEGOTIATEEXTVERSION: u32 = 536u32;
16768 pub const TSPI_LINENEGOTIATETSPIVERSION: u32 = 537u32;
16769 pub const TSPI_LINEOPEN: u32 = 538u32;
16770 pub const TSPI_LINEPARK: u32 = 539u32;
16771 pub const TSPI_LINEPICKUP: u32 = 540u32;
16772 pub const TSPI_LINEPREPAREADDTOCONFERENCE: u32 = 541u32;
16773 pub const TSPI_LINERECEIVEMSPDATA: u32 = 606u32;
16774 pub const TSPI_LINEREDIRECT: u32 = 542u32;
16775 pub const TSPI_LINERELEASEUSERUSERINFO: u32 = 602u32;
16776 pub const TSPI_LINEREMOVEFROMCONFERENCE: u32 = 543u32;
16777 pub const TSPI_LINESECURECALL: u32 = 544u32;
16778 pub const TSPI_LINESELECTEXTVERSION: u32 = 545u32;
16779 pub const TSPI_LINESENDUSERUSERINFO: u32 = 546u32;
16780 pub const TSPI_LINESETAPPSPECIFIC: u32 = 547u32;
16781 pub const TSPI_LINESETCALLHUBTRACKING: u32 = 605u32;
16782 pub const TSPI_LINESETCALLPARAMS: u32 = 548u32;
16783 pub const TSPI_LINESETCURRENTLOCATION: u32 = 600u32;
16784 pub const TSPI_LINESETDEFAULTMEDIADETECTION: u32 = 549u32;
16785 pub const TSPI_LINESETDEVCONFIG: u32 = 550u32;
16786 pub const TSPI_LINESETMEDIACONTROL: u32 = 551u32;
16787 pub const TSPI_LINESETMEDIAMODE: u32 = 552u32;
16788 pub const TSPI_LINESETSTATUSMESSAGES: u32 = 553u32;
16789 pub const TSPI_LINESETTERMINAL: u32 = 554u32;
16790 pub const TSPI_LINESETUPCONFERENCE: u32 = 555u32;
16791 pub const TSPI_LINESETUPTRANSFER: u32 = 556u32;
16792 pub const TSPI_LINESWAPHOLD: u32 = 557u32;
16793 pub const TSPI_LINEUNCOMPLETECALL: u32 = 558u32;
16794 pub const TSPI_LINEUNHOLD: u32 = 559u32;
16795 pub const TSPI_LINEUNPARK: u32 = 560u32;
16796 pub const TSPI_MESSAGE_BASE: u32 = 500u32;
16797 pub const TSPI_PHONECLOSE: u32 = 561u32;
16798 pub const TSPI_PHONECONFIGDIALOG: u32 = 562u32;
16799 pub const TSPI_PHONEDEVSPECIFIC: u32 = 563u32;
16800 pub const TSPI_PHONEGETBUTTONINFO: u32 = 564u32;
16801 pub const TSPI_PHONEGETDATA: u32 = 565u32;
16802 pub const TSPI_PHONEGETDEVCAPS: u32 = 566u32;
16803 pub const TSPI_PHONEGETDISPLAY: u32 = 567u32;
16804 pub const TSPI_PHONEGETEXTENSIONID: u32 = 568u32;
16805 pub const TSPI_PHONEGETGAIN: u32 = 569u32;
16806 pub const TSPI_PHONEGETHOOKSWITCH: u32 = 570u32;
16807 pub const TSPI_PHONEGETICON: u32 = 571u32;
16808 pub const TSPI_PHONEGETID: u32 = 572u32;
16809 pub const TSPI_PHONEGETLAMP: u32 = 573u32;
16810 pub const TSPI_PHONEGETRING: u32 = 574u32;
16811 pub const TSPI_PHONEGETSTATUS: u32 = 575u32;
16812 pub const TSPI_PHONEGETVOLUME: u32 = 576u32;
16813 pub const TSPI_PHONENEGOTIATEEXTVERSION: u32 = 577u32;
16814 pub const TSPI_PHONENEGOTIATETSPIVERSION: u32 = 578u32;
16815 pub const TSPI_PHONEOPEN: u32 = 579u32;
16816 pub const TSPI_PHONESELECTEXTVERSION: u32 = 580u32;
16817 pub const TSPI_PHONESETBUTTONINFO: u32 = 581u32;
16818 pub const TSPI_PHONESETDATA: u32 = 582u32;
16819 pub const TSPI_PHONESETDISPLAY: u32 = 583u32;
16820 pub const TSPI_PHONESETGAIN: u32 = 584u32;
16821 pub const TSPI_PHONESETHOOKSWITCH: u32 = 585u32;
16822 pub const TSPI_PHONESETLAMP: u32 = 586u32;
16823 pub const TSPI_PHONESETRING: u32 = 587u32;
16824 pub const TSPI_PHONESETSTATUSMESSAGES: u32 = 588u32;
16825 pub const TSPI_PHONESETVOLUME: u32 = 589u32;
16826 pub const TSPI_PROC_BASE: u32 = 500u32;
16827 pub const TSPI_PROVIDERCONFIG: u32 = 590u32;
16828 pub const TSPI_PROVIDERCREATELINEDEVICE: u32 = 598u32;
16829 pub const TSPI_PROVIDERCREATEPHONEDEVICE: u32 = 599u32;
16830 pub const TSPI_PROVIDERENUMDEVICES: u32 = 595u32;
16831 pub const TSPI_PROVIDERINIT: u32 = 591u32;
16832 pub const TSPI_PROVIDERINSTALL: u32 = 592u32;
16833 pub const TSPI_PROVIDERREMOVE: u32 = 593u32;
16834 pub const TSPI_PROVIDERSHUTDOWN: u32 = 594u32;
16835 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16836 #[repr(C)]
16837 #[cfg(feature = "Win32_Foundation")]
16838 pub struct TUISPICREATEDIALOGINSTANCEPARAMS {
16839     pub dwRequestID: u32,
16840     pub hdDlgInst: *mut HDRVDIALOGINSTANCE__,
16841     pub htDlgInst: u32,
16842     pub lpszUIDLLName: super::super::Foundation::PWSTR,
16843     pub lpParams: *mut ::std::ffi::c_void,
16844     pub dwSize: u32,
16845 }
16846 #[cfg(feature = "Win32_Foundation")]
16847 impl TUISPICREATEDIALOGINSTANCEPARAMS {}
16848 #[cfg(feature = "Win32_Foundation")]
16849 impl ::std::default::Default for TUISPICREATEDIALOGINSTANCEPARAMS {
16850     fn default() -> Self {
16851         unsafe { ::std::mem::zeroed() }
16852     }
16853 }
16854 #[cfg(feature = "Win32_Foundation")]
16855 impl ::std::fmt::Debug for TUISPICREATEDIALOGINSTANCEPARAMS {
16856     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
16857         fmt.debug_struct("TUISPICREATEDIALOGINSTANCEPARAMS").field("dwRequestID", &self.dwRequestID).field("hdDlgInst", &self.hdDlgInst).field("htDlgInst", &self.htDlgInst).field("lpszUIDLLName", &self.lpszUIDLLName).field("lpParams", &self.lpParams).field("dwSize", &self.dwSize).finish()
16858     }
16859 }
16860 #[cfg(feature = "Win32_Foundation")]
16861 impl ::std::cmp::PartialEq for TUISPICREATEDIALOGINSTANCEPARAMS {
16862     fn eq(&self, other: &Self) -> bool {
16863         self.dwRequestID == other.dwRequestID && self.hdDlgInst == other.hdDlgInst && self.htDlgInst == other.htDlgInst && self.lpszUIDLLName == other.lpszUIDLLName && self.lpParams == other.lpParams && self.dwSize == other.dwSize
16864     }
16865 }
16866 #[cfg(feature = "Win32_Foundation")]
16867 impl ::std::cmp::Eq for TUISPICREATEDIALOGINSTANCEPARAMS {}
16868 #[cfg(feature = "Win32_Foundation")]
16869 unsafe impl ::windows::runtime::Abi for TUISPICREATEDIALOGINSTANCEPARAMS {
16870     type Abi = Self;
16871     type DefaultType = Self;
16872 }
16873 pub type TUISPIDLLCALLBACK = unsafe extern "system" fn(dwobjectid: usize, dwobjecttype: u32, lpparams: *mut ::std::ffi::c_void, dwsize: u32) -> i32;
16874 pub const TUISPIDLL_OBJECT_DIALOGINSTANCE: i32 = 4i32;
16875 pub const TUISPIDLL_OBJECT_LINEID: i32 = 1i32;
16876 pub const TUISPIDLL_OBJECT_PHONEID: i32 = 2i32;
16877 pub const TUISPIDLL_OBJECT_PROVIDERID: i32 = 3i32;
16878 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16879 #[repr(C, packed(1))]
16880 pub struct VARSTRING {
16881     pub dwTotalSize: u32,
16882     pub dwNeededSize: u32,
16883     pub dwUsedSize: u32,
16884     pub dwStringFormat: u32,
16885     pub dwStringSize: u32,
16886     pub dwStringOffset: u32,
16887 }
16888 impl VARSTRING {}
16889 impl ::std::default::Default for VARSTRING {
16890     fn default() -> Self {
16891         unsafe { ::std::mem::zeroed() }
16892     }
16893 }
16894 impl ::std::cmp::PartialEq for VARSTRING {
16895     fn eq(&self, _other: &Self) -> bool {
16896         unimplemented!()
16897     }
16898 }
16899 impl ::std::cmp::Eq for VARSTRING {}
16900 unsafe impl ::windows::runtime::Abi for VARSTRING {
16901     type Abi = Self;
16902     type DefaultType = Self;
16903 }
16904 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16905 #[repr(C)]
16906 #[cfg(feature = "Win32_Foundation")]
16907 pub struct _ADDR_ALIAS {
16908     pub rgchName: [super::super::Foundation::CHAR; 41],
16909     pub rgchEName: [super::super::Foundation::CHAR; 11],
16910     pub rgchSrvr: [super::super::Foundation::CHAR; 12],
16911     pub dibDetail: u32,
16912     pub r#type: u16,
16913 }
16914 #[cfg(feature = "Win32_Foundation")]
16915 impl _ADDR_ALIAS {}
16916 #[cfg(feature = "Win32_Foundation")]
16917 impl ::std::default::Default for _ADDR_ALIAS {
16918     fn default() -> Self {
16919         unsafe { ::std::mem::zeroed() }
16920     }
16921 }
16922 #[cfg(feature = "Win32_Foundation")]
16923 impl ::std::fmt::Debug for _ADDR_ALIAS {
16924     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
16925         fmt.debug_struct("_ADDR_ALIAS").field("rgchName", &self.rgchName).field("rgchEName", &self.rgchEName).field("rgchSrvr", &self.rgchSrvr).field("dibDetail", &self.dibDetail).field("r#type", &self.r#type).finish()
16926     }
16927 }
16928 #[cfg(feature = "Win32_Foundation")]
16929 impl ::std::cmp::PartialEq for _ADDR_ALIAS {
16930     fn eq(&self, other: &Self) -> bool {
16931         self.rgchName == other.rgchName && self.rgchEName == other.rgchEName && self.rgchSrvr == other.rgchSrvr && self.dibDetail == other.dibDetail && self.r#type == other.r#type
16932     }
16933 }
16934 #[cfg(feature = "Win32_Foundation")]
16935 impl ::std::cmp::Eq for _ADDR_ALIAS {}
16936 #[cfg(feature = "Win32_Foundation")]
16937 unsafe impl ::windows::runtime::Abi for _ADDR_ALIAS {
16938     type Abi = Self;
16939     type DefaultType = Self;
16940 }
16941 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16942 #[repr(C, packed(1))]
16943 pub struct _dtr {
16944     pub wYear: u16,
16945     pub wMonth: u16,
16946     pub wDay: u16,
16947     pub wHour: u16,
16948     pub wMinute: u16,
16949     pub wSecond: u16,
16950     pub wDayOfWeek: u16,
16951 }
16952 impl _dtr {}
16953 impl ::std::default::Default for _dtr {
16954     fn default() -> Self {
16955         unsafe { ::std::mem::zeroed() }
16956     }
16957 }
16958 impl ::std::cmp::PartialEq for _dtr {
16959     fn eq(&self, _other: &Self) -> bool {
16960         unimplemented!()
16961     }
16962 }
16963 impl ::std::cmp::Eq for _dtr {}
16964 unsafe impl ::windows::runtime::Abi for _dtr {
16965     type Abi = Self;
16966     type DefaultType = Self;
16967 }
16968 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16969 #[repr(C, packed(1))]
16970 pub struct _renddata {
16971     pub atyp: u16,
16972     pub ulPosition: u32,
16973     pub dxWidth: u16,
16974     pub dyHeight: u16,
16975     pub dwFlags: u32,
16976 }
16977 impl _renddata {}
16978 impl ::std::default::Default for _renddata {
16979     fn default() -> Self {
16980         unsafe { ::std::mem::zeroed() }
16981     }
16982 }
16983 impl ::std::cmp::PartialEq for _renddata {
16984     fn eq(&self, _other: &Self) -> bool {
16985         unimplemented!()
16986     }
16987 }
16988 impl ::std::cmp::Eq for _renddata {}
16989 unsafe impl ::windows::runtime::Abi for _renddata {
16990     type Abi = Self;
16991     type DefaultType = Self;
16992 }
16993 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16994 #[repr(C)]
16995 pub struct _trp {
16996     pub trpid: u16,
16997     pub cbgrtrp: u16,
16998     pub cch: u16,
16999     pub cbRgb: u16,
17000 }
17001 impl _trp {}
17002 impl ::std::default::Default for _trp {
17003     fn default() -> Self {
17004         unsafe { ::std::mem::zeroed() }
17005     }
17006 }
17007 impl ::std::fmt::Debug for _trp {
17008     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
17009         fmt.debug_struct("_trp").field("trpid", &self.trpid).field("cbgrtrp", &self.cbgrtrp).field("cch", &self.cch).field("cbRgb", &self.cbRgb).finish()
17010     }
17011 }
17012 impl ::std::cmp::PartialEq for _trp {
17013     fn eq(&self, other: &Self) -> bool {
17014         self.trpid == other.trpid && self.cbgrtrp == other.cbgrtrp && self.cch == other.cch && self.cbRgb == other.cbRgb
17015     }
17016 }
17017 impl ::std::cmp::Eq for _trp {}
17018 unsafe impl ::windows::runtime::Abi for _trp {
17019     type Abi = Self;
17020     type DefaultType = Self;
17021 }
17022 pub const atypFile: i32 = 1i32;
17023 pub const atypMax: i32 = 4i32;
17024 pub const atypNull: i32 = 0i32;
17025 pub const atypOle: i32 = 2i32;
17026 pub const atypPicture: i32 = 3i32;
17027 #[cfg(feature = "Win32_Foundation")]
17028 #[inline]
17029 pub unsafe fn lineAccept<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hcall: u32, lpsuseruserinfo: Param1, dwsize: u32) -> i32 {
17030     #[cfg(windows)]
17031     {
17032         #[link(name = "windows")]
17033         extern "system" {
17034             fn lineAccept(hcall: u32, lpsuseruserinfo: super::super::Foundation::PSTR, dwsize: u32) -> i32;
17035         }
17036         ::std::mem::transmute(lineAccept(::std::mem::transmute(hcall), lpsuseruserinfo.into_param().abi(), ::std::mem::transmute(dwsize)))
17037     }
17038     #[cfg(not(windows))]
17039     unimplemented!("Unsupported target OS");
17040 }
17041 #[cfg(feature = "Win32_Foundation")]
17042 #[inline]
17043 pub unsafe fn lineAddProvider<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(lpszproviderfilename: Param0, hwndowner: Param1, lpdwpermanentproviderid: *mut u32) -> i32 {
17044     #[cfg(windows)]
17045     {
17046         #[link(name = "windows")]
17047         extern "system" {
17048             fn lineAddProvider(lpszproviderfilename: super::super::Foundation::PSTR, hwndowner: super::super::Foundation::HWND, lpdwpermanentproviderid: *mut u32) -> i32;
17049         }
17050         ::std::mem::transmute(lineAddProvider(lpszproviderfilename.into_param().abi(), hwndowner.into_param().abi(), ::std::mem::transmute(lpdwpermanentproviderid)))
17051     }
17052     #[cfg(not(windows))]
17053     unimplemented!("Unsupported target OS");
17054 }
17055 #[cfg(feature = "Win32_Foundation")]
17056 #[inline]
17057 pub unsafe fn lineAddProviderA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(lpszproviderfilename: Param0, hwndowner: Param1, lpdwpermanentproviderid: *mut u32) -> i32 {
17058     #[cfg(windows)]
17059     {
17060         #[link(name = "windows")]
17061         extern "system" {
17062             fn lineAddProviderA(lpszproviderfilename: super::super::Foundation::PSTR, hwndowner: super::super::Foundation::HWND, lpdwpermanentproviderid: *mut u32) -> i32;
17063         }
17064         ::std::mem::transmute(lineAddProviderA(lpszproviderfilename.into_param().abi(), hwndowner.into_param().abi(), ::std::mem::transmute(lpdwpermanentproviderid)))
17065     }
17066     #[cfg(not(windows))]
17067     unimplemented!("Unsupported target OS");
17068 }
17069 #[cfg(feature = "Win32_Foundation")]
17070 #[inline]
17071 pub unsafe fn lineAddProviderW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(lpszproviderfilename: Param0, hwndowner: Param1, lpdwpermanentproviderid: *mut u32) -> i32 {
17072     #[cfg(windows)]
17073     {
17074         #[link(name = "windows")]
17075         extern "system" {
17076             fn lineAddProviderW(lpszproviderfilename: super::super::Foundation::PWSTR, hwndowner: super::super::Foundation::HWND, lpdwpermanentproviderid: *mut u32) -> i32;
17077         }
17078         ::std::mem::transmute(lineAddProviderW(lpszproviderfilename.into_param().abi(), hwndowner.into_param().abi(), ::std::mem::transmute(lpdwpermanentproviderid)))
17079     }
17080     #[cfg(not(windows))]
17081     unimplemented!("Unsupported target OS");
17082 }
17083 #[inline]
17084 pub unsafe fn lineAddToConference(hconfcall: u32, hconsultcall: u32) -> i32 {
17085     #[cfg(windows)]
17086     {
17087         #[link(name = "windows")]
17088         extern "system" {
17089             fn lineAddToConference(hconfcall: u32, hconsultcall: u32) -> i32;
17090         }
17091         ::std::mem::transmute(lineAddToConference(::std::mem::transmute(hconfcall), ::std::mem::transmute(hconsultcall)))
17092     }
17093     #[cfg(not(windows))]
17094     unimplemented!("Unsupported target OS");
17095 }
17096 #[inline]
17097 pub unsafe fn lineAgentSpecific(hline: u32, dwaddressid: u32, dwagentextensionidindex: u32, lpparams: *mut ::std::ffi::c_void, dwsize: u32) -> i32 {
17098     #[cfg(windows)]
17099     {
17100         #[link(name = "windows")]
17101         extern "system" {
17102             fn lineAgentSpecific(hline: u32, dwaddressid: u32, dwagentextensionidindex: u32, lpparams: *mut ::std::ffi::c_void, dwsize: u32) -> i32;
17103         }
17104         ::std::mem::transmute(lineAgentSpecific(::std::mem::transmute(hline), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(dwagentextensionidindex), ::std::mem::transmute(lpparams), ::std::mem::transmute(dwsize)))
17105     }
17106     #[cfg(not(windows))]
17107     unimplemented!("Unsupported target OS");
17108 }
17109 #[cfg(feature = "Win32_Foundation")]
17110 #[inline]
17111 pub unsafe fn lineAnswer<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hcall: u32, lpsuseruserinfo: Param1, dwsize: u32) -> i32 {
17112     #[cfg(windows)]
17113     {
17114         #[link(name = "windows")]
17115         extern "system" {
17116             fn lineAnswer(hcall: u32, lpsuseruserinfo: super::super::Foundation::PSTR, dwsize: u32) -> i32;
17117         }
17118         ::std::mem::transmute(lineAnswer(::std::mem::transmute(hcall), lpsuseruserinfo.into_param().abi(), ::std::mem::transmute(dwsize)))
17119     }
17120     #[cfg(not(windows))]
17121     unimplemented!("Unsupported target OS");
17122 }
17123 #[cfg(feature = "Win32_Foundation")]
17124 #[inline]
17125 pub unsafe fn lineBlindTransfer<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hcall: u32, lpszdestaddress: Param1, dwcountrycode: u32) -> i32 {
17126     #[cfg(windows)]
17127     {
17128         #[link(name = "windows")]
17129         extern "system" {
17130             fn lineBlindTransfer(hcall: u32, lpszdestaddress: super::super::Foundation::PSTR, dwcountrycode: u32) -> i32;
17131         }
17132         ::std::mem::transmute(lineBlindTransfer(::std::mem::transmute(hcall), lpszdestaddress.into_param().abi(), ::std::mem::transmute(dwcountrycode)))
17133     }
17134     #[cfg(not(windows))]
17135     unimplemented!("Unsupported target OS");
17136 }
17137 #[cfg(feature = "Win32_Foundation")]
17138 #[inline]
17139 pub unsafe fn lineBlindTransferA<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hcall: u32, lpszdestaddress: Param1, dwcountrycode: u32) -> i32 {
17140     #[cfg(windows)]
17141     {
17142         #[link(name = "windows")]
17143         extern "system" {
17144             fn lineBlindTransferA(hcall: u32, lpszdestaddress: super::super::Foundation::PSTR, dwcountrycode: u32) -> i32;
17145         }
17146         ::std::mem::transmute(lineBlindTransferA(::std::mem::transmute(hcall), lpszdestaddress.into_param().abi(), ::std::mem::transmute(dwcountrycode)))
17147     }
17148     #[cfg(not(windows))]
17149     unimplemented!("Unsupported target OS");
17150 }
17151 #[cfg(feature = "Win32_Foundation")]
17152 #[inline]
17153 pub unsafe fn lineBlindTransferW<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(hcall: u32, lpszdestaddressw: Param1, dwcountrycode: u32) -> i32 {
17154     #[cfg(windows)]
17155     {
17156         #[link(name = "windows")]
17157         extern "system" {
17158             fn lineBlindTransferW(hcall: u32, lpszdestaddressw: super::super::Foundation::PWSTR, dwcountrycode: u32) -> i32;
17159         }
17160         ::std::mem::transmute(lineBlindTransferW(::std::mem::transmute(hcall), lpszdestaddressw.into_param().abi(), ::std::mem::transmute(dwcountrycode)))
17161     }
17162     #[cfg(not(windows))]
17163     unimplemented!("Unsupported target OS");
17164 }
17165 #[inline]
17166 pub unsafe fn lineClose(hline: u32) -> i32 {
17167     #[cfg(windows)]
17168     {
17169         #[link(name = "windows")]
17170         extern "system" {
17171             fn lineClose(hline: u32) -> i32;
17172         }
17173         ::std::mem::transmute(lineClose(::std::mem::transmute(hline)))
17174     }
17175     #[cfg(not(windows))]
17176     unimplemented!("Unsupported target OS");
17177 }
17178 #[inline]
17179 pub unsafe fn lineCompleteCall(hcall: u32, lpdwcompletionid: *mut u32, dwcompletionmode: u32, dwmessageid: u32) -> i32 {
17180     #[cfg(windows)]
17181     {
17182         #[link(name = "windows")]
17183         extern "system" {
17184             fn lineCompleteCall(hcall: u32, lpdwcompletionid: *mut u32, dwcompletionmode: u32, dwmessageid: u32) -> i32;
17185         }
17186         ::std::mem::transmute(lineCompleteCall(::std::mem::transmute(hcall), ::std::mem::transmute(lpdwcompletionid), ::std::mem::transmute(dwcompletionmode), ::std::mem::transmute(dwmessageid)))
17187     }
17188     #[cfg(not(windows))]
17189     unimplemented!("Unsupported target OS");
17190 }
17191 #[inline]
17192 pub unsafe fn lineCompleteTransfer(hcall: u32, hconsultcall: u32, lphconfcall: *mut u32, dwtransfermode: u32) -> i32 {
17193     #[cfg(windows)]
17194     {
17195         #[link(name = "windows")]
17196         extern "system" {
17197             fn lineCompleteTransfer(hcall: u32, hconsultcall: u32, lphconfcall: *mut u32, dwtransfermode: u32) -> i32;
17198         }
17199         ::std::mem::transmute(lineCompleteTransfer(::std::mem::transmute(hcall), ::std::mem::transmute(hconsultcall), ::std::mem::transmute(lphconfcall), ::std::mem::transmute(dwtransfermode)))
17200     }
17201     #[cfg(not(windows))]
17202     unimplemented!("Unsupported target OS");
17203 }
17204 #[cfg(feature = "Win32_Foundation")]
17205 #[inline]
17206 pub unsafe fn lineConfigDialog<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(dwdeviceid: u32, hwndowner: Param1, lpszdeviceclass: Param2) -> i32 {
17207     #[cfg(windows)]
17208     {
17209         #[link(name = "windows")]
17210         extern "system" {
17211             fn lineConfigDialog(dwdeviceid: u32, hwndowner: super::super::Foundation::HWND, lpszdeviceclass: super::super::Foundation::PSTR) -> i32;
17212         }
17213         ::std::mem::transmute(lineConfigDialog(::std::mem::transmute(dwdeviceid), hwndowner.into_param().abi(), lpszdeviceclass.into_param().abi()))
17214     }
17215     #[cfg(not(windows))]
17216     unimplemented!("Unsupported target OS");
17217 }
17218 #[cfg(feature = "Win32_Foundation")]
17219 #[inline]
17220 pub unsafe fn lineConfigDialogA<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(dwdeviceid: u32, hwndowner: Param1, lpszdeviceclass: Param2) -> i32 {
17221     #[cfg(windows)]
17222     {
17223         #[link(name = "windows")]
17224         extern "system" {
17225             fn lineConfigDialogA(dwdeviceid: u32, hwndowner: super::super::Foundation::HWND, lpszdeviceclass: super::super::Foundation::PSTR) -> i32;
17226         }
17227         ::std::mem::transmute(lineConfigDialogA(::std::mem::transmute(dwdeviceid), hwndowner.into_param().abi(), lpszdeviceclass.into_param().abi()))
17228     }
17229     #[cfg(not(windows))]
17230     unimplemented!("Unsupported target OS");
17231 }
17232 #[cfg(feature = "Win32_Foundation")]
17233 #[inline]
17234 pub unsafe fn lineConfigDialogEdit<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(dwdeviceid: u32, hwndowner: Param1, lpszdeviceclass: Param2, lpdeviceconfigin: *const ::std::ffi::c_void, dwsize: u32, lpdeviceconfigout: *mut VARSTRING) -> i32 {
17235     #[cfg(windows)]
17236     {
17237         #[link(name = "windows")]
17238         extern "system" {
17239             fn lineConfigDialogEdit(dwdeviceid: u32, hwndowner: super::super::Foundation::HWND, lpszdeviceclass: super::super::Foundation::PSTR, lpdeviceconfigin: *const ::std::ffi::c_void, dwsize: u32, lpdeviceconfigout: *mut VARSTRING) -> i32;
17240         }
17241         ::std::mem::transmute(lineConfigDialogEdit(::std::mem::transmute(dwdeviceid), hwndowner.into_param().abi(), lpszdeviceclass.into_param().abi(), ::std::mem::transmute(lpdeviceconfigin), ::std::mem::transmute(dwsize), ::std::mem::transmute(lpdeviceconfigout)))
17242     }
17243     #[cfg(not(windows))]
17244     unimplemented!("Unsupported target OS");
17245 }
17246 #[cfg(feature = "Win32_Foundation")]
17247 #[inline]
17248 pub unsafe fn lineConfigDialogEditA<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(dwdeviceid: u32, hwndowner: Param1, lpszdeviceclass: Param2, lpdeviceconfigin: *const ::std::ffi::c_void, dwsize: u32, lpdeviceconfigout: *mut VARSTRING) -> i32 {
17249     #[cfg(windows)]
17250     {
17251         #[link(name = "windows")]
17252         extern "system" {
17253             fn lineConfigDialogEditA(dwdeviceid: u32, hwndowner: super::super::Foundation::HWND, lpszdeviceclass: super::super::Foundation::PSTR, lpdeviceconfigin: *const ::std::ffi::c_void, dwsize: u32, lpdeviceconfigout: *mut VARSTRING) -> i32;
17254         }
17255         ::std::mem::transmute(lineConfigDialogEditA(::std::mem::transmute(dwdeviceid), hwndowner.into_param().abi(), lpszdeviceclass.into_param().abi(), ::std::mem::transmute(lpdeviceconfigin), ::std::mem::transmute(dwsize), ::std::mem::transmute(lpdeviceconfigout)))
17256     }
17257     #[cfg(not(windows))]
17258     unimplemented!("Unsupported target OS");
17259 }
17260 #[cfg(feature = "Win32_Foundation")]
17261 #[inline]
17262 pub unsafe fn lineConfigDialogEditW<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(dwdeviceid: u32, hwndowner: Param1, lpszdeviceclass: Param2, lpdeviceconfigin: *const ::std::ffi::c_void, dwsize: u32, lpdeviceconfigout: *mut VARSTRING) -> i32 {
17263     #[cfg(windows)]
17264     {
17265         #[link(name = "windows")]
17266         extern "system" {
17267             fn lineConfigDialogEditW(dwdeviceid: u32, hwndowner: super::super::Foundation::HWND, lpszdeviceclass: super::super::Foundation::PWSTR, lpdeviceconfigin: *const ::std::ffi::c_void, dwsize: u32, lpdeviceconfigout: *mut VARSTRING) -> i32;
17268         }
17269         ::std::mem::transmute(lineConfigDialogEditW(::std::mem::transmute(dwdeviceid), hwndowner.into_param().abi(), lpszdeviceclass.into_param().abi(), ::std::mem::transmute(lpdeviceconfigin), ::std::mem::transmute(dwsize), ::std::mem::transmute(lpdeviceconfigout)))
17270     }
17271     #[cfg(not(windows))]
17272     unimplemented!("Unsupported target OS");
17273 }
17274 #[cfg(feature = "Win32_Foundation")]
17275 #[inline]
17276 pub unsafe fn lineConfigDialogW<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(dwdeviceid: u32, hwndowner: Param1, lpszdeviceclass: Param2) -> i32 {
17277     #[cfg(windows)]
17278     {
17279         #[link(name = "windows")]
17280         extern "system" {
17281             fn lineConfigDialogW(dwdeviceid: u32, hwndowner: super::super::Foundation::HWND, lpszdeviceclass: super::super::Foundation::PWSTR) -> i32;
17282         }
17283         ::std::mem::transmute(lineConfigDialogW(::std::mem::transmute(dwdeviceid), hwndowner.into_param().abi(), lpszdeviceclass.into_param().abi()))
17284     }
17285     #[cfg(not(windows))]
17286     unimplemented!("Unsupported target OS");
17287 }
17288 #[cfg(feature = "Win32_Foundation")]
17289 #[inline]
17290 pub unsafe fn lineConfigProvider<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(hwndowner: Param0, dwpermanentproviderid: u32) -> i32 {
17291     #[cfg(windows)]
17292     {
17293         #[link(name = "windows")]
17294         extern "system" {
17295             fn lineConfigProvider(hwndowner: super::super::Foundation::HWND, dwpermanentproviderid: u32) -> i32;
17296         }
17297         ::std::mem::transmute(lineConfigProvider(hwndowner.into_param().abi(), ::std::mem::transmute(dwpermanentproviderid)))
17298     }
17299     #[cfg(not(windows))]
17300     unimplemented!("Unsupported target OS");
17301 }
17302 #[cfg(feature = "Win32_Foundation")]
17303 #[inline]
17304 pub unsafe fn lineCreateAgentA<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hline: u32, lpszagentid: Param1, lpszagentpin: Param2, lphagent: *mut u32) -> i32 {
17305     #[cfg(windows)]
17306     {
17307         #[link(name = "windows")]
17308         extern "system" {
17309             fn lineCreateAgentA(hline: u32, lpszagentid: super::super::Foundation::PSTR, lpszagentpin: super::super::Foundation::PSTR, lphagent: *mut u32) -> i32;
17310         }
17311         ::std::mem::transmute(lineCreateAgentA(::std::mem::transmute(hline), lpszagentid.into_param().abi(), lpszagentpin.into_param().abi(), ::std::mem::transmute(lphagent)))
17312     }
17313     #[cfg(not(windows))]
17314     unimplemented!("Unsupported target OS");
17315 }
17316 #[cfg(feature = "Win32_Foundation")]
17317 #[inline]
17318 pub unsafe fn lineCreateAgentSessionA<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hline: u32, hagent: u32, lpszagentpin: Param2, dwworkingaddressid: u32, lpgroupid: *mut ::windows::runtime::GUID, lphagentsession: *mut u32) -> i32 {
17319     #[cfg(windows)]
17320     {
17321         #[link(name = "windows")]
17322         extern "system" {
17323             fn lineCreateAgentSessionA(hline: u32, hagent: u32, lpszagentpin: super::super::Foundation::PSTR, dwworkingaddressid: u32, lpgroupid: *mut ::windows::runtime::GUID, lphagentsession: *mut u32) -> i32;
17324         }
17325         ::std::mem::transmute(lineCreateAgentSessionA(::std::mem::transmute(hline), ::std::mem::transmute(hagent), lpszagentpin.into_param().abi(), ::std::mem::transmute(dwworkingaddressid), ::std::mem::transmute(lpgroupid), ::std::mem::transmute(lphagentsession)))
17326     }
17327     #[cfg(not(windows))]
17328     unimplemented!("Unsupported target OS");
17329 }
17330 #[cfg(feature = "Win32_Foundation")]
17331 #[inline]
17332 pub unsafe fn lineCreateAgentSessionW<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(hline: u32, hagent: u32, lpszagentpin: Param2, dwworkingaddressid: u32, lpgroupid: *mut ::windows::runtime::GUID, lphagentsession: *mut u32) -> i32 {
17333     #[cfg(windows)]
17334     {
17335         #[link(name = "windows")]
17336         extern "system" {
17337             fn lineCreateAgentSessionW(hline: u32, hagent: u32, lpszagentpin: super::super::Foundation::PWSTR, dwworkingaddressid: u32, lpgroupid: *mut ::windows::runtime::GUID, lphagentsession: *mut u32) -> i32;
17338         }
17339         ::std::mem::transmute(lineCreateAgentSessionW(::std::mem::transmute(hline), ::std::mem::transmute(hagent), lpszagentpin.into_param().abi(), ::std::mem::transmute(dwworkingaddressid), ::std::mem::transmute(lpgroupid), ::std::mem::transmute(lphagentsession)))
17340     }
17341     #[cfg(not(windows))]
17342     unimplemented!("Unsupported target OS");
17343 }
17344 #[cfg(feature = "Win32_Foundation")]
17345 #[inline]
17346 pub unsafe fn lineCreateAgentW<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(hline: u32, lpszagentid: Param1, lpszagentpin: Param2, lphagent: *mut u32) -> i32 {
17347     #[cfg(windows)]
17348     {
17349         #[link(name = "windows")]
17350         extern "system" {
17351             fn lineCreateAgentW(hline: u32, lpszagentid: super::super::Foundation::PWSTR, lpszagentpin: super::super::Foundation::PWSTR, lphagent: *mut u32) -> i32;
17352         }
17353         ::std::mem::transmute(lineCreateAgentW(::std::mem::transmute(hline), lpszagentid.into_param().abi(), lpszagentpin.into_param().abi(), ::std::mem::transmute(lphagent)))
17354     }
17355     #[cfg(not(windows))]
17356     unimplemented!("Unsupported target OS");
17357 }
17358 #[inline]
17359 pub unsafe fn lineDeallocateCall(hcall: u32) -> i32 {
17360     #[cfg(windows)]
17361     {
17362         #[link(name = "windows")]
17363         extern "system" {
17364             fn lineDeallocateCall(hcall: u32) -> i32;
17365         }
17366         ::std::mem::transmute(lineDeallocateCall(::std::mem::transmute(hcall)))
17367     }
17368     #[cfg(not(windows))]
17369     unimplemented!("Unsupported target OS");
17370 }
17371 #[inline]
17372 pub unsafe fn lineDevSpecific(hline: u32, dwaddressid: u32, hcall: u32, lpparams: *mut ::std::ffi::c_void, dwsize: u32) -> i32 {
17373     #[cfg(windows)]
17374     {
17375         #[link(name = "windows")]
17376         extern "system" {
17377             fn lineDevSpecific(hline: u32, dwaddressid: u32, hcall: u32, lpparams: *mut ::std::ffi::c_void, dwsize: u32) -> i32;
17378         }
17379         ::std::mem::transmute(lineDevSpecific(::std::mem::transmute(hline), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(hcall), ::std::mem::transmute(lpparams), ::std::mem::transmute(dwsize)))
17380     }
17381     #[cfg(not(windows))]
17382     unimplemented!("Unsupported target OS");
17383 }
17384 #[inline]
17385 pub unsafe fn lineDevSpecificFeature(hline: u32, dwfeature: u32, lpparams: *mut ::std::ffi::c_void, dwsize: u32) -> i32 {
17386     #[cfg(windows)]
17387     {
17388         #[link(name = "windows")]
17389         extern "system" {
17390             fn lineDevSpecificFeature(hline: u32, dwfeature: u32, lpparams: *mut ::std::ffi::c_void, dwsize: u32) -> i32;
17391         }
17392         ::std::mem::transmute(lineDevSpecificFeature(::std::mem::transmute(hline), ::std::mem::transmute(dwfeature), ::std::mem::transmute(lpparams), ::std::mem::transmute(dwsize)))
17393     }
17394     #[cfg(not(windows))]
17395     unimplemented!("Unsupported target OS");
17396 }
17397 #[cfg(feature = "Win32_Foundation")]
17398 #[inline]
17399 pub unsafe fn lineDial<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hcall: u32, lpszdestaddress: Param1, dwcountrycode: u32) -> i32 {
17400     #[cfg(windows)]
17401     {
17402         #[link(name = "windows")]
17403         extern "system" {
17404             fn lineDial(hcall: u32, lpszdestaddress: super::super::Foundation::PSTR, dwcountrycode: u32) -> i32;
17405         }
17406         ::std::mem::transmute(lineDial(::std::mem::transmute(hcall), lpszdestaddress.into_param().abi(), ::std::mem::transmute(dwcountrycode)))
17407     }
17408     #[cfg(not(windows))]
17409     unimplemented!("Unsupported target OS");
17410 }
17411 #[cfg(feature = "Win32_Foundation")]
17412 #[inline]
17413 pub unsafe fn lineDialA<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hcall: u32, lpszdestaddress: Param1, dwcountrycode: u32) -> i32 {
17414     #[cfg(windows)]
17415     {
17416         #[link(name = "windows")]
17417         extern "system" {
17418             fn lineDialA(hcall: u32, lpszdestaddress: super::super::Foundation::PSTR, dwcountrycode: u32) -> i32;
17419         }
17420         ::std::mem::transmute(lineDialA(::std::mem::transmute(hcall), lpszdestaddress.into_param().abi(), ::std::mem::transmute(dwcountrycode)))
17421     }
17422     #[cfg(not(windows))]
17423     unimplemented!("Unsupported target OS");
17424 }
17425 #[cfg(feature = "Win32_Foundation")]
17426 #[inline]
17427 pub unsafe fn lineDialW<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(hcall: u32, lpszdestaddress: Param1, dwcountrycode: u32) -> i32 {
17428     #[cfg(windows)]
17429     {
17430         #[link(name = "windows")]
17431         extern "system" {
17432             fn lineDialW(hcall: u32, lpszdestaddress: super::super::Foundation::PWSTR, dwcountrycode: u32) -> i32;
17433         }
17434         ::std::mem::transmute(lineDialW(::std::mem::transmute(hcall), lpszdestaddress.into_param().abi(), ::std::mem::transmute(dwcountrycode)))
17435     }
17436     #[cfg(not(windows))]
17437     unimplemented!("Unsupported target OS");
17438 }
17439 #[cfg(feature = "Win32_Foundation")]
17440 #[inline]
17441 pub unsafe fn lineDrop<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hcall: u32, lpsuseruserinfo: Param1, dwsize: u32) -> i32 {
17442     #[cfg(windows)]
17443     {
17444         #[link(name = "windows")]
17445         extern "system" {
17446             fn lineDrop(hcall: u32, lpsuseruserinfo: super::super::Foundation::PSTR, dwsize: u32) -> i32;
17447         }
17448         ::std::mem::transmute(lineDrop(::std::mem::transmute(hcall), lpsuseruserinfo.into_param().abi(), ::std::mem::transmute(dwsize)))
17449     }
17450     #[cfg(not(windows))]
17451     unimplemented!("Unsupported target OS");
17452 }
17453 #[inline]
17454 pub unsafe fn lineForward(hline: u32, balladdresses: u32, dwaddressid: u32, lpforwardlist: *const LINEFORWARDLIST, dwnumringsnoanswer: u32, lphconsultcall: *mut u32, lpcallparams: *const LINECALLPARAMS) -> i32 {
17455     #[cfg(windows)]
17456     {
17457         #[link(name = "windows")]
17458         extern "system" {
17459             fn lineForward(hline: u32, balladdresses: u32, dwaddressid: u32, lpforwardlist: *const LINEFORWARDLIST, dwnumringsnoanswer: u32, lphconsultcall: *mut u32, lpcallparams: *const LINECALLPARAMS) -> i32;
17460         }
17461         ::std::mem::transmute(lineForward(::std::mem::transmute(hline), ::std::mem::transmute(balladdresses), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(lpforwardlist), ::std::mem::transmute(dwnumringsnoanswer), ::std::mem::transmute(lphconsultcall), ::std::mem::transmute(lpcallparams)))
17462     }
17463     #[cfg(not(windows))]
17464     unimplemented!("Unsupported target OS");
17465 }
17466 #[inline]
17467 pub unsafe fn lineForwardA(hline: u32, balladdresses: u32, dwaddressid: u32, lpforwardlist: *const LINEFORWARDLIST, dwnumringsnoanswer: u32, lphconsultcall: *mut u32, lpcallparams: *const LINECALLPARAMS) -> i32 {
17468     #[cfg(windows)]
17469     {
17470         #[link(name = "windows")]
17471         extern "system" {
17472             fn lineForwardA(hline: u32, balladdresses: u32, dwaddressid: u32, lpforwardlist: *const LINEFORWARDLIST, dwnumringsnoanswer: u32, lphconsultcall: *mut u32, lpcallparams: *const LINECALLPARAMS) -> i32;
17473         }
17474         ::std::mem::transmute(lineForwardA(::std::mem::transmute(hline), ::std::mem::transmute(balladdresses), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(lpforwardlist), ::std::mem::transmute(dwnumringsnoanswer), ::std::mem::transmute(lphconsultcall), ::std::mem::transmute(lpcallparams)))
17475     }
17476     #[cfg(not(windows))]
17477     unimplemented!("Unsupported target OS");
17478 }
17479 #[inline]
17480 pub unsafe fn lineForwardW(hline: u32, balladdresses: u32, dwaddressid: u32, lpforwardlist: *const LINEFORWARDLIST, dwnumringsnoanswer: u32, lphconsultcall: *mut u32, lpcallparams: *const LINECALLPARAMS) -> i32 {
17481     #[cfg(windows)]
17482     {
17483         #[link(name = "windows")]
17484         extern "system" {
17485             fn lineForwardW(hline: u32, balladdresses: u32, dwaddressid: u32, lpforwardlist: *const LINEFORWARDLIST, dwnumringsnoanswer: u32, lphconsultcall: *mut u32, lpcallparams: *const LINECALLPARAMS) -> i32;
17486         }
17487         ::std::mem::transmute(lineForwardW(::std::mem::transmute(hline), ::std::mem::transmute(balladdresses), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(lpforwardlist), ::std::mem::transmute(dwnumringsnoanswer), ::std::mem::transmute(lphconsultcall), ::std::mem::transmute(lpcallparams)))
17488     }
17489     #[cfg(not(windows))]
17490     unimplemented!("Unsupported target OS");
17491 }
17492 #[cfg(feature = "Win32_Foundation")]
17493 #[inline]
17494 pub unsafe fn lineGatherDigits<'a, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hcall: u32, dwdigitmodes: u32, lpsdigits: super::super::Foundation::PSTR, dwnumdigits: u32, lpszterminationdigits: Param4, dwfirstdigittimeout: u32, dwinterdigittimeout: u32) -> i32 {
17495     #[cfg(windows)]
17496     {
17497         #[link(name = "windows")]
17498         extern "system" {
17499             fn lineGatherDigits(hcall: u32, dwdigitmodes: u32, lpsdigits: super::super::Foundation::PSTR, dwnumdigits: u32, lpszterminationdigits: super::super::Foundation::PSTR, dwfirstdigittimeout: u32, dwinterdigittimeout: u32) -> i32;
17500         }
17501         ::std::mem::transmute(lineGatherDigits(::std::mem::transmute(hcall), ::std::mem::transmute(dwdigitmodes), ::std::mem::transmute(lpsdigits), ::std::mem::transmute(dwnumdigits), lpszterminationdigits.into_param().abi(), ::std::mem::transmute(dwfirstdigittimeout), ::std::mem::transmute(dwinterdigittimeout)))
17502     }
17503     #[cfg(not(windows))]
17504     unimplemented!("Unsupported target OS");
17505 }
17506 #[cfg(feature = "Win32_Foundation")]
17507 #[inline]
17508 pub unsafe fn lineGatherDigitsA<'a, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hcall: u32, dwdigitmodes: u32, lpsdigits: super::super::Foundation::PSTR, dwnumdigits: u32, lpszterminationdigits: Param4, dwfirstdigittimeout: u32, dwinterdigittimeout: u32) -> i32 {
17509     #[cfg(windows)]
17510     {
17511         #[link(name = "windows")]
17512         extern "system" {
17513             fn lineGatherDigitsA(hcall: u32, dwdigitmodes: u32, lpsdigits: super::super::Foundation::PSTR, dwnumdigits: u32, lpszterminationdigits: super::super::Foundation::PSTR, dwfirstdigittimeout: u32, dwinterdigittimeout: u32) -> i32;
17514         }
17515         ::std::mem::transmute(lineGatherDigitsA(::std::mem::transmute(hcall), ::std::mem::transmute(dwdigitmodes), ::std::mem::transmute(lpsdigits), ::std::mem::transmute(dwnumdigits), lpszterminationdigits.into_param().abi(), ::std::mem::transmute(dwfirstdigittimeout), ::std::mem::transmute(dwinterdigittimeout)))
17516     }
17517     #[cfg(not(windows))]
17518     unimplemented!("Unsupported target OS");
17519 }
17520 #[cfg(feature = "Win32_Foundation")]
17521 #[inline]
17522 pub unsafe fn lineGatherDigitsW<'a, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(hcall: u32, dwdigitmodes: u32, lpsdigits: super::super::Foundation::PWSTR, dwnumdigits: u32, lpszterminationdigits: Param4, dwfirstdigittimeout: u32, dwinterdigittimeout: u32) -> i32 {
17523     #[cfg(windows)]
17524     {
17525         #[link(name = "windows")]
17526         extern "system" {
17527             fn lineGatherDigitsW(hcall: u32, dwdigitmodes: u32, lpsdigits: super::super::Foundation::PWSTR, dwnumdigits: u32, lpszterminationdigits: super::super::Foundation::PWSTR, dwfirstdigittimeout: u32, dwinterdigittimeout: u32) -> i32;
17528         }
17529         ::std::mem::transmute(lineGatherDigitsW(::std::mem::transmute(hcall), ::std::mem::transmute(dwdigitmodes), ::std::mem::transmute(lpsdigits), ::std::mem::transmute(dwnumdigits), lpszterminationdigits.into_param().abi(), ::std::mem::transmute(dwfirstdigittimeout), ::std::mem::transmute(dwinterdigittimeout)))
17530     }
17531     #[cfg(not(windows))]
17532     unimplemented!("Unsupported target OS");
17533 }
17534 #[cfg(feature = "Win32_Foundation")]
17535 #[inline]
17536 pub unsafe fn lineGenerateDigits<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hcall: u32, dwdigitmode: u32, lpszdigits: Param2, dwduration: u32) -> i32 {
17537     #[cfg(windows)]
17538     {
17539         #[link(name = "windows")]
17540         extern "system" {
17541             fn lineGenerateDigits(hcall: u32, dwdigitmode: u32, lpszdigits: super::super::Foundation::PSTR, dwduration: u32) -> i32;
17542         }
17543         ::std::mem::transmute(lineGenerateDigits(::std::mem::transmute(hcall), ::std::mem::transmute(dwdigitmode), lpszdigits.into_param().abi(), ::std::mem::transmute(dwduration)))
17544     }
17545     #[cfg(not(windows))]
17546     unimplemented!("Unsupported target OS");
17547 }
17548 #[cfg(feature = "Win32_Foundation")]
17549 #[inline]
17550 pub unsafe fn lineGenerateDigitsA<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hcall: u32, dwdigitmode: u32, lpszdigits: Param2, dwduration: u32) -> i32 {
17551     #[cfg(windows)]
17552     {
17553         #[link(name = "windows")]
17554         extern "system" {
17555             fn lineGenerateDigitsA(hcall: u32, dwdigitmode: u32, lpszdigits: super::super::Foundation::PSTR, dwduration: u32) -> i32;
17556         }
17557         ::std::mem::transmute(lineGenerateDigitsA(::std::mem::transmute(hcall), ::std::mem::transmute(dwdigitmode), lpszdigits.into_param().abi(), ::std::mem::transmute(dwduration)))
17558     }
17559     #[cfg(not(windows))]
17560     unimplemented!("Unsupported target OS");
17561 }
17562 #[cfg(feature = "Win32_Foundation")]
17563 #[inline]
17564 pub unsafe fn lineGenerateDigitsW<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(hcall: u32, dwdigitmode: u32, lpszdigits: Param2, dwduration: u32) -> i32 {
17565     #[cfg(windows)]
17566     {
17567         #[link(name = "windows")]
17568         extern "system" {
17569             fn lineGenerateDigitsW(hcall: u32, dwdigitmode: u32, lpszdigits: super::super::Foundation::PWSTR, dwduration: u32) -> i32;
17570         }
17571         ::std::mem::transmute(lineGenerateDigitsW(::std::mem::transmute(hcall), ::std::mem::transmute(dwdigitmode), lpszdigits.into_param().abi(), ::std::mem::transmute(dwduration)))
17572     }
17573     #[cfg(not(windows))]
17574     unimplemented!("Unsupported target OS");
17575 }
17576 #[inline]
17577 pub unsafe fn lineGenerateTone(hcall: u32, dwtonemode: u32, dwduration: u32, dwnumtones: u32, lptones: *const LINEGENERATETONE) -> i32 {
17578     #[cfg(windows)]
17579     {
17580         #[link(name = "windows")]
17581         extern "system" {
17582             fn lineGenerateTone(hcall: u32, dwtonemode: u32, dwduration: u32, dwnumtones: u32, lptones: *const LINEGENERATETONE) -> i32;
17583         }
17584         ::std::mem::transmute(lineGenerateTone(::std::mem::transmute(hcall), ::std::mem::transmute(dwtonemode), ::std::mem::transmute(dwduration), ::std::mem::transmute(dwnumtones), ::std::mem::transmute(lptones)))
17585     }
17586     #[cfg(not(windows))]
17587     unimplemented!("Unsupported target OS");
17588 }
17589 #[inline]
17590 pub unsafe fn lineGetAddressCaps(hlineapp: u32, dwdeviceid: u32, dwaddressid: u32, dwapiversion: u32, dwextversion: u32, lpaddresscaps: *mut LINEADDRESSCAPS) -> i32 {
17591     #[cfg(windows)]
17592     {
17593         #[link(name = "windows")]
17594         extern "system" {
17595             fn lineGetAddressCaps(hlineapp: u32, dwdeviceid: u32, dwaddressid: u32, dwapiversion: u32, dwextversion: u32, lpaddresscaps: *mut LINEADDRESSCAPS) -> i32;
17596         }
17597         ::std::mem::transmute(lineGetAddressCaps(::std::mem::transmute(hlineapp), ::std::mem::transmute(dwdeviceid), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(dwapiversion), ::std::mem::transmute(dwextversion), ::std::mem::transmute(lpaddresscaps)))
17598     }
17599     #[cfg(not(windows))]
17600     unimplemented!("Unsupported target OS");
17601 }
17602 #[inline]
17603 pub unsafe fn lineGetAddressCapsA(hlineapp: u32, dwdeviceid: u32, dwaddressid: u32, dwapiversion: u32, dwextversion: u32, lpaddresscaps: *mut LINEADDRESSCAPS) -> i32 {
17604     #[cfg(windows)]
17605     {
17606         #[link(name = "windows")]
17607         extern "system" {
17608             fn lineGetAddressCapsA(hlineapp: u32, dwdeviceid: u32, dwaddressid: u32, dwapiversion: u32, dwextversion: u32, lpaddresscaps: *mut LINEADDRESSCAPS) -> i32;
17609         }
17610         ::std::mem::transmute(lineGetAddressCapsA(::std::mem::transmute(hlineapp), ::std::mem::transmute(dwdeviceid), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(dwapiversion), ::std::mem::transmute(dwextversion), ::std::mem::transmute(lpaddresscaps)))
17611     }
17612     #[cfg(not(windows))]
17613     unimplemented!("Unsupported target OS");
17614 }
17615 #[inline]
17616 pub unsafe fn lineGetAddressCapsW(hlineapp: u32, dwdeviceid: u32, dwaddressid: u32, dwapiversion: u32, dwextversion: u32, lpaddresscaps: *mut LINEADDRESSCAPS) -> i32 {
17617     #[cfg(windows)]
17618     {
17619         #[link(name = "windows")]
17620         extern "system" {
17621             fn lineGetAddressCapsW(hlineapp: u32, dwdeviceid: u32, dwaddressid: u32, dwapiversion: u32, dwextversion: u32, lpaddresscaps: *mut LINEADDRESSCAPS) -> i32;
17622         }
17623         ::std::mem::transmute(lineGetAddressCapsW(::std::mem::transmute(hlineapp), ::std::mem::transmute(dwdeviceid), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(dwapiversion), ::std::mem::transmute(dwextversion), ::std::mem::transmute(lpaddresscaps)))
17624     }
17625     #[cfg(not(windows))]
17626     unimplemented!("Unsupported target OS");
17627 }
17628 #[cfg(feature = "Win32_Foundation")]
17629 #[inline]
17630 pub unsafe fn lineGetAddressID<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hline: u32, lpdwaddressid: *mut u32, dwaddressmode: u32, lpsaddress: Param3, dwsize: u32) -> i32 {
17631     #[cfg(windows)]
17632     {
17633         #[link(name = "windows")]
17634         extern "system" {
17635             fn lineGetAddressID(hline: u32, lpdwaddressid: *mut u32, dwaddressmode: u32, lpsaddress: super::super::Foundation::PSTR, dwsize: u32) -> i32;
17636         }
17637         ::std::mem::transmute(lineGetAddressID(::std::mem::transmute(hline), ::std::mem::transmute(lpdwaddressid), ::std::mem::transmute(dwaddressmode), lpsaddress.into_param().abi(), ::std::mem::transmute(dwsize)))
17638     }
17639     #[cfg(not(windows))]
17640     unimplemented!("Unsupported target OS");
17641 }
17642 #[cfg(feature = "Win32_Foundation")]
17643 #[inline]
17644 pub unsafe fn lineGetAddressIDA<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hline: u32, lpdwaddressid: *mut u32, dwaddressmode: u32, lpsaddress: Param3, dwsize: u32) -> i32 {
17645     #[cfg(windows)]
17646     {
17647         #[link(name = "windows")]
17648         extern "system" {
17649             fn lineGetAddressIDA(hline: u32, lpdwaddressid: *mut u32, dwaddressmode: u32, lpsaddress: super::super::Foundation::PSTR, dwsize: u32) -> i32;
17650         }
17651         ::std::mem::transmute(lineGetAddressIDA(::std::mem::transmute(hline), ::std::mem::transmute(lpdwaddressid), ::std::mem::transmute(dwaddressmode), lpsaddress.into_param().abi(), ::std::mem::transmute(dwsize)))
17652     }
17653     #[cfg(not(windows))]
17654     unimplemented!("Unsupported target OS");
17655 }
17656 #[cfg(feature = "Win32_Foundation")]
17657 #[inline]
17658 pub unsafe fn lineGetAddressIDW<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(hline: u32, lpdwaddressid: *mut u32, dwaddressmode: u32, lpsaddress: Param3, dwsize: u32) -> i32 {
17659     #[cfg(windows)]
17660     {
17661         #[link(name = "windows")]
17662         extern "system" {
17663             fn lineGetAddressIDW(hline: u32, lpdwaddressid: *mut u32, dwaddressmode: u32, lpsaddress: super::super::Foundation::PWSTR, dwsize: u32) -> i32;
17664         }
17665         ::std::mem::transmute(lineGetAddressIDW(::std::mem::transmute(hline), ::std::mem::transmute(lpdwaddressid), ::std::mem::transmute(dwaddressmode), lpsaddress.into_param().abi(), ::std::mem::transmute(dwsize)))
17666     }
17667     #[cfg(not(windows))]
17668     unimplemented!("Unsupported target OS");
17669 }
17670 #[inline]
17671 pub unsafe fn lineGetAddressStatus(hline: u32, dwaddressid: u32, lpaddressstatus: *mut LINEADDRESSSTATUS) -> i32 {
17672     #[cfg(windows)]
17673     {
17674         #[link(name = "windows")]
17675         extern "system" {
17676             fn lineGetAddressStatus(hline: u32, dwaddressid: u32, lpaddressstatus: *mut LINEADDRESSSTATUS) -> i32;
17677         }
17678         ::std::mem::transmute(lineGetAddressStatus(::std::mem::transmute(hline), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(lpaddressstatus)))
17679     }
17680     #[cfg(not(windows))]
17681     unimplemented!("Unsupported target OS");
17682 }
17683 #[inline]
17684 pub unsafe fn lineGetAddressStatusA(hline: u32, dwaddressid: u32, lpaddressstatus: *mut LINEADDRESSSTATUS) -> i32 {
17685     #[cfg(windows)]
17686     {
17687         #[link(name = "windows")]
17688         extern "system" {
17689             fn lineGetAddressStatusA(hline: u32, dwaddressid: u32, lpaddressstatus: *mut LINEADDRESSSTATUS) -> i32;
17690         }
17691         ::std::mem::transmute(lineGetAddressStatusA(::std::mem::transmute(hline), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(lpaddressstatus)))
17692     }
17693     #[cfg(not(windows))]
17694     unimplemented!("Unsupported target OS");
17695 }
17696 #[inline]
17697 pub unsafe fn lineGetAddressStatusW(hline: u32, dwaddressid: u32, lpaddressstatus: *mut LINEADDRESSSTATUS) -> i32 {
17698     #[cfg(windows)]
17699     {
17700         #[link(name = "windows")]
17701         extern "system" {
17702             fn lineGetAddressStatusW(hline: u32, dwaddressid: u32, lpaddressstatus: *mut LINEADDRESSSTATUS) -> i32;
17703         }
17704         ::std::mem::transmute(lineGetAddressStatusW(::std::mem::transmute(hline), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(lpaddressstatus)))
17705     }
17706     #[cfg(not(windows))]
17707     unimplemented!("Unsupported target OS");
17708 }
17709 #[inline]
17710 pub unsafe fn lineGetAgentActivityListA(hline: u32, dwaddressid: u32, lpagentactivitylist: *mut LINEAGENTACTIVITYLIST) -> i32 {
17711     #[cfg(windows)]
17712     {
17713         #[link(name = "windows")]
17714         extern "system" {
17715             fn lineGetAgentActivityListA(hline: u32, dwaddressid: u32, lpagentactivitylist: *mut LINEAGENTACTIVITYLIST) -> i32;
17716         }
17717         ::std::mem::transmute(lineGetAgentActivityListA(::std::mem::transmute(hline), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(lpagentactivitylist)))
17718     }
17719     #[cfg(not(windows))]
17720     unimplemented!("Unsupported target OS");
17721 }
17722 #[inline]
17723 pub unsafe fn lineGetAgentActivityListW(hline: u32, dwaddressid: u32, lpagentactivitylist: *mut LINEAGENTACTIVITYLIST) -> i32 {
17724     #[cfg(windows)]
17725     {
17726         #[link(name = "windows")]
17727         extern "system" {
17728             fn lineGetAgentActivityListW(hline: u32, dwaddressid: u32, lpagentactivitylist: *mut LINEAGENTACTIVITYLIST) -> i32;
17729         }
17730         ::std::mem::transmute(lineGetAgentActivityListW(::std::mem::transmute(hline), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(lpagentactivitylist)))
17731     }
17732     #[cfg(not(windows))]
17733     unimplemented!("Unsupported target OS");
17734 }
17735 #[inline]
17736 pub unsafe fn lineGetAgentCapsA(hlineapp: u32, dwdeviceid: u32, dwaddressid: u32, dwappapiversion: u32, lpagentcaps: *mut LINEAGENTCAPS) -> i32 {
17737     #[cfg(windows)]
17738     {
17739         #[link(name = "windows")]
17740         extern "system" {
17741             fn lineGetAgentCapsA(hlineapp: u32, dwdeviceid: u32, dwaddressid: u32, dwappapiversion: u32, lpagentcaps: *mut LINEAGENTCAPS) -> i32;
17742         }
17743         ::std::mem::transmute(lineGetAgentCapsA(::std::mem::transmute(hlineapp), ::std::mem::transmute(dwdeviceid), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(dwappapiversion), ::std::mem::transmute(lpagentcaps)))
17744     }
17745     #[cfg(not(windows))]
17746     unimplemented!("Unsupported target OS");
17747 }
17748 #[inline]
17749 pub unsafe fn lineGetAgentCapsW(hlineapp: u32, dwdeviceid: u32, dwaddressid: u32, dwappapiversion: u32, lpagentcaps: *mut LINEAGENTCAPS) -> i32 {
17750     #[cfg(windows)]
17751     {
17752         #[link(name = "windows")]
17753         extern "system" {
17754             fn lineGetAgentCapsW(hlineapp: u32, dwdeviceid: u32, dwaddressid: u32, dwappapiversion: u32, lpagentcaps: *mut LINEAGENTCAPS) -> i32;
17755         }
17756         ::std::mem::transmute(lineGetAgentCapsW(::std::mem::transmute(hlineapp), ::std::mem::transmute(dwdeviceid), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(dwappapiversion), ::std::mem::transmute(lpagentcaps)))
17757     }
17758     #[cfg(not(windows))]
17759     unimplemented!("Unsupported target OS");
17760 }
17761 #[inline]
17762 pub unsafe fn lineGetAgentGroupListA(hline: u32, dwaddressid: u32, lpagentgrouplist: *mut LINEAGENTGROUPLIST) -> i32 {
17763     #[cfg(windows)]
17764     {
17765         #[link(name = "windows")]
17766         extern "system" {
17767             fn lineGetAgentGroupListA(hline: u32, dwaddressid: u32, lpagentgrouplist: *mut LINEAGENTGROUPLIST) -> i32;
17768         }
17769         ::std::mem::transmute(lineGetAgentGroupListA(::std::mem::transmute(hline), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(lpagentgrouplist)))
17770     }
17771     #[cfg(not(windows))]
17772     unimplemented!("Unsupported target OS");
17773 }
17774 #[inline]
17775 pub unsafe fn lineGetAgentGroupListW(hline: u32, dwaddressid: u32, lpagentgrouplist: *mut LINEAGENTGROUPLIST) -> i32 {
17776     #[cfg(windows)]
17777     {
17778         #[link(name = "windows")]
17779         extern "system" {
17780             fn lineGetAgentGroupListW(hline: u32, dwaddressid: u32, lpagentgrouplist: *mut LINEAGENTGROUPLIST) -> i32;
17781         }
17782         ::std::mem::transmute(lineGetAgentGroupListW(::std::mem::transmute(hline), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(lpagentgrouplist)))
17783     }
17784     #[cfg(not(windows))]
17785     unimplemented!("Unsupported target OS");
17786 }
17787 #[cfg(feature = "Win32_System_Com")]
17788 #[inline]
17789 pub unsafe fn lineGetAgentInfo(hline: u32, hagent: u32, lpagentinfo: *mut LINEAGENTINFO) -> i32 {
17790     #[cfg(windows)]
17791     {
17792         #[link(name = "windows")]
17793         extern "system" {
17794             fn lineGetAgentInfo(hline: u32, hagent: u32, lpagentinfo: *mut LINEAGENTINFO) -> i32;
17795         }
17796         ::std::mem::transmute(lineGetAgentInfo(::std::mem::transmute(hline), ::std::mem::transmute(hagent), ::std::mem::transmute(lpagentinfo)))
17797     }
17798     #[cfg(not(windows))]
17799     unimplemented!("Unsupported target OS");
17800 }
17801 #[cfg(feature = "Win32_System_Com")]
17802 #[inline]
17803 pub unsafe fn lineGetAgentSessionInfo(hline: u32, hagentsession: u32, lpagentsessioninfo: *mut LINEAGENTSESSIONINFO) -> i32 {
17804     #[cfg(windows)]
17805     {
17806         #[link(name = "windows")]
17807         extern "system" {
17808             fn lineGetAgentSessionInfo(hline: u32, hagentsession: u32, lpagentsessioninfo: *mut LINEAGENTSESSIONINFO) -> i32;
17809         }
17810         ::std::mem::transmute(lineGetAgentSessionInfo(::std::mem::transmute(hline), ::std::mem::transmute(hagentsession), ::std::mem::transmute(lpagentsessioninfo)))
17811     }
17812     #[cfg(not(windows))]
17813     unimplemented!("Unsupported target OS");
17814 }
17815 #[inline]
17816 pub unsafe fn lineGetAgentSessionList(hline: u32, hagent: u32, lpagentsessionlist: *mut LINEAGENTSESSIONLIST) -> i32 {
17817     #[cfg(windows)]
17818     {
17819         #[link(name = "windows")]
17820         extern "system" {
17821             fn lineGetAgentSessionList(hline: u32, hagent: u32, lpagentsessionlist: *mut LINEAGENTSESSIONLIST) -> i32;
17822         }
17823         ::std::mem::transmute(lineGetAgentSessionList(::std::mem::transmute(hline), ::std::mem::transmute(hagent), ::std::mem::transmute(lpagentsessionlist)))
17824     }
17825     #[cfg(not(windows))]
17826     unimplemented!("Unsupported target OS");
17827 }
17828 #[inline]
17829 pub unsafe fn lineGetAgentStatusA(hline: u32, dwaddressid: u32, lpagentstatus: *mut LINEAGENTSTATUS) -> i32 {
17830     #[cfg(windows)]
17831     {
17832         #[link(name = "windows")]
17833         extern "system" {
17834             fn lineGetAgentStatusA(hline: u32, dwaddressid: u32, lpagentstatus: *mut LINEAGENTSTATUS) -> i32;
17835         }
17836         ::std::mem::transmute(lineGetAgentStatusA(::std::mem::transmute(hline), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(lpagentstatus)))
17837     }
17838     #[cfg(not(windows))]
17839     unimplemented!("Unsupported target OS");
17840 }
17841 #[inline]
17842 pub unsafe fn lineGetAgentStatusW(hline: u32, dwaddressid: u32, lpagentstatus: *mut LINEAGENTSTATUS) -> i32 {
17843     #[cfg(windows)]
17844     {
17845         #[link(name = "windows")]
17846         extern "system" {
17847             fn lineGetAgentStatusW(hline: u32, dwaddressid: u32, lpagentstatus: *mut LINEAGENTSTATUS) -> i32;
17848         }
17849         ::std::mem::transmute(lineGetAgentStatusW(::std::mem::transmute(hline), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(lpagentstatus)))
17850     }
17851     #[cfg(not(windows))]
17852     unimplemented!("Unsupported target OS");
17853 }
17854 #[cfg(feature = "Win32_Foundation")]
17855 #[inline]
17856 pub unsafe fn lineGetAppPriority<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(lpszappfilename: Param0, dwmediamode: u32, lpextensionid: *mut LINEEXTENSIONID, dwrequestmode: u32, lpextensionname: *mut VARSTRING, lpdwpriority: *mut u32) -> i32 {
17857     #[cfg(windows)]
17858     {
17859         #[link(name = "windows")]
17860         extern "system" {
17861             fn lineGetAppPriority(lpszappfilename: super::super::Foundation::PSTR, dwmediamode: u32, lpextensionid: *mut LINEEXTENSIONID, dwrequestmode: u32, lpextensionname: *mut VARSTRING, lpdwpriority: *mut u32) -> i32;
17862         }
17863         ::std::mem::transmute(lineGetAppPriority(lpszappfilename.into_param().abi(), ::std::mem::transmute(dwmediamode), ::std::mem::transmute(lpextensionid), ::std::mem::transmute(dwrequestmode), ::std::mem::transmute(lpextensionname), ::std::mem::transmute(lpdwpriority)))
17864     }
17865     #[cfg(not(windows))]
17866     unimplemented!("Unsupported target OS");
17867 }
17868 #[cfg(feature = "Win32_Foundation")]
17869 #[inline]
17870 pub unsafe fn lineGetAppPriorityA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(lpszappfilename: Param0, dwmediamode: u32, lpextensionid: *mut LINEEXTENSIONID, dwrequestmode: u32, lpextensionname: *mut VARSTRING, lpdwpriority: *mut u32) -> i32 {
17871     #[cfg(windows)]
17872     {
17873         #[link(name = "windows")]
17874         extern "system" {
17875             fn lineGetAppPriorityA(lpszappfilename: super::super::Foundation::PSTR, dwmediamode: u32, lpextensionid: *mut LINEEXTENSIONID, dwrequestmode: u32, lpextensionname: *mut VARSTRING, lpdwpriority: *mut u32) -> i32;
17876         }
17877         ::std::mem::transmute(lineGetAppPriorityA(lpszappfilename.into_param().abi(), ::std::mem::transmute(dwmediamode), ::std::mem::transmute(lpextensionid), ::std::mem::transmute(dwrequestmode), ::std::mem::transmute(lpextensionname), ::std::mem::transmute(lpdwpriority)))
17878     }
17879     #[cfg(not(windows))]
17880     unimplemented!("Unsupported target OS");
17881 }
17882 #[cfg(feature = "Win32_Foundation")]
17883 #[inline]
17884 pub unsafe fn lineGetAppPriorityW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(lpszappfilename: Param0, dwmediamode: u32, lpextensionid: *mut LINEEXTENSIONID, dwrequestmode: u32, lpextensionname: *mut VARSTRING, lpdwpriority: *mut u32) -> i32 {
17885     #[cfg(windows)]
17886     {
17887         #[link(name = "windows")]
17888         extern "system" {
17889             fn lineGetAppPriorityW(lpszappfilename: super::super::Foundation::PWSTR, dwmediamode: u32, lpextensionid: *mut LINEEXTENSIONID, dwrequestmode: u32, lpextensionname: *mut VARSTRING, lpdwpriority: *mut u32) -> i32;
17890         }
17891         ::std::mem::transmute(lineGetAppPriorityW(lpszappfilename.into_param().abi(), ::std::mem::transmute(dwmediamode), ::std::mem::transmute(lpextensionid), ::std::mem::transmute(dwrequestmode), ::std::mem::transmute(lpextensionname), ::std::mem::transmute(lpdwpriority)))
17892     }
17893     #[cfg(not(windows))]
17894     unimplemented!("Unsupported target OS");
17895 }
17896 #[inline]
17897 pub unsafe fn lineGetCallInfo(hcall: u32, lpcallinfo: *mut LINECALLINFO) -> i32 {
17898     #[cfg(windows)]
17899     {
17900         #[link(name = "windows")]
17901         extern "system" {
17902             fn lineGetCallInfo(hcall: u32, lpcallinfo: *mut LINECALLINFO) -> i32;
17903         }
17904         ::std::mem::transmute(lineGetCallInfo(::std::mem::transmute(hcall), ::std::mem::transmute(lpcallinfo)))
17905     }
17906     #[cfg(not(windows))]
17907     unimplemented!("Unsupported target OS");
17908 }
17909 #[inline]
17910 pub unsafe fn lineGetCallInfoA(hcall: u32, lpcallinfo: *mut LINECALLINFO) -> i32 {
17911     #[cfg(windows)]
17912     {
17913         #[link(name = "windows")]
17914         extern "system" {
17915             fn lineGetCallInfoA(hcall: u32, lpcallinfo: *mut LINECALLINFO) -> i32;
17916         }
17917         ::std::mem::transmute(lineGetCallInfoA(::std::mem::transmute(hcall), ::std::mem::transmute(lpcallinfo)))
17918     }
17919     #[cfg(not(windows))]
17920     unimplemented!("Unsupported target OS");
17921 }
17922 #[inline]
17923 pub unsafe fn lineGetCallInfoW(hcall: u32, lpcallinfo: *mut LINECALLINFO) -> i32 {
17924     #[cfg(windows)]
17925     {
17926         #[link(name = "windows")]
17927         extern "system" {
17928             fn lineGetCallInfoW(hcall: u32, lpcallinfo: *mut LINECALLINFO) -> i32;
17929         }
17930         ::std::mem::transmute(lineGetCallInfoW(::std::mem::transmute(hcall), ::std::mem::transmute(lpcallinfo)))
17931     }
17932     #[cfg(not(windows))]
17933     unimplemented!("Unsupported target OS");
17934 }
17935 #[cfg(feature = "Win32_Foundation")]
17936 #[inline]
17937 pub unsafe fn lineGetCallStatus(hcall: u32, lpcallstatus: *mut LINECALLSTATUS) -> i32 {
17938     #[cfg(windows)]
17939     {
17940         #[link(name = "windows")]
17941         extern "system" {
17942             fn lineGetCallStatus(hcall: u32, lpcallstatus: *mut LINECALLSTATUS) -> i32;
17943         }
17944         ::std::mem::transmute(lineGetCallStatus(::std::mem::transmute(hcall), ::std::mem::transmute(lpcallstatus)))
17945     }
17946     #[cfg(not(windows))]
17947     unimplemented!("Unsupported target OS");
17948 }
17949 #[inline]
17950 pub unsafe fn lineGetConfRelatedCalls(hcall: u32, lpcalllist: *mut LINECALLLIST) -> i32 {
17951     #[cfg(windows)]
17952     {
17953         #[link(name = "windows")]
17954         extern "system" {
17955             fn lineGetConfRelatedCalls(hcall: u32, lpcalllist: *mut LINECALLLIST) -> i32;
17956         }
17957         ::std::mem::transmute(lineGetConfRelatedCalls(::std::mem::transmute(hcall), ::std::mem::transmute(lpcalllist)))
17958     }
17959     #[cfg(not(windows))]
17960     unimplemented!("Unsupported target OS");
17961 }
17962 #[inline]
17963 pub unsafe fn lineGetCountry(dwcountryid: u32, dwapiversion: u32, lplinecountrylist: *mut LINECOUNTRYLIST) -> i32 {
17964     #[cfg(windows)]
17965     {
17966         #[link(name = "windows")]
17967         extern "system" {
17968             fn lineGetCountry(dwcountryid: u32, dwapiversion: u32, lplinecountrylist: *mut LINECOUNTRYLIST) -> i32;
17969         }
17970         ::std::mem::transmute(lineGetCountry(::std::mem::transmute(dwcountryid), ::std::mem::transmute(dwapiversion), ::std::mem::transmute(lplinecountrylist)))
17971     }
17972     #[cfg(not(windows))]
17973     unimplemented!("Unsupported target OS");
17974 }
17975 #[inline]
17976 pub unsafe fn lineGetCountryA(dwcountryid: u32, dwapiversion: u32, lplinecountrylist: *mut LINECOUNTRYLIST) -> i32 {
17977     #[cfg(windows)]
17978     {
17979         #[link(name = "windows")]
17980         extern "system" {
17981             fn lineGetCountryA(dwcountryid: u32, dwapiversion: u32, lplinecountrylist: *mut LINECOUNTRYLIST) -> i32;
17982         }
17983         ::std::mem::transmute(lineGetCountryA(::std::mem::transmute(dwcountryid), ::std::mem::transmute(dwapiversion), ::std::mem::transmute(lplinecountrylist)))
17984     }
17985     #[cfg(not(windows))]
17986     unimplemented!("Unsupported target OS");
17987 }
17988 #[inline]
17989 pub unsafe fn lineGetCountryW(dwcountryid: u32, dwapiversion: u32, lplinecountrylist: *mut LINECOUNTRYLIST) -> i32 {
17990     #[cfg(windows)]
17991     {
17992         #[link(name = "windows")]
17993         extern "system" {
17994             fn lineGetCountryW(dwcountryid: u32, dwapiversion: u32, lplinecountrylist: *mut LINECOUNTRYLIST) -> i32;
17995         }
17996         ::std::mem::transmute(lineGetCountryW(::std::mem::transmute(dwcountryid), ::std::mem::transmute(dwapiversion), ::std::mem::transmute(lplinecountrylist)))
17997     }
17998     #[cfg(not(windows))]
17999     unimplemented!("Unsupported target OS");
18000 }
18001 #[inline]
18002 pub unsafe fn lineGetDevCaps(hlineapp: u32, dwdeviceid: u32, dwapiversion: u32, dwextversion: u32, lplinedevcaps: *mut LINEDEVCAPS) -> i32 {
18003     #[cfg(windows)]
18004     {
18005         #[link(name = "windows")]
18006         extern "system" {
18007             fn lineGetDevCaps(hlineapp: u32, dwdeviceid: u32, dwapiversion: u32, dwextversion: u32, lplinedevcaps: *mut LINEDEVCAPS) -> i32;
18008         }
18009         ::std::mem::transmute(lineGetDevCaps(::std::mem::transmute(hlineapp), ::std::mem::transmute(dwdeviceid), ::std::mem::transmute(dwapiversion), ::std::mem::transmute(dwextversion), ::std::mem::transmute(lplinedevcaps)))
18010     }
18011     #[cfg(not(windows))]
18012     unimplemented!("Unsupported target OS");
18013 }
18014 #[inline]
18015 pub unsafe fn lineGetDevCapsA(hlineapp: u32, dwdeviceid: u32, dwapiversion: u32, dwextversion: u32, lplinedevcaps: *mut LINEDEVCAPS) -> i32 {
18016     #[cfg(windows)]
18017     {
18018         #[link(name = "windows")]
18019         extern "system" {
18020             fn lineGetDevCapsA(hlineapp: u32, dwdeviceid: u32, dwapiversion: u32, dwextversion: u32, lplinedevcaps: *mut LINEDEVCAPS) -> i32;
18021         }
18022         ::std::mem::transmute(lineGetDevCapsA(::std::mem::transmute(hlineapp), ::std::mem::transmute(dwdeviceid), ::std::mem::transmute(dwapiversion), ::std::mem::transmute(dwextversion), ::std::mem::transmute(lplinedevcaps)))
18023     }
18024     #[cfg(not(windows))]
18025     unimplemented!("Unsupported target OS");
18026 }
18027 #[inline]
18028 pub unsafe fn lineGetDevCapsW(hlineapp: u32, dwdeviceid: u32, dwapiversion: u32, dwextversion: u32, lplinedevcaps: *mut LINEDEVCAPS) -> i32 {
18029     #[cfg(windows)]
18030     {
18031         #[link(name = "windows")]
18032         extern "system" {
18033             fn lineGetDevCapsW(hlineapp: u32, dwdeviceid: u32, dwapiversion: u32, dwextversion: u32, lplinedevcaps: *mut LINEDEVCAPS) -> i32;
18034         }
18035         ::std::mem::transmute(lineGetDevCapsW(::std::mem::transmute(hlineapp), ::std::mem::transmute(dwdeviceid), ::std::mem::transmute(dwapiversion), ::std::mem::transmute(dwextversion), ::std::mem::transmute(lplinedevcaps)))
18036     }
18037     #[cfg(not(windows))]
18038     unimplemented!("Unsupported target OS");
18039 }
18040 #[cfg(feature = "Win32_Foundation")]
18041 #[inline]
18042 pub unsafe fn lineGetDevConfig<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(dwdeviceid: u32, lpdeviceconfig: *mut VARSTRING, lpszdeviceclass: Param2) -> i32 {
18043     #[cfg(windows)]
18044     {
18045         #[link(name = "windows")]
18046         extern "system" {
18047             fn lineGetDevConfig(dwdeviceid: u32, lpdeviceconfig: *mut VARSTRING, lpszdeviceclass: super::super::Foundation::PSTR) -> i32;
18048         }
18049         ::std::mem::transmute(lineGetDevConfig(::std::mem::transmute(dwdeviceid), ::std::mem::transmute(lpdeviceconfig), lpszdeviceclass.into_param().abi()))
18050     }
18051     #[cfg(not(windows))]
18052     unimplemented!("Unsupported target OS");
18053 }
18054 #[cfg(feature = "Win32_Foundation")]
18055 #[inline]
18056 pub unsafe fn lineGetDevConfigA<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(dwdeviceid: u32, lpdeviceconfig: *mut VARSTRING, lpszdeviceclass: Param2) -> i32 {
18057     #[cfg(windows)]
18058     {
18059         #[link(name = "windows")]
18060         extern "system" {
18061             fn lineGetDevConfigA(dwdeviceid: u32, lpdeviceconfig: *mut VARSTRING, lpszdeviceclass: super::super::Foundation::PSTR) -> i32;
18062         }
18063         ::std::mem::transmute(lineGetDevConfigA(::std::mem::transmute(dwdeviceid), ::std::mem::transmute(lpdeviceconfig), lpszdeviceclass.into_param().abi()))
18064     }
18065     #[cfg(not(windows))]
18066     unimplemented!("Unsupported target OS");
18067 }
18068 #[cfg(feature = "Win32_Foundation")]
18069 #[inline]
18070 pub unsafe fn lineGetDevConfigW<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(dwdeviceid: u32, lpdeviceconfig: *mut VARSTRING, lpszdeviceclass: Param2) -> i32 {
18071     #[cfg(windows)]
18072     {
18073         #[link(name = "windows")]
18074         extern "system" {
18075             fn lineGetDevConfigW(dwdeviceid: u32, lpdeviceconfig: *mut VARSTRING, lpszdeviceclass: super::super::Foundation::PWSTR) -> i32;
18076         }
18077         ::std::mem::transmute(lineGetDevConfigW(::std::mem::transmute(dwdeviceid), ::std::mem::transmute(lpdeviceconfig), lpszdeviceclass.into_param().abi()))
18078     }
18079     #[cfg(not(windows))]
18080     unimplemented!("Unsupported target OS");
18081 }
18082 #[inline]
18083 pub unsafe fn lineGetGroupListA(hline: u32, lpgrouplist: *mut LINEAGENTGROUPLIST) -> i32 {
18084     #[cfg(windows)]
18085     {
18086         #[link(name = "windows")]
18087         extern "system" {
18088             fn lineGetGroupListA(hline: u32, lpgrouplist: *mut LINEAGENTGROUPLIST) -> i32;
18089         }
18090         ::std::mem::transmute(lineGetGroupListA(::std::mem::transmute(hline), ::std::mem::transmute(lpgrouplist)))
18091     }
18092     #[cfg(not(windows))]
18093     unimplemented!("Unsupported target OS");
18094 }
18095 #[inline]
18096 pub unsafe fn lineGetGroupListW(hline: u32, lpgrouplist: *mut LINEAGENTGROUPLIST) -> i32 {
18097     #[cfg(windows)]
18098     {
18099         #[link(name = "windows")]
18100         extern "system" {
18101             fn lineGetGroupListW(hline: u32, lpgrouplist: *mut LINEAGENTGROUPLIST) -> i32;
18102         }
18103         ::std::mem::transmute(lineGetGroupListW(::std::mem::transmute(hline), ::std::mem::transmute(lpgrouplist)))
18104     }
18105     #[cfg(not(windows))]
18106     unimplemented!("Unsupported target OS");
18107 }
18108 #[cfg(feature = "Win32_Foundation")]
18109 #[inline]
18110 pub unsafe fn lineGetID<'a, Param5: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hline: u32, dwaddressid: u32, hcall: u32, dwselect: u32, lpdeviceid: *mut VARSTRING, lpszdeviceclass: Param5) -> i32 {
18111     #[cfg(windows)]
18112     {
18113         #[link(name = "windows")]
18114         extern "system" {
18115             fn lineGetID(hline: u32, dwaddressid: u32, hcall: u32, dwselect: u32, lpdeviceid: *mut VARSTRING, lpszdeviceclass: super::super::Foundation::PSTR) -> i32;
18116         }
18117         ::std::mem::transmute(lineGetID(::std::mem::transmute(hline), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(hcall), ::std::mem::transmute(dwselect), ::std::mem::transmute(lpdeviceid), lpszdeviceclass.into_param().abi()))
18118     }
18119     #[cfg(not(windows))]
18120     unimplemented!("Unsupported target OS");
18121 }
18122 #[cfg(feature = "Win32_Foundation")]
18123 #[inline]
18124 pub unsafe fn lineGetIDA<'a, Param5: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hline: u32, dwaddressid: u32, hcall: u32, dwselect: u32, lpdeviceid: *mut VARSTRING, lpszdeviceclass: Param5) -> i32 {
18125     #[cfg(windows)]
18126     {
18127         #[link(name = "windows")]
18128         extern "system" {
18129             fn lineGetIDA(hline: u32, dwaddressid: u32, hcall: u32, dwselect: u32, lpdeviceid: *mut VARSTRING, lpszdeviceclass: super::super::Foundation::PSTR) -> i32;
18130         }
18131         ::std::mem::transmute(lineGetIDA(::std::mem::transmute(hline), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(hcall), ::std::mem::transmute(dwselect), ::std::mem::transmute(lpdeviceid), lpszdeviceclass.into_param().abi()))
18132     }
18133     #[cfg(not(windows))]
18134     unimplemented!("Unsupported target OS");
18135 }
18136 #[cfg(feature = "Win32_Foundation")]
18137 #[inline]
18138 pub unsafe fn lineGetIDW<'a, Param5: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(hline: u32, dwaddressid: u32, hcall: u32, dwselect: u32, lpdeviceid: *mut VARSTRING, lpszdeviceclass: Param5) -> i32 {
18139     #[cfg(windows)]
18140     {
18141         #[link(name = "windows")]
18142         extern "system" {
18143             fn lineGetIDW(hline: u32, dwaddressid: u32, hcall: u32, dwselect: u32, lpdeviceid: *mut VARSTRING, lpszdeviceclass: super::super::Foundation::PWSTR) -> i32;
18144         }
18145         ::std::mem::transmute(lineGetIDW(::std::mem::transmute(hline), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(hcall), ::std::mem::transmute(dwselect), ::std::mem::transmute(lpdeviceid), lpszdeviceclass.into_param().abi()))
18146     }
18147     #[cfg(not(windows))]
18148     unimplemented!("Unsupported target OS");
18149 }
18150 #[cfg(feature = "Win32_Foundation")]
18151 #[inline]
18152 pub unsafe fn lineGetIcon<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(dwdeviceid: u32, lpszdeviceclass: Param1, lphicon: *mut isize) -> i32 {
18153     #[cfg(windows)]
18154     {
18155         #[link(name = "windows")]
18156         extern "system" {
18157             fn lineGetIcon(dwdeviceid: u32, lpszdeviceclass: super::super::Foundation::PSTR, lphicon: *mut isize) -> i32;
18158         }
18159         ::std::mem::transmute(lineGetIcon(::std::mem::transmute(dwdeviceid), lpszdeviceclass.into_param().abi(), ::std::mem::transmute(lphicon)))
18160     }
18161     #[cfg(not(windows))]
18162     unimplemented!("Unsupported target OS");
18163 }
18164 #[cfg(feature = "Win32_Foundation")]
18165 #[inline]
18166 pub unsafe fn lineGetIconA<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(dwdeviceid: u32, lpszdeviceclass: Param1, lphicon: *mut isize) -> i32 {
18167     #[cfg(windows)]
18168     {
18169         #[link(name = "windows")]
18170         extern "system" {
18171             fn lineGetIconA(dwdeviceid: u32, lpszdeviceclass: super::super::Foundation::PSTR, lphicon: *mut isize) -> i32;
18172         }
18173         ::std::mem::transmute(lineGetIconA(::std::mem::transmute(dwdeviceid), lpszdeviceclass.into_param().abi(), ::std::mem::transmute(lphicon)))
18174     }
18175     #[cfg(not(windows))]
18176     unimplemented!("Unsupported target OS");
18177 }
18178 #[cfg(feature = "Win32_Foundation")]
18179 #[inline]
18180 pub unsafe fn lineGetIconW<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(dwdeviceid: u32, lpszdeviceclass: Param1, lphicon: *mut isize) -> i32 {
18181     #[cfg(windows)]
18182     {
18183         #[link(name = "windows")]
18184         extern "system" {
18185             fn lineGetIconW(dwdeviceid: u32, lpszdeviceclass: super::super::Foundation::PWSTR, lphicon: *mut isize) -> i32;
18186         }
18187         ::std::mem::transmute(lineGetIconW(::std::mem::transmute(dwdeviceid), lpszdeviceclass.into_param().abi(), ::std::mem::transmute(lphicon)))
18188     }
18189     #[cfg(not(windows))]
18190     unimplemented!("Unsupported target OS");
18191 }
18192 #[inline]
18193 pub unsafe fn lineGetLineDevStatus(hline: u32, lplinedevstatus: *mut LINEDEVSTATUS) -> i32 {
18194     #[cfg(windows)]
18195     {
18196         #[link(name = "windows")]
18197         extern "system" {
18198             fn lineGetLineDevStatus(hline: u32, lplinedevstatus: *mut LINEDEVSTATUS) -> i32;
18199         }
18200         ::std::mem::transmute(lineGetLineDevStatus(::std::mem::transmute(hline), ::std::mem::transmute(lplinedevstatus)))
18201     }
18202     #[cfg(not(windows))]
18203     unimplemented!("Unsupported target OS");
18204 }
18205 #[inline]
18206 pub unsafe fn lineGetLineDevStatusA(hline: u32, lplinedevstatus: *mut LINEDEVSTATUS) -> i32 {
18207     #[cfg(windows)]
18208     {
18209         #[link(name = "windows")]
18210         extern "system" {
18211             fn lineGetLineDevStatusA(hline: u32, lplinedevstatus: *mut LINEDEVSTATUS) -> i32;
18212         }
18213         ::std::mem::transmute(lineGetLineDevStatusA(::std::mem::transmute(hline), ::std::mem::transmute(lplinedevstatus)))
18214     }
18215     #[cfg(not(windows))]
18216     unimplemented!("Unsupported target OS");
18217 }
18218 #[inline]
18219 pub unsafe fn lineGetLineDevStatusW(hline: u32, lplinedevstatus: *mut LINEDEVSTATUS) -> i32 {
18220     #[cfg(windows)]
18221     {
18222         #[link(name = "windows")]
18223         extern "system" {
18224             fn lineGetLineDevStatusW(hline: u32, lplinedevstatus: *mut LINEDEVSTATUS) -> i32;
18225         }
18226         ::std::mem::transmute(lineGetLineDevStatusW(::std::mem::transmute(hline), ::std::mem::transmute(lplinedevstatus)))
18227     }
18228     #[cfg(not(windows))]
18229     unimplemented!("Unsupported target OS");
18230 }
18231 #[inline]
18232 pub unsafe fn lineGetMessage(hlineapp: u32, lpmessage: *mut LINEMESSAGE, dwtimeout: u32) -> i32 {
18233     #[cfg(windows)]
18234     {
18235         #[link(name = "windows")]
18236         extern "system" {
18237             fn lineGetMessage(hlineapp: u32, lpmessage: *mut LINEMESSAGE, dwtimeout: u32) -> i32;
18238         }
18239         ::std::mem::transmute(lineGetMessage(::std::mem::transmute(hlineapp), ::std::mem::transmute(lpmessage), ::std::mem::transmute(dwtimeout)))
18240     }
18241     #[cfg(not(windows))]
18242     unimplemented!("Unsupported target OS");
18243 }
18244 #[inline]
18245 pub unsafe fn lineGetNewCalls(hline: u32, dwaddressid: u32, dwselect: u32, lpcalllist: *mut LINECALLLIST) -> i32 {
18246     #[cfg(windows)]
18247     {
18248         #[link(name = "windows")]
18249         extern "system" {
18250             fn lineGetNewCalls(hline: u32, dwaddressid: u32, dwselect: u32, lpcalllist: *mut LINECALLLIST) -> i32;
18251         }
18252         ::std::mem::transmute(lineGetNewCalls(::std::mem::transmute(hline), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(dwselect), ::std::mem::transmute(lpcalllist)))
18253     }
18254     #[cfg(not(windows))]
18255     unimplemented!("Unsupported target OS");
18256 }
18257 #[inline]
18258 pub unsafe fn lineGetNumRings(hline: u32, dwaddressid: u32, lpdwnumrings: *mut u32) -> i32 {
18259     #[cfg(windows)]
18260     {
18261         #[link(name = "windows")]
18262         extern "system" {
18263             fn lineGetNumRings(hline: u32, dwaddressid: u32, lpdwnumrings: *mut u32) -> i32;
18264         }
18265         ::std::mem::transmute(lineGetNumRings(::std::mem::transmute(hline), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(lpdwnumrings)))
18266     }
18267     #[cfg(not(windows))]
18268     unimplemented!("Unsupported target OS");
18269 }
18270 #[inline]
18271 pub unsafe fn lineGetProviderList(dwapiversion: u32, lpproviderlist: *mut LINEPROVIDERLIST) -> i32 {
18272     #[cfg(windows)]
18273     {
18274         #[link(name = "windows")]
18275         extern "system" {
18276             fn lineGetProviderList(dwapiversion: u32, lpproviderlist: *mut LINEPROVIDERLIST) -> i32;
18277         }
18278         ::std::mem::transmute(lineGetProviderList(::std::mem::transmute(dwapiversion), ::std::mem::transmute(lpproviderlist)))
18279     }
18280     #[cfg(not(windows))]
18281     unimplemented!("Unsupported target OS");
18282 }
18283 #[inline]
18284 pub unsafe fn lineGetProviderListA(dwapiversion: u32, lpproviderlist: *mut LINEPROVIDERLIST) -> i32 {
18285     #[cfg(windows)]
18286     {
18287         #[link(name = "windows")]
18288         extern "system" {
18289             fn lineGetProviderListA(dwapiversion: u32, lpproviderlist: *mut LINEPROVIDERLIST) -> i32;
18290         }
18291         ::std::mem::transmute(lineGetProviderListA(::std::mem::transmute(dwapiversion), ::std::mem::transmute(lpproviderlist)))
18292     }
18293     #[cfg(not(windows))]
18294     unimplemented!("Unsupported target OS");
18295 }
18296 #[inline]
18297 pub unsafe fn lineGetProviderListW(dwapiversion: u32, lpproviderlist: *mut LINEPROVIDERLIST) -> i32 {
18298     #[cfg(windows)]
18299     {
18300         #[link(name = "windows")]
18301         extern "system" {
18302             fn lineGetProviderListW(dwapiversion: u32, lpproviderlist: *mut LINEPROVIDERLIST) -> i32;
18303         }
18304         ::std::mem::transmute(lineGetProviderListW(::std::mem::transmute(dwapiversion), ::std::mem::transmute(lpproviderlist)))
18305     }
18306     #[cfg(not(windows))]
18307     unimplemented!("Unsupported target OS");
18308 }
18309 #[inline]
18310 pub unsafe fn lineGetProxyStatus(hlineapp: u32, dwdeviceid: u32, dwappapiversion: u32, lplineproxyreqestlist: *mut LINEPROXYREQUESTLIST) -> i32 {
18311     #[cfg(windows)]
18312     {
18313         #[link(name = "windows")]
18314         extern "system" {
18315             fn lineGetProxyStatus(hlineapp: u32, dwdeviceid: u32, dwappapiversion: u32, lplineproxyreqestlist: *mut LINEPROXYREQUESTLIST) -> i32;
18316         }
18317         ::std::mem::transmute(lineGetProxyStatus(::std::mem::transmute(hlineapp), ::std::mem::transmute(dwdeviceid), ::std::mem::transmute(dwappapiversion), ::std::mem::transmute(lplineproxyreqestlist)))
18318     }
18319     #[cfg(not(windows))]
18320     unimplemented!("Unsupported target OS");
18321 }
18322 #[inline]
18323 pub unsafe fn lineGetQueueInfo(hline: u32, dwqueueid: u32, lplinequeueinfo: *mut LINEQUEUEINFO) -> i32 {
18324     #[cfg(windows)]
18325     {
18326         #[link(name = "windows")]
18327         extern "system" {
18328             fn lineGetQueueInfo(hline: u32, dwqueueid: u32, lplinequeueinfo: *mut LINEQUEUEINFO) -> i32;
18329         }
18330         ::std::mem::transmute(lineGetQueueInfo(::std::mem::transmute(hline), ::std::mem::transmute(dwqueueid), ::std::mem::transmute(lplinequeueinfo)))
18331     }
18332     #[cfg(not(windows))]
18333     unimplemented!("Unsupported target OS");
18334 }
18335 #[inline]
18336 pub unsafe fn lineGetQueueListA(hline: u32, lpgroupid: *mut ::windows::runtime::GUID, lpqueuelist: *mut LINEQUEUELIST) -> i32 {
18337     #[cfg(windows)]
18338     {
18339         #[link(name = "windows")]
18340         extern "system" {
18341             fn lineGetQueueListA(hline: u32, lpgroupid: *mut ::windows::runtime::GUID, lpqueuelist: *mut LINEQUEUELIST) -> i32;
18342         }
18343         ::std::mem::transmute(lineGetQueueListA(::std::mem::transmute(hline), ::std::mem::transmute(lpgroupid), ::std::mem::transmute(lpqueuelist)))
18344     }
18345     #[cfg(not(windows))]
18346     unimplemented!("Unsupported target OS");
18347 }
18348 #[inline]
18349 pub unsafe fn lineGetQueueListW(hline: u32, lpgroupid: *mut ::windows::runtime::GUID, lpqueuelist: *mut LINEQUEUELIST) -> i32 {
18350     #[cfg(windows)]
18351     {
18352         #[link(name = "windows")]
18353         extern "system" {
18354             fn lineGetQueueListW(hline: u32, lpgroupid: *mut ::windows::runtime::GUID, lpqueuelist: *mut LINEQUEUELIST) -> i32;
18355         }
18356         ::std::mem::transmute(lineGetQueueListW(::std::mem::transmute(hline), ::std::mem::transmute(lpgroupid), ::std::mem::transmute(lpqueuelist)))
18357     }
18358     #[cfg(not(windows))]
18359     unimplemented!("Unsupported target OS");
18360 }
18361 #[inline]
18362 pub unsafe fn lineGetRequest(hlineapp: u32, dwrequestmode: u32, lprequestbuffer: *mut ::std::ffi::c_void) -> i32 {
18363     #[cfg(windows)]
18364     {
18365         #[link(name = "windows")]
18366         extern "system" {
18367             fn lineGetRequest(hlineapp: u32, dwrequestmode: u32, lprequestbuffer: *mut ::std::ffi::c_void) -> i32;
18368         }
18369         ::std::mem::transmute(lineGetRequest(::std::mem::transmute(hlineapp), ::std::mem::transmute(dwrequestmode), ::std::mem::transmute(lprequestbuffer)))
18370     }
18371     #[cfg(not(windows))]
18372     unimplemented!("Unsupported target OS");
18373 }
18374 #[inline]
18375 pub unsafe fn lineGetRequestA(hlineapp: u32, dwrequestmode: u32, lprequestbuffer: *mut ::std::ffi::c_void) -> i32 {
18376     #[cfg(windows)]
18377     {
18378         #[link(name = "windows")]
18379         extern "system" {
18380             fn lineGetRequestA(hlineapp: u32, dwrequestmode: u32, lprequestbuffer: *mut ::std::ffi::c_void) -> i32;
18381         }
18382         ::std::mem::transmute(lineGetRequestA(::std::mem::transmute(hlineapp), ::std::mem::transmute(dwrequestmode), ::std::mem::transmute(lprequestbuffer)))
18383     }
18384     #[cfg(not(windows))]
18385     unimplemented!("Unsupported target OS");
18386 }
18387 #[inline]
18388 pub unsafe fn lineGetRequestW(hlineapp: u32, dwrequestmode: u32, lprequestbuffer: *mut ::std::ffi::c_void) -> i32 {
18389     #[cfg(windows)]
18390     {
18391         #[link(name = "windows")]
18392         extern "system" {
18393             fn lineGetRequestW(hlineapp: u32, dwrequestmode: u32, lprequestbuffer: *mut ::std::ffi::c_void) -> i32;
18394         }
18395         ::std::mem::transmute(lineGetRequestW(::std::mem::transmute(hlineapp), ::std::mem::transmute(dwrequestmode), ::std::mem::transmute(lprequestbuffer)))
18396     }
18397     #[cfg(not(windows))]
18398     unimplemented!("Unsupported target OS");
18399 }
18400 #[inline]
18401 pub unsafe fn lineGetStatusMessages(hline: u32, lpdwlinestates: *mut u32, lpdwaddressstates: *mut u32) -> i32 {
18402     #[cfg(windows)]
18403     {
18404         #[link(name = "windows")]
18405         extern "system" {
18406             fn lineGetStatusMessages(hline: u32, lpdwlinestates: *mut u32, lpdwaddressstates: *mut u32) -> i32;
18407         }
18408         ::std::mem::transmute(lineGetStatusMessages(::std::mem::transmute(hline), ::std::mem::transmute(lpdwlinestates), ::std::mem::transmute(lpdwaddressstates)))
18409     }
18410     #[cfg(not(windows))]
18411     unimplemented!("Unsupported target OS");
18412 }
18413 #[inline]
18414 pub unsafe fn lineGetTranslateCaps(hlineapp: u32, dwapiversion: u32, lptranslatecaps: *mut LINETRANSLATECAPS) -> i32 {
18415     #[cfg(windows)]
18416     {
18417         #[link(name = "windows")]
18418         extern "system" {
18419             fn lineGetTranslateCaps(hlineapp: u32, dwapiversion: u32, lptranslatecaps: *mut LINETRANSLATECAPS) -> i32;
18420         }
18421         ::std::mem::transmute(lineGetTranslateCaps(::std::mem::transmute(hlineapp), ::std::mem::transmute(dwapiversion), ::std::mem::transmute(lptranslatecaps)))
18422     }
18423     #[cfg(not(windows))]
18424     unimplemented!("Unsupported target OS");
18425 }
18426 #[inline]
18427 pub unsafe fn lineGetTranslateCapsA(hlineapp: u32, dwapiversion: u32, lptranslatecaps: *mut LINETRANSLATECAPS) -> i32 {
18428     #[cfg(windows)]
18429     {
18430         #[link(name = "windows")]
18431         extern "system" {
18432             fn lineGetTranslateCapsA(hlineapp: u32, dwapiversion: u32, lptranslatecaps: *mut LINETRANSLATECAPS) -> i32;
18433         }
18434         ::std::mem::transmute(lineGetTranslateCapsA(::std::mem::transmute(hlineapp), ::std::mem::transmute(dwapiversion), ::std::mem::transmute(lptranslatecaps)))
18435     }
18436     #[cfg(not(windows))]
18437     unimplemented!("Unsupported target OS");
18438 }
18439 #[inline]
18440 pub unsafe fn lineGetTranslateCapsW(hlineapp: u32, dwapiversion: u32, lptranslatecaps: *mut LINETRANSLATECAPS) -> i32 {
18441     #[cfg(windows)]
18442     {
18443         #[link(name = "windows")]
18444         extern "system" {
18445             fn lineGetTranslateCapsW(hlineapp: u32, dwapiversion: u32, lptranslatecaps: *mut LINETRANSLATECAPS) -> i32;
18446         }
18447         ::std::mem::transmute(lineGetTranslateCapsW(::std::mem::transmute(hlineapp), ::std::mem::transmute(dwapiversion), ::std::mem::transmute(lptranslatecaps)))
18448     }
18449     #[cfg(not(windows))]
18450     unimplemented!("Unsupported target OS");
18451 }
18452 #[cfg(feature = "Win32_Foundation")]
18453 #[inline]
18454 pub unsafe fn lineHandoff<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hcall: u32, lpszfilename: Param1, dwmediamode: u32) -> i32 {
18455     #[cfg(windows)]
18456     {
18457         #[link(name = "windows")]
18458         extern "system" {
18459             fn lineHandoff(hcall: u32, lpszfilename: super::super::Foundation::PSTR, dwmediamode: u32) -> i32;
18460         }
18461         ::std::mem::transmute(lineHandoff(::std::mem::transmute(hcall), lpszfilename.into_param().abi(), ::std::mem::transmute(dwmediamode)))
18462     }
18463     #[cfg(not(windows))]
18464     unimplemented!("Unsupported target OS");
18465 }
18466 #[cfg(feature = "Win32_Foundation")]
18467 #[inline]
18468 pub unsafe fn lineHandoffA<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hcall: u32, lpszfilename: Param1, dwmediamode: u32) -> i32 {
18469     #[cfg(windows)]
18470     {
18471         #[link(name = "windows")]
18472         extern "system" {
18473             fn lineHandoffA(hcall: u32, lpszfilename: super::super::Foundation::PSTR, dwmediamode: u32) -> i32;
18474         }
18475         ::std::mem::transmute(lineHandoffA(::std::mem::transmute(hcall), lpszfilename.into_param().abi(), ::std::mem::transmute(dwmediamode)))
18476     }
18477     #[cfg(not(windows))]
18478     unimplemented!("Unsupported target OS");
18479 }
18480 #[cfg(feature = "Win32_Foundation")]
18481 #[inline]
18482 pub unsafe fn lineHandoffW<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(hcall: u32, lpszfilename: Param1, dwmediamode: u32) -> i32 {
18483     #[cfg(windows)]
18484     {
18485         #[link(name = "windows")]
18486         extern "system" {
18487             fn lineHandoffW(hcall: u32, lpszfilename: super::super::Foundation::PWSTR, dwmediamode: u32) -> i32;
18488         }
18489         ::std::mem::transmute(lineHandoffW(::std::mem::transmute(hcall), lpszfilename.into_param().abi(), ::std::mem::transmute(dwmediamode)))
18490     }
18491     #[cfg(not(windows))]
18492     unimplemented!("Unsupported target OS");
18493 }
18494 #[inline]
18495 pub unsafe fn lineHold(hcall: u32) -> i32 {
18496     #[cfg(windows)]
18497     {
18498         #[link(name = "windows")]
18499         extern "system" {
18500             fn lineHold(hcall: u32) -> i32;
18501         }
18502         ::std::mem::transmute(lineHold(::std::mem::transmute(hcall)))
18503     }
18504     #[cfg(not(windows))]
18505     unimplemented!("Unsupported target OS");
18506 }
18507 #[cfg(feature = "Win32_Foundation")]
18508 #[inline]
18509 pub unsafe fn lineInitialize<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HINSTANCE>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(lphlineapp: *mut u32, hinstance: Param1, lpfncallback: ::std::option::Option<LINECALLBACK>, lpszappname: Param3, lpdwnumdevs: *mut u32) -> i32 {
18510     #[cfg(windows)]
18511     {
18512         #[link(name = "windows")]
18513         extern "system" {
18514             fn lineInitialize(lphlineapp: *mut u32, hinstance: super::super::Foundation::HINSTANCE, lpfncallback: ::windows::runtime::RawPtr, lpszappname: super::super::Foundation::PSTR, lpdwnumdevs: *mut u32) -> i32;
18515         }
18516         ::std::mem::transmute(lineInitialize(::std::mem::transmute(lphlineapp), hinstance.into_param().abi(), ::std::mem::transmute(lpfncallback), lpszappname.into_param().abi(), ::std::mem::transmute(lpdwnumdevs)))
18517     }
18518     #[cfg(not(windows))]
18519     unimplemented!("Unsupported target OS");
18520 }
18521 #[cfg(feature = "Win32_Foundation")]
18522 #[inline]
18523 pub unsafe fn lineInitializeExA<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HINSTANCE>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(lphlineapp: *mut u32, hinstance: Param1, lpfncallback: ::std::option::Option<LINECALLBACK>, lpszfriendlyappname: Param3, lpdwnumdevs: *mut u32, lpdwapiversion: *mut u32, lplineinitializeexparams: *mut LINEINITIALIZEEXPARAMS) -> i32 {
18524     #[cfg(windows)]
18525     {
18526         #[link(name = "windows")]
18527         extern "system" {
18528             fn lineInitializeExA(lphlineapp: *mut u32, hinstance: super::super::Foundation::HINSTANCE, lpfncallback: ::windows::runtime::RawPtr, lpszfriendlyappname: super::super::Foundation::PSTR, lpdwnumdevs: *mut u32, lpdwapiversion: *mut u32, lplineinitializeexparams: *mut LINEINITIALIZEEXPARAMS) -> i32;
18529         }
18530         ::std::mem::transmute(lineInitializeExA(::std::mem::transmute(lphlineapp), hinstance.into_param().abi(), ::std::mem::transmute(lpfncallback), lpszfriendlyappname.into_param().abi(), ::std::mem::transmute(lpdwnumdevs), ::std::mem::transmute(lpdwapiversion), ::std::mem::transmute(lplineinitializeexparams)))
18531     }
18532     #[cfg(not(windows))]
18533     unimplemented!("Unsupported target OS");
18534 }
18535 #[cfg(feature = "Win32_Foundation")]
18536 #[inline]
18537 pub unsafe fn lineInitializeExW<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HINSTANCE>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(lphlineapp: *mut u32, hinstance: Param1, lpfncallback: ::std::option::Option<LINECALLBACK>, lpszfriendlyappname: Param3, lpdwnumdevs: *mut u32, lpdwapiversion: *mut u32, lplineinitializeexparams: *mut LINEINITIALIZEEXPARAMS) -> i32 {
18538     #[cfg(windows)]
18539     {
18540         #[link(name = "windows")]
18541         extern "system" {
18542             fn lineInitializeExW(lphlineapp: *mut u32, hinstance: super::super::Foundation::HINSTANCE, lpfncallback: ::windows::runtime::RawPtr, lpszfriendlyappname: super::super::Foundation::PWSTR, lpdwnumdevs: *mut u32, lpdwapiversion: *mut u32, lplineinitializeexparams: *mut LINEINITIALIZEEXPARAMS) -> i32;
18543         }
18544         ::std::mem::transmute(lineInitializeExW(::std::mem::transmute(lphlineapp), hinstance.into_param().abi(), ::std::mem::transmute(lpfncallback), lpszfriendlyappname.into_param().abi(), ::std::mem::transmute(lpdwnumdevs), ::std::mem::transmute(lpdwapiversion), ::std::mem::transmute(lplineinitializeexparams)))
18545     }
18546     #[cfg(not(windows))]
18547     unimplemented!("Unsupported target OS");
18548 }
18549 #[cfg(feature = "Win32_Foundation")]
18550 #[inline]
18551 pub unsafe fn lineMakeCall<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hline: u32, lphcall: *mut u32, lpszdestaddress: Param2, dwcountrycode: u32, lpcallparams: *const LINECALLPARAMS) -> i32 {
18552     #[cfg(windows)]
18553     {
18554         #[link(name = "windows")]
18555         extern "system" {
18556             fn lineMakeCall(hline: u32, lphcall: *mut u32, lpszdestaddress: super::super::Foundation::PSTR, dwcountrycode: u32, lpcallparams: *const LINECALLPARAMS) -> i32;
18557         }
18558         ::std::mem::transmute(lineMakeCall(::std::mem::transmute(hline), ::std::mem::transmute(lphcall), lpszdestaddress.into_param().abi(), ::std::mem::transmute(dwcountrycode), ::std::mem::transmute(lpcallparams)))
18559     }
18560     #[cfg(not(windows))]
18561     unimplemented!("Unsupported target OS");
18562 }
18563 #[cfg(feature = "Win32_Foundation")]
18564 #[inline]
18565 pub unsafe fn lineMakeCallA<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hline: u32, lphcall: *mut u32, lpszdestaddress: Param2, dwcountrycode: u32, lpcallparams: *const LINECALLPARAMS) -> i32 {
18566     #[cfg(windows)]
18567     {
18568         #[link(name = "windows")]
18569         extern "system" {
18570             fn lineMakeCallA(hline: u32, lphcall: *mut u32, lpszdestaddress: super::super::Foundation::PSTR, dwcountrycode: u32, lpcallparams: *const LINECALLPARAMS) -> i32;
18571         }
18572         ::std::mem::transmute(lineMakeCallA(::std::mem::transmute(hline), ::std::mem::transmute(lphcall), lpszdestaddress.into_param().abi(), ::std::mem::transmute(dwcountrycode), ::std::mem::transmute(lpcallparams)))
18573     }
18574     #[cfg(not(windows))]
18575     unimplemented!("Unsupported target OS");
18576 }
18577 #[cfg(feature = "Win32_Foundation")]
18578 #[inline]
18579 pub unsafe fn lineMakeCallW<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(hline: u32, lphcall: *mut u32, lpszdestaddress: Param2, dwcountrycode: u32, lpcallparams: *const LINECALLPARAMS) -> i32 {
18580     #[cfg(windows)]
18581     {
18582         #[link(name = "windows")]
18583         extern "system" {
18584             fn lineMakeCallW(hline: u32, lphcall: *mut u32, lpszdestaddress: super::super::Foundation::PWSTR, dwcountrycode: u32, lpcallparams: *const LINECALLPARAMS) -> i32;
18585         }
18586         ::std::mem::transmute(lineMakeCallW(::std::mem::transmute(hline), ::std::mem::transmute(lphcall), lpszdestaddress.into_param().abi(), ::std::mem::transmute(dwcountrycode), ::std::mem::transmute(lpcallparams)))
18587     }
18588     #[cfg(not(windows))]
18589     unimplemented!("Unsupported target OS");
18590 }
18591 #[inline]
18592 pub unsafe fn lineMonitorDigits(hcall: u32, dwdigitmodes: u32) -> i32 {
18593     #[cfg(windows)]
18594     {
18595         #[link(name = "windows")]
18596         extern "system" {
18597             fn lineMonitorDigits(hcall: u32, dwdigitmodes: u32) -> i32;
18598         }
18599         ::std::mem::transmute(lineMonitorDigits(::std::mem::transmute(hcall), ::std::mem::transmute(dwdigitmodes)))
18600     }
18601     #[cfg(not(windows))]
18602     unimplemented!("Unsupported target OS");
18603 }
18604 #[inline]
18605 pub unsafe fn lineMonitorMedia(hcall: u32, dwmediamodes: u32) -> i32 {
18606     #[cfg(windows)]
18607     {
18608         #[link(name = "windows")]
18609         extern "system" {
18610             fn lineMonitorMedia(hcall: u32, dwmediamodes: u32) -> i32;
18611         }
18612         ::std::mem::transmute(lineMonitorMedia(::std::mem::transmute(hcall), ::std::mem::transmute(dwmediamodes)))
18613     }
18614     #[cfg(not(windows))]
18615     unimplemented!("Unsupported target OS");
18616 }
18617 #[inline]
18618 pub unsafe fn lineMonitorTones(hcall: u32, lptonelist: *const LINEMONITORTONE, dwnumentries: u32) -> i32 {
18619     #[cfg(windows)]
18620     {
18621         #[link(name = "windows")]
18622         extern "system" {
18623             fn lineMonitorTones(hcall: u32, lptonelist: *const LINEMONITORTONE, dwnumentries: u32) -> i32;
18624         }
18625         ::std::mem::transmute(lineMonitorTones(::std::mem::transmute(hcall), ::std::mem::transmute(lptonelist), ::std::mem::transmute(dwnumentries)))
18626     }
18627     #[cfg(not(windows))]
18628     unimplemented!("Unsupported target OS");
18629 }
18630 #[inline]
18631 pub unsafe fn lineNegotiateAPIVersion(hlineapp: u32, dwdeviceid: u32, dwapilowversion: u32, dwapihighversion: u32, lpdwapiversion: *mut u32, lpextensionid: *mut LINEEXTENSIONID) -> i32 {
18632     #[cfg(windows)]
18633     {
18634         #[link(name = "windows")]
18635         extern "system" {
18636             fn lineNegotiateAPIVersion(hlineapp: u32, dwdeviceid: u32, dwapilowversion: u32, dwapihighversion: u32, lpdwapiversion: *mut u32, lpextensionid: *mut LINEEXTENSIONID) -> i32;
18637         }
18638         ::std::mem::transmute(lineNegotiateAPIVersion(::std::mem::transmute(hlineapp), ::std::mem::transmute(dwdeviceid), ::std::mem::transmute(dwapilowversion), ::std::mem::transmute(dwapihighversion), ::std::mem::transmute(lpdwapiversion), ::std::mem::transmute(lpextensionid)))
18639     }
18640     #[cfg(not(windows))]
18641     unimplemented!("Unsupported target OS");
18642 }
18643 #[inline]
18644 pub unsafe fn lineNegotiateExtVersion(hlineapp: u32, dwdeviceid: u32, dwapiversion: u32, dwextlowversion: u32, dwexthighversion: u32, lpdwextversion: *mut u32) -> i32 {
18645     #[cfg(windows)]
18646     {
18647         #[link(name = "windows")]
18648         extern "system" {
18649             fn lineNegotiateExtVersion(hlineapp: u32, dwdeviceid: u32, dwapiversion: u32, dwextlowversion: u32, dwexthighversion: u32, lpdwextversion: *mut u32) -> i32;
18650         }
18651         ::std::mem::transmute(lineNegotiateExtVersion(::std::mem::transmute(hlineapp), ::std::mem::transmute(dwdeviceid), ::std::mem::transmute(dwapiversion), ::std::mem::transmute(dwextlowversion), ::std::mem::transmute(dwexthighversion), ::std::mem::transmute(lpdwextversion)))
18652     }
18653     #[cfg(not(windows))]
18654     unimplemented!("Unsupported target OS");
18655 }
18656 #[inline]
18657 pub unsafe fn lineOpen(hlineapp: u32, dwdeviceid: u32, lphline: *mut u32, dwapiversion: u32, dwextversion: u32, dwcallbackinstance: usize, dwprivileges: u32, dwmediamodes: u32, lpcallparams: *const LINECALLPARAMS) -> i32 {
18658     #[cfg(windows)]
18659     {
18660         #[link(name = "windows")]
18661         extern "system" {
18662             fn lineOpen(hlineapp: u32, dwdeviceid: u32, lphline: *mut u32, dwapiversion: u32, dwextversion: u32, dwcallbackinstance: usize, dwprivileges: u32, dwmediamodes: u32, lpcallparams: *const LINECALLPARAMS) -> i32;
18663         }
18664         ::std::mem::transmute(lineOpen(
18665             ::std::mem::transmute(hlineapp),
18666             ::std::mem::transmute(dwdeviceid),
18667             ::std::mem::transmute(lphline),
18668             ::std::mem::transmute(dwapiversion),
18669             ::std::mem::transmute(dwextversion),
18670             ::std::mem::transmute(dwcallbackinstance),
18671             ::std::mem::transmute(dwprivileges),
18672             ::std::mem::transmute(dwmediamodes),
18673             ::std::mem::transmute(lpcallparams),
18674         ))
18675     }
18676     #[cfg(not(windows))]
18677     unimplemented!("Unsupported target OS");
18678 }
18679 #[inline]
18680 pub unsafe fn lineOpenA(hlineapp: u32, dwdeviceid: u32, lphline: *mut u32, dwapiversion: u32, dwextversion: u32, dwcallbackinstance: usize, dwprivileges: u32, dwmediamodes: u32, lpcallparams: *const LINECALLPARAMS) -> i32 {
18681     #[cfg(windows)]
18682     {
18683         #[link(name = "windows")]
18684         extern "system" {
18685             fn lineOpenA(hlineapp: u32, dwdeviceid: u32, lphline: *mut u32, dwapiversion: u32, dwextversion: u32, dwcallbackinstance: usize, dwprivileges: u32, dwmediamodes: u32, lpcallparams: *const LINECALLPARAMS) -> i32;
18686         }
18687         ::std::mem::transmute(lineOpenA(
18688             ::std::mem::transmute(hlineapp),
18689             ::std::mem::transmute(dwdeviceid),
18690             ::std::mem::transmute(lphline),
18691             ::std::mem::transmute(dwapiversion),
18692             ::std::mem::transmute(dwextversion),
18693             ::std::mem::transmute(dwcallbackinstance),
18694             ::std::mem::transmute(dwprivileges),
18695             ::std::mem::transmute(dwmediamodes),
18696             ::std::mem::transmute(lpcallparams),
18697         ))
18698     }
18699     #[cfg(not(windows))]
18700     unimplemented!("Unsupported target OS");
18701 }
18702 #[inline]
18703 pub unsafe fn lineOpenW(hlineapp: u32, dwdeviceid: u32, lphline: *mut u32, dwapiversion: u32, dwextversion: u32, dwcallbackinstance: usize, dwprivileges: u32, dwmediamodes: u32, lpcallparams: *const LINECALLPARAMS) -> i32 {
18704     #[cfg(windows)]
18705     {
18706         #[link(name = "windows")]
18707         extern "system" {
18708             fn lineOpenW(hlineapp: u32, dwdeviceid: u32, lphline: *mut u32, dwapiversion: u32, dwextversion: u32, dwcallbackinstance: usize, dwprivileges: u32, dwmediamodes: u32, lpcallparams: *const LINECALLPARAMS) -> i32;
18709         }
18710         ::std::mem::transmute(lineOpenW(
18711             ::std::mem::transmute(hlineapp),
18712             ::std::mem::transmute(dwdeviceid),
18713             ::std::mem::transmute(lphline),
18714             ::std::mem::transmute(dwapiversion),
18715             ::std::mem::transmute(dwextversion),
18716             ::std::mem::transmute(dwcallbackinstance),
18717             ::std::mem::transmute(dwprivileges),
18718             ::std::mem::transmute(dwmediamodes),
18719             ::std::mem::transmute(lpcallparams),
18720         ))
18721     }
18722     #[cfg(not(windows))]
18723     unimplemented!("Unsupported target OS");
18724 }
18725 #[cfg(feature = "Win32_Foundation")]
18726 #[inline]
18727 pub unsafe fn linePark<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hcall: u32, dwparkmode: u32, lpszdiraddress: Param2, lpnondiraddress: *mut VARSTRING) -> i32 {
18728     #[cfg(windows)]
18729     {
18730         #[link(name = "windows")]
18731         extern "system" {
18732             fn linePark(hcall: u32, dwparkmode: u32, lpszdiraddress: super::super::Foundation::PSTR, lpnondiraddress: *mut VARSTRING) -> i32;
18733         }
18734         ::std::mem::transmute(linePark(::std::mem::transmute(hcall), ::std::mem::transmute(dwparkmode), lpszdiraddress.into_param().abi(), ::std::mem::transmute(lpnondiraddress)))
18735     }
18736     #[cfg(not(windows))]
18737     unimplemented!("Unsupported target OS");
18738 }
18739 #[cfg(feature = "Win32_Foundation")]
18740 #[inline]
18741 pub unsafe fn lineParkA<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hcall: u32, dwparkmode: u32, lpszdiraddress: Param2, lpnondiraddress: *mut VARSTRING) -> i32 {
18742     #[cfg(windows)]
18743     {
18744         #[link(name = "windows")]
18745         extern "system" {
18746             fn lineParkA(hcall: u32, dwparkmode: u32, lpszdiraddress: super::super::Foundation::PSTR, lpnondiraddress: *mut VARSTRING) -> i32;
18747         }
18748         ::std::mem::transmute(lineParkA(::std::mem::transmute(hcall), ::std::mem::transmute(dwparkmode), lpszdiraddress.into_param().abi(), ::std::mem::transmute(lpnondiraddress)))
18749     }
18750     #[cfg(not(windows))]
18751     unimplemented!("Unsupported target OS");
18752 }
18753 #[cfg(feature = "Win32_Foundation")]
18754 #[inline]
18755 pub unsafe fn lineParkW<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(hcall: u32, dwparkmode: u32, lpszdiraddress: Param2, lpnondiraddress: *mut VARSTRING) -> i32 {
18756     #[cfg(windows)]
18757     {
18758         #[link(name = "windows")]
18759         extern "system" {
18760             fn lineParkW(hcall: u32, dwparkmode: u32, lpszdiraddress: super::super::Foundation::PWSTR, lpnondiraddress: *mut VARSTRING) -> i32;
18761         }
18762         ::std::mem::transmute(lineParkW(::std::mem::transmute(hcall), ::std::mem::transmute(dwparkmode), lpszdiraddress.into_param().abi(), ::std::mem::transmute(lpnondiraddress)))
18763     }
18764     #[cfg(not(windows))]
18765     unimplemented!("Unsupported target OS");
18766 }
18767 #[cfg(feature = "Win32_Foundation")]
18768 #[inline]
18769 pub unsafe fn linePickup<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hline: u32, dwaddressid: u32, lphcall: *mut u32, lpszdestaddress: Param3, lpszgroupid: Param4) -> i32 {
18770     #[cfg(windows)]
18771     {
18772         #[link(name = "windows")]
18773         extern "system" {
18774             fn linePickup(hline: u32, dwaddressid: u32, lphcall: *mut u32, lpszdestaddress: super::super::Foundation::PSTR, lpszgroupid: super::super::Foundation::PSTR) -> i32;
18775         }
18776         ::std::mem::transmute(linePickup(::std::mem::transmute(hline), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(lphcall), lpszdestaddress.into_param().abi(), lpszgroupid.into_param().abi()))
18777     }
18778     #[cfg(not(windows))]
18779     unimplemented!("Unsupported target OS");
18780 }
18781 #[cfg(feature = "Win32_Foundation")]
18782 #[inline]
18783 pub unsafe fn linePickupA<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hline: u32, dwaddressid: u32, lphcall: *mut u32, lpszdestaddress: Param3, lpszgroupid: Param4) -> i32 {
18784     #[cfg(windows)]
18785     {
18786         #[link(name = "windows")]
18787         extern "system" {
18788             fn linePickupA(hline: u32, dwaddressid: u32, lphcall: *mut u32, lpszdestaddress: super::super::Foundation::PSTR, lpszgroupid: super::super::Foundation::PSTR) -> i32;
18789         }
18790         ::std::mem::transmute(linePickupA(::std::mem::transmute(hline), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(lphcall), lpszdestaddress.into_param().abi(), lpszgroupid.into_param().abi()))
18791     }
18792     #[cfg(not(windows))]
18793     unimplemented!("Unsupported target OS");
18794 }
18795 #[cfg(feature = "Win32_Foundation")]
18796 #[inline]
18797 pub unsafe fn linePickupW<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(hline: u32, dwaddressid: u32, lphcall: *mut u32, lpszdestaddress: Param3, lpszgroupid: Param4) -> i32 {
18798     #[cfg(windows)]
18799     {
18800         #[link(name = "windows")]
18801         extern "system" {
18802             fn linePickupW(hline: u32, dwaddressid: u32, lphcall: *mut u32, lpszdestaddress: super::super::Foundation::PWSTR, lpszgroupid: super::super::Foundation::PWSTR) -> i32;
18803         }
18804         ::std::mem::transmute(linePickupW(::std::mem::transmute(hline), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(lphcall), lpszdestaddress.into_param().abi(), lpszgroupid.into_param().abi()))
18805     }
18806     #[cfg(not(windows))]
18807     unimplemented!("Unsupported target OS");
18808 }
18809 #[inline]
18810 pub unsafe fn linePrepareAddToConference(hconfcall: u32, lphconsultcall: *mut u32, lpcallparams: *const LINECALLPARAMS) -> i32 {
18811     #[cfg(windows)]
18812     {
18813         #[link(name = "windows")]
18814         extern "system" {
18815             fn linePrepareAddToConference(hconfcall: u32, lphconsultcall: *mut u32, lpcallparams: *const LINECALLPARAMS) -> i32;
18816         }
18817         ::std::mem::transmute(linePrepareAddToConference(::std::mem::transmute(hconfcall), ::std::mem::transmute(lphconsultcall), ::std::mem::transmute(lpcallparams)))
18818     }
18819     #[cfg(not(windows))]
18820     unimplemented!("Unsupported target OS");
18821 }
18822 #[inline]
18823 pub unsafe fn linePrepareAddToConferenceA(hconfcall: u32, lphconsultcall: *mut u32, lpcallparams: *const LINECALLPARAMS) -> i32 {
18824     #[cfg(windows)]
18825     {
18826         #[link(name = "windows")]
18827         extern "system" {
18828             fn linePrepareAddToConferenceA(hconfcall: u32, lphconsultcall: *mut u32, lpcallparams: *const LINECALLPARAMS) -> i32;
18829         }
18830         ::std::mem::transmute(linePrepareAddToConferenceA(::std::mem::transmute(hconfcall), ::std::mem::transmute(lphconsultcall), ::std::mem::transmute(lpcallparams)))
18831     }
18832     #[cfg(not(windows))]
18833     unimplemented!("Unsupported target OS");
18834 }
18835 #[inline]
18836 pub unsafe fn linePrepareAddToConferenceW(hconfcall: u32, lphconsultcall: *mut u32, lpcallparams: *const LINECALLPARAMS) -> i32 {
18837     #[cfg(windows)]
18838     {
18839         #[link(name = "windows")]
18840         extern "system" {
18841             fn linePrepareAddToConferenceW(hconfcall: u32, lphconsultcall: *mut u32, lpcallparams: *const LINECALLPARAMS) -> i32;
18842         }
18843         ::std::mem::transmute(linePrepareAddToConferenceW(::std::mem::transmute(hconfcall), ::std::mem::transmute(lphconsultcall), ::std::mem::transmute(lpcallparams)))
18844     }
18845     #[cfg(not(windows))]
18846     unimplemented!("Unsupported target OS");
18847 }
18848 #[inline]
18849 pub unsafe fn lineProxyMessage(hline: u32, hcall: u32, dwmsg: u32, dwparam1: u32, dwparam2: u32, dwparam3: u32) -> i32 {
18850     #[cfg(windows)]
18851     {
18852         #[link(name = "windows")]
18853         extern "system" {
18854             fn lineProxyMessage(hline: u32, hcall: u32, dwmsg: u32, dwparam1: u32, dwparam2: u32, dwparam3: u32) -> i32;
18855         }
18856         ::std::mem::transmute(lineProxyMessage(::std::mem::transmute(hline), ::std::mem::transmute(hcall), ::std::mem::transmute(dwmsg), ::std::mem::transmute(dwparam1), ::std::mem::transmute(dwparam2), ::std::mem::transmute(dwparam3)))
18857     }
18858     #[cfg(not(windows))]
18859     unimplemented!("Unsupported target OS");
18860 }
18861 #[cfg(feature = "Win32_System_Com")]
18862 #[inline]
18863 pub unsafe fn lineProxyResponse(hline: u32, lpproxyrequest: *mut LINEPROXYREQUEST, dwresult: u32) -> i32 {
18864     #[cfg(windows)]
18865     {
18866         #[link(name = "windows")]
18867         extern "system" {
18868             fn lineProxyResponse(hline: u32, lpproxyrequest: *mut LINEPROXYREQUEST, dwresult: u32) -> i32;
18869         }
18870         ::std::mem::transmute(lineProxyResponse(::std::mem::transmute(hline), ::std::mem::transmute(lpproxyrequest), ::std::mem::transmute(dwresult)))
18871     }
18872     #[cfg(not(windows))]
18873     unimplemented!("Unsupported target OS");
18874 }
18875 #[cfg(feature = "Win32_Foundation")]
18876 #[inline]
18877 pub unsafe fn lineRedirect<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hcall: u32, lpszdestaddress: Param1, dwcountrycode: u32) -> i32 {
18878     #[cfg(windows)]
18879     {
18880         #[link(name = "windows")]
18881         extern "system" {
18882             fn lineRedirect(hcall: u32, lpszdestaddress: super::super::Foundation::PSTR, dwcountrycode: u32) -> i32;
18883         }
18884         ::std::mem::transmute(lineRedirect(::std::mem::transmute(hcall), lpszdestaddress.into_param().abi(), ::std::mem::transmute(dwcountrycode)))
18885     }
18886     #[cfg(not(windows))]
18887     unimplemented!("Unsupported target OS");
18888 }
18889 #[cfg(feature = "Win32_Foundation")]
18890 #[inline]
18891 pub unsafe fn lineRedirectA<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hcall: u32, lpszdestaddress: Param1, dwcountrycode: u32) -> i32 {
18892     #[cfg(windows)]
18893     {
18894         #[link(name = "windows")]
18895         extern "system" {
18896             fn lineRedirectA(hcall: u32, lpszdestaddress: super::super::Foundation::PSTR, dwcountrycode: u32) -> i32;
18897         }
18898         ::std::mem::transmute(lineRedirectA(::std::mem::transmute(hcall), lpszdestaddress.into_param().abi(), ::std::mem::transmute(dwcountrycode)))
18899     }
18900     #[cfg(not(windows))]
18901     unimplemented!("Unsupported target OS");
18902 }
18903 #[cfg(feature = "Win32_Foundation")]
18904 #[inline]
18905 pub unsafe fn lineRedirectW<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(hcall: u32, lpszdestaddress: Param1, dwcountrycode: u32) -> i32 {
18906     #[cfg(windows)]
18907     {
18908         #[link(name = "windows")]
18909         extern "system" {
18910             fn lineRedirectW(hcall: u32, lpszdestaddress: super::super::Foundation::PWSTR, dwcountrycode: u32) -> i32;
18911         }
18912         ::std::mem::transmute(lineRedirectW(::std::mem::transmute(hcall), lpszdestaddress.into_param().abi(), ::std::mem::transmute(dwcountrycode)))
18913     }
18914     #[cfg(not(windows))]
18915     unimplemented!("Unsupported target OS");
18916 }
18917 #[inline]
18918 pub unsafe fn lineRegisterRequestRecipient(hlineapp: u32, dwregistrationinstance: u32, dwrequestmode: u32, benable: u32) -> i32 {
18919     #[cfg(windows)]
18920     {
18921         #[link(name = "windows")]
18922         extern "system" {
18923             fn lineRegisterRequestRecipient(hlineapp: u32, dwregistrationinstance: u32, dwrequestmode: u32, benable: u32) -> i32;
18924         }
18925         ::std::mem::transmute(lineRegisterRequestRecipient(::std::mem::transmute(hlineapp), ::std::mem::transmute(dwregistrationinstance), ::std::mem::transmute(dwrequestmode), ::std::mem::transmute(benable)))
18926     }
18927     #[cfg(not(windows))]
18928     unimplemented!("Unsupported target OS");
18929 }
18930 #[inline]
18931 pub unsafe fn lineReleaseUserUserInfo(hcall: u32) -> i32 {
18932     #[cfg(windows)]
18933     {
18934         #[link(name = "windows")]
18935         extern "system" {
18936             fn lineReleaseUserUserInfo(hcall: u32) -> i32;
18937         }
18938         ::std::mem::transmute(lineReleaseUserUserInfo(::std::mem::transmute(hcall)))
18939     }
18940     #[cfg(not(windows))]
18941     unimplemented!("Unsupported target OS");
18942 }
18943 #[inline]
18944 pub unsafe fn lineRemoveFromConference(hcall: u32) -> i32 {
18945     #[cfg(windows)]
18946     {
18947         #[link(name = "windows")]
18948         extern "system" {
18949             fn lineRemoveFromConference(hcall: u32) -> i32;
18950         }
18951         ::std::mem::transmute(lineRemoveFromConference(::std::mem::transmute(hcall)))
18952     }
18953     #[cfg(not(windows))]
18954     unimplemented!("Unsupported target OS");
18955 }
18956 #[cfg(feature = "Win32_Foundation")]
18957 #[inline]
18958 pub unsafe fn lineRemoveProvider<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(dwpermanentproviderid: u32, hwndowner: Param1) -> i32 {
18959     #[cfg(windows)]
18960     {
18961         #[link(name = "windows")]
18962         extern "system" {
18963             fn lineRemoveProvider(dwpermanentproviderid: u32, hwndowner: super::super::Foundation::HWND) -> i32;
18964         }
18965         ::std::mem::transmute(lineRemoveProvider(::std::mem::transmute(dwpermanentproviderid), hwndowner.into_param().abi()))
18966     }
18967     #[cfg(not(windows))]
18968     unimplemented!("Unsupported target OS");
18969 }
18970 #[inline]
18971 pub unsafe fn lineSecureCall(hcall: u32) -> i32 {
18972     #[cfg(windows)]
18973     {
18974         #[link(name = "windows")]
18975         extern "system" {
18976             fn lineSecureCall(hcall: u32) -> i32;
18977         }
18978         ::std::mem::transmute(lineSecureCall(::std::mem::transmute(hcall)))
18979     }
18980     #[cfg(not(windows))]
18981     unimplemented!("Unsupported target OS");
18982 }
18983 #[cfg(feature = "Win32_Foundation")]
18984 #[inline]
18985 pub unsafe fn lineSendUserUserInfo<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hcall: u32, lpsuseruserinfo: Param1, dwsize: u32) -> i32 {
18986     #[cfg(windows)]
18987     {
18988         #[link(name = "windows")]
18989         extern "system" {
18990             fn lineSendUserUserInfo(hcall: u32, lpsuseruserinfo: super::super::Foundation::PSTR, dwsize: u32) -> i32;
18991         }
18992         ::std::mem::transmute(lineSendUserUserInfo(::std::mem::transmute(hcall), lpsuseruserinfo.into_param().abi(), ::std::mem::transmute(dwsize)))
18993     }
18994     #[cfg(not(windows))]
18995     unimplemented!("Unsupported target OS");
18996 }
18997 #[inline]
18998 pub unsafe fn lineSetAgentActivity(hline: u32, dwaddressid: u32, dwactivityid: u32) -> i32 {
18999     #[cfg(windows)]
19000     {
19001         #[link(name = "windows")]
19002         extern "system" {
19003             fn lineSetAgentActivity(hline: u32, dwaddressid: u32, dwactivityid: u32) -> i32;
19004         }
19005         ::std::mem::transmute(lineSetAgentActivity(::std::mem::transmute(hline), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(dwactivityid)))
19006     }
19007     #[cfg(not(windows))]
19008     unimplemented!("Unsupported target OS");
19009 }
19010 #[inline]
19011 pub unsafe fn lineSetAgentGroup(hline: u32, dwaddressid: u32, lpagentgrouplist: *mut LINEAGENTGROUPLIST) -> i32 {
19012     #[cfg(windows)]
19013     {
19014         #[link(name = "windows")]
19015         extern "system" {
19016             fn lineSetAgentGroup(hline: u32, dwaddressid: u32, lpagentgrouplist: *mut LINEAGENTGROUPLIST) -> i32;
19017         }
19018         ::std::mem::transmute(lineSetAgentGroup(::std::mem::transmute(hline), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(lpagentgrouplist)))
19019     }
19020     #[cfg(not(windows))]
19021     unimplemented!("Unsupported target OS");
19022 }
19023 #[inline]
19024 pub unsafe fn lineSetAgentMeasurementPeriod(hline: u32, hagent: u32, dwmeasurementperiod: u32) -> i32 {
19025     #[cfg(windows)]
19026     {
19027         #[link(name = "windows")]
19028         extern "system" {
19029             fn lineSetAgentMeasurementPeriod(hline: u32, hagent: u32, dwmeasurementperiod: u32) -> i32;
19030         }
19031         ::std::mem::transmute(lineSetAgentMeasurementPeriod(::std::mem::transmute(hline), ::std::mem::transmute(hagent), ::std::mem::transmute(dwmeasurementperiod)))
19032     }
19033     #[cfg(not(windows))]
19034     unimplemented!("Unsupported target OS");
19035 }
19036 #[inline]
19037 pub unsafe fn lineSetAgentSessionState(hline: u32, hagentsession: u32, dwagentsessionstate: u32, dwnextagentsessionstate: u32) -> i32 {
19038     #[cfg(windows)]
19039     {
19040         #[link(name = "windows")]
19041         extern "system" {
19042             fn lineSetAgentSessionState(hline: u32, hagentsession: u32, dwagentsessionstate: u32, dwnextagentsessionstate: u32) -> i32;
19043         }
19044         ::std::mem::transmute(lineSetAgentSessionState(::std::mem::transmute(hline), ::std::mem::transmute(hagentsession), ::std::mem::transmute(dwagentsessionstate), ::std::mem::transmute(dwnextagentsessionstate)))
19045     }
19046     #[cfg(not(windows))]
19047     unimplemented!("Unsupported target OS");
19048 }
19049 #[inline]
19050 pub unsafe fn lineSetAgentState(hline: u32, dwaddressid: u32, dwagentstate: u32, dwnextagentstate: u32) -> i32 {
19051     #[cfg(windows)]
19052     {
19053         #[link(name = "windows")]
19054         extern "system" {
19055             fn lineSetAgentState(hline: u32, dwaddressid: u32, dwagentstate: u32, dwnextagentstate: u32) -> i32;
19056         }
19057         ::std::mem::transmute(lineSetAgentState(::std::mem::transmute(hline), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(dwagentstate), ::std::mem::transmute(dwnextagentstate)))
19058     }
19059     #[cfg(not(windows))]
19060     unimplemented!("Unsupported target OS");
19061 }
19062 #[inline]
19063 pub unsafe fn lineSetAgentStateEx(hline: u32, hagent: u32, dwagentstate: u32, dwnextagentstate: u32) -> i32 {
19064     #[cfg(windows)]
19065     {
19066         #[link(name = "windows")]
19067         extern "system" {
19068             fn lineSetAgentStateEx(hline: u32, hagent: u32, dwagentstate: u32, dwnextagentstate: u32) -> i32;
19069         }
19070         ::std::mem::transmute(lineSetAgentStateEx(::std::mem::transmute(hline), ::std::mem::transmute(hagent), ::std::mem::transmute(dwagentstate), ::std::mem::transmute(dwnextagentstate)))
19071     }
19072     #[cfg(not(windows))]
19073     unimplemented!("Unsupported target OS");
19074 }
19075 #[cfg(feature = "Win32_Foundation")]
19076 #[inline]
19077 pub unsafe fn lineSetAppPriority<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(lpszappfilename: Param0, dwmediamode: u32, lpextensionid: *mut LINEEXTENSIONID, dwrequestmode: u32, lpszextensionname: Param4, dwpriority: u32) -> i32 {
19078     #[cfg(windows)]
19079     {
19080         #[link(name = "windows")]
19081         extern "system" {
19082             fn lineSetAppPriority(lpszappfilename: super::super::Foundation::PSTR, dwmediamode: u32, lpextensionid: *mut LINEEXTENSIONID, dwrequestmode: u32, lpszextensionname: super::super::Foundation::PSTR, dwpriority: u32) -> i32;
19083         }
19084         ::std::mem::transmute(lineSetAppPriority(lpszappfilename.into_param().abi(), ::std::mem::transmute(dwmediamode), ::std::mem::transmute(lpextensionid), ::std::mem::transmute(dwrequestmode), lpszextensionname.into_param().abi(), ::std::mem::transmute(dwpriority)))
19085     }
19086     #[cfg(not(windows))]
19087     unimplemented!("Unsupported target OS");
19088 }
19089 #[cfg(feature = "Win32_Foundation")]
19090 #[inline]
19091 pub unsafe fn lineSetAppPriorityA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(lpszappfilename: Param0, dwmediamode: u32, lpextensionid: *mut LINEEXTENSIONID, dwrequestmode: u32, lpszextensionname: Param4, dwpriority: u32) -> i32 {
19092     #[cfg(windows)]
19093     {
19094         #[link(name = "windows")]
19095         extern "system" {
19096             fn lineSetAppPriorityA(lpszappfilename: super::super::Foundation::PSTR, dwmediamode: u32, lpextensionid: *mut LINEEXTENSIONID, dwrequestmode: u32, lpszextensionname: super::super::Foundation::PSTR, dwpriority: u32) -> i32;
19097         }
19098         ::std::mem::transmute(lineSetAppPriorityA(lpszappfilename.into_param().abi(), ::std::mem::transmute(dwmediamode), ::std::mem::transmute(lpextensionid), ::std::mem::transmute(dwrequestmode), lpszextensionname.into_param().abi(), ::std::mem::transmute(dwpriority)))
19099     }
19100     #[cfg(not(windows))]
19101     unimplemented!("Unsupported target OS");
19102 }
19103 #[cfg(feature = "Win32_Foundation")]
19104 #[inline]
19105 pub unsafe fn lineSetAppPriorityW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(lpszappfilename: Param0, dwmediamode: u32, lpextensionid: *mut LINEEXTENSIONID, dwrequestmode: u32, lpszextensionname: Param4, dwpriority: u32) -> i32 {
19106     #[cfg(windows)]
19107     {
19108         #[link(name = "windows")]
19109         extern "system" {
19110             fn lineSetAppPriorityW(lpszappfilename: super::super::Foundation::PWSTR, dwmediamode: u32, lpextensionid: *mut LINEEXTENSIONID, dwrequestmode: u32, lpszextensionname: super::super::Foundation::PWSTR, dwpriority: u32) -> i32;
19111         }
19112         ::std::mem::transmute(lineSetAppPriorityW(lpszappfilename.into_param().abi(), ::std::mem::transmute(dwmediamode), ::std::mem::transmute(lpextensionid), ::std::mem::transmute(dwrequestmode), lpszextensionname.into_param().abi(), ::std::mem::transmute(dwpriority)))
19113     }
19114     #[cfg(not(windows))]
19115     unimplemented!("Unsupported target OS");
19116 }
19117 #[inline]
19118 pub unsafe fn lineSetAppSpecific(hcall: u32, dwappspecific: u32) -> i32 {
19119     #[cfg(windows)]
19120     {
19121         #[link(name = "windows")]
19122         extern "system" {
19123             fn lineSetAppSpecific(hcall: u32, dwappspecific: u32) -> i32;
19124         }
19125         ::std::mem::transmute(lineSetAppSpecific(::std::mem::transmute(hcall), ::std::mem::transmute(dwappspecific)))
19126     }
19127     #[cfg(not(windows))]
19128     unimplemented!("Unsupported target OS");
19129 }
19130 #[inline]
19131 pub unsafe fn lineSetCallData(hcall: u32, lpcalldata: *mut ::std::ffi::c_void, dwsize: u32) -> i32 {
19132     #[cfg(windows)]
19133     {
19134         #[link(name = "windows")]
19135         extern "system" {
19136             fn lineSetCallData(hcall: u32, lpcalldata: *mut ::std::ffi::c_void, dwsize: u32) -> i32;
19137         }
19138         ::std::mem::transmute(lineSetCallData(::std::mem::transmute(hcall), ::std::mem::transmute(lpcalldata), ::std::mem::transmute(dwsize)))
19139     }
19140     #[cfg(not(windows))]
19141     unimplemented!("Unsupported target OS");
19142 }
19143 #[inline]
19144 pub unsafe fn lineSetCallParams(hcall: u32, dwbearermode: u32, dwminrate: u32, dwmaxrate: u32, lpdialparams: *const LINEDIALPARAMS) -> i32 {
19145     #[cfg(windows)]
19146     {
19147         #[link(name = "windows")]
19148         extern "system" {
19149             fn lineSetCallParams(hcall: u32, dwbearermode: u32, dwminrate: u32, dwmaxrate: u32, lpdialparams: *const LINEDIALPARAMS) -> i32;
19150         }
19151         ::std::mem::transmute(lineSetCallParams(::std::mem::transmute(hcall), ::std::mem::transmute(dwbearermode), ::std::mem::transmute(dwminrate), ::std::mem::transmute(dwmaxrate), ::std::mem::transmute(lpdialparams)))
19152     }
19153     #[cfg(not(windows))]
19154     unimplemented!("Unsupported target OS");
19155 }
19156 #[inline]
19157 pub unsafe fn lineSetCallPrivilege(hcall: u32, dwcallprivilege: u32) -> i32 {
19158     #[cfg(windows)]
19159     {
19160         #[link(name = "windows")]
19161         extern "system" {
19162             fn lineSetCallPrivilege(hcall: u32, dwcallprivilege: u32) -> i32;
19163         }
19164         ::std::mem::transmute(lineSetCallPrivilege(::std::mem::transmute(hcall), ::std::mem::transmute(dwcallprivilege)))
19165     }
19166     #[cfg(not(windows))]
19167     unimplemented!("Unsupported target OS");
19168 }
19169 #[inline]
19170 pub unsafe fn lineSetCallQualityOfService(hcall: u32, lpsendingflowspec: *mut ::std::ffi::c_void, dwsendingflowspecsize: u32, lpreceivingflowspec: *mut ::std::ffi::c_void, dwreceivingflowspecsize: u32) -> i32 {
19171     #[cfg(windows)]
19172     {
19173         #[link(name = "windows")]
19174         extern "system" {
19175             fn lineSetCallQualityOfService(hcall: u32, lpsendingflowspec: *mut ::std::ffi::c_void, dwsendingflowspecsize: u32, lpreceivingflowspec: *mut ::std::ffi::c_void, dwreceivingflowspecsize: u32) -> i32;
19176         }
19177         ::std::mem::transmute(lineSetCallQualityOfService(::std::mem::transmute(hcall), ::std::mem::transmute(lpsendingflowspec), ::std::mem::transmute(dwsendingflowspecsize), ::std::mem::transmute(lpreceivingflowspec), ::std::mem::transmute(dwreceivingflowspecsize)))
19178     }
19179     #[cfg(not(windows))]
19180     unimplemented!("Unsupported target OS");
19181 }
19182 #[inline]
19183 pub unsafe fn lineSetCallTreatment(hcall: u32, dwtreatment: u32) -> i32 {
19184     #[cfg(windows)]
19185     {
19186         #[link(name = "windows")]
19187         extern "system" {
19188             fn lineSetCallTreatment(hcall: u32, dwtreatment: u32) -> i32;
19189         }
19190         ::std::mem::transmute(lineSetCallTreatment(::std::mem::transmute(hcall), ::std::mem::transmute(dwtreatment)))
19191     }
19192     #[cfg(not(windows))]
19193     unimplemented!("Unsupported target OS");
19194 }
19195 #[inline]
19196 pub unsafe fn lineSetCurrentLocation(hlineapp: u32, dwlocation: u32) -> i32 {
19197     #[cfg(windows)]
19198     {
19199         #[link(name = "windows")]
19200         extern "system" {
19201             fn lineSetCurrentLocation(hlineapp: u32, dwlocation: u32) -> i32;
19202         }
19203         ::std::mem::transmute(lineSetCurrentLocation(::std::mem::transmute(hlineapp), ::std::mem::transmute(dwlocation)))
19204     }
19205     #[cfg(not(windows))]
19206     unimplemented!("Unsupported target OS");
19207 }
19208 #[cfg(feature = "Win32_Foundation")]
19209 #[inline]
19210 pub unsafe fn lineSetDevConfig<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(dwdeviceid: u32, lpdeviceconfig: *const ::std::ffi::c_void, dwsize: u32, lpszdeviceclass: Param3) -> i32 {
19211     #[cfg(windows)]
19212     {
19213         #[link(name = "windows")]
19214         extern "system" {
19215             fn lineSetDevConfig(dwdeviceid: u32, lpdeviceconfig: *const ::std::ffi::c_void, dwsize: u32, lpszdeviceclass: super::super::Foundation::PSTR) -> i32;
19216         }
19217         ::std::mem::transmute(lineSetDevConfig(::std::mem::transmute(dwdeviceid), ::std::mem::transmute(lpdeviceconfig), ::std::mem::transmute(dwsize), lpszdeviceclass.into_param().abi()))
19218     }
19219     #[cfg(not(windows))]
19220     unimplemented!("Unsupported target OS");
19221 }
19222 #[cfg(feature = "Win32_Foundation")]
19223 #[inline]
19224 pub unsafe fn lineSetDevConfigA<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(dwdeviceid: u32, lpdeviceconfig: *const ::std::ffi::c_void, dwsize: u32, lpszdeviceclass: Param3) -> i32 {
19225     #[cfg(windows)]
19226     {
19227         #[link(name = "windows")]
19228         extern "system" {
19229             fn lineSetDevConfigA(dwdeviceid: u32, lpdeviceconfig: *const ::std::ffi::c_void, dwsize: u32, lpszdeviceclass: super::super::Foundation::PSTR) -> i32;
19230         }
19231         ::std::mem::transmute(lineSetDevConfigA(::std::mem::transmute(dwdeviceid), ::std::mem::transmute(lpdeviceconfig), ::std::mem::transmute(dwsize), lpszdeviceclass.into_param().abi()))
19232     }
19233     #[cfg(not(windows))]
19234     unimplemented!("Unsupported target OS");
19235 }
19236 #[cfg(feature = "Win32_Foundation")]
19237 #[inline]
19238 pub unsafe fn lineSetDevConfigW<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(dwdeviceid: u32, lpdeviceconfig: *const ::std::ffi::c_void, dwsize: u32, lpszdeviceclass: Param3) -> i32 {
19239     #[cfg(windows)]
19240     {
19241         #[link(name = "windows")]
19242         extern "system" {
19243             fn lineSetDevConfigW(dwdeviceid: u32, lpdeviceconfig: *const ::std::ffi::c_void, dwsize: u32, lpszdeviceclass: super::super::Foundation::PWSTR) -> i32;
19244         }
19245         ::std::mem::transmute(lineSetDevConfigW(::std::mem::transmute(dwdeviceid), ::std::mem::transmute(lpdeviceconfig), ::std::mem::transmute(dwsize), lpszdeviceclass.into_param().abi()))
19246     }
19247     #[cfg(not(windows))]
19248     unimplemented!("Unsupported target OS");
19249 }
19250 #[inline]
19251 pub unsafe fn lineSetLineDevStatus(hline: u32, dwstatustochange: u32, fstatus: u32) -> i32 {
19252     #[cfg(windows)]
19253     {
19254         #[link(name = "windows")]
19255         extern "system" {
19256             fn lineSetLineDevStatus(hline: u32, dwstatustochange: u32, fstatus: u32) -> i32;
19257         }
19258         ::std::mem::transmute(lineSetLineDevStatus(::std::mem::transmute(hline), ::std::mem::transmute(dwstatustochange), ::std::mem::transmute(fstatus)))
19259     }
19260     #[cfg(not(windows))]
19261     unimplemented!("Unsupported target OS");
19262 }
19263 #[inline]
19264 pub unsafe fn lineSetMediaControl(hline: u32, dwaddressid: u32, hcall: u32, dwselect: u32, lpdigitlist: *const LINEMEDIACONTROLDIGIT, dwdigitnumentries: u32, lpmedialist: *const LINEMEDIACONTROLMEDIA, dwmedianumentries: u32, lptonelist: *const LINEMEDIACONTROLTONE, dwtonenumentries: u32, lpcallstatelist: *const LINEMEDIACONTROLCALLSTATE, dwcallstatenumentries: u32) -> i32 {
19265     #[cfg(windows)]
19266     {
19267         #[link(name = "windows")]
19268         extern "system" {
19269             fn lineSetMediaControl(hline: u32, dwaddressid: u32, hcall: u32, dwselect: u32, lpdigitlist: *const LINEMEDIACONTROLDIGIT, dwdigitnumentries: u32, lpmedialist: *const LINEMEDIACONTROLMEDIA, dwmedianumentries: u32, lptonelist: *const LINEMEDIACONTROLTONE, dwtonenumentries: u32, lpcallstatelist: *const LINEMEDIACONTROLCALLSTATE, dwcallstatenumentries: u32) -> i32;
19270         }
19271         ::std::mem::transmute(lineSetMediaControl(
19272             ::std::mem::transmute(hline),
19273             ::std::mem::transmute(dwaddressid),
19274             ::std::mem::transmute(hcall),
19275             ::std::mem::transmute(dwselect),
19276             ::std::mem::transmute(lpdigitlist),
19277             ::std::mem::transmute(dwdigitnumentries),
19278             ::std::mem::transmute(lpmedialist),
19279             ::std::mem::transmute(dwmedianumentries),
19280             ::std::mem::transmute(lptonelist),
19281             ::std::mem::transmute(dwtonenumentries),
19282             ::std::mem::transmute(lpcallstatelist),
19283             ::std::mem::transmute(dwcallstatenumentries),
19284         ))
19285     }
19286     #[cfg(not(windows))]
19287     unimplemented!("Unsupported target OS");
19288 }
19289 #[inline]
19290 pub unsafe fn lineSetMediaMode(hcall: u32, dwmediamodes: u32) -> i32 {
19291     #[cfg(windows)]
19292     {
19293         #[link(name = "windows")]
19294         extern "system" {
19295             fn lineSetMediaMode(hcall: u32, dwmediamodes: u32) -> i32;
19296         }
19297         ::std::mem::transmute(lineSetMediaMode(::std::mem::transmute(hcall), ::std::mem::transmute(dwmediamodes)))
19298     }
19299     #[cfg(not(windows))]
19300     unimplemented!("Unsupported target OS");
19301 }
19302 #[inline]
19303 pub unsafe fn lineSetNumRings(hline: u32, dwaddressid: u32, dwnumrings: u32) -> i32 {
19304     #[cfg(windows)]
19305     {
19306         #[link(name = "windows")]
19307         extern "system" {
19308             fn lineSetNumRings(hline: u32, dwaddressid: u32, dwnumrings: u32) -> i32;
19309         }
19310         ::std::mem::transmute(lineSetNumRings(::std::mem::transmute(hline), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(dwnumrings)))
19311     }
19312     #[cfg(not(windows))]
19313     unimplemented!("Unsupported target OS");
19314 }
19315 #[inline]
19316 pub unsafe fn lineSetQueueMeasurementPeriod(hline: u32, dwqueueid: u32, dwmeasurementperiod: u32) -> i32 {
19317     #[cfg(windows)]
19318     {
19319         #[link(name = "windows")]
19320         extern "system" {
19321             fn lineSetQueueMeasurementPeriod(hline: u32, dwqueueid: u32, dwmeasurementperiod: u32) -> i32;
19322         }
19323         ::std::mem::transmute(lineSetQueueMeasurementPeriod(::std::mem::transmute(hline), ::std::mem::transmute(dwqueueid), ::std::mem::transmute(dwmeasurementperiod)))
19324     }
19325     #[cfg(not(windows))]
19326     unimplemented!("Unsupported target OS");
19327 }
19328 #[inline]
19329 pub unsafe fn lineSetStatusMessages(hline: u32, dwlinestates: u32, dwaddressstates: u32) -> i32 {
19330     #[cfg(windows)]
19331     {
19332         #[link(name = "windows")]
19333         extern "system" {
19334             fn lineSetStatusMessages(hline: u32, dwlinestates: u32, dwaddressstates: u32) -> i32;
19335         }
19336         ::std::mem::transmute(lineSetStatusMessages(::std::mem::transmute(hline), ::std::mem::transmute(dwlinestates), ::std::mem::transmute(dwaddressstates)))
19337     }
19338     #[cfg(not(windows))]
19339     unimplemented!("Unsupported target OS");
19340 }
19341 #[inline]
19342 pub unsafe fn lineSetTerminal(hline: u32, dwaddressid: u32, hcall: u32, dwselect: u32, dwterminalmodes: u32, dwterminalid: u32, benable: u32) -> i32 {
19343     #[cfg(windows)]
19344     {
19345         #[link(name = "windows")]
19346         extern "system" {
19347             fn lineSetTerminal(hline: u32, dwaddressid: u32, hcall: u32, dwselect: u32, dwterminalmodes: u32, dwterminalid: u32, benable: u32) -> i32;
19348         }
19349         ::std::mem::transmute(lineSetTerminal(::std::mem::transmute(hline), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(hcall), ::std::mem::transmute(dwselect), ::std::mem::transmute(dwterminalmodes), ::std::mem::transmute(dwterminalid), ::std::mem::transmute(benable)))
19350     }
19351     #[cfg(not(windows))]
19352     unimplemented!("Unsupported target OS");
19353 }
19354 #[cfg(feature = "Win32_Foundation")]
19355 #[inline]
19356 pub unsafe fn lineSetTollList<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hlineapp: u32, dwdeviceid: u32, lpszaddressin: Param2, dwtolllistoption: u32) -> i32 {
19357     #[cfg(windows)]
19358     {
19359         #[link(name = "windows")]
19360         extern "system" {
19361             fn lineSetTollList(hlineapp: u32, dwdeviceid: u32, lpszaddressin: super::super::Foundation::PSTR, dwtolllistoption: u32) -> i32;
19362         }
19363         ::std::mem::transmute(lineSetTollList(::std::mem::transmute(hlineapp), ::std::mem::transmute(dwdeviceid), lpszaddressin.into_param().abi(), ::std::mem::transmute(dwtolllistoption)))
19364     }
19365     #[cfg(not(windows))]
19366     unimplemented!("Unsupported target OS");
19367 }
19368 #[cfg(feature = "Win32_Foundation")]
19369 #[inline]
19370 pub unsafe fn lineSetTollListA<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hlineapp: u32, dwdeviceid: u32, lpszaddressin: Param2, dwtolllistoption: u32) -> i32 {
19371     #[cfg(windows)]
19372     {
19373         #[link(name = "windows")]
19374         extern "system" {
19375             fn lineSetTollListA(hlineapp: u32, dwdeviceid: u32, lpszaddressin: super::super::Foundation::PSTR, dwtolllistoption: u32) -> i32;
19376         }
19377         ::std::mem::transmute(lineSetTollListA(::std::mem::transmute(hlineapp), ::std::mem::transmute(dwdeviceid), lpszaddressin.into_param().abi(), ::std::mem::transmute(dwtolllistoption)))
19378     }
19379     #[cfg(not(windows))]
19380     unimplemented!("Unsupported target OS");
19381 }
19382 #[cfg(feature = "Win32_Foundation")]
19383 #[inline]
19384 pub unsafe fn lineSetTollListW<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(hlineapp: u32, dwdeviceid: u32, lpszaddressinw: Param2, dwtolllistoption: u32) -> i32 {
19385     #[cfg(windows)]
19386     {
19387         #[link(name = "windows")]
19388         extern "system" {
19389             fn lineSetTollListW(hlineapp: u32, dwdeviceid: u32, lpszaddressinw: super::super::Foundation::PWSTR, dwtolllistoption: u32) -> i32;
19390         }
19391         ::std::mem::transmute(lineSetTollListW(::std::mem::transmute(hlineapp), ::std::mem::transmute(dwdeviceid), lpszaddressinw.into_param().abi(), ::std::mem::transmute(dwtolllistoption)))
19392     }
19393     #[cfg(not(windows))]
19394     unimplemented!("Unsupported target OS");
19395 }
19396 #[inline]
19397 pub unsafe fn lineSetupConference(hcall: u32, hline: u32, lphconfcall: *mut u32, lphconsultcall: *mut u32, dwnumparties: u32, lpcallparams: *const LINECALLPARAMS) -> i32 {
19398     #[cfg(windows)]
19399     {
19400         #[link(name = "windows")]
19401         extern "system" {
19402             fn lineSetupConference(hcall: u32, hline: u32, lphconfcall: *mut u32, lphconsultcall: *mut u32, dwnumparties: u32, lpcallparams: *const LINECALLPARAMS) -> i32;
19403         }
19404         ::std::mem::transmute(lineSetupConference(::std::mem::transmute(hcall), ::std::mem::transmute(hline), ::std::mem::transmute(lphconfcall), ::std::mem::transmute(lphconsultcall), ::std::mem::transmute(dwnumparties), ::std::mem::transmute(lpcallparams)))
19405     }
19406     #[cfg(not(windows))]
19407     unimplemented!("Unsupported target OS");
19408 }
19409 #[inline]
19410 pub unsafe fn lineSetupConferenceA(hcall: u32, hline: u32, lphconfcall: *mut u32, lphconsultcall: *mut u32, dwnumparties: u32, lpcallparams: *const LINECALLPARAMS) -> i32 {
19411     #[cfg(windows)]
19412     {
19413         #[link(name = "windows")]
19414         extern "system" {
19415             fn lineSetupConferenceA(hcall: u32, hline: u32, lphconfcall: *mut u32, lphconsultcall: *mut u32, dwnumparties: u32, lpcallparams: *const LINECALLPARAMS) -> i32;
19416         }
19417         ::std::mem::transmute(lineSetupConferenceA(::std::mem::transmute(hcall), ::std::mem::transmute(hline), ::std::mem::transmute(lphconfcall), ::std::mem::transmute(lphconsultcall), ::std::mem::transmute(dwnumparties), ::std::mem::transmute(lpcallparams)))
19418     }
19419     #[cfg(not(windows))]
19420     unimplemented!("Unsupported target OS");
19421 }
19422 #[inline]
19423 pub unsafe fn lineSetupConferenceW(hcall: u32, hline: u32, lphconfcall: *mut u32, lphconsultcall: *mut u32, dwnumparties: u32, lpcallparams: *const LINECALLPARAMS) -> i32 {
19424     #[cfg(windows)]
19425     {
19426         #[link(name = "windows")]
19427         extern "system" {
19428             fn lineSetupConferenceW(hcall: u32, hline: u32, lphconfcall: *mut u32, lphconsultcall: *mut u32, dwnumparties: u32, lpcallparams: *const LINECALLPARAMS) -> i32;
19429         }
19430         ::std::mem::transmute(lineSetupConferenceW(::std::mem::transmute(hcall), ::std::mem::transmute(hline), ::std::mem::transmute(lphconfcall), ::std::mem::transmute(lphconsultcall), ::std::mem::transmute(dwnumparties), ::std::mem::transmute(lpcallparams)))
19431     }
19432     #[cfg(not(windows))]
19433     unimplemented!("Unsupported target OS");
19434 }
19435 #[inline]
19436 pub unsafe fn lineSetupTransfer(hcall: u32, lphconsultcall: *mut u32, lpcallparams: *const LINECALLPARAMS) -> i32 {
19437     #[cfg(windows)]
19438     {
19439         #[link(name = "windows")]
19440         extern "system" {
19441             fn lineSetupTransfer(hcall: u32, lphconsultcall: *mut u32, lpcallparams: *const LINECALLPARAMS) -> i32;
19442         }
19443         ::std::mem::transmute(lineSetupTransfer(::std::mem::transmute(hcall), ::std::mem::transmute(lphconsultcall), ::std::mem::transmute(lpcallparams)))
19444     }
19445     #[cfg(not(windows))]
19446     unimplemented!("Unsupported target OS");
19447 }
19448 #[inline]
19449 pub unsafe fn lineSetupTransferA(hcall: u32, lphconsultcall: *mut u32, lpcallparams: *const LINECALLPARAMS) -> i32 {
19450     #[cfg(windows)]
19451     {
19452         #[link(name = "windows")]
19453         extern "system" {
19454             fn lineSetupTransferA(hcall: u32, lphconsultcall: *mut u32, lpcallparams: *const LINECALLPARAMS) -> i32;
19455         }
19456         ::std::mem::transmute(lineSetupTransferA(::std::mem::transmute(hcall), ::std::mem::transmute(lphconsultcall), ::std::mem::transmute(lpcallparams)))
19457     }
19458     #[cfg(not(windows))]
19459     unimplemented!("Unsupported target OS");
19460 }
19461 #[inline]
19462 pub unsafe fn lineSetupTransferW(hcall: u32, lphconsultcall: *mut u32, lpcallparams: *const LINECALLPARAMS) -> i32 {
19463     #[cfg(windows)]
19464     {
19465         #[link(name = "windows")]
19466         extern "system" {
19467             fn lineSetupTransferW(hcall: u32, lphconsultcall: *mut u32, lpcallparams: *const LINECALLPARAMS) -> i32;
19468         }
19469         ::std::mem::transmute(lineSetupTransferW(::std::mem::transmute(hcall), ::std::mem::transmute(lphconsultcall), ::std::mem::transmute(lpcallparams)))
19470     }
19471     #[cfg(not(windows))]
19472     unimplemented!("Unsupported target OS");
19473 }
19474 #[inline]
19475 pub unsafe fn lineShutdown(hlineapp: u32) -> i32 {
19476     #[cfg(windows)]
19477     {
19478         #[link(name = "windows")]
19479         extern "system" {
19480             fn lineShutdown(hlineapp: u32) -> i32;
19481         }
19482         ::std::mem::transmute(lineShutdown(::std::mem::transmute(hlineapp)))
19483     }
19484     #[cfg(not(windows))]
19485     unimplemented!("Unsupported target OS");
19486 }
19487 #[inline]
19488 pub unsafe fn lineSwapHold(hactivecall: u32, hheldcall: u32) -> i32 {
19489     #[cfg(windows)]
19490     {
19491         #[link(name = "windows")]
19492         extern "system" {
19493             fn lineSwapHold(hactivecall: u32, hheldcall: u32) -> i32;
19494         }
19495         ::std::mem::transmute(lineSwapHold(::std::mem::transmute(hactivecall), ::std::mem::transmute(hheldcall)))
19496     }
19497     #[cfg(not(windows))]
19498     unimplemented!("Unsupported target OS");
19499 }
19500 #[cfg(feature = "Win32_Foundation")]
19501 #[inline]
19502 pub unsafe fn lineTranslateAddress<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hlineapp: u32, dwdeviceid: u32, dwapiversion: u32, lpszaddressin: Param3, dwcard: u32, dwtranslateoptions: u32, lptranslateoutput: *mut LINETRANSLATEOUTPUT) -> i32 {
19503     #[cfg(windows)]
19504     {
19505         #[link(name = "windows")]
19506         extern "system" {
19507             fn lineTranslateAddress(hlineapp: u32, dwdeviceid: u32, dwapiversion: u32, lpszaddressin: super::super::Foundation::PSTR, dwcard: u32, dwtranslateoptions: u32, lptranslateoutput: *mut LINETRANSLATEOUTPUT) -> i32;
19508         }
19509         ::std::mem::transmute(lineTranslateAddress(::std::mem::transmute(hlineapp), ::std::mem::transmute(dwdeviceid), ::std::mem::transmute(dwapiversion), lpszaddressin.into_param().abi(), ::std::mem::transmute(dwcard), ::std::mem::transmute(dwtranslateoptions), ::std::mem::transmute(lptranslateoutput)))
19510     }
19511     #[cfg(not(windows))]
19512     unimplemented!("Unsupported target OS");
19513 }
19514 #[cfg(feature = "Win32_Foundation")]
19515 #[inline]
19516 pub unsafe fn lineTranslateAddressA<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hlineapp: u32, dwdeviceid: u32, dwapiversion: u32, lpszaddressin: Param3, dwcard: u32, dwtranslateoptions: u32, lptranslateoutput: *mut LINETRANSLATEOUTPUT) -> i32 {
19517     #[cfg(windows)]
19518     {
19519         #[link(name = "windows")]
19520         extern "system" {
19521             fn lineTranslateAddressA(hlineapp: u32, dwdeviceid: u32, dwapiversion: u32, lpszaddressin: super::super::Foundation::PSTR, dwcard: u32, dwtranslateoptions: u32, lptranslateoutput: *mut LINETRANSLATEOUTPUT) -> i32;
19522         }
19523         ::std::mem::transmute(lineTranslateAddressA(::std::mem::transmute(hlineapp), ::std::mem::transmute(dwdeviceid), ::std::mem::transmute(dwapiversion), lpszaddressin.into_param().abi(), ::std::mem::transmute(dwcard), ::std::mem::transmute(dwtranslateoptions), ::std::mem::transmute(lptranslateoutput)))
19524     }
19525     #[cfg(not(windows))]
19526     unimplemented!("Unsupported target OS");
19527 }
19528 #[cfg(feature = "Win32_Foundation")]
19529 #[inline]
19530 pub unsafe fn lineTranslateAddressW<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(hlineapp: u32, dwdeviceid: u32, dwapiversion: u32, lpszaddressin: Param3, dwcard: u32, dwtranslateoptions: u32, lptranslateoutput: *mut LINETRANSLATEOUTPUT) -> i32 {
19531     #[cfg(windows)]
19532     {
19533         #[link(name = "windows")]
19534         extern "system" {
19535             fn lineTranslateAddressW(hlineapp: u32, dwdeviceid: u32, dwapiversion: u32, lpszaddressin: super::super::Foundation::PWSTR, dwcard: u32, dwtranslateoptions: u32, lptranslateoutput: *mut LINETRANSLATEOUTPUT) -> i32;
19536         }
19537         ::std::mem::transmute(lineTranslateAddressW(::std::mem::transmute(hlineapp), ::std::mem::transmute(dwdeviceid), ::std::mem::transmute(dwapiversion), lpszaddressin.into_param().abi(), ::std::mem::transmute(dwcard), ::std::mem::transmute(dwtranslateoptions), ::std::mem::transmute(lptranslateoutput)))
19538     }
19539     #[cfg(not(windows))]
19540     unimplemented!("Unsupported target OS");
19541 }
19542 #[cfg(feature = "Win32_Foundation")]
19543 #[inline]
19544 pub unsafe fn lineTranslateDialog<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hlineapp: u32, dwdeviceid: u32, dwapiversion: u32, hwndowner: Param3, lpszaddressin: Param4) -> i32 {
19545     #[cfg(windows)]
19546     {
19547         #[link(name = "windows")]
19548         extern "system" {
19549             fn lineTranslateDialog(hlineapp: u32, dwdeviceid: u32, dwapiversion: u32, hwndowner: super::super::Foundation::HWND, lpszaddressin: super::super::Foundation::PSTR) -> i32;
19550         }
19551         ::std::mem::transmute(lineTranslateDialog(::std::mem::transmute(hlineapp), ::std::mem::transmute(dwdeviceid), ::std::mem::transmute(dwapiversion), hwndowner.into_param().abi(), lpszaddressin.into_param().abi()))
19552     }
19553     #[cfg(not(windows))]
19554     unimplemented!("Unsupported target OS");
19555 }
19556 #[cfg(feature = "Win32_Foundation")]
19557 #[inline]
19558 pub unsafe fn lineTranslateDialogA<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hlineapp: u32, dwdeviceid: u32, dwapiversion: u32, hwndowner: Param3, lpszaddressin: Param4) -> i32 {
19559     #[cfg(windows)]
19560     {
19561         #[link(name = "windows")]
19562         extern "system" {
19563             fn lineTranslateDialogA(hlineapp: u32, dwdeviceid: u32, dwapiversion: u32, hwndowner: super::super::Foundation::HWND, lpszaddressin: super::super::Foundation::PSTR) -> i32;
19564         }
19565         ::std::mem::transmute(lineTranslateDialogA(::std::mem::transmute(hlineapp), ::std::mem::transmute(dwdeviceid), ::std::mem::transmute(dwapiversion), hwndowner.into_param().abi(), lpszaddressin.into_param().abi()))
19566     }
19567     #[cfg(not(windows))]
19568     unimplemented!("Unsupported target OS");
19569 }
19570 #[cfg(feature = "Win32_Foundation")]
19571 #[inline]
19572 pub unsafe fn lineTranslateDialogW<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(hlineapp: u32, dwdeviceid: u32, dwapiversion: u32, hwndowner: Param3, lpszaddressin: Param4) -> i32 {
19573     #[cfg(windows)]
19574     {
19575         #[link(name = "windows")]
19576         extern "system" {
19577             fn lineTranslateDialogW(hlineapp: u32, dwdeviceid: u32, dwapiversion: u32, hwndowner: super::super::Foundation::HWND, lpszaddressin: super::super::Foundation::PWSTR) -> i32;
19578         }
19579         ::std::mem::transmute(lineTranslateDialogW(::std::mem::transmute(hlineapp), ::std::mem::transmute(dwdeviceid), ::std::mem::transmute(dwapiversion), hwndowner.into_param().abi(), lpszaddressin.into_param().abi()))
19580     }
19581     #[cfg(not(windows))]
19582     unimplemented!("Unsupported target OS");
19583 }
19584 #[inline]
19585 pub unsafe fn lineUncompleteCall(hline: u32, dwcompletionid: u32) -> i32 {
19586     #[cfg(windows)]
19587     {
19588         #[link(name = "windows")]
19589         extern "system" {
19590             fn lineUncompleteCall(hline: u32, dwcompletionid: u32) -> i32;
19591         }
19592         ::std::mem::transmute(lineUncompleteCall(::std::mem::transmute(hline), ::std::mem::transmute(dwcompletionid)))
19593     }
19594     #[cfg(not(windows))]
19595     unimplemented!("Unsupported target OS");
19596 }
19597 #[inline]
19598 pub unsafe fn lineUnhold(hcall: u32) -> i32 {
19599     #[cfg(windows)]
19600     {
19601         #[link(name = "windows")]
19602         extern "system" {
19603             fn lineUnhold(hcall: u32) -> i32;
19604         }
19605         ::std::mem::transmute(lineUnhold(::std::mem::transmute(hcall)))
19606     }
19607     #[cfg(not(windows))]
19608     unimplemented!("Unsupported target OS");
19609 }
19610 #[cfg(feature = "Win32_Foundation")]
19611 #[inline]
19612 pub unsafe fn lineUnpark<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hline: u32, dwaddressid: u32, lphcall: *mut u32, lpszdestaddress: Param3) -> i32 {
19613     #[cfg(windows)]
19614     {
19615         #[link(name = "windows")]
19616         extern "system" {
19617             fn lineUnpark(hline: u32, dwaddressid: u32, lphcall: *mut u32, lpszdestaddress: super::super::Foundation::PSTR) -> i32;
19618         }
19619         ::std::mem::transmute(lineUnpark(::std::mem::transmute(hline), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(lphcall), lpszdestaddress.into_param().abi()))
19620     }
19621     #[cfg(not(windows))]
19622     unimplemented!("Unsupported target OS");
19623 }
19624 #[cfg(feature = "Win32_Foundation")]
19625 #[inline]
19626 pub unsafe fn lineUnparkA<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hline: u32, dwaddressid: u32, lphcall: *mut u32, lpszdestaddress: Param3) -> i32 {
19627     #[cfg(windows)]
19628     {
19629         #[link(name = "windows")]
19630         extern "system" {
19631             fn lineUnparkA(hline: u32, dwaddressid: u32, lphcall: *mut u32, lpszdestaddress: super::super::Foundation::PSTR) -> i32;
19632         }
19633         ::std::mem::transmute(lineUnparkA(::std::mem::transmute(hline), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(lphcall), lpszdestaddress.into_param().abi()))
19634     }
19635     #[cfg(not(windows))]
19636     unimplemented!("Unsupported target OS");
19637 }
19638 #[cfg(feature = "Win32_Foundation")]
19639 #[inline]
19640 pub unsafe fn lineUnparkW<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(hline: u32, dwaddressid: u32, lphcall: *mut u32, lpszdestaddress: Param3) -> i32 {
19641     #[cfg(windows)]
19642     {
19643         #[link(name = "windows")]
19644         extern "system" {
19645             fn lineUnparkW(hline: u32, dwaddressid: u32, lphcall: *mut u32, lpszdestaddress: super::super::Foundation::PWSTR) -> i32;
19646         }
19647         ::std::mem::transmute(lineUnparkW(::std::mem::transmute(hline), ::std::mem::transmute(dwaddressid), ::std::mem::transmute(lphcall), lpszdestaddress.into_param().abi()))
19648     }
19649     #[cfg(not(windows))]
19650     unimplemented!("Unsupported target OS");
19651 }
19652 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19653 #[repr(C, packed(1))]
19654 pub struct linereqmakecallW_tag {
19655     pub szDestAddress: [u16; 80],
19656     pub szAppName: [u16; 40],
19657     pub szCalledParty: [u16; 40],
19658     pub szComment: [u16; 80],
19659 }
19660 impl linereqmakecallW_tag {}
19661 impl ::std::default::Default for linereqmakecallW_tag {
19662     fn default() -> Self {
19663         unsafe { ::std::mem::zeroed() }
19664     }
19665 }
19666 impl ::std::cmp::PartialEq for linereqmakecallW_tag {
19667     fn eq(&self, _other: &Self) -> bool {
19668         unimplemented!()
19669     }
19670 }
19671 impl ::std::cmp::Eq for linereqmakecallW_tag {}
19672 unsafe impl ::windows::runtime::Abi for linereqmakecallW_tag {
19673     type Abi = Self;
19674     type DefaultType = Self;
19675 }
19676 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19677 #[repr(C, packed(1))]
19678 #[cfg(feature = "Win32_Foundation")]
19679 pub struct linereqmediacallW_tag {
19680     pub hWnd: super::super::Foundation::HWND,
19681     pub wRequestID: super::super::Foundation::WPARAM,
19682     pub szDeviceClass: [u16; 40],
19683     pub ucDeviceID: [u8; 40],
19684     pub dwSize: u32,
19685     pub dwSecure: u32,
19686     pub szDestAddress: [u16; 80],
19687     pub szAppName: [u16; 40],
19688     pub szCalledParty: [u16; 40],
19689     pub szComment: [u16; 80],
19690 }
19691 #[cfg(feature = "Win32_Foundation")]
19692 impl linereqmediacallW_tag {}
19693 #[cfg(feature = "Win32_Foundation")]
19694 impl ::std::default::Default for linereqmediacallW_tag {
19695     fn default() -> Self {
19696         unsafe { ::std::mem::zeroed() }
19697     }
19698 }
19699 #[cfg(feature = "Win32_Foundation")]
19700 impl ::std::cmp::PartialEq for linereqmediacallW_tag {
19701     fn eq(&self, _other: &Self) -> bool {
19702         unimplemented!()
19703     }
19704 }
19705 #[cfg(feature = "Win32_Foundation")]
19706 impl ::std::cmp::Eq for linereqmediacallW_tag {}
19707 #[cfg(feature = "Win32_Foundation")]
19708 unsafe impl ::windows::runtime::Abi for linereqmediacallW_tag {
19709     type Abi = Self;
19710     type DefaultType = Self;
19711 }
19712 #[inline]
19713 pub unsafe fn phoneClose(hphone: u32) -> i32 {
19714     #[cfg(windows)]
19715     {
19716         #[link(name = "windows")]
19717         extern "system" {
19718             fn phoneClose(hphone: u32) -> i32;
19719         }
19720         ::std::mem::transmute(phoneClose(::std::mem::transmute(hphone)))
19721     }
19722     #[cfg(not(windows))]
19723     unimplemented!("Unsupported target OS");
19724 }
19725 #[cfg(feature = "Win32_Foundation")]
19726 #[inline]
19727 pub unsafe fn phoneConfigDialog<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(dwdeviceid: u32, hwndowner: Param1, lpszdeviceclass: Param2) -> i32 {
19728     #[cfg(windows)]
19729     {
19730         #[link(name = "windows")]
19731         extern "system" {
19732             fn phoneConfigDialog(dwdeviceid: u32, hwndowner: super::super::Foundation::HWND, lpszdeviceclass: super::super::Foundation::PSTR) -> i32;
19733         }
19734         ::std::mem::transmute(phoneConfigDialog(::std::mem::transmute(dwdeviceid), hwndowner.into_param().abi(), lpszdeviceclass.into_param().abi()))
19735     }
19736     #[cfg(not(windows))]
19737     unimplemented!("Unsupported target OS");
19738 }
19739 #[cfg(feature = "Win32_Foundation")]
19740 #[inline]
19741 pub unsafe fn phoneConfigDialogA<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(dwdeviceid: u32, hwndowner: Param1, lpszdeviceclass: Param2) -> i32 {
19742     #[cfg(windows)]
19743     {
19744         #[link(name = "windows")]
19745         extern "system" {
19746             fn phoneConfigDialogA(dwdeviceid: u32, hwndowner: super::super::Foundation::HWND, lpszdeviceclass: super::super::Foundation::PSTR) -> i32;
19747         }
19748         ::std::mem::transmute(phoneConfigDialogA(::std::mem::transmute(dwdeviceid), hwndowner.into_param().abi(), lpszdeviceclass.into_param().abi()))
19749     }
19750     #[cfg(not(windows))]
19751     unimplemented!("Unsupported target OS");
19752 }
19753 #[cfg(feature = "Win32_Foundation")]
19754 #[inline]
19755 pub unsafe fn phoneConfigDialogW<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(dwdeviceid: u32, hwndowner: Param1, lpszdeviceclass: Param2) -> i32 {
19756     #[cfg(windows)]
19757     {
19758         #[link(name = "windows")]
19759         extern "system" {
19760             fn phoneConfigDialogW(dwdeviceid: u32, hwndowner: super::super::Foundation::HWND, lpszdeviceclass: super::super::Foundation::PWSTR) -> i32;
19761         }
19762         ::std::mem::transmute(phoneConfigDialogW(::std::mem::transmute(dwdeviceid), hwndowner.into_param().abi(), lpszdeviceclass.into_param().abi()))
19763     }
19764     #[cfg(not(windows))]
19765     unimplemented!("Unsupported target OS");
19766 }
19767 #[inline]
19768 pub unsafe fn phoneDevSpecific(hphone: u32, lpparams: *mut ::std::ffi::c_void, dwsize: u32) -> i32 {
19769     #[cfg(windows)]
19770     {
19771         #[link(name = "windows")]
19772         extern "system" {
19773             fn phoneDevSpecific(hphone: u32, lpparams: *mut ::std::ffi::c_void, dwsize: u32) -> i32;
19774         }
19775         ::std::mem::transmute(phoneDevSpecific(::std::mem::transmute(hphone), ::std::mem::transmute(lpparams), ::std::mem::transmute(dwsize)))
19776     }
19777     #[cfg(not(windows))]
19778     unimplemented!("Unsupported target OS");
19779 }
19780 #[inline]
19781 pub unsafe fn phoneGetButtonInfo(hphone: u32, dwbuttonlampid: u32, lpbuttoninfo: *mut PHONEBUTTONINFO) -> i32 {
19782     #[cfg(windows)]
19783     {
19784         #[link(name = "windows")]
19785         extern "system" {
19786             fn phoneGetButtonInfo(hphone: u32, dwbuttonlampid: u32, lpbuttoninfo: *mut PHONEBUTTONINFO) -> i32;
19787         }
19788         ::std::mem::transmute(phoneGetButtonInfo(::std::mem::transmute(hphone), ::std::mem::transmute(dwbuttonlampid), ::std::mem::transmute(lpbuttoninfo)))
19789     }
19790     #[cfg(not(windows))]
19791     unimplemented!("Unsupported target OS");
19792 }
19793 #[inline]
19794 pub unsafe fn phoneGetButtonInfoA(hphone: u32, dwbuttonlampid: u32, lpbuttoninfo: *mut PHONEBUTTONINFO) -> i32 {
19795     #[cfg(windows)]
19796     {
19797         #[link(name = "windows")]
19798         extern "system" {
19799             fn phoneGetButtonInfoA(hphone: u32, dwbuttonlampid: u32, lpbuttoninfo: *mut PHONEBUTTONINFO) -> i32;
19800         }
19801         ::std::mem::transmute(phoneGetButtonInfoA(::std::mem::transmute(hphone), ::std::mem::transmute(dwbuttonlampid), ::std::mem::transmute(lpbuttoninfo)))
19802     }
19803     #[cfg(not(windows))]
19804     unimplemented!("Unsupported target OS");
19805 }
19806 #[inline]
19807 pub unsafe fn phoneGetButtonInfoW(hphone: u32, dwbuttonlampid: u32, lpbuttoninfo: *mut PHONEBUTTONINFO) -> i32 {
19808     #[cfg(windows)]
19809     {
19810         #[link(name = "windows")]
19811         extern "system" {
19812             fn phoneGetButtonInfoW(hphone: u32, dwbuttonlampid: u32, lpbuttoninfo: *mut PHONEBUTTONINFO) -> i32;
19813         }
19814         ::std::mem::transmute(phoneGetButtonInfoW(::std::mem::transmute(hphone), ::std::mem::transmute(dwbuttonlampid), ::std::mem::transmute(lpbuttoninfo)))
19815     }
19816     #[cfg(not(windows))]
19817     unimplemented!("Unsupported target OS");
19818 }
19819 #[inline]
19820 pub unsafe fn phoneGetData(hphone: u32, dwdataid: u32, lpdata: *mut ::std::ffi::c_void, dwsize: u32) -> i32 {
19821     #[cfg(windows)]
19822     {
19823         #[link(name = "windows")]
19824         extern "system" {
19825             fn phoneGetData(hphone: u32, dwdataid: u32, lpdata: *mut ::std::ffi::c_void, dwsize: u32) -> i32;
19826         }
19827         ::std::mem::transmute(phoneGetData(::std::mem::transmute(hphone), ::std::mem::transmute(dwdataid), ::std::mem::transmute(lpdata), ::std::mem::transmute(dwsize)))
19828     }
19829     #[cfg(not(windows))]
19830     unimplemented!("Unsupported target OS");
19831 }
19832 #[inline]
19833 pub unsafe fn phoneGetDevCaps(hphoneapp: u32, dwdeviceid: u32, dwapiversion: u32, dwextversion: u32, lpphonecaps: *mut PHONECAPS) -> i32 {
19834     #[cfg(windows)]
19835     {
19836         #[link(name = "windows")]
19837         extern "system" {
19838             fn phoneGetDevCaps(hphoneapp: u32, dwdeviceid: u32, dwapiversion: u32, dwextversion: u32, lpphonecaps: *mut PHONECAPS) -> i32;
19839         }
19840         ::std::mem::transmute(phoneGetDevCaps(::std::mem::transmute(hphoneapp), ::std::mem::transmute(dwdeviceid), ::std::mem::transmute(dwapiversion), ::std::mem::transmute(dwextversion), ::std::mem::transmute(lpphonecaps)))
19841     }
19842     #[cfg(not(windows))]
19843     unimplemented!("Unsupported target OS");
19844 }
19845 #[inline]
19846 pub unsafe fn phoneGetDevCapsA(hphoneapp: u32, dwdeviceid: u32, dwapiversion: u32, dwextversion: u32, lpphonecaps: *mut PHONECAPS) -> i32 {
19847     #[cfg(windows)]
19848     {
19849         #[link(name = "windows")]
19850         extern "system" {
19851             fn phoneGetDevCapsA(hphoneapp: u32, dwdeviceid: u32, dwapiversion: u32, dwextversion: u32, lpphonecaps: *mut PHONECAPS) -> i32;
19852         }
19853         ::std::mem::transmute(phoneGetDevCapsA(::std::mem::transmute(hphoneapp), ::std::mem::transmute(dwdeviceid), ::std::mem::transmute(dwapiversion), ::std::mem::transmute(dwextversion), ::std::mem::transmute(lpphonecaps)))
19854     }
19855     #[cfg(not(windows))]
19856     unimplemented!("Unsupported target OS");
19857 }
19858 #[inline]
19859 pub unsafe fn phoneGetDevCapsW(hphoneapp: u32, dwdeviceid: u32, dwapiversion: u32, dwextversion: u32, lpphonecaps: *mut PHONECAPS) -> i32 {
19860     #[cfg(windows)]
19861     {
19862         #[link(name = "windows")]
19863         extern "system" {
19864             fn phoneGetDevCapsW(hphoneapp: u32, dwdeviceid: u32, dwapiversion: u32, dwextversion: u32, lpphonecaps: *mut PHONECAPS) -> i32;
19865         }
19866         ::std::mem::transmute(phoneGetDevCapsW(::std::mem::transmute(hphoneapp), ::std::mem::transmute(dwdeviceid), ::std::mem::transmute(dwapiversion), ::std::mem::transmute(dwextversion), ::std::mem::transmute(lpphonecaps)))
19867     }
19868     #[cfg(not(windows))]
19869     unimplemented!("Unsupported target OS");
19870 }
19871 #[inline]
19872 pub unsafe fn phoneGetDisplay(hphone: u32, lpdisplay: *mut VARSTRING) -> i32 {
19873     #[cfg(windows)]
19874     {
19875         #[link(name = "windows")]
19876         extern "system" {
19877             fn phoneGetDisplay(hphone: u32, lpdisplay: *mut VARSTRING) -> i32;
19878         }
19879         ::std::mem::transmute(phoneGetDisplay(::std::mem::transmute(hphone), ::std::mem::transmute(lpdisplay)))
19880     }
19881     #[cfg(not(windows))]
19882     unimplemented!("Unsupported target OS");
19883 }
19884 #[inline]
19885 pub unsafe fn phoneGetGain(hphone: u32, dwhookswitchdev: u32, lpdwgain: *mut u32) -> i32 {
19886     #[cfg(windows)]
19887     {
19888         #[link(name = "windows")]
19889         extern "system" {
19890             fn phoneGetGain(hphone: u32, dwhookswitchdev: u32, lpdwgain: *mut u32) -> i32;
19891         }
19892         ::std::mem::transmute(phoneGetGain(::std::mem::transmute(hphone), ::std::mem::transmute(dwhookswitchdev), ::std::mem::transmute(lpdwgain)))
19893     }
19894     #[cfg(not(windows))]
19895     unimplemented!("Unsupported target OS");
19896 }
19897 #[inline]
19898 pub unsafe fn phoneGetHookSwitch(hphone: u32, lpdwhookswitchdevs: *mut u32) -> i32 {
19899     #[cfg(windows)]
19900     {
19901         #[link(name = "windows")]
19902         extern "system" {
19903             fn phoneGetHookSwitch(hphone: u32, lpdwhookswitchdevs: *mut u32) -> i32;
19904         }
19905         ::std::mem::transmute(phoneGetHookSwitch(::std::mem::transmute(hphone), ::std::mem::transmute(lpdwhookswitchdevs)))
19906     }
19907     #[cfg(not(windows))]
19908     unimplemented!("Unsupported target OS");
19909 }
19910 #[cfg(feature = "Win32_Foundation")]
19911 #[inline]
19912 pub unsafe fn phoneGetID<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hphone: u32, lpdeviceid: *mut VARSTRING, lpszdeviceclass: Param2) -> i32 {
19913     #[cfg(windows)]
19914     {
19915         #[link(name = "windows")]
19916         extern "system" {
19917             fn phoneGetID(hphone: u32, lpdeviceid: *mut VARSTRING, lpszdeviceclass: super::super::Foundation::PSTR) -> i32;
19918         }
19919         ::std::mem::transmute(phoneGetID(::std::mem::transmute(hphone), ::std::mem::transmute(lpdeviceid), lpszdeviceclass.into_param().abi()))
19920     }
19921     #[cfg(not(windows))]
19922     unimplemented!("Unsupported target OS");
19923 }
19924 #[cfg(feature = "Win32_Foundation")]
19925 #[inline]
19926 pub unsafe fn phoneGetIDA<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hphone: u32, lpdeviceid: *mut VARSTRING, lpszdeviceclass: Param2) -> i32 {
19927     #[cfg(windows)]
19928     {
19929         #[link(name = "windows")]
19930         extern "system" {
19931             fn phoneGetIDA(hphone: u32, lpdeviceid: *mut VARSTRING, lpszdeviceclass: super::super::Foundation::PSTR) -> i32;
19932         }
19933         ::std::mem::transmute(phoneGetIDA(::std::mem::transmute(hphone), ::std::mem::transmute(lpdeviceid), lpszdeviceclass.into_param().abi()))
19934     }
19935     #[cfg(not(windows))]
19936     unimplemented!("Unsupported target OS");
19937 }
19938 #[cfg(feature = "Win32_Foundation")]
19939 #[inline]
19940 pub unsafe fn phoneGetIDW<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(hphone: u32, lpdeviceid: *mut VARSTRING, lpszdeviceclass: Param2) -> i32 {
19941     #[cfg(windows)]
19942     {
19943         #[link(name = "windows")]
19944         extern "system" {
19945             fn phoneGetIDW(hphone: u32, lpdeviceid: *mut VARSTRING, lpszdeviceclass: super::super::Foundation::PWSTR) -> i32;
19946         }
19947         ::std::mem::transmute(phoneGetIDW(::std::mem::transmute(hphone), ::std::mem::transmute(lpdeviceid), lpszdeviceclass.into_param().abi()))
19948     }
19949     #[cfg(not(windows))]
19950     unimplemented!("Unsupported target OS");
19951 }
19952 #[cfg(feature = "Win32_Foundation")]
19953 #[inline]
19954 pub unsafe fn phoneGetIcon<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(dwdeviceid: u32, lpszdeviceclass: Param1, lphicon: *mut isize) -> i32 {
19955     #[cfg(windows)]
19956     {
19957         #[link(name = "windows")]
19958         extern "system" {
19959             fn phoneGetIcon(dwdeviceid: u32, lpszdeviceclass: super::super::Foundation::PSTR, lphicon: *mut isize) -> i32;
19960         }
19961         ::std::mem::transmute(phoneGetIcon(::std::mem::transmute(dwdeviceid), lpszdeviceclass.into_param().abi(), ::std::mem::transmute(lphicon)))
19962     }
19963     #[cfg(not(windows))]
19964     unimplemented!("Unsupported target OS");
19965 }
19966 #[cfg(feature = "Win32_Foundation")]
19967 #[inline]
19968 pub unsafe fn phoneGetIconA<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(dwdeviceid: u32, lpszdeviceclass: Param1, lphicon: *mut isize) -> i32 {
19969     #[cfg(windows)]
19970     {
19971         #[link(name = "windows")]
19972         extern "system" {
19973             fn phoneGetIconA(dwdeviceid: u32, lpszdeviceclass: super::super::Foundation::PSTR, lphicon: *mut isize) -> i32;
19974         }
19975         ::std::mem::transmute(phoneGetIconA(::std::mem::transmute(dwdeviceid), lpszdeviceclass.into_param().abi(), ::std::mem::transmute(lphicon)))
19976     }
19977     #[cfg(not(windows))]
19978     unimplemented!("Unsupported target OS");
19979 }
19980 #[cfg(feature = "Win32_Foundation")]
19981 #[inline]
19982 pub unsafe fn phoneGetIconW<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(dwdeviceid: u32, lpszdeviceclass: Param1, lphicon: *mut isize) -> i32 {
19983     #[cfg(windows)]
19984     {
19985         #[link(name = "windows")]
19986         extern "system" {
19987             fn phoneGetIconW(dwdeviceid: u32, lpszdeviceclass: super::super::Foundation::PWSTR, lphicon: *mut isize) -> i32;
19988         }
19989         ::std::mem::transmute(phoneGetIconW(::std::mem::transmute(dwdeviceid), lpszdeviceclass.into_param().abi(), ::std::mem::transmute(lphicon)))
19990     }
19991     #[cfg(not(windows))]
19992     unimplemented!("Unsupported target OS");
19993 }
19994 #[inline]
19995 pub unsafe fn phoneGetLamp(hphone: u32, dwbuttonlampid: u32, lpdwlampmode: *mut u32) -> i32 {
19996     #[cfg(windows)]
19997     {
19998         #[link(name = "windows")]
19999         extern "system" {
20000             fn phoneGetLamp(hphone: u32, dwbuttonlampid: u32, lpdwlampmode: *mut u32) -> i32;
20001         }
20002         ::std::mem::transmute(phoneGetLamp(::std::mem::transmute(hphone), ::std::mem::transmute(dwbuttonlampid), ::std::mem::transmute(lpdwlampmode)))
20003     }
20004     #[cfg(not(windows))]
20005     unimplemented!("Unsupported target OS");
20006 }
20007 #[inline]
20008 pub unsafe fn phoneGetMessage(hphoneapp: u32, lpmessage: *mut PHONEMESSAGE, dwtimeout: u32) -> i32 {
20009     #[cfg(windows)]
20010     {
20011         #[link(name = "windows")]
20012         extern "system" {
20013             fn phoneGetMessage(hphoneapp: u32, lpmessage: *mut PHONEMESSAGE, dwtimeout: u32) -> i32;
20014         }
20015         ::std::mem::transmute(phoneGetMessage(::std::mem::transmute(hphoneapp), ::std::mem::transmute(lpmessage), ::std::mem::transmute(dwtimeout)))
20016     }
20017     #[cfg(not(windows))]
20018     unimplemented!("Unsupported target OS");
20019 }
20020 #[inline]
20021 pub unsafe fn phoneGetRing(hphone: u32, lpdwringmode: *mut u32, lpdwvolume: *mut u32) -> i32 {
20022     #[cfg(windows)]
20023     {
20024         #[link(name = "windows")]
20025         extern "system" {
20026             fn phoneGetRing(hphone: u32, lpdwringmode: *mut u32, lpdwvolume: *mut u32) -> i32;
20027         }
20028         ::std::mem::transmute(phoneGetRing(::std::mem::transmute(hphone), ::std::mem::transmute(lpdwringmode), ::std::mem::transmute(lpdwvolume)))
20029     }
20030     #[cfg(not(windows))]
20031     unimplemented!("Unsupported target OS");
20032 }
20033 #[inline]
20034 pub unsafe fn phoneGetStatus(hphone: u32, lpphonestatus: *mut PHONESTATUS) -> i32 {
20035     #[cfg(windows)]
20036     {
20037         #[link(name = "windows")]
20038         extern "system" {
20039             fn phoneGetStatus(hphone: u32, lpphonestatus: *mut PHONESTATUS) -> i32;
20040         }
20041         ::std::mem::transmute(phoneGetStatus(::std::mem::transmute(hphone), ::std::mem::transmute(lpphonestatus)))
20042     }
20043     #[cfg(not(windows))]
20044     unimplemented!("Unsupported target OS");
20045 }
20046 #[inline]
20047 pub unsafe fn phoneGetStatusA(hphone: u32, lpphonestatus: *mut PHONESTATUS) -> i32 {
20048     #[cfg(windows)]
20049     {
20050         #[link(name = "windows")]
20051         extern "system" {
20052             fn phoneGetStatusA(hphone: u32, lpphonestatus: *mut PHONESTATUS) -> i32;
20053         }
20054         ::std::mem::transmute(phoneGetStatusA(::std::mem::transmute(hphone), ::std::mem::transmute(lpphonestatus)))
20055     }
20056     #[cfg(not(windows))]
20057     unimplemented!("Unsupported target OS");
20058 }
20059 #[inline]
20060 pub unsafe fn phoneGetStatusMessages(hphone: u32, lpdwphonestates: *mut u32, lpdwbuttonmodes: *mut u32, lpdwbuttonstates: *mut u32) -> i32 {
20061     #[cfg(windows)]
20062     {
20063         #[link(name = "windows")]
20064         extern "system" {
20065             fn phoneGetStatusMessages(hphone: u32, lpdwphonestates: *mut u32, lpdwbuttonmodes: *mut u32, lpdwbuttonstates: *mut u32) -> i32;
20066         }
20067         ::std::mem::transmute(phoneGetStatusMessages(::std::mem::transmute(hphone), ::std::mem::transmute(lpdwphonestates), ::std::mem::transmute(lpdwbuttonmodes), ::std::mem::transmute(lpdwbuttonstates)))
20068     }
20069     #[cfg(not(windows))]
20070     unimplemented!("Unsupported target OS");
20071 }
20072 #[inline]
20073 pub unsafe fn phoneGetStatusW(hphone: u32, lpphonestatus: *mut PHONESTATUS) -> i32 {
20074     #[cfg(windows)]
20075     {
20076         #[link(name = "windows")]
20077         extern "system" {
20078             fn phoneGetStatusW(hphone: u32, lpphonestatus: *mut PHONESTATUS) -> i32;
20079         }
20080         ::std::mem::transmute(phoneGetStatusW(::std::mem::transmute(hphone), ::std::mem::transmute(lpphonestatus)))
20081     }
20082     #[cfg(not(windows))]
20083     unimplemented!("Unsupported target OS");
20084 }
20085 #[inline]
20086 pub unsafe fn phoneGetVolume(hphone: u32, dwhookswitchdev: u32, lpdwvolume: *mut u32) -> i32 {
20087     #[cfg(windows)]
20088     {
20089         #[link(name = "windows")]
20090         extern "system" {
20091             fn phoneGetVolume(hphone: u32, dwhookswitchdev: u32, lpdwvolume: *mut u32) -> i32;
20092         }
20093         ::std::mem::transmute(phoneGetVolume(::std::mem::transmute(hphone), ::std::mem::transmute(dwhookswitchdev), ::std::mem::transmute(lpdwvolume)))
20094     }
20095     #[cfg(not(windows))]
20096     unimplemented!("Unsupported target OS");
20097 }
20098 #[cfg(feature = "Win32_Foundation")]
20099 #[inline]
20100 pub unsafe fn phoneInitialize<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HINSTANCE>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(lphphoneapp: *mut u32, hinstance: Param1, lpfncallback: ::std::option::Option<PHONECALLBACK>, lpszappname: Param3, lpdwnumdevs: *mut u32) -> i32 {
20101     #[cfg(windows)]
20102     {
20103         #[link(name = "windows")]
20104         extern "system" {
20105             fn phoneInitialize(lphphoneapp: *mut u32, hinstance: super::super::Foundation::HINSTANCE, lpfncallback: ::windows::runtime::RawPtr, lpszappname: super::super::Foundation::PSTR, lpdwnumdevs: *mut u32) -> i32;
20106         }
20107         ::std::mem::transmute(phoneInitialize(::std::mem::transmute(lphphoneapp), hinstance.into_param().abi(), ::std::mem::transmute(lpfncallback), lpszappname.into_param().abi(), ::std::mem::transmute(lpdwnumdevs)))
20108     }
20109     #[cfg(not(windows))]
20110     unimplemented!("Unsupported target OS");
20111 }
20112 #[cfg(feature = "Win32_Foundation")]
20113 #[inline]
20114 pub unsafe fn phoneInitializeExA<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HINSTANCE>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(lphphoneapp: *mut u32, hinstance: Param1, lpfncallback: ::std::option::Option<PHONECALLBACK>, lpszfriendlyappname: Param3, lpdwnumdevs: *mut u32, lpdwapiversion: *mut u32, lpphoneinitializeexparams: *mut PHONEINITIALIZEEXPARAMS) -> i32 {
20115     #[cfg(windows)]
20116     {
20117         #[link(name = "windows")]
20118         extern "system" {
20119             fn phoneInitializeExA(lphphoneapp: *mut u32, hinstance: super::super::Foundation::HINSTANCE, lpfncallback: ::windows::runtime::RawPtr, lpszfriendlyappname: super::super::Foundation::PSTR, lpdwnumdevs: *mut u32, lpdwapiversion: *mut u32, lpphoneinitializeexparams: *mut PHONEINITIALIZEEXPARAMS) -> i32;
20120         }
20121         ::std::mem::transmute(phoneInitializeExA(::std::mem::transmute(lphphoneapp), hinstance.into_param().abi(), ::std::mem::transmute(lpfncallback), lpszfriendlyappname.into_param().abi(), ::std::mem::transmute(lpdwnumdevs), ::std::mem::transmute(lpdwapiversion), ::std::mem::transmute(lpphoneinitializeexparams)))
20122     }
20123     #[cfg(not(windows))]
20124     unimplemented!("Unsupported target OS");
20125 }
20126 #[cfg(feature = "Win32_Foundation")]
20127 #[inline]
20128 pub unsafe fn phoneInitializeExW<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HINSTANCE>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(lphphoneapp: *mut u32, hinstance: Param1, lpfncallback: ::std::option::Option<PHONECALLBACK>, lpszfriendlyappname: Param3, lpdwnumdevs: *mut u32, lpdwapiversion: *mut u32, lpphoneinitializeexparams: *mut PHONEINITIALIZEEXPARAMS) -> i32 {
20129     #[cfg(windows)]
20130     {
20131         #[link(name = "windows")]
20132         extern "system" {
20133             fn phoneInitializeExW(lphphoneapp: *mut u32, hinstance: super::super::Foundation::HINSTANCE, lpfncallback: ::windows::runtime::RawPtr, lpszfriendlyappname: super::super::Foundation::PWSTR, lpdwnumdevs: *mut u32, lpdwapiversion: *mut u32, lpphoneinitializeexparams: *mut PHONEINITIALIZEEXPARAMS) -> i32;
20134         }
20135         ::std::mem::transmute(phoneInitializeExW(::std::mem::transmute(lphphoneapp), hinstance.into_param().abi(), ::std::mem::transmute(lpfncallback), lpszfriendlyappname.into_param().abi(), ::std::mem::transmute(lpdwnumdevs), ::std::mem::transmute(lpdwapiversion), ::std::mem::transmute(lpphoneinitializeexparams)))
20136     }
20137     #[cfg(not(windows))]
20138     unimplemented!("Unsupported target OS");
20139 }
20140 #[inline]
20141 pub unsafe fn phoneNegotiateAPIVersion(hphoneapp: u32, dwdeviceid: u32, dwapilowversion: u32, dwapihighversion: u32, lpdwapiversion: *mut u32, lpextensionid: *mut PHONEEXTENSIONID) -> i32 {
20142     #[cfg(windows)]
20143     {
20144         #[link(name = "windows")]
20145         extern "system" {
20146             fn phoneNegotiateAPIVersion(hphoneapp: u32, dwdeviceid: u32, dwapilowversion: u32, dwapihighversion: u32, lpdwapiversion: *mut u32, lpextensionid: *mut PHONEEXTENSIONID) -> i32;
20147         }
20148         ::std::mem::transmute(phoneNegotiateAPIVersion(::std::mem::transmute(hphoneapp), ::std::mem::transmute(dwdeviceid), ::std::mem::transmute(dwapilowversion), ::std::mem::transmute(dwapihighversion), ::std::mem::transmute(lpdwapiversion), ::std::mem::transmute(lpextensionid)))
20149     }
20150     #[cfg(not(windows))]
20151     unimplemented!("Unsupported target OS");
20152 }
20153 #[inline]
20154 pub unsafe fn phoneNegotiateExtVersion(hphoneapp: u32, dwdeviceid: u32, dwapiversion: u32, dwextlowversion: u32, dwexthighversion: u32, lpdwextversion: *mut u32) -> i32 {
20155     #[cfg(windows)]
20156     {
20157         #[link(name = "windows")]
20158         extern "system" {
20159             fn phoneNegotiateExtVersion(hphoneapp: u32, dwdeviceid: u32, dwapiversion: u32, dwextlowversion: u32, dwexthighversion: u32, lpdwextversion: *mut u32) -> i32;
20160         }
20161         ::std::mem::transmute(phoneNegotiateExtVersion(::std::mem::transmute(hphoneapp), ::std::mem::transmute(dwdeviceid), ::std::mem::transmute(dwapiversion), ::std::mem::transmute(dwextlowversion), ::std::mem::transmute(dwexthighversion), ::std::mem::transmute(lpdwextversion)))
20162     }
20163     #[cfg(not(windows))]
20164     unimplemented!("Unsupported target OS");
20165 }
20166 #[inline]
20167 pub unsafe fn phoneOpen(hphoneapp: u32, dwdeviceid: u32, lphphone: *mut u32, dwapiversion: u32, dwextversion: u32, dwcallbackinstance: usize, dwprivilege: u32) -> i32 {
20168     #[cfg(windows)]
20169     {
20170         #[link(name = "windows")]
20171         extern "system" {
20172             fn phoneOpen(hphoneapp: u32, dwdeviceid: u32, lphphone: *mut u32, dwapiversion: u32, dwextversion: u32, dwcallbackinstance: usize, dwprivilege: u32) -> i32;
20173         }
20174         ::std::mem::transmute(phoneOpen(::std::mem::transmute(hphoneapp), ::std::mem::transmute(dwdeviceid), ::std::mem::transmute(lphphone), ::std::mem::transmute(dwapiversion), ::std::mem::transmute(dwextversion), ::std::mem::transmute(dwcallbackinstance), ::std::mem::transmute(dwprivilege)))
20175     }
20176     #[cfg(not(windows))]
20177     unimplemented!("Unsupported target OS");
20178 }
20179 #[inline]
20180 pub unsafe fn phoneSetButtonInfo(hphone: u32, dwbuttonlampid: u32, lpbuttoninfo: *const PHONEBUTTONINFO) -> i32 {
20181     #[cfg(windows)]
20182     {
20183         #[link(name = "windows")]
20184         extern "system" {
20185             fn phoneSetButtonInfo(hphone: u32, dwbuttonlampid: u32, lpbuttoninfo: *const PHONEBUTTONINFO) -> i32;
20186         }
20187         ::std::mem::transmute(phoneSetButtonInfo(::std::mem::transmute(hphone), ::std::mem::transmute(dwbuttonlampid), ::std::mem::transmute(lpbuttoninfo)))
20188     }
20189     #[cfg(not(windows))]
20190     unimplemented!("Unsupported target OS");
20191 }
20192 #[inline]
20193 pub unsafe fn phoneSetButtonInfoA(hphone: u32, dwbuttonlampid: u32, lpbuttoninfo: *const PHONEBUTTONINFO) -> i32 {
20194     #[cfg(windows)]
20195     {
20196         #[link(name = "windows")]
20197         extern "system" {
20198             fn phoneSetButtonInfoA(hphone: u32, dwbuttonlampid: u32, lpbuttoninfo: *const PHONEBUTTONINFO) -> i32;
20199         }
20200         ::std::mem::transmute(phoneSetButtonInfoA(::std::mem::transmute(hphone), ::std::mem::transmute(dwbuttonlampid), ::std::mem::transmute(lpbuttoninfo)))
20201     }
20202     #[cfg(not(windows))]
20203     unimplemented!("Unsupported target OS");
20204 }
20205 #[inline]
20206 pub unsafe fn phoneSetButtonInfoW(hphone: u32, dwbuttonlampid: u32, lpbuttoninfo: *const PHONEBUTTONINFO) -> i32 {
20207     #[cfg(windows)]
20208     {
20209         #[link(name = "windows")]
20210         extern "system" {
20211             fn phoneSetButtonInfoW(hphone: u32, dwbuttonlampid: u32, lpbuttoninfo: *const PHONEBUTTONINFO) -> i32;
20212         }
20213         ::std::mem::transmute(phoneSetButtonInfoW(::std::mem::transmute(hphone), ::std::mem::transmute(dwbuttonlampid), ::std::mem::transmute(lpbuttoninfo)))
20214     }
20215     #[cfg(not(windows))]
20216     unimplemented!("Unsupported target OS");
20217 }
20218 #[inline]
20219 pub unsafe fn phoneSetData(hphone: u32, dwdataid: u32, lpdata: *const ::std::ffi::c_void, dwsize: u32) -> i32 {
20220     #[cfg(windows)]
20221     {
20222         #[link(name = "windows")]
20223         extern "system" {
20224             fn phoneSetData(hphone: u32, dwdataid: u32, lpdata: *const ::std::ffi::c_void, dwsize: u32) -> i32;
20225         }
20226         ::std::mem::transmute(phoneSetData(::std::mem::transmute(hphone), ::std::mem::transmute(dwdataid), ::std::mem::transmute(lpdata), ::std::mem::transmute(dwsize)))
20227     }
20228     #[cfg(not(windows))]
20229     unimplemented!("Unsupported target OS");
20230 }
20231 #[cfg(feature = "Win32_Foundation")]
20232 #[inline]
20233 pub unsafe fn phoneSetDisplay<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hphone: u32, dwrow: u32, dwcolumn: u32, lpsdisplay: Param3, dwsize: u32) -> i32 {
20234     #[cfg(windows)]
20235     {
20236         #[link(name = "windows")]
20237         extern "system" {
20238             fn phoneSetDisplay(hphone: u32, dwrow: u32, dwcolumn: u32, lpsdisplay: super::super::Foundation::PSTR, dwsize: u32) -> i32;
20239         }
20240         ::std::mem::transmute(phoneSetDisplay(::std::mem::transmute(hphone), ::std::mem::transmute(dwrow), ::std::mem::transmute(dwcolumn), lpsdisplay.into_param().abi(), ::std::mem::transmute(dwsize)))
20241     }
20242     #[cfg(not(windows))]
20243     unimplemented!("Unsupported target OS");
20244 }
20245 #[inline]
20246 pub unsafe fn phoneSetGain(hphone: u32, dwhookswitchdev: u32, dwgain: u32) -> i32 {
20247     #[cfg(windows)]
20248     {
20249         #[link(name = "windows")]
20250         extern "system" {
20251             fn phoneSetGain(hphone: u32, dwhookswitchdev: u32, dwgain: u32) -> i32;
20252         }
20253         ::std::mem::transmute(phoneSetGain(::std::mem::transmute(hphone), ::std::mem::transmute(dwhookswitchdev), ::std::mem::transmute(dwgain)))
20254     }
20255     #[cfg(not(windows))]
20256     unimplemented!("Unsupported target OS");
20257 }
20258 #[inline]
20259 pub unsafe fn phoneSetHookSwitch(hphone: u32, dwhookswitchdevs: u32, dwhookswitchmode: u32) -> i32 {
20260     #[cfg(windows)]
20261     {
20262         #[link(name = "windows")]
20263         extern "system" {
20264             fn phoneSetHookSwitch(hphone: u32, dwhookswitchdevs: u32, dwhookswitchmode: u32) -> i32;
20265         }
20266         ::std::mem::transmute(phoneSetHookSwitch(::std::mem::transmute(hphone), ::std::mem::transmute(dwhookswitchdevs), ::std::mem::transmute(dwhookswitchmode)))
20267     }
20268     #[cfg(not(windows))]
20269     unimplemented!("Unsupported target OS");
20270 }
20271 #[inline]
20272 pub unsafe fn phoneSetLamp(hphone: u32, dwbuttonlampid: u32, dwlampmode: u32) -> i32 {
20273     #[cfg(windows)]
20274     {
20275         #[link(name = "windows")]
20276         extern "system" {
20277             fn phoneSetLamp(hphone: u32, dwbuttonlampid: u32, dwlampmode: u32) -> i32;
20278         }
20279         ::std::mem::transmute(phoneSetLamp(::std::mem::transmute(hphone), ::std::mem::transmute(dwbuttonlampid), ::std::mem::transmute(dwlampmode)))
20280     }
20281     #[cfg(not(windows))]
20282     unimplemented!("Unsupported target OS");
20283 }
20284 #[inline]
20285 pub unsafe fn phoneSetRing(hphone: u32, dwringmode: u32, dwvolume: u32) -> i32 {
20286     #[cfg(windows)]
20287     {
20288         #[link(name = "windows")]
20289         extern "system" {
20290             fn phoneSetRing(hphone: u32, dwringmode: u32, dwvolume: u32) -> i32;
20291         }
20292         ::std::mem::transmute(phoneSetRing(::std::mem::transmute(hphone), ::std::mem::transmute(dwringmode), ::std::mem::transmute(dwvolume)))
20293     }
20294     #[cfg(not(windows))]
20295     unimplemented!("Unsupported target OS");
20296 }
20297 #[inline]
20298 pub unsafe fn phoneSetStatusMessages(hphone: u32, dwphonestates: u32, dwbuttonmodes: u32, dwbuttonstates: u32) -> i32 {
20299     #[cfg(windows)]
20300     {
20301         #[link(name = "windows")]
20302         extern "system" {
20303             fn phoneSetStatusMessages(hphone: u32, dwphonestates: u32, dwbuttonmodes: u32, dwbuttonstates: u32) -> i32;
20304         }
20305         ::std::mem::transmute(phoneSetStatusMessages(::std::mem::transmute(hphone), ::std::mem::transmute(dwphonestates), ::std::mem::transmute(dwbuttonmodes), ::std::mem::transmute(dwbuttonstates)))
20306     }
20307     #[cfg(not(windows))]
20308     unimplemented!("Unsupported target OS");
20309 }
20310 #[inline]
20311 pub unsafe fn phoneSetVolume(hphone: u32, dwhookswitchdev: u32, dwvolume: u32) -> i32 {
20312     #[cfg(windows)]
20313     {
20314         #[link(name = "windows")]
20315         extern "system" {
20316             fn phoneSetVolume(hphone: u32, dwhookswitchdev: u32, dwvolume: u32) -> i32;
20317         }
20318         ::std::mem::transmute(phoneSetVolume(::std::mem::transmute(hphone), ::std::mem::transmute(dwhookswitchdev), ::std::mem::transmute(dwvolume)))
20319     }
20320     #[cfg(not(windows))]
20321     unimplemented!("Unsupported target OS");
20322 }
20323 #[inline]
20324 pub unsafe fn phoneShutdown(hphoneapp: u32) -> i32 {
20325     #[cfg(windows)]
20326     {
20327         #[link(name = "windows")]
20328         extern "system" {
20329             fn phoneShutdown(hphoneapp: u32) -> i32;
20330         }
20331         ::std::mem::transmute(phoneShutdown(::std::mem::transmute(hphoneapp)))
20332     }
20333     #[cfg(not(windows))]
20334     unimplemented!("Unsupported target OS");
20335 }
20336 #[cfg(feature = "Win32_Foundation")]
20337 #[inline]
20338 pub unsafe fn tapiGetLocationInfo(lpszcountrycode: super::super::Foundation::PSTR, lpszcitycode: super::super::Foundation::PSTR) -> i32 {
20339     #[cfg(windows)]
20340     {
20341         #[link(name = "windows")]
20342         extern "system" {
20343             fn tapiGetLocationInfo(lpszcountrycode: super::super::Foundation::PSTR, lpszcitycode: super::super::Foundation::PSTR) -> i32;
20344         }
20345         ::std::mem::transmute(tapiGetLocationInfo(::std::mem::transmute(lpszcountrycode), ::std::mem::transmute(lpszcitycode)))
20346     }
20347     #[cfg(not(windows))]
20348     unimplemented!("Unsupported target OS");
20349 }
20350 #[cfg(feature = "Win32_Foundation")]
20351 #[inline]
20352 pub unsafe fn tapiGetLocationInfoA(lpszcountrycode: super::super::Foundation::PSTR, lpszcitycode: super::super::Foundation::PSTR) -> i32 {
20353     #[cfg(windows)]
20354     {
20355         #[link(name = "windows")]
20356         extern "system" {
20357             fn tapiGetLocationInfoA(lpszcountrycode: super::super::Foundation::PSTR, lpszcitycode: super::super::Foundation::PSTR) -> i32;
20358         }
20359         ::std::mem::transmute(tapiGetLocationInfoA(::std::mem::transmute(lpszcountrycode), ::std::mem::transmute(lpszcitycode)))
20360     }
20361     #[cfg(not(windows))]
20362     unimplemented!("Unsupported target OS");
20363 }
20364 #[cfg(feature = "Win32_Foundation")]
20365 #[inline]
20366 pub unsafe fn tapiGetLocationInfoW(lpszcountrycodew: super::super::Foundation::PWSTR, lpszcitycodew: super::super::Foundation::PWSTR) -> i32 {
20367     #[cfg(windows)]
20368     {
20369         #[link(name = "windows")]
20370         extern "system" {
20371             fn tapiGetLocationInfoW(lpszcountrycodew: super::super::Foundation::PWSTR, lpszcitycodew: super::super::Foundation::PWSTR) -> i32;
20372         }
20373         ::std::mem::transmute(tapiGetLocationInfoW(::std::mem::transmute(lpszcountrycodew), ::std::mem::transmute(lpszcitycodew)))
20374     }
20375     #[cfg(not(windows))]
20376     unimplemented!("Unsupported target OS");
20377 }
20378 #[cfg(feature = "Win32_Foundation")]
20379 #[inline]
20380 pub unsafe fn tapiRequestDrop<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>>(hwnd: Param0, wrequestid: Param1) -> i32 {
20381     #[cfg(windows)]
20382     {
20383         #[link(name = "windows")]
20384         extern "system" {
20385             fn tapiRequestDrop(hwnd: super::super::Foundation::HWND, wrequestid: super::super::Foundation::WPARAM) -> i32;
20386         }
20387         ::std::mem::transmute(tapiRequestDrop(hwnd.into_param().abi(), wrequestid.into_param().abi()))
20388     }
20389     #[cfg(not(windows))]
20390     unimplemented!("Unsupported target OS");
20391 }
20392 #[cfg(feature = "Win32_Foundation")]
20393 #[inline]
20394 pub unsafe fn tapiRequestMakeCall<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(lpszdestaddress: Param0, lpszappname: Param1, lpszcalledparty: Param2, lpszcomment: Param3) -> i32 {
20395     #[cfg(windows)]
20396     {
20397         #[link(name = "windows")]
20398         extern "system" {
20399             fn tapiRequestMakeCall(lpszdestaddress: super::super::Foundation::PSTR, lpszappname: super::super::Foundation::PSTR, lpszcalledparty: super::super::Foundation::PSTR, lpszcomment: super::super::Foundation::PSTR) -> i32;
20400         }
20401         ::std::mem::transmute(tapiRequestMakeCall(lpszdestaddress.into_param().abi(), lpszappname.into_param().abi(), lpszcalledparty.into_param().abi(), lpszcomment.into_param().abi()))
20402     }
20403     #[cfg(not(windows))]
20404     unimplemented!("Unsupported target OS");
20405 }
20406 #[cfg(feature = "Win32_Foundation")]
20407 #[inline]
20408 pub unsafe fn tapiRequestMakeCallA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(lpszdestaddress: Param0, lpszappname: Param1, lpszcalledparty: Param2, lpszcomment: Param3) -> i32 {
20409     #[cfg(windows)]
20410     {
20411         #[link(name = "windows")]
20412         extern "system" {
20413             fn tapiRequestMakeCallA(lpszdestaddress: super::super::Foundation::PSTR, lpszappname: super::super::Foundation::PSTR, lpszcalledparty: super::super::Foundation::PSTR, lpszcomment: super::super::Foundation::PSTR) -> i32;
20414         }
20415         ::std::mem::transmute(tapiRequestMakeCallA(lpszdestaddress.into_param().abi(), lpszappname.into_param().abi(), lpszcalledparty.into_param().abi(), lpszcomment.into_param().abi()))
20416     }
20417     #[cfg(not(windows))]
20418     unimplemented!("Unsupported target OS");
20419 }
20420 #[cfg(feature = "Win32_Foundation")]
20421 #[inline]
20422 pub unsafe fn tapiRequestMakeCallW<'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>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(lpszdestaddress: Param0, lpszappname: Param1, lpszcalledparty: Param2, lpszcomment: Param3) -> i32 {
20423     #[cfg(windows)]
20424     {
20425         #[link(name = "windows")]
20426         extern "system" {
20427             fn tapiRequestMakeCallW(lpszdestaddress: super::super::Foundation::PWSTR, lpszappname: super::super::Foundation::PWSTR, lpszcalledparty: super::super::Foundation::PWSTR, lpszcomment: super::super::Foundation::PWSTR) -> i32;
20428         }
20429         ::std::mem::transmute(tapiRequestMakeCallW(lpszdestaddress.into_param().abi(), lpszappname.into_param().abi(), lpszcalledparty.into_param().abi(), lpszcomment.into_param().abi()))
20430     }
20431     #[cfg(not(windows))]
20432     unimplemented!("Unsupported target OS");
20433 }
20434 #[cfg(feature = "Win32_Foundation")]
20435 #[inline]
20436 pub unsafe fn tapiRequestMediaCall<
20437     'a,
20438     Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>,
20439     Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>,
20440     Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>,
20441     Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>,
20442     Param6: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>,
20443     Param7: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>,
20444     Param8: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>,
20445     Param9: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>,
20446 >(
20447     hwnd: Param0,
20448     wrequestid: Param1,
20449     lpszdeviceclass: Param2,
20450     lpdeviceid: Param3,
20451     dwsize: u32,
20452     dwsecure: u32,
20453     lpszdestaddress: Param6,
20454     lpszappname: Param7,
20455     lpszcalledparty: Param8,
20456     lpszcomment: Param9,
20457 ) -> i32 {
20458     #[cfg(windows)]
20459     {
20460         #[link(name = "windows")]
20461         extern "system" {
20462             fn tapiRequestMediaCall(hwnd: super::super::Foundation::HWND, wrequestid: super::super::Foundation::WPARAM, lpszdeviceclass: super::super::Foundation::PSTR, lpdeviceid: super::super::Foundation::PSTR, dwsize: u32, dwsecure: u32, lpszdestaddress: super::super::Foundation::PSTR, lpszappname: super::super::Foundation::PSTR, lpszcalledparty: super::super::Foundation::PSTR, lpszcomment: super::super::Foundation::PSTR) -> i32;
20463         }
20464         ::std::mem::transmute(tapiRequestMediaCall(
20465             hwnd.into_param().abi(),
20466             wrequestid.into_param().abi(),
20467             lpszdeviceclass.into_param().abi(),
20468             lpdeviceid.into_param().abi(),
20469             ::std::mem::transmute(dwsize),
20470             ::std::mem::transmute(dwsecure),
20471             lpszdestaddress.into_param().abi(),
20472             lpszappname.into_param().abi(),
20473             lpszcalledparty.into_param().abi(),
20474             lpszcomment.into_param().abi(),
20475         ))
20476     }
20477     #[cfg(not(windows))]
20478     unimplemented!("Unsupported target OS");
20479 }
20480 #[cfg(feature = "Win32_Foundation")]
20481 #[inline]
20482 pub unsafe fn tapiRequestMediaCallA<
20483     'a,
20484     Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>,
20485     Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>,
20486     Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>,
20487     Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>,
20488     Param6: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>,
20489     Param7: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>,
20490     Param8: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>,
20491     Param9: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>,
20492 >(
20493     hwnd: Param0,
20494     wrequestid: Param1,
20495     lpszdeviceclass: Param2,
20496     lpdeviceid: Param3,
20497     dwsize: u32,
20498     dwsecure: u32,
20499     lpszdestaddress: Param6,
20500     lpszappname: Param7,
20501     lpszcalledparty: Param8,
20502     lpszcomment: Param9,
20503 ) -> i32 {
20504     #[cfg(windows)]
20505     {
20506         #[link(name = "windows")]
20507         extern "system" {
20508             fn tapiRequestMediaCallA(hwnd: super::super::Foundation::HWND, wrequestid: super::super::Foundation::WPARAM, lpszdeviceclass: super::super::Foundation::PSTR, lpdeviceid: super::super::Foundation::PSTR, dwsize: u32, dwsecure: u32, lpszdestaddress: super::super::Foundation::PSTR, lpszappname: super::super::Foundation::PSTR, lpszcalledparty: super::super::Foundation::PSTR, lpszcomment: super::super::Foundation::PSTR) -> i32;
20509         }
20510         ::std::mem::transmute(tapiRequestMediaCallA(
20511             hwnd.into_param().abi(),
20512             wrequestid.into_param().abi(),
20513             lpszdeviceclass.into_param().abi(),
20514             lpdeviceid.into_param().abi(),
20515             ::std::mem::transmute(dwsize),
20516             ::std::mem::transmute(dwsecure),
20517             lpszdestaddress.into_param().abi(),
20518             lpszappname.into_param().abi(),
20519             lpszcalledparty.into_param().abi(),
20520             lpszcomment.into_param().abi(),
20521         ))
20522     }
20523     #[cfg(not(windows))]
20524     unimplemented!("Unsupported target OS");
20525 }
20526 #[cfg(feature = "Win32_Foundation")]
20527 #[inline]
20528 pub unsafe fn tapiRequestMediaCallW<
20529     'a,
20530     Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>,
20531     Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>,
20532     Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>,
20533     Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>,
20534     Param6: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>,
20535     Param7: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>,
20536     Param8: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>,
20537     Param9: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>,
20538 >(
20539     hwnd: Param0,
20540     wrequestid: Param1,
20541     lpszdeviceclass: Param2,
20542     lpdeviceid: Param3,
20543     dwsize: u32,
20544     dwsecure: u32,
20545     lpszdestaddress: Param6,
20546     lpszappname: Param7,
20547     lpszcalledparty: Param8,
20548     lpszcomment: Param9,
20549 ) -> i32 {
20550     #[cfg(windows)]
20551     {
20552         #[link(name = "windows")]
20553         extern "system" {
20554             fn tapiRequestMediaCallW(hwnd: super::super::Foundation::HWND, wrequestid: super::super::Foundation::WPARAM, lpszdeviceclass: super::super::Foundation::PWSTR, lpdeviceid: super::super::Foundation::PWSTR, dwsize: u32, dwsecure: u32, lpszdestaddress: super::super::Foundation::PWSTR, lpszappname: super::super::Foundation::PWSTR, lpszcalledparty: super::super::Foundation::PWSTR, lpszcomment: super::super::Foundation::PWSTR) -> i32;
20555         }
20556         ::std::mem::transmute(tapiRequestMediaCallW(
20557             hwnd.into_param().abi(),
20558             wrequestid.into_param().abi(),
20559             lpszdeviceclass.into_param().abi(),
20560             lpdeviceid.into_param().abi(),
20561             ::std::mem::transmute(dwsize),
20562             ::std::mem::transmute(dwsecure),
20563             lpszdestaddress.into_param().abi(),
20564             lpszappname.into_param().abi(),
20565             lpszcalledparty.into_param().abi(),
20566             lpszcomment.into_param().abi(),
20567         ))
20568     }
20569     #[cfg(not(windows))]
20570     unimplemented!("Unsupported target OS");
20571 }
20572