1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[repr(transparent)]
3 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4 pub struct AllJoynAboutData(::windows::runtime::IInspectable);
5 impl AllJoynAboutData {
6     #[cfg(feature = "deprecated")]
7     pub fn IsEnabled(&self) -> ::windows::runtime::Result<bool> {
8         let this = self;
9         unsafe {
10             let mut result__: bool = ::std::mem::zeroed();
11             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
12         }
13     }
14     #[cfg(feature = "deprecated")]
15     pub fn SetIsEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
16         let this = self;
17         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
18     }
19     #[cfg(feature = "deprecated")]
20     pub fn DefaultAppName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
21         let this = self;
22         unsafe {
23             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
24             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
25         }
26     }
27     #[cfg(feature = "deprecated")]
28     pub fn SetDefaultAppName<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
29         let this = self;
30         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
31     }
32     #[cfg(feature = "deprecated")]
33     #[cfg(feature = "Foundation_Collections")]
34     pub fn AppNames(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>> {
35         let this = self;
36         unsafe {
37             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
38             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>>(result__)
39         }
40     }
41     #[cfg(feature = "deprecated")]
42     #[cfg(feature = "Foundation")]
43     pub fn DateOfManufacture(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::DateTime>> {
44         let this = self;
45         unsafe {
46             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
47             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<super::super::Foundation::DateTime>>(result__)
48         }
49     }
50     #[cfg(feature = "deprecated")]
51     #[cfg(feature = "Foundation")]
52     pub fn SetDateOfManufacture<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<super::super::Foundation::DateTime>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
53         let this = self;
54         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
55     }
56     #[cfg(feature = "deprecated")]
57     pub fn DefaultDescription(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
58         let this = self;
59         unsafe {
60             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
61             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
62         }
63     }
64     #[cfg(feature = "deprecated")]
65     pub fn SetDefaultDescription<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
66         let this = self;
67         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
68     }
69     #[cfg(feature = "deprecated")]
70     #[cfg(feature = "Foundation_Collections")]
71     pub fn Descriptions(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>> {
72         let this = self;
73         unsafe {
74             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
75             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>>(result__)
76         }
77     }
78     #[cfg(feature = "deprecated")]
79     pub fn DefaultManufacturer(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
80         let this = self;
81         unsafe {
82             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
83             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
84         }
85     }
86     #[cfg(feature = "deprecated")]
87     pub fn SetDefaultManufacturer<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
88         let this = self;
89         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
90     }
91     #[cfg(feature = "deprecated")]
92     #[cfg(feature = "Foundation_Collections")]
93     pub fn Manufacturers(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>> {
94         let this = self;
95         unsafe {
96             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
97             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>>(result__)
98         }
99     }
100     #[cfg(feature = "deprecated")]
101     pub fn ModelNumber(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
102         let this = self;
103         unsafe {
104             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
105             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
106         }
107     }
108     #[cfg(feature = "deprecated")]
109     pub fn SetModelNumber<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
110         let this = self;
111         unsafe { (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
112     }
113     #[cfg(feature = "deprecated")]
114     pub fn SoftwareVersion(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
115         let this = self;
116         unsafe {
117             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
118             (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
119         }
120     }
121     #[cfg(feature = "deprecated")]
122     pub fn SetSoftwareVersion<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
123         let this = self;
124         unsafe { (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
125     }
126     #[cfg(feature = "deprecated")]
127     #[cfg(feature = "Foundation")]
128     pub fn SupportUrl(&self) -> ::windows::runtime::Result<super::super::Foundation::Uri> {
129         let this = self;
130         unsafe {
131             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
132             (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Uri>(result__)
133         }
134     }
135     #[cfg(feature = "deprecated")]
136     #[cfg(feature = "Foundation")]
137     pub fn SetSupportUrl<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Uri>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
138         let this = self;
139         unsafe { (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
140     }
141     #[cfg(feature = "deprecated")]
142     pub fn AppId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
143         let this = self;
144         unsafe {
145             let mut result__: ::windows::runtime::GUID = ::std::mem::zeroed();
146             (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
147         }
148     }
149     #[cfg(feature = "deprecated")]
150     pub fn SetAppId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
151         let this = self;
152         unsafe { (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
153     }
154 }
155 unsafe impl ::windows::runtime::RuntimeType for AllJoynAboutData {
156     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.AllJoyn.AllJoynAboutData;{e5a9bf00-1fa2-4839-93ef-f9df404890f7})");
157 }
158 unsafe impl ::windows::runtime::Interface for AllJoynAboutData {
159     type Vtable = IAllJoynAboutData_abi;
160     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3853106944, 8098, 18489, [147, 239, 249, 223, 64, 72, 144, 247]);
161 }
162 impl ::windows::runtime::RuntimeName for AllJoynAboutData {
163     const NAME: &'static str = "Windows.Devices.AllJoyn.AllJoynAboutData";
164 }
165 impl ::std::convert::From<AllJoynAboutData> for ::windows::runtime::IUnknown {
166     fn from(value: AllJoynAboutData) -> Self {
167         unsafe { ::std::mem::transmute(value) }
168     }
169 }
170 impl ::std::convert::From<&AllJoynAboutData> for ::windows::runtime::IUnknown {
171     fn from(value: &AllJoynAboutData) -> Self {
172         ::std::convert::From::from(::std::clone::Clone::clone(value))
173     }
174 }
175 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AllJoynAboutData {
176     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
177         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
178     }
179 }
180 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AllJoynAboutData {
181     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
182         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
183     }
184 }
185 impl ::std::convert::From<AllJoynAboutData> for ::windows::runtime::IInspectable {
186     fn from(value: AllJoynAboutData) -> Self {
187         value.0
188     }
189 }
190 impl ::std::convert::From<&AllJoynAboutData> for ::windows::runtime::IInspectable {
191     fn from(value: &AllJoynAboutData) -> Self {
192         value.0.clone()
193     }
194 }
195 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AllJoynAboutData {
196     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
197         ::windows::runtime::Param::Owned(self.0)
198     }
199 }
200 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AllJoynAboutData {
201     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
202         ::windows::runtime::Param::Borrowed(&self.0)
203     }
204 }
205 unsafe impl ::std::marker::Send for AllJoynAboutData {}
206 unsafe impl ::std::marker::Sync for AllJoynAboutData {}
207 #[repr(transparent)]
208 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
209 pub struct AllJoynAboutDataView(::windows::runtime::IInspectable);
210 impl AllJoynAboutDataView {
211     #[cfg(feature = "deprecated")]
212     pub fn Status(&self) -> ::windows::runtime::Result<i32> {
213         let this = self;
214         unsafe {
215             let mut result__: i32 = ::std::mem::zeroed();
216             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
217         }
218     }
219     #[cfg(feature = "deprecated")]
220     #[cfg(feature = "Foundation_Collections")]
221     pub fn Properties(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IMapView<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>> {
222         let this = self;
223         unsafe {
224             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
225             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IMapView<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>(result__)
226         }
227     }
228     #[cfg(feature = "deprecated")]
229     pub fn AJSoftwareVersion(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
230         let this = self;
231         unsafe {
232             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
233             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
234         }
235     }
236     #[cfg(feature = "deprecated")]
237     pub fn AppId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
238         let this = self;
239         unsafe {
240             let mut result__: ::windows::runtime::GUID = ::std::mem::zeroed();
241             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
242         }
243     }
244     #[cfg(feature = "deprecated")]
245     #[cfg(feature = "Foundation")]
246     pub fn DateOfManufacture(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::DateTime>> {
247         let this = self;
248         unsafe {
249             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
250             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<super::super::Foundation::DateTime>>(result__)
251         }
252     }
253     #[cfg(feature = "deprecated")]
254     #[cfg(feature = "Globalization")]
255     pub fn DefaultLanguage(&self) -> ::windows::runtime::Result<super::super::Globalization::Language> {
256         let this = self;
257         unsafe {
258             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
259             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Globalization::Language>(result__)
260         }
261     }
262     #[cfg(feature = "deprecated")]
263     pub fn DeviceId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
264         let this = self;
265         unsafe {
266             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
267             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
268         }
269     }
270     #[cfg(feature = "deprecated")]
271     pub fn HardwareVersion(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
272         let this = self;
273         unsafe {
274             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
275             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
276         }
277     }
278     #[cfg(feature = "deprecated")]
279     pub fn ModelNumber(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
280         let this = self;
281         unsafe {
282             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
283             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
284         }
285     }
286     #[cfg(feature = "deprecated")]
287     pub fn SoftwareVersion(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
288         let this = self;
289         unsafe {
290             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
291             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
292         }
293     }
294     #[cfg(feature = "deprecated")]
295     #[cfg(all(feature = "Foundation_Collections", feature = "Globalization"))]
296     pub fn SupportedLanguages(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<super::super::Globalization::Language>> {
297         let this = self;
298         unsafe {
299             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
300             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<super::super::Globalization::Language>>(result__)
301         }
302     }
303     #[cfg(feature = "deprecated")]
304     #[cfg(feature = "Foundation")]
305     pub fn SupportUrl(&self) -> ::windows::runtime::Result<super::super::Foundation::Uri> {
306         let this = self;
307         unsafe {
308             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
309             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Uri>(result__)
310         }
311     }
312     #[cfg(feature = "deprecated")]
313     pub fn AppName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
314         let this = self;
315         unsafe {
316             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
317             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
318         }
319     }
320     #[cfg(feature = "deprecated")]
321     pub fn Description(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
322         let this = self;
323         unsafe {
324             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
325             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
326         }
327     }
328     #[cfg(feature = "deprecated")]
329     pub fn DeviceName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
330         let this = self;
331         unsafe {
332             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
333             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
334         }
335     }
336     #[cfg(feature = "deprecated")]
337     pub fn Manufacturer(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
338         let this = self;
339         unsafe {
340             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
341             (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
342         }
343     }
344     #[cfg(feature = "deprecated")]
345     #[cfg(feature = "Foundation")]
346     pub fn GetDataBySessionPortAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AllJoynBusAttachment>>(uniquename: Param0, busattachment: Param1, sessionport: u16) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<AllJoynAboutDataView>> {
347         Self::IAllJoynAboutDataViewStatics(|this| unsafe {
348             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
349             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), uniquename.into_param().abi(), busattachment.into_param().abi(), sessionport, &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<AllJoynAboutDataView>>(result__)
350         })
351     }
352     #[cfg(feature = "deprecated")]
353     #[cfg(all(feature = "Foundation", feature = "Globalization"))]
354     pub fn GetDataBySessionPortWithLanguageAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AllJoynBusAttachment>, Param3: ::windows::runtime::IntoParam<'a, super::super::Globalization::Language>>(uniquename: Param0, busattachment: Param1, sessionport: u16, language: Param3) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<AllJoynAboutDataView>> {
355         Self::IAllJoynAboutDataViewStatics(|this| unsafe {
356             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
357             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), uniquename.into_param().abi(), busattachment.into_param().abi(), sessionport, language.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<AllJoynAboutDataView>>(result__)
358         })
359     }
360     pub fn IAllJoynAboutDataViewStatics<R, F: FnOnce(&IAllJoynAboutDataViewStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
361         static mut SHARED: ::windows::runtime::FactoryCache<AllJoynAboutDataView, IAllJoynAboutDataViewStatics> = ::windows::runtime::FactoryCache::new();
362         unsafe { SHARED.call(callback) }
363     }
364 }
365 unsafe impl ::windows::runtime::RuntimeType for AllJoynAboutDataView {
366     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.AllJoyn.AllJoynAboutDataView;{6823111f-6212-4934-9c48-e19ca4984288})");
367 }
368 unsafe impl ::windows::runtime::Interface for AllJoynAboutDataView {
369     type Vtable = IAllJoynAboutDataView_abi;
370     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1747128607, 25106, 18740, [156, 72, 225, 156, 164, 152, 66, 136]);
371 }
372 impl ::windows::runtime::RuntimeName for AllJoynAboutDataView {
373     const NAME: &'static str = "Windows.Devices.AllJoyn.AllJoynAboutDataView";
374 }
375 impl ::std::convert::From<AllJoynAboutDataView> for ::windows::runtime::IUnknown {
376     fn from(value: AllJoynAboutDataView) -> Self {
377         unsafe { ::std::mem::transmute(value) }
378     }
379 }
380 impl ::std::convert::From<&AllJoynAboutDataView> for ::windows::runtime::IUnknown {
381     fn from(value: &AllJoynAboutDataView) -> Self {
382         ::std::convert::From::from(::std::clone::Clone::clone(value))
383     }
384 }
385 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AllJoynAboutDataView {
386     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
387         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
388     }
389 }
390 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AllJoynAboutDataView {
391     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
392         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
393     }
394 }
395 impl ::std::convert::From<AllJoynAboutDataView> for ::windows::runtime::IInspectable {
396     fn from(value: AllJoynAboutDataView) -> Self {
397         value.0
398     }
399 }
400 impl ::std::convert::From<&AllJoynAboutDataView> for ::windows::runtime::IInspectable {
401     fn from(value: &AllJoynAboutDataView) -> Self {
402         value.0.clone()
403     }
404 }
405 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AllJoynAboutDataView {
406     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
407         ::windows::runtime::Param::Owned(self.0)
408     }
409 }
410 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AllJoynAboutDataView {
411     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
412         ::windows::runtime::Param::Borrowed(&self.0)
413     }
414 }
415 unsafe impl ::std::marker::Send for AllJoynAboutDataView {}
416 unsafe impl ::std::marker::Sync for AllJoynAboutDataView {}
417 #[repr(transparent)]
418 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
419 pub struct AllJoynAcceptSessionJoinerEventArgs(::windows::runtime::IInspectable);
420 impl AllJoynAcceptSessionJoinerEventArgs {
421     #[cfg(feature = "deprecated")]
422     pub fn UniqueName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
423         let this = self;
424         unsafe {
425             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
426             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
427         }
428     }
429     #[cfg(feature = "deprecated")]
430     pub fn SessionPort(&self) -> ::windows::runtime::Result<u16> {
431         let this = self;
432         unsafe {
433             let mut result__: u16 = ::std::mem::zeroed();
434             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
435         }
436     }
437     #[cfg(feature = "deprecated")]
438     pub fn TrafficType(&self) -> ::windows::runtime::Result<AllJoynTrafficType> {
439         let this = self;
440         unsafe {
441             let mut result__: AllJoynTrafficType = ::std::mem::zeroed();
442             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AllJoynTrafficType>(result__)
443         }
444     }
445     #[cfg(feature = "deprecated")]
446     pub fn SamePhysicalNode(&self) -> ::windows::runtime::Result<bool> {
447         let this = self;
448         unsafe {
449             let mut result__: bool = ::std::mem::zeroed();
450             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
451         }
452     }
453     #[cfg(feature = "deprecated")]
454     pub fn SameNetwork(&self) -> ::windows::runtime::Result<bool> {
455         let this = self;
456         unsafe {
457             let mut result__: bool = ::std::mem::zeroed();
458             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
459         }
460     }
461     #[cfg(feature = "deprecated")]
462     pub fn Accept(&self) -> ::windows::runtime::Result<()> {
463         let this = self;
464         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this)).ok() }
465     }
466     #[cfg(feature = "deprecated")]
467     pub fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param4: ::windows::runtime::IntoParam<'a, IAllJoynAcceptSessionJoiner>>(uniquename: Param0, sessionport: u16, traffictype: AllJoynTrafficType, proximity: u8, acceptsessionjoiner: Param4) -> ::windows::runtime::Result<AllJoynAcceptSessionJoinerEventArgs> {
468         Self::IAllJoynAcceptSessionJoinerEventArgsFactory(|this| unsafe {
469             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
470             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), uniquename.into_param().abi(), sessionport, traffictype, proximity, acceptsessionjoiner.into_param().abi(), &mut result__).from_abi::<AllJoynAcceptSessionJoinerEventArgs>(result__)
471         })
472     }
473     pub fn IAllJoynAcceptSessionJoinerEventArgsFactory<R, F: FnOnce(&IAllJoynAcceptSessionJoinerEventArgsFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
474         static mut SHARED: ::windows::runtime::FactoryCache<AllJoynAcceptSessionJoinerEventArgs, IAllJoynAcceptSessionJoinerEventArgsFactory> = ::windows::runtime::FactoryCache::new();
475         unsafe { SHARED.call(callback) }
476     }
477 }
478 unsafe impl ::windows::runtime::RuntimeType for AllJoynAcceptSessionJoinerEventArgs {
479     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.AllJoyn.AllJoynAcceptSessionJoinerEventArgs;{4efb5365-3e8a-4257-8f10-539ce0d56c0f})");
480 }
481 unsafe impl ::windows::runtime::Interface for AllJoynAcceptSessionJoinerEventArgs {
482     type Vtable = IAllJoynAcceptSessionJoinerEventArgs_abi;
483     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1325093733, 16010, 16983, [143, 16, 83, 156, 224, 213, 108, 15]);
484 }
485 impl ::windows::runtime::RuntimeName for AllJoynAcceptSessionJoinerEventArgs {
486     const NAME: &'static str = "Windows.Devices.AllJoyn.AllJoynAcceptSessionJoinerEventArgs";
487 }
488 impl ::std::convert::From<AllJoynAcceptSessionJoinerEventArgs> for ::windows::runtime::IUnknown {
489     fn from(value: AllJoynAcceptSessionJoinerEventArgs) -> Self {
490         unsafe { ::std::mem::transmute(value) }
491     }
492 }
493 impl ::std::convert::From<&AllJoynAcceptSessionJoinerEventArgs> for ::windows::runtime::IUnknown {
494     fn from(value: &AllJoynAcceptSessionJoinerEventArgs) -> Self {
495         ::std::convert::From::from(::std::clone::Clone::clone(value))
496     }
497 }
498 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AllJoynAcceptSessionJoinerEventArgs {
499     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
500         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
501     }
502 }
503 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AllJoynAcceptSessionJoinerEventArgs {
504     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
505         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
506     }
507 }
508 impl ::std::convert::From<AllJoynAcceptSessionJoinerEventArgs> for ::windows::runtime::IInspectable {
509     fn from(value: AllJoynAcceptSessionJoinerEventArgs) -> Self {
510         value.0
511     }
512 }
513 impl ::std::convert::From<&AllJoynAcceptSessionJoinerEventArgs> for ::windows::runtime::IInspectable {
514     fn from(value: &AllJoynAcceptSessionJoinerEventArgs) -> Self {
515         value.0.clone()
516     }
517 }
518 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AllJoynAcceptSessionJoinerEventArgs {
519     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
520         ::windows::runtime::Param::Owned(self.0)
521     }
522 }
523 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AllJoynAcceptSessionJoinerEventArgs {
524     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
525         ::windows::runtime::Param::Borrowed(&self.0)
526     }
527 }
528 unsafe impl ::std::marker::Send for AllJoynAcceptSessionJoinerEventArgs {}
529 unsafe impl ::std::marker::Sync for AllJoynAcceptSessionJoinerEventArgs {}
530 #[repr(transparent)]
531 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
532 pub struct AllJoynAuthenticationCompleteEventArgs(::windows::runtime::IInspectable);
533 impl AllJoynAuthenticationCompleteEventArgs {
534     #[cfg(feature = "deprecated")]
535     pub fn AuthenticationMechanism(&self) -> ::windows::runtime::Result<AllJoynAuthenticationMechanism> {
536         let this = self;
537         unsafe {
538             let mut result__: AllJoynAuthenticationMechanism = ::std::mem::zeroed();
539             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AllJoynAuthenticationMechanism>(result__)
540         }
541     }
542     #[cfg(feature = "deprecated")]
543     pub fn PeerUniqueName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
544         let this = self;
545         unsafe {
546             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
547             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
548         }
549     }
550     #[cfg(feature = "deprecated")]
551     pub fn Succeeded(&self) -> ::windows::runtime::Result<bool> {
552         let this = self;
553         unsafe {
554             let mut result__: bool = ::std::mem::zeroed();
555             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
556         }
557     }
558 }
559 unsafe impl ::windows::runtime::RuntimeType for AllJoynAuthenticationCompleteEventArgs {
560     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.AllJoyn.AllJoynAuthenticationCompleteEventArgs;{97b4701c-15dc-4b53-b6a4-7d134300d7bf})");
561 }
562 unsafe impl ::windows::runtime::Interface for AllJoynAuthenticationCompleteEventArgs {
563     type Vtable = IAllJoynAuthenticationCompleteEventArgs_abi;
564     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2545184796, 5596, 19283, [182, 164, 125, 19, 67, 0, 215, 191]);
565 }
566 impl ::windows::runtime::RuntimeName for AllJoynAuthenticationCompleteEventArgs {
567     const NAME: &'static str = "Windows.Devices.AllJoyn.AllJoynAuthenticationCompleteEventArgs";
568 }
569 impl ::std::convert::From<AllJoynAuthenticationCompleteEventArgs> for ::windows::runtime::IUnknown {
570     fn from(value: AllJoynAuthenticationCompleteEventArgs) -> Self {
571         unsafe { ::std::mem::transmute(value) }
572     }
573 }
574 impl ::std::convert::From<&AllJoynAuthenticationCompleteEventArgs> for ::windows::runtime::IUnknown {
575     fn from(value: &AllJoynAuthenticationCompleteEventArgs) -> Self {
576         ::std::convert::From::from(::std::clone::Clone::clone(value))
577     }
578 }
579 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AllJoynAuthenticationCompleteEventArgs {
580     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
581         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
582     }
583 }
584 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AllJoynAuthenticationCompleteEventArgs {
585     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
586         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
587     }
588 }
589 impl ::std::convert::From<AllJoynAuthenticationCompleteEventArgs> for ::windows::runtime::IInspectable {
590     fn from(value: AllJoynAuthenticationCompleteEventArgs) -> Self {
591         value.0
592     }
593 }
594 impl ::std::convert::From<&AllJoynAuthenticationCompleteEventArgs> for ::windows::runtime::IInspectable {
595     fn from(value: &AllJoynAuthenticationCompleteEventArgs) -> Self {
596         value.0.clone()
597     }
598 }
599 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AllJoynAuthenticationCompleteEventArgs {
600     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
601         ::windows::runtime::Param::Owned(self.0)
602     }
603 }
604 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AllJoynAuthenticationCompleteEventArgs {
605     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
606         ::windows::runtime::Param::Borrowed(&self.0)
607     }
608 }
609 unsafe impl ::std::marker::Send for AllJoynAuthenticationCompleteEventArgs {}
610 unsafe impl ::std::marker::Sync for AllJoynAuthenticationCompleteEventArgs {}
611 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
612 #[repr(transparent)]
613 pub struct AllJoynAuthenticationMechanism(pub i32);
614 impl AllJoynAuthenticationMechanism {
615     pub const None: AllJoynAuthenticationMechanism = AllJoynAuthenticationMechanism(0i32);
616     pub const SrpAnonymous: AllJoynAuthenticationMechanism = AllJoynAuthenticationMechanism(1i32);
617     pub const SrpLogon: AllJoynAuthenticationMechanism = AllJoynAuthenticationMechanism(2i32);
618     pub const EcdheNull: AllJoynAuthenticationMechanism = AllJoynAuthenticationMechanism(3i32);
619     pub const EcdhePsk: AllJoynAuthenticationMechanism = AllJoynAuthenticationMechanism(4i32);
620     pub const EcdheEcdsa: AllJoynAuthenticationMechanism = AllJoynAuthenticationMechanism(5i32);
621     pub const EcdheSpeke: AllJoynAuthenticationMechanism = AllJoynAuthenticationMechanism(6i32);
622 }
623 impl ::std::convert::From<i32> for AllJoynAuthenticationMechanism {
624     fn from(value: i32) -> Self {
625         Self(value)
626     }
627 }
628 unsafe impl ::windows::runtime::Abi for AllJoynAuthenticationMechanism {
629     type Abi = Self;
630     type DefaultType = Self;
631 }
632 unsafe impl ::windows::runtime::RuntimeType for AllJoynAuthenticationMechanism {
633     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Devices.AllJoyn.AllJoynAuthenticationMechanism;i4)");
634 }
635 #[repr(transparent)]
636 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
637 pub struct AllJoynBusAttachment(::windows::runtime::IInspectable);
638 impl AllJoynBusAttachment {
639     pub fn new() -> ::windows::runtime::Result<Self> {
640         Self::IActivationFactory(|f| f.activate_instance::<Self>())
641     }
642     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
643         static mut SHARED: ::windows::runtime::FactoryCache<AllJoynBusAttachment, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
644         unsafe { SHARED.call(callback) }
645     }
646     #[cfg(feature = "deprecated")]
647     pub fn AboutData(&self) -> ::windows::runtime::Result<AllJoynAboutData> {
648         let this = self;
649         unsafe {
650             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
651             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AllJoynAboutData>(result__)
652         }
653     }
654     #[cfg(feature = "deprecated")]
655     pub fn ConnectionSpecification(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
656         let this = self;
657         unsafe {
658             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
659             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
660         }
661     }
662     #[cfg(feature = "deprecated")]
663     pub fn State(&self) -> ::windows::runtime::Result<AllJoynBusAttachmentState> {
664         let this = self;
665         unsafe {
666             let mut result__: AllJoynBusAttachmentState = ::std::mem::zeroed();
667             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AllJoynBusAttachmentState>(result__)
668         }
669     }
670     #[cfg(feature = "deprecated")]
671     pub fn UniqueName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
672         let this = self;
673         unsafe {
674             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
675             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
676         }
677     }
678     #[cfg(feature = "deprecated")]
679     #[cfg(feature = "Foundation")]
680     pub fn PingAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, uniquename: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<i32>> {
681         let this = self;
682         unsafe {
683             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
684             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), uniquename.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<i32>>(result__)
685         }
686     }
687     #[cfg(feature = "deprecated")]
688     pub fn Connect(&self) -> ::windows::runtime::Result<()> {
689         let this = self;
690         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this)).ok() }
691     }
692     #[cfg(feature = "deprecated")]
693     pub fn Disconnect(&self) -> ::windows::runtime::Result<()> {
694         let this = self;
695         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this)).ok() }
696     }
697     #[cfg(feature = "deprecated")]
698     #[cfg(feature = "Foundation")]
699     pub fn StateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<AllJoynBusAttachment, AllJoynBusAttachmentStateChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
700         let this = self;
701         unsafe {
702             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
703             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
704         }
705     }
706     #[cfg(feature = "deprecated")]
707     #[cfg(feature = "Foundation")]
708     pub fn RemoveStateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
709         let this = self;
710         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
711     }
712     #[cfg(feature = "deprecated")]
713     #[cfg(feature = "Foundation_Collections")]
714     pub fn AuthenticationMechanisms(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<AllJoynAuthenticationMechanism>> {
715         let this = self;
716         unsafe {
717             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
718             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVector<AllJoynAuthenticationMechanism>>(result__)
719         }
720     }
721     #[cfg(feature = "deprecated")]
722     #[cfg(feature = "Foundation")]
723     pub fn CredentialsRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<AllJoynBusAttachment, AllJoynCredentialsRequestedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
724         let this = self;
725         unsafe {
726             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
727             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
728         }
729     }
730     #[cfg(feature = "deprecated")]
731     #[cfg(feature = "Foundation")]
732     pub fn RemoveCredentialsRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
733         let this = self;
734         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
735     }
736     #[cfg(feature = "deprecated")]
737     #[cfg(feature = "Foundation")]
738     pub fn CredentialsVerificationRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<AllJoynBusAttachment, AllJoynCredentialsVerificationRequestedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
739         let this = self;
740         unsafe {
741             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
742             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
743         }
744     }
745     #[cfg(feature = "deprecated")]
746     #[cfg(feature = "Foundation")]
747     pub fn RemoveCredentialsVerificationRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
748         let this = self;
749         unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
750     }
751     #[cfg(feature = "deprecated")]
752     #[cfg(feature = "Foundation")]
753     pub fn AuthenticationComplete<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<AllJoynBusAttachment, AllJoynAuthenticationCompleteEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
754         let this = self;
755         unsafe {
756             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
757             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
758         }
759     }
760     #[cfg(feature = "deprecated")]
761     #[cfg(feature = "Foundation")]
762     pub fn RemoveAuthenticationComplete<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
763         let this = self;
764         unsafe { (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
765     }
766     #[cfg(feature = "deprecated")]
767     pub fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(connectionspecification: Param0) -> ::windows::runtime::Result<AllJoynBusAttachment> {
768         Self::IAllJoynBusAttachmentFactory(|this| unsafe {
769             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
770             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), connectionspecification.into_param().abi(), &mut result__).from_abi::<AllJoynBusAttachment>(result__)
771         })
772     }
773     #[cfg(feature = "deprecated")]
774     #[cfg(feature = "Foundation")]
775     pub fn GetAboutDataAsync<'a, Param0: ::windows::runtime::IntoParam<'a, AllJoynServiceInfo>>(&self, serviceinfo: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<AllJoynAboutDataView>> {
776         let this = &::windows::runtime::Interface::cast::<IAllJoynBusAttachment2>(self)?;
777         unsafe {
778             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
779             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), serviceinfo.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<AllJoynAboutDataView>>(result__)
780         }
781     }
782     #[cfg(feature = "deprecated")]
783     #[cfg(all(feature = "Foundation", feature = "Globalization"))]
784     pub fn GetAboutDataWithLanguageAsync<'a, Param0: ::windows::runtime::IntoParam<'a, AllJoynServiceInfo>, Param1: ::windows::runtime::IntoParam<'a, super::super::Globalization::Language>>(&self, serviceinfo: Param0, language: Param1) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<AllJoynAboutDataView>> {
785         let this = &::windows::runtime::Interface::cast::<IAllJoynBusAttachment2>(self)?;
786         unsafe {
787             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
788             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), serviceinfo.into_param().abi(), language.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<AllJoynAboutDataView>>(result__)
789         }
790     }
791     #[cfg(feature = "deprecated")]
792     #[cfg(feature = "Foundation")]
793     pub fn AcceptSessionJoinerRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<AllJoynBusAttachment, AllJoynAcceptSessionJoinerEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
794         let this = &::windows::runtime::Interface::cast::<IAllJoynBusAttachment2>(self)?;
795         unsafe {
796             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
797             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
798         }
799     }
800     #[cfg(feature = "deprecated")]
801     #[cfg(feature = "Foundation")]
802     pub fn RemoveAcceptSessionJoinerRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
803         let this = &::windows::runtime::Interface::cast::<IAllJoynBusAttachment2>(self)?;
804         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
805     }
806     #[cfg(feature = "deprecated")]
807     #[cfg(feature = "Foundation")]
808     pub fn SessionJoined<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<AllJoynBusAttachment, AllJoynSessionJoinedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
809         let this = &::windows::runtime::Interface::cast::<IAllJoynBusAttachment2>(self)?;
810         unsafe {
811             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
812             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
813         }
814     }
815     #[cfg(feature = "deprecated")]
816     #[cfg(feature = "Foundation")]
817     pub fn RemoveSessionJoined<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
818         let this = &::windows::runtime::Interface::cast::<IAllJoynBusAttachment2>(self)?;
819         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
820     }
821     #[cfg(feature = "deprecated")]
822     pub fn GetDefault() -> ::windows::runtime::Result<AllJoynBusAttachment> {
823         Self::IAllJoynBusAttachmentStatics(|this| unsafe {
824             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
825             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AllJoynBusAttachment>(result__)
826         })
827     }
828     #[cfg(feature = "deprecated")]
829     #[cfg(all(feature = "Devices_Enumeration", feature = "Foundation_Collections"))]
830     pub fn GetWatcher<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(requiredinterfaces: Param0) -> ::windows::runtime::Result<super::Enumeration::DeviceWatcher> {
831         Self::IAllJoynBusAttachmentStatics(|this| unsafe {
832             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
833             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), requiredinterfaces.into_param().abi(), &mut result__).from_abi::<super::Enumeration::DeviceWatcher>(result__)
834         })
835     }
836     pub fn IAllJoynBusAttachmentFactory<R, F: FnOnce(&IAllJoynBusAttachmentFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
837         static mut SHARED: ::windows::runtime::FactoryCache<AllJoynBusAttachment, IAllJoynBusAttachmentFactory> = ::windows::runtime::FactoryCache::new();
838         unsafe { SHARED.call(callback) }
839     }
840     pub fn IAllJoynBusAttachmentStatics<R, F: FnOnce(&IAllJoynBusAttachmentStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
841         static mut SHARED: ::windows::runtime::FactoryCache<AllJoynBusAttachment, IAllJoynBusAttachmentStatics> = ::windows::runtime::FactoryCache::new();
842         unsafe { SHARED.call(callback) }
843     }
844 }
845 unsafe impl ::windows::runtime::RuntimeType for AllJoynBusAttachment {
846     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.AllJoyn.AllJoynBusAttachment;{f309f153-1eed-42c3-a20e-436d41fe62f6})");
847 }
848 unsafe impl ::windows::runtime::Interface for AllJoynBusAttachment {
849     type Vtable = IAllJoynBusAttachment_abi;
850     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4077515091, 7917, 17091, [162, 14, 67, 109, 65, 254, 98, 246]);
851 }
852 impl ::windows::runtime::RuntimeName for AllJoynBusAttachment {
853     const NAME: &'static str = "Windows.Devices.AllJoyn.AllJoynBusAttachment";
854 }
855 impl ::std::convert::From<AllJoynBusAttachment> for ::windows::runtime::IUnknown {
856     fn from(value: AllJoynBusAttachment) -> Self {
857         unsafe { ::std::mem::transmute(value) }
858     }
859 }
860 impl ::std::convert::From<&AllJoynBusAttachment> for ::windows::runtime::IUnknown {
861     fn from(value: &AllJoynBusAttachment) -> Self {
862         ::std::convert::From::from(::std::clone::Clone::clone(value))
863     }
864 }
865 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AllJoynBusAttachment {
866     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
867         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
868     }
869 }
870 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AllJoynBusAttachment {
871     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
872         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
873     }
874 }
875 impl ::std::convert::From<AllJoynBusAttachment> for ::windows::runtime::IInspectable {
876     fn from(value: AllJoynBusAttachment) -> Self {
877         value.0
878     }
879 }
880 impl ::std::convert::From<&AllJoynBusAttachment> for ::windows::runtime::IInspectable {
881     fn from(value: &AllJoynBusAttachment) -> Self {
882         value.0.clone()
883     }
884 }
885 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AllJoynBusAttachment {
886     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
887         ::windows::runtime::Param::Owned(self.0)
888     }
889 }
890 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AllJoynBusAttachment {
891     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
892         ::windows::runtime::Param::Borrowed(&self.0)
893     }
894 }
895 unsafe impl ::std::marker::Send for AllJoynBusAttachment {}
896 unsafe impl ::std::marker::Sync for AllJoynBusAttachment {}
897 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
898 #[repr(transparent)]
899 pub struct AllJoynBusAttachmentState(pub i32);
900 impl AllJoynBusAttachmentState {
901     pub const Disconnected: AllJoynBusAttachmentState = AllJoynBusAttachmentState(0i32);
902     pub const Connecting: AllJoynBusAttachmentState = AllJoynBusAttachmentState(1i32);
903     pub const Connected: AllJoynBusAttachmentState = AllJoynBusAttachmentState(2i32);
904     pub const Disconnecting: AllJoynBusAttachmentState = AllJoynBusAttachmentState(3i32);
905 }
906 impl ::std::convert::From<i32> for AllJoynBusAttachmentState {
907     fn from(value: i32) -> Self {
908         Self(value)
909     }
910 }
911 unsafe impl ::windows::runtime::Abi for AllJoynBusAttachmentState {
912     type Abi = Self;
913     type DefaultType = Self;
914 }
915 unsafe impl ::windows::runtime::RuntimeType for AllJoynBusAttachmentState {
916     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Devices.AllJoyn.AllJoynBusAttachmentState;i4)");
917 }
918 #[repr(transparent)]
919 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
920 pub struct AllJoynBusAttachmentStateChangedEventArgs(::windows::runtime::IInspectable);
921 impl AllJoynBusAttachmentStateChangedEventArgs {
922     #[cfg(feature = "deprecated")]
923     pub fn State(&self) -> ::windows::runtime::Result<AllJoynBusAttachmentState> {
924         let this = self;
925         unsafe {
926             let mut result__: AllJoynBusAttachmentState = ::std::mem::zeroed();
927             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AllJoynBusAttachmentState>(result__)
928         }
929     }
930     #[cfg(feature = "deprecated")]
931     pub fn Status(&self) -> ::windows::runtime::Result<i32> {
932         let this = self;
933         unsafe {
934             let mut result__: i32 = ::std::mem::zeroed();
935             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
936         }
937     }
938 }
939 unsafe impl ::windows::runtime::RuntimeType for AllJoynBusAttachmentStateChangedEventArgs {
940     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.AllJoyn.AllJoynBusAttachmentStateChangedEventArgs;{d82e75f4-c02a-41ec-a8d5-eab1558953aa})");
941 }
942 unsafe impl ::windows::runtime::Interface for AllJoynBusAttachmentStateChangedEventArgs {
943     type Vtable = IAllJoynBusAttachmentStateChangedEventArgs_abi;
944     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3626923508, 49194, 16876, [168, 213, 234, 177, 85, 137, 83, 170]);
945 }
946 impl ::windows::runtime::RuntimeName for AllJoynBusAttachmentStateChangedEventArgs {
947     const NAME: &'static str = "Windows.Devices.AllJoyn.AllJoynBusAttachmentStateChangedEventArgs";
948 }
949 impl ::std::convert::From<AllJoynBusAttachmentStateChangedEventArgs> for ::windows::runtime::IUnknown {
950     fn from(value: AllJoynBusAttachmentStateChangedEventArgs) -> Self {
951         unsafe { ::std::mem::transmute(value) }
952     }
953 }
954 impl ::std::convert::From<&AllJoynBusAttachmentStateChangedEventArgs> for ::windows::runtime::IUnknown {
955     fn from(value: &AllJoynBusAttachmentStateChangedEventArgs) -> Self {
956         ::std::convert::From::from(::std::clone::Clone::clone(value))
957     }
958 }
959 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AllJoynBusAttachmentStateChangedEventArgs {
960     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
961         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
962     }
963 }
964 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AllJoynBusAttachmentStateChangedEventArgs {
965     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
966         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
967     }
968 }
969 impl ::std::convert::From<AllJoynBusAttachmentStateChangedEventArgs> for ::windows::runtime::IInspectable {
970     fn from(value: AllJoynBusAttachmentStateChangedEventArgs) -> Self {
971         value.0
972     }
973 }
974 impl ::std::convert::From<&AllJoynBusAttachmentStateChangedEventArgs> for ::windows::runtime::IInspectable {
975     fn from(value: &AllJoynBusAttachmentStateChangedEventArgs) -> Self {
976         value.0.clone()
977     }
978 }
979 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AllJoynBusAttachmentStateChangedEventArgs {
980     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
981         ::windows::runtime::Param::Owned(self.0)
982     }
983 }
984 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AllJoynBusAttachmentStateChangedEventArgs {
985     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
986         ::windows::runtime::Param::Borrowed(&self.0)
987     }
988 }
989 unsafe impl ::std::marker::Send for AllJoynBusAttachmentStateChangedEventArgs {}
990 unsafe impl ::std::marker::Sync for AllJoynBusAttachmentStateChangedEventArgs {}
991 #[repr(transparent)]
992 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
993 pub struct AllJoynBusObject(::windows::runtime::IInspectable);
994 impl AllJoynBusObject {
995     pub fn new() -> ::windows::runtime::Result<Self> {
996         Self::IActivationFactory(|f| f.activate_instance::<Self>())
997     }
998     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
999         static mut SHARED: ::windows::runtime::FactoryCache<AllJoynBusObject, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
1000         unsafe { SHARED.call(callback) }
1001     }
1002     #[cfg(feature = "deprecated")]
1003     pub fn Start(&self) -> ::windows::runtime::Result<()> {
1004         let this = self;
1005         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
1006     }
1007     #[cfg(feature = "deprecated")]
1008     pub fn Stop(&self) -> ::windows::runtime::Result<()> {
1009         let this = self;
1010         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this)).ok() }
1011     }
1012     #[cfg(feature = "deprecated")]
1013     pub fn AddProducer<'a, Param0: ::windows::runtime::IntoParam<'a, IAllJoynProducer>>(&self, producer: Param0) -> ::windows::runtime::Result<()> {
1014         let this = self;
1015         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), producer.into_param().abi()).ok() }
1016     }
1017     #[cfg(feature = "deprecated")]
1018     pub fn BusAttachment(&self) -> ::windows::runtime::Result<AllJoynBusAttachment> {
1019         let this = self;
1020         unsafe {
1021             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1022             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AllJoynBusAttachment>(result__)
1023         }
1024     }
1025     #[cfg(feature = "deprecated")]
1026     pub fn Session(&self) -> ::windows::runtime::Result<AllJoynSession> {
1027         let this = self;
1028         unsafe {
1029             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1030             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AllJoynSession>(result__)
1031         }
1032     }
1033     #[cfg(feature = "deprecated")]
1034     #[cfg(feature = "Foundation")]
1035     pub fn Stopped<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<AllJoynBusObject, AllJoynBusObjectStoppedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
1036         let this = self;
1037         unsafe {
1038             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1039             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
1040         }
1041     }
1042     #[cfg(feature = "deprecated")]
1043     #[cfg(feature = "Foundation")]
1044     pub fn RemoveStopped<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
1045         let this = self;
1046         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
1047     }
1048     #[cfg(feature = "deprecated")]
1049     pub fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(objectpath: Param0) -> ::windows::runtime::Result<AllJoynBusObject> {
1050         Self::IAllJoynBusObjectFactory(|this| unsafe {
1051             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1052             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), objectpath.into_param().abi(), &mut result__).from_abi::<AllJoynBusObject>(result__)
1053         })
1054     }
1055     #[cfg(feature = "deprecated")]
1056     pub fn CreateWithBusAttachment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AllJoynBusAttachment>>(objectpath: Param0, busattachment: Param1) -> ::windows::runtime::Result<AllJoynBusObject> {
1057         Self::IAllJoynBusObjectFactory(|this| unsafe {
1058             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1059             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), objectpath.into_param().abi(), busattachment.into_param().abi(), &mut result__).from_abi::<AllJoynBusObject>(result__)
1060         })
1061     }
1062     pub fn IAllJoynBusObjectFactory<R, F: FnOnce(&IAllJoynBusObjectFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1063         static mut SHARED: ::windows::runtime::FactoryCache<AllJoynBusObject, IAllJoynBusObjectFactory> = ::windows::runtime::FactoryCache::new();
1064         unsafe { SHARED.call(callback) }
1065     }
1066 }
1067 unsafe impl ::windows::runtime::RuntimeType for AllJoynBusObject {
1068     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.AllJoyn.AllJoynBusObject;{e8fd825e-f73a-490c-8804-04e026643047})");
1069 }
1070 unsafe impl ::windows::runtime::Interface for AllJoynBusObject {
1071     type Vtable = IAllJoynBusObject_abi;
1072     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3908928094, 63290, 18700, [136, 4, 4, 224, 38, 100, 48, 71]);
1073 }
1074 impl ::windows::runtime::RuntimeName for AllJoynBusObject {
1075     const NAME: &'static str = "Windows.Devices.AllJoyn.AllJoynBusObject";
1076 }
1077 impl ::std::convert::From<AllJoynBusObject> for ::windows::runtime::IUnknown {
1078     fn from(value: AllJoynBusObject) -> Self {
1079         unsafe { ::std::mem::transmute(value) }
1080     }
1081 }
1082 impl ::std::convert::From<&AllJoynBusObject> for ::windows::runtime::IUnknown {
1083     fn from(value: &AllJoynBusObject) -> Self {
1084         ::std::convert::From::from(::std::clone::Clone::clone(value))
1085     }
1086 }
1087 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AllJoynBusObject {
1088     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1089         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1090     }
1091 }
1092 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AllJoynBusObject {
1093     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1094         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1095     }
1096 }
1097 impl ::std::convert::From<AllJoynBusObject> for ::windows::runtime::IInspectable {
1098     fn from(value: AllJoynBusObject) -> Self {
1099         value.0
1100     }
1101 }
1102 impl ::std::convert::From<&AllJoynBusObject> for ::windows::runtime::IInspectable {
1103     fn from(value: &AllJoynBusObject) -> Self {
1104         value.0.clone()
1105     }
1106 }
1107 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AllJoynBusObject {
1108     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1109         ::windows::runtime::Param::Owned(self.0)
1110     }
1111 }
1112 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AllJoynBusObject {
1113     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1114         ::windows::runtime::Param::Borrowed(&self.0)
1115     }
1116 }
1117 unsafe impl ::std::marker::Send for AllJoynBusObject {}
1118 unsafe impl ::std::marker::Sync for AllJoynBusObject {}
1119 #[repr(transparent)]
1120 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1121 pub struct AllJoynBusObjectStoppedEventArgs(::windows::runtime::IInspectable);
1122 impl AllJoynBusObjectStoppedEventArgs {
1123     #[cfg(feature = "deprecated")]
1124     pub fn Status(&self) -> ::windows::runtime::Result<i32> {
1125         let this = self;
1126         unsafe {
1127             let mut result__: i32 = ::std::mem::zeroed();
1128             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
1129         }
1130     }
1131     #[cfg(feature = "deprecated")]
1132     pub fn Create(status: i32) -> ::windows::runtime::Result<AllJoynBusObjectStoppedEventArgs> {
1133         Self::IAllJoynBusObjectStoppedEventArgsFactory(|this| unsafe {
1134             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1135             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), status, &mut result__).from_abi::<AllJoynBusObjectStoppedEventArgs>(result__)
1136         })
1137     }
1138     pub fn IAllJoynBusObjectStoppedEventArgsFactory<R, F: FnOnce(&IAllJoynBusObjectStoppedEventArgsFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1139         static mut SHARED: ::windows::runtime::FactoryCache<AllJoynBusObjectStoppedEventArgs, IAllJoynBusObjectStoppedEventArgsFactory> = ::windows::runtime::FactoryCache::new();
1140         unsafe { SHARED.call(callback) }
1141     }
1142 }
1143 unsafe impl ::windows::runtime::RuntimeType for AllJoynBusObjectStoppedEventArgs {
1144     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.AllJoyn.AllJoynBusObjectStoppedEventArgs;{de102115-ef8e-4d42-b93b-a2ae74519766})");
1145 }
1146 unsafe impl ::windows::runtime::Interface for AllJoynBusObjectStoppedEventArgs {
1147     type Vtable = IAllJoynBusObjectStoppedEventArgs_abi;
1148     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3725598997, 61326, 19778, [185, 59, 162, 174, 116, 81, 151, 102]);
1149 }
1150 impl ::windows::runtime::RuntimeName for AllJoynBusObjectStoppedEventArgs {
1151     const NAME: &'static str = "Windows.Devices.AllJoyn.AllJoynBusObjectStoppedEventArgs";
1152 }
1153 impl ::std::convert::From<AllJoynBusObjectStoppedEventArgs> for ::windows::runtime::IUnknown {
1154     fn from(value: AllJoynBusObjectStoppedEventArgs) -> Self {
1155         unsafe { ::std::mem::transmute(value) }
1156     }
1157 }
1158 impl ::std::convert::From<&AllJoynBusObjectStoppedEventArgs> for ::windows::runtime::IUnknown {
1159     fn from(value: &AllJoynBusObjectStoppedEventArgs) -> Self {
1160         ::std::convert::From::from(::std::clone::Clone::clone(value))
1161     }
1162 }
1163 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AllJoynBusObjectStoppedEventArgs {
1164     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1165         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1166     }
1167 }
1168 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AllJoynBusObjectStoppedEventArgs {
1169     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1170         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1171     }
1172 }
1173 impl ::std::convert::From<AllJoynBusObjectStoppedEventArgs> for ::windows::runtime::IInspectable {
1174     fn from(value: AllJoynBusObjectStoppedEventArgs) -> Self {
1175         value.0
1176     }
1177 }
1178 impl ::std::convert::From<&AllJoynBusObjectStoppedEventArgs> for ::windows::runtime::IInspectable {
1179     fn from(value: &AllJoynBusObjectStoppedEventArgs) -> Self {
1180         value.0.clone()
1181     }
1182 }
1183 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AllJoynBusObjectStoppedEventArgs {
1184     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1185         ::windows::runtime::Param::Owned(self.0)
1186     }
1187 }
1188 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AllJoynBusObjectStoppedEventArgs {
1189     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1190         ::windows::runtime::Param::Borrowed(&self.0)
1191     }
1192 }
1193 unsafe impl ::std::marker::Send for AllJoynBusObjectStoppedEventArgs {}
1194 unsafe impl ::std::marker::Sync for AllJoynBusObjectStoppedEventArgs {}
1195 #[repr(transparent)]
1196 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1197 pub struct AllJoynCredentials(::windows::runtime::IInspectable);
1198 impl AllJoynCredentials {
1199     #[cfg(feature = "deprecated")]
1200     pub fn AuthenticationMechanism(&self) -> ::windows::runtime::Result<AllJoynAuthenticationMechanism> {
1201         let this = self;
1202         unsafe {
1203             let mut result__: AllJoynAuthenticationMechanism = ::std::mem::zeroed();
1204             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AllJoynAuthenticationMechanism>(result__)
1205         }
1206     }
1207     #[cfg(feature = "deprecated")]
1208     #[cfg(feature = "Security_Cryptography_Certificates")]
1209     pub fn Certificate(&self) -> ::windows::runtime::Result<super::super::Security::Cryptography::Certificates::Certificate> {
1210         let this = self;
1211         unsafe {
1212             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1213             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Security::Cryptography::Certificates::Certificate>(result__)
1214         }
1215     }
1216     #[cfg(feature = "deprecated")]
1217     #[cfg(feature = "Security_Cryptography_Certificates")]
1218     pub fn SetCertificate<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Security::Cryptography::Certificates::Certificate>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1219         let this = self;
1220         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1221     }
1222     #[cfg(feature = "deprecated")]
1223     #[cfg(feature = "Security_Credentials")]
1224     pub fn PasswordCredential(&self) -> ::windows::runtime::Result<super::super::Security::Credentials::PasswordCredential> {
1225         let this = self;
1226         unsafe {
1227             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1228             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Security::Credentials::PasswordCredential>(result__)
1229         }
1230     }
1231     #[cfg(feature = "deprecated")]
1232     #[cfg(feature = "Security_Credentials")]
1233     pub fn SetPasswordCredential<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Security::Credentials::PasswordCredential>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1234         let this = self;
1235         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1236     }
1237     #[cfg(feature = "deprecated")]
1238     #[cfg(feature = "Foundation")]
1239     pub fn Timeout(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
1240         let this = self;
1241         unsafe {
1242             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
1243             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
1244         }
1245     }
1246     #[cfg(feature = "deprecated")]
1247     #[cfg(feature = "Foundation")]
1248     pub fn SetTimeout<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1249         let this = self;
1250         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1251     }
1252 }
1253 unsafe impl ::windows::runtime::RuntimeType for AllJoynCredentials {
1254     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.AllJoyn.AllJoynCredentials;{824650f2-a190-40b1-abab-349ec244dfaa})");
1255 }
1256 unsafe impl ::windows::runtime::Interface for AllJoynCredentials {
1257     type Vtable = IAllJoynCredentials_abi;
1258     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2185646322, 41360, 16561, [171, 171, 52, 158, 194, 68, 223, 170]);
1259 }
1260 impl ::windows::runtime::RuntimeName for AllJoynCredentials {
1261     const NAME: &'static str = "Windows.Devices.AllJoyn.AllJoynCredentials";
1262 }
1263 impl ::std::convert::From<AllJoynCredentials> for ::windows::runtime::IUnknown {
1264     fn from(value: AllJoynCredentials) -> Self {
1265         unsafe { ::std::mem::transmute(value) }
1266     }
1267 }
1268 impl ::std::convert::From<&AllJoynCredentials> for ::windows::runtime::IUnknown {
1269     fn from(value: &AllJoynCredentials) -> Self {
1270         ::std::convert::From::from(::std::clone::Clone::clone(value))
1271     }
1272 }
1273 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AllJoynCredentials {
1274     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1275         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1276     }
1277 }
1278 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AllJoynCredentials {
1279     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1280         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1281     }
1282 }
1283 impl ::std::convert::From<AllJoynCredentials> for ::windows::runtime::IInspectable {
1284     fn from(value: AllJoynCredentials) -> Self {
1285         value.0
1286     }
1287 }
1288 impl ::std::convert::From<&AllJoynCredentials> for ::windows::runtime::IInspectable {
1289     fn from(value: &AllJoynCredentials) -> Self {
1290         value.0.clone()
1291     }
1292 }
1293 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AllJoynCredentials {
1294     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1295         ::windows::runtime::Param::Owned(self.0)
1296     }
1297 }
1298 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AllJoynCredentials {
1299     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1300         ::windows::runtime::Param::Borrowed(&self.0)
1301     }
1302 }
1303 unsafe impl ::std::marker::Send for AllJoynCredentials {}
1304 unsafe impl ::std::marker::Sync for AllJoynCredentials {}
1305 #[repr(transparent)]
1306 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1307 pub struct AllJoynCredentialsRequestedEventArgs(::windows::runtime::IInspectable);
1308 impl AllJoynCredentialsRequestedEventArgs {
1309     #[cfg(feature = "deprecated")]
1310     pub fn AttemptCount(&self) -> ::windows::runtime::Result<u16> {
1311         let this = self;
1312         unsafe {
1313             let mut result__: u16 = ::std::mem::zeroed();
1314             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1315         }
1316     }
1317     #[cfg(feature = "deprecated")]
1318     pub fn Credentials(&self) -> ::windows::runtime::Result<AllJoynCredentials> {
1319         let this = self;
1320         unsafe {
1321             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1322             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AllJoynCredentials>(result__)
1323         }
1324     }
1325     #[cfg(feature = "deprecated")]
1326     pub fn PeerUniqueName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1327         let this = self;
1328         unsafe {
1329             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1330             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1331         }
1332     }
1333     #[cfg(feature = "deprecated")]
1334     pub fn RequestedUserName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1335         let this = self;
1336         unsafe {
1337             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1338             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1339         }
1340     }
1341     #[cfg(feature = "deprecated")]
1342     #[cfg(feature = "Foundation")]
1343     pub fn GetDeferral(&self) -> ::windows::runtime::Result<super::super::Foundation::Deferral> {
1344         let this = self;
1345         unsafe {
1346             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1347             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Deferral>(result__)
1348         }
1349     }
1350 }
1351 unsafe impl ::windows::runtime::RuntimeType for AllJoynCredentialsRequestedEventArgs {
1352     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.AllJoyn.AllJoynCredentialsRequestedEventArgs;{6a87e34e-b069-4b80-9e1a-41bc837c65d2})");
1353 }
1354 unsafe impl ::windows::runtime::Interface for AllJoynCredentialsRequestedEventArgs {
1355     type Vtable = IAllJoynCredentialsRequestedEventArgs_abi;
1356     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1787290446, 45161, 19328, [158, 26, 65, 188, 131, 124, 101, 210]);
1357 }
1358 impl ::windows::runtime::RuntimeName for AllJoynCredentialsRequestedEventArgs {
1359     const NAME: &'static str = "Windows.Devices.AllJoyn.AllJoynCredentialsRequestedEventArgs";
1360 }
1361 impl ::std::convert::From<AllJoynCredentialsRequestedEventArgs> for ::windows::runtime::IUnknown {
1362     fn from(value: AllJoynCredentialsRequestedEventArgs) -> Self {
1363         unsafe { ::std::mem::transmute(value) }
1364     }
1365 }
1366 impl ::std::convert::From<&AllJoynCredentialsRequestedEventArgs> for ::windows::runtime::IUnknown {
1367     fn from(value: &AllJoynCredentialsRequestedEventArgs) -> Self {
1368         ::std::convert::From::from(::std::clone::Clone::clone(value))
1369     }
1370 }
1371 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AllJoynCredentialsRequestedEventArgs {
1372     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1373         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1374     }
1375 }
1376 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AllJoynCredentialsRequestedEventArgs {
1377     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1378         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1379     }
1380 }
1381 impl ::std::convert::From<AllJoynCredentialsRequestedEventArgs> for ::windows::runtime::IInspectable {
1382     fn from(value: AllJoynCredentialsRequestedEventArgs) -> Self {
1383         value.0
1384     }
1385 }
1386 impl ::std::convert::From<&AllJoynCredentialsRequestedEventArgs> for ::windows::runtime::IInspectable {
1387     fn from(value: &AllJoynCredentialsRequestedEventArgs) -> Self {
1388         value.0.clone()
1389     }
1390 }
1391 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AllJoynCredentialsRequestedEventArgs {
1392     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1393         ::windows::runtime::Param::Owned(self.0)
1394     }
1395 }
1396 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AllJoynCredentialsRequestedEventArgs {
1397     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1398         ::windows::runtime::Param::Borrowed(&self.0)
1399     }
1400 }
1401 unsafe impl ::std::marker::Send for AllJoynCredentialsRequestedEventArgs {}
1402 unsafe impl ::std::marker::Sync for AllJoynCredentialsRequestedEventArgs {}
1403 #[repr(transparent)]
1404 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1405 pub struct AllJoynCredentialsVerificationRequestedEventArgs(::windows::runtime::IInspectable);
1406 impl AllJoynCredentialsVerificationRequestedEventArgs {
1407     #[cfg(feature = "deprecated")]
1408     pub fn AuthenticationMechanism(&self) -> ::windows::runtime::Result<AllJoynAuthenticationMechanism> {
1409         let this = self;
1410         unsafe {
1411             let mut result__: AllJoynAuthenticationMechanism = ::std::mem::zeroed();
1412             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AllJoynAuthenticationMechanism>(result__)
1413         }
1414     }
1415     #[cfg(feature = "deprecated")]
1416     pub fn PeerUniqueName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1417         let this = self;
1418         unsafe {
1419             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1420             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1421         }
1422     }
1423     #[cfg(feature = "deprecated")]
1424     #[cfg(feature = "Security_Cryptography_Certificates")]
1425     pub fn PeerCertificate(&self) -> ::windows::runtime::Result<super::super::Security::Cryptography::Certificates::Certificate> {
1426         let this = self;
1427         unsafe {
1428             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1429             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Security::Cryptography::Certificates::Certificate>(result__)
1430         }
1431     }
1432     #[cfg(feature = "deprecated")]
1433     #[cfg(feature = "Networking_Sockets")]
1434     pub fn PeerCertificateErrorSeverity(&self) -> ::windows::runtime::Result<super::super::Networking::Sockets::SocketSslErrorSeverity> {
1435         let this = self;
1436         unsafe {
1437             let mut result__: super::super::Networking::Sockets::SocketSslErrorSeverity = ::std::mem::zeroed();
1438             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Networking::Sockets::SocketSslErrorSeverity>(result__)
1439         }
1440     }
1441     #[cfg(feature = "deprecated")]
1442     #[cfg(all(feature = "Foundation_Collections", feature = "Security_Cryptography_Certificates"))]
1443     pub fn PeerCertificateErrors(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<super::super::Security::Cryptography::Certificates::ChainValidationResult>> {
1444         let this = self;
1445         unsafe {
1446             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1447             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<super::super::Security::Cryptography::Certificates::ChainValidationResult>>(result__)
1448         }
1449     }
1450     #[cfg(feature = "deprecated")]
1451     #[cfg(all(feature = "Foundation_Collections", feature = "Security_Cryptography_Certificates"))]
1452     pub fn PeerIntermediateCertificates(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<super::super::Security::Cryptography::Certificates::Certificate>> {
1453         let this = self;
1454         unsafe {
1455             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1456             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<super::super::Security::Cryptography::Certificates::Certificate>>(result__)
1457         }
1458     }
1459     #[cfg(feature = "deprecated")]
1460     pub fn Accept(&self) -> ::windows::runtime::Result<()> {
1461         let this = self;
1462         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this)).ok() }
1463     }
1464     #[cfg(feature = "deprecated")]
1465     #[cfg(feature = "Foundation")]
1466     pub fn GetDeferral(&self) -> ::windows::runtime::Result<super::super::Foundation::Deferral> {
1467         let this = self;
1468         unsafe {
1469             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1470             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Deferral>(result__)
1471         }
1472     }
1473 }
1474 unsafe impl ::windows::runtime::RuntimeType for AllJoynCredentialsVerificationRequestedEventArgs {
1475     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.AllJoyn.AllJoynCredentialsVerificationRequestedEventArgs;{800a7612-b805-44af-a2e1-792ab655a2d0})");
1476 }
1477 unsafe impl ::windows::runtime::Interface for AllJoynCredentialsVerificationRequestedEventArgs {
1478     type Vtable = IAllJoynCredentialsVerificationRequestedEventArgs_abi;
1479     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2148169234, 47109, 17583, [162, 225, 121, 42, 182, 85, 162, 208]);
1480 }
1481 impl ::windows::runtime::RuntimeName for AllJoynCredentialsVerificationRequestedEventArgs {
1482     const NAME: &'static str = "Windows.Devices.AllJoyn.AllJoynCredentialsVerificationRequestedEventArgs";
1483 }
1484 impl ::std::convert::From<AllJoynCredentialsVerificationRequestedEventArgs> for ::windows::runtime::IUnknown {
1485     fn from(value: AllJoynCredentialsVerificationRequestedEventArgs) -> Self {
1486         unsafe { ::std::mem::transmute(value) }
1487     }
1488 }
1489 impl ::std::convert::From<&AllJoynCredentialsVerificationRequestedEventArgs> for ::windows::runtime::IUnknown {
1490     fn from(value: &AllJoynCredentialsVerificationRequestedEventArgs) -> Self {
1491         ::std::convert::From::from(::std::clone::Clone::clone(value))
1492     }
1493 }
1494 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AllJoynCredentialsVerificationRequestedEventArgs {
1495     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1496         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1497     }
1498 }
1499 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AllJoynCredentialsVerificationRequestedEventArgs {
1500     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1501         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1502     }
1503 }
1504 impl ::std::convert::From<AllJoynCredentialsVerificationRequestedEventArgs> for ::windows::runtime::IInspectable {
1505     fn from(value: AllJoynCredentialsVerificationRequestedEventArgs) -> Self {
1506         value.0
1507     }
1508 }
1509 impl ::std::convert::From<&AllJoynCredentialsVerificationRequestedEventArgs> for ::windows::runtime::IInspectable {
1510     fn from(value: &AllJoynCredentialsVerificationRequestedEventArgs) -> Self {
1511         value.0.clone()
1512     }
1513 }
1514 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AllJoynCredentialsVerificationRequestedEventArgs {
1515     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1516         ::windows::runtime::Param::Owned(self.0)
1517     }
1518 }
1519 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AllJoynCredentialsVerificationRequestedEventArgs {
1520     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1521         ::windows::runtime::Param::Borrowed(&self.0)
1522     }
1523 }
1524 unsafe impl ::std::marker::Send for AllJoynCredentialsVerificationRequestedEventArgs {}
1525 unsafe impl ::std::marker::Sync for AllJoynCredentialsVerificationRequestedEventArgs {}
1526 #[repr(transparent)]
1527 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1528 pub struct AllJoynMessageInfo(::windows::runtime::IInspectable);
1529 impl AllJoynMessageInfo {
1530     #[cfg(feature = "deprecated")]
1531     pub fn SenderUniqueName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1532         let this = self;
1533         unsafe {
1534             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1535             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1536         }
1537     }
1538     #[cfg(feature = "deprecated")]
1539     pub fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(senderuniquename: Param0) -> ::windows::runtime::Result<AllJoynMessageInfo> {
1540         Self::IAllJoynMessageInfoFactory(|this| unsafe {
1541             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1542             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), senderuniquename.into_param().abi(), &mut result__).from_abi::<AllJoynMessageInfo>(result__)
1543         })
1544     }
1545     pub fn IAllJoynMessageInfoFactory<R, F: FnOnce(&IAllJoynMessageInfoFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1546         static mut SHARED: ::windows::runtime::FactoryCache<AllJoynMessageInfo, IAllJoynMessageInfoFactory> = ::windows::runtime::FactoryCache::new();
1547         unsafe { SHARED.call(callback) }
1548     }
1549 }
1550 unsafe impl ::windows::runtime::RuntimeType for AllJoynMessageInfo {
1551     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.AllJoyn.AllJoynMessageInfo;{ff2b0127-2c12-4859-aa3a-c74461ee814c})");
1552 }
1553 unsafe impl ::windows::runtime::Interface for AllJoynMessageInfo {
1554     type Vtable = IAllJoynMessageInfo_abi;
1555     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4281008423, 11282, 18521, [170, 58, 199, 68, 97, 238, 129, 76]);
1556 }
1557 impl ::windows::runtime::RuntimeName for AllJoynMessageInfo {
1558     const NAME: &'static str = "Windows.Devices.AllJoyn.AllJoynMessageInfo";
1559 }
1560 impl ::std::convert::From<AllJoynMessageInfo> for ::windows::runtime::IUnknown {
1561     fn from(value: AllJoynMessageInfo) -> Self {
1562         unsafe { ::std::mem::transmute(value) }
1563     }
1564 }
1565 impl ::std::convert::From<&AllJoynMessageInfo> for ::windows::runtime::IUnknown {
1566     fn from(value: &AllJoynMessageInfo) -> Self {
1567         ::std::convert::From::from(::std::clone::Clone::clone(value))
1568     }
1569 }
1570 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AllJoynMessageInfo {
1571     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1572         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1573     }
1574 }
1575 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AllJoynMessageInfo {
1576     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1577         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1578     }
1579 }
1580 impl ::std::convert::From<AllJoynMessageInfo> for ::windows::runtime::IInspectable {
1581     fn from(value: AllJoynMessageInfo) -> Self {
1582         value.0
1583     }
1584 }
1585 impl ::std::convert::From<&AllJoynMessageInfo> for ::windows::runtime::IInspectable {
1586     fn from(value: &AllJoynMessageInfo) -> Self {
1587         value.0.clone()
1588     }
1589 }
1590 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AllJoynMessageInfo {
1591     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1592         ::windows::runtime::Param::Owned(self.0)
1593     }
1594 }
1595 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AllJoynMessageInfo {
1596     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1597         ::windows::runtime::Param::Borrowed(&self.0)
1598     }
1599 }
1600 unsafe impl ::std::marker::Send for AllJoynMessageInfo {}
1601 unsafe impl ::std::marker::Sync for AllJoynMessageInfo {}
1602 #[repr(transparent)]
1603 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1604 pub struct AllJoynProducerStoppedEventArgs(::windows::runtime::IInspectable);
1605 impl AllJoynProducerStoppedEventArgs {
1606     #[cfg(feature = "deprecated")]
1607     pub fn Status(&self) -> ::windows::runtime::Result<i32> {
1608         let this = self;
1609         unsafe {
1610             let mut result__: i32 = ::std::mem::zeroed();
1611             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
1612         }
1613     }
1614     #[cfg(feature = "deprecated")]
1615     pub fn Create(status: i32) -> ::windows::runtime::Result<AllJoynProducerStoppedEventArgs> {
1616         Self::IAllJoynProducerStoppedEventArgsFactory(|this| unsafe {
1617             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1618             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), status, &mut result__).from_abi::<AllJoynProducerStoppedEventArgs>(result__)
1619         })
1620     }
1621     pub fn IAllJoynProducerStoppedEventArgsFactory<R, F: FnOnce(&IAllJoynProducerStoppedEventArgsFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1622         static mut SHARED: ::windows::runtime::FactoryCache<AllJoynProducerStoppedEventArgs, IAllJoynProducerStoppedEventArgsFactory> = ::windows::runtime::FactoryCache::new();
1623         unsafe { SHARED.call(callback) }
1624     }
1625 }
1626 unsafe impl ::windows::runtime::RuntimeType for AllJoynProducerStoppedEventArgs {
1627     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.AllJoyn.AllJoynProducerStoppedEventArgs;{51309770-4937-492d-8080-236439987ceb})");
1628 }
1629 unsafe impl ::windows::runtime::Interface for AllJoynProducerStoppedEventArgs {
1630     type Vtable = IAllJoynProducerStoppedEventArgs_abi;
1631     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1362138992, 18743, 18733, [128, 128, 35, 100, 57, 152, 124, 235]);
1632 }
1633 impl ::windows::runtime::RuntimeName for AllJoynProducerStoppedEventArgs {
1634     const NAME: &'static str = "Windows.Devices.AllJoyn.AllJoynProducerStoppedEventArgs";
1635 }
1636 impl ::std::convert::From<AllJoynProducerStoppedEventArgs> for ::windows::runtime::IUnknown {
1637     fn from(value: AllJoynProducerStoppedEventArgs) -> Self {
1638         unsafe { ::std::mem::transmute(value) }
1639     }
1640 }
1641 impl ::std::convert::From<&AllJoynProducerStoppedEventArgs> for ::windows::runtime::IUnknown {
1642     fn from(value: &AllJoynProducerStoppedEventArgs) -> Self {
1643         ::std::convert::From::from(::std::clone::Clone::clone(value))
1644     }
1645 }
1646 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AllJoynProducerStoppedEventArgs {
1647     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1648         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1649     }
1650 }
1651 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AllJoynProducerStoppedEventArgs {
1652     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1653         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1654     }
1655 }
1656 impl ::std::convert::From<AllJoynProducerStoppedEventArgs> for ::windows::runtime::IInspectable {
1657     fn from(value: AllJoynProducerStoppedEventArgs) -> Self {
1658         value.0
1659     }
1660 }
1661 impl ::std::convert::From<&AllJoynProducerStoppedEventArgs> for ::windows::runtime::IInspectable {
1662     fn from(value: &AllJoynProducerStoppedEventArgs) -> Self {
1663         value.0.clone()
1664     }
1665 }
1666 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AllJoynProducerStoppedEventArgs {
1667     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1668         ::windows::runtime::Param::Owned(self.0)
1669     }
1670 }
1671 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AllJoynProducerStoppedEventArgs {
1672     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1673         ::windows::runtime::Param::Borrowed(&self.0)
1674     }
1675 }
1676 unsafe impl ::std::marker::Send for AllJoynProducerStoppedEventArgs {}
1677 unsafe impl ::std::marker::Sync for AllJoynProducerStoppedEventArgs {}
1678 #[repr(transparent)]
1679 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1680 pub struct AllJoynServiceInfo(::windows::runtime::IInspectable);
1681 impl AllJoynServiceInfo {
1682     #[cfg(feature = "deprecated")]
1683     pub fn UniqueName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1684         let this = self;
1685         unsafe {
1686             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1687             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1688         }
1689     }
1690     #[cfg(feature = "deprecated")]
1691     pub fn ObjectPath(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1692         let this = self;
1693         unsafe {
1694             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1695             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1696         }
1697     }
1698     #[cfg(feature = "deprecated")]
1699     pub fn SessionPort(&self) -> ::windows::runtime::Result<u16> {
1700         let this = self;
1701         unsafe {
1702             let mut result__: u16 = ::std::mem::zeroed();
1703             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1704         }
1705     }
1706     #[cfg(feature = "deprecated")]
1707     pub fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(uniquename: Param0, objectpath: Param1, sessionport: u16) -> ::windows::runtime::Result<AllJoynServiceInfo> {
1708         Self::IAllJoynServiceInfoFactory(|this| unsafe {
1709             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1710             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), uniquename.into_param().abi(), objectpath.into_param().abi(), sessionport, &mut result__).from_abi::<AllJoynServiceInfo>(result__)
1711         })
1712     }
1713     #[cfg(feature = "deprecated")]
1714     #[cfg(feature = "Foundation")]
1715     pub fn FromIdAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(deviceid: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<AllJoynServiceInfo>> {
1716         Self::IAllJoynServiceInfoStatics(|this| unsafe {
1717             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1718             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), deviceid.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<AllJoynServiceInfo>>(result__)
1719         })
1720     }
1721     pub fn IAllJoynServiceInfoFactory<R, F: FnOnce(&IAllJoynServiceInfoFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1722         static mut SHARED: ::windows::runtime::FactoryCache<AllJoynServiceInfo, IAllJoynServiceInfoFactory> = ::windows::runtime::FactoryCache::new();
1723         unsafe { SHARED.call(callback) }
1724     }
1725     pub fn IAllJoynServiceInfoStatics<R, F: FnOnce(&IAllJoynServiceInfoStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1726         static mut SHARED: ::windows::runtime::FactoryCache<AllJoynServiceInfo, IAllJoynServiceInfoStatics> = ::windows::runtime::FactoryCache::new();
1727         unsafe { SHARED.call(callback) }
1728     }
1729 }
1730 unsafe impl ::windows::runtime::RuntimeType for AllJoynServiceInfo {
1731     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.AllJoyn.AllJoynServiceInfo;{4cbe8209-b93e-4182-999b-ddd000f9c575})");
1732 }
1733 unsafe impl ::windows::runtime::Interface for AllJoynServiceInfo {
1734     type Vtable = IAllJoynServiceInfo_abi;
1735     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1287553545, 47422, 16770, [153, 155, 221, 208, 0, 249, 197, 117]);
1736 }
1737 impl ::windows::runtime::RuntimeName for AllJoynServiceInfo {
1738     const NAME: &'static str = "Windows.Devices.AllJoyn.AllJoynServiceInfo";
1739 }
1740 impl ::std::convert::From<AllJoynServiceInfo> for ::windows::runtime::IUnknown {
1741     fn from(value: AllJoynServiceInfo) -> Self {
1742         unsafe { ::std::mem::transmute(value) }
1743     }
1744 }
1745 impl ::std::convert::From<&AllJoynServiceInfo> for ::windows::runtime::IUnknown {
1746     fn from(value: &AllJoynServiceInfo) -> Self {
1747         ::std::convert::From::from(::std::clone::Clone::clone(value))
1748     }
1749 }
1750 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AllJoynServiceInfo {
1751     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1752         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1753     }
1754 }
1755 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AllJoynServiceInfo {
1756     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1757         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1758     }
1759 }
1760 impl ::std::convert::From<AllJoynServiceInfo> for ::windows::runtime::IInspectable {
1761     fn from(value: AllJoynServiceInfo) -> Self {
1762         value.0
1763     }
1764 }
1765 impl ::std::convert::From<&AllJoynServiceInfo> for ::windows::runtime::IInspectable {
1766     fn from(value: &AllJoynServiceInfo) -> Self {
1767         value.0.clone()
1768     }
1769 }
1770 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AllJoynServiceInfo {
1771     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1772         ::windows::runtime::Param::Owned(self.0)
1773     }
1774 }
1775 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AllJoynServiceInfo {
1776     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1777         ::windows::runtime::Param::Borrowed(&self.0)
1778     }
1779 }
1780 unsafe impl ::std::marker::Send for AllJoynServiceInfo {}
1781 unsafe impl ::std::marker::Sync for AllJoynServiceInfo {}
1782 #[repr(transparent)]
1783 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1784 pub struct AllJoynServiceInfoRemovedEventArgs(::windows::runtime::IInspectable);
1785 impl AllJoynServiceInfoRemovedEventArgs {
1786     #[cfg(feature = "deprecated")]
1787     pub fn UniqueName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1788         let this = self;
1789         unsafe {
1790             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1791             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1792         }
1793     }
1794     #[cfg(feature = "deprecated")]
1795     pub fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(uniquename: Param0) -> ::windows::runtime::Result<AllJoynServiceInfoRemovedEventArgs> {
1796         Self::IAllJoynServiceInfoRemovedEventArgsFactory(|this| unsafe {
1797             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1798             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), uniquename.into_param().abi(), &mut result__).from_abi::<AllJoynServiceInfoRemovedEventArgs>(result__)
1799         })
1800     }
1801     pub fn IAllJoynServiceInfoRemovedEventArgsFactory<R, F: FnOnce(&IAllJoynServiceInfoRemovedEventArgsFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1802         static mut SHARED: ::windows::runtime::FactoryCache<AllJoynServiceInfoRemovedEventArgs, IAllJoynServiceInfoRemovedEventArgsFactory> = ::windows::runtime::FactoryCache::new();
1803         unsafe { SHARED.call(callback) }
1804     }
1805 }
1806 unsafe impl ::windows::runtime::RuntimeType for AllJoynServiceInfoRemovedEventArgs {
1807     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.AllJoyn.AllJoynServiceInfoRemovedEventArgs;{3057a95f-1d3f-41f3-8969-e32792627396})");
1808 }
1809 unsafe impl ::windows::runtime::Interface for AllJoynServiceInfoRemovedEventArgs {
1810     type Vtable = IAllJoynServiceInfoRemovedEventArgs_abi;
1811     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(811051359, 7487, 16883, [137, 105, 227, 39, 146, 98, 115, 150]);
1812 }
1813 impl ::windows::runtime::RuntimeName for AllJoynServiceInfoRemovedEventArgs {
1814     const NAME: &'static str = "Windows.Devices.AllJoyn.AllJoynServiceInfoRemovedEventArgs";
1815 }
1816 impl ::std::convert::From<AllJoynServiceInfoRemovedEventArgs> for ::windows::runtime::IUnknown {
1817     fn from(value: AllJoynServiceInfoRemovedEventArgs) -> Self {
1818         unsafe { ::std::mem::transmute(value) }
1819     }
1820 }
1821 impl ::std::convert::From<&AllJoynServiceInfoRemovedEventArgs> for ::windows::runtime::IUnknown {
1822     fn from(value: &AllJoynServiceInfoRemovedEventArgs) -> Self {
1823         ::std::convert::From::from(::std::clone::Clone::clone(value))
1824     }
1825 }
1826 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AllJoynServiceInfoRemovedEventArgs {
1827     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1828         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1829     }
1830 }
1831 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AllJoynServiceInfoRemovedEventArgs {
1832     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1833         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1834     }
1835 }
1836 impl ::std::convert::From<AllJoynServiceInfoRemovedEventArgs> for ::windows::runtime::IInspectable {
1837     fn from(value: AllJoynServiceInfoRemovedEventArgs) -> Self {
1838         value.0
1839     }
1840 }
1841 impl ::std::convert::From<&AllJoynServiceInfoRemovedEventArgs> for ::windows::runtime::IInspectable {
1842     fn from(value: &AllJoynServiceInfoRemovedEventArgs) -> Self {
1843         value.0.clone()
1844     }
1845 }
1846 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AllJoynServiceInfoRemovedEventArgs {
1847     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1848         ::windows::runtime::Param::Owned(self.0)
1849     }
1850 }
1851 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AllJoynServiceInfoRemovedEventArgs {
1852     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1853         ::windows::runtime::Param::Borrowed(&self.0)
1854     }
1855 }
1856 unsafe impl ::std::marker::Send for AllJoynServiceInfoRemovedEventArgs {}
1857 unsafe impl ::std::marker::Sync for AllJoynServiceInfoRemovedEventArgs {}
1858 #[repr(transparent)]
1859 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1860 pub struct AllJoynSession(::windows::runtime::IInspectable);
1861 impl AllJoynSession {
1862     #[cfg(feature = "deprecated")]
1863     pub fn Id(&self) -> ::windows::runtime::Result<i32> {
1864         let this = self;
1865         unsafe {
1866             let mut result__: i32 = ::std::mem::zeroed();
1867             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
1868         }
1869     }
1870     #[cfg(feature = "deprecated")]
1871     pub fn Status(&self) -> ::windows::runtime::Result<i32> {
1872         let this = self;
1873         unsafe {
1874             let mut result__: i32 = ::std::mem::zeroed();
1875             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
1876         }
1877     }
1878     #[cfg(feature = "deprecated")]
1879     #[cfg(feature = "Foundation")]
1880     pub fn RemoveMemberAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, uniquename: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<i32>> {
1881         let this = self;
1882         unsafe {
1883             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1884             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), uniquename.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<i32>>(result__)
1885         }
1886     }
1887     #[cfg(feature = "deprecated")]
1888     #[cfg(feature = "Foundation")]
1889     pub fn MemberAdded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<AllJoynSession, AllJoynSessionMemberAddedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
1890         let this = self;
1891         unsafe {
1892             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1893             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
1894         }
1895     }
1896     #[cfg(feature = "deprecated")]
1897     #[cfg(feature = "Foundation")]
1898     pub fn RemoveMemberAdded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
1899         let this = self;
1900         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
1901     }
1902     #[cfg(feature = "deprecated")]
1903     #[cfg(feature = "Foundation")]
1904     pub fn MemberRemoved<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<AllJoynSession, AllJoynSessionMemberRemovedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
1905         let this = self;
1906         unsafe {
1907             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1908             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
1909         }
1910     }
1911     #[cfg(feature = "deprecated")]
1912     #[cfg(feature = "Foundation")]
1913     pub fn RemoveMemberRemoved<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
1914         let this = self;
1915         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
1916     }
1917     #[cfg(feature = "deprecated")]
1918     #[cfg(feature = "Foundation")]
1919     pub fn Lost<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<AllJoynSession, AllJoynSessionLostEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
1920         let this = self;
1921         unsafe {
1922             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1923             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
1924         }
1925     }
1926     #[cfg(feature = "deprecated")]
1927     #[cfg(feature = "Foundation")]
1928     pub fn RemoveLost<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
1929         let this = self;
1930         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
1931     }
1932     #[cfg(feature = "deprecated")]
1933     #[cfg(feature = "Foundation")]
1934     pub fn GetFromServiceInfoAsync<'a, Param0: ::windows::runtime::IntoParam<'a, AllJoynServiceInfo>>(serviceinfo: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<AllJoynSession>> {
1935         Self::IAllJoynSessionStatics(|this| unsafe {
1936             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1937             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), serviceinfo.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<AllJoynSession>>(result__)
1938         })
1939     }
1940     #[cfg(feature = "deprecated")]
1941     #[cfg(feature = "Foundation")]
1942     pub fn GetFromServiceInfoAndBusAttachmentAsync<'a, Param0: ::windows::runtime::IntoParam<'a, AllJoynServiceInfo>, Param1: ::windows::runtime::IntoParam<'a, AllJoynBusAttachment>>(serviceinfo: Param0, busattachment: Param1) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<AllJoynSession>> {
1943         Self::IAllJoynSessionStatics(|this| unsafe {
1944             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1945             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), serviceinfo.into_param().abi(), busattachment.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<AllJoynSession>>(result__)
1946         })
1947     }
1948     pub fn IAllJoynSessionStatics<R, F: FnOnce(&IAllJoynSessionStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1949         static mut SHARED: ::windows::runtime::FactoryCache<AllJoynSession, IAllJoynSessionStatics> = ::windows::runtime::FactoryCache::new();
1950         unsafe { SHARED.call(callback) }
1951     }
1952 }
1953 unsafe impl ::windows::runtime::RuntimeType for AllJoynSession {
1954     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.AllJoyn.AllJoynSession;{e8d11b0c-c0d4-406c-88a9-a93efa85d4b1})");
1955 }
1956 unsafe impl ::windows::runtime::Interface for AllJoynSession {
1957     type Vtable = IAllJoynSession_abi;
1958     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3906018060, 49364, 16492, [136, 169, 169, 62, 250, 133, 212, 177]);
1959 }
1960 impl ::windows::runtime::RuntimeName for AllJoynSession {
1961     const NAME: &'static str = "Windows.Devices.AllJoyn.AllJoynSession";
1962 }
1963 impl ::std::convert::From<AllJoynSession> for ::windows::runtime::IUnknown {
1964     fn from(value: AllJoynSession) -> Self {
1965         unsafe { ::std::mem::transmute(value) }
1966     }
1967 }
1968 impl ::std::convert::From<&AllJoynSession> for ::windows::runtime::IUnknown {
1969     fn from(value: &AllJoynSession) -> Self {
1970         ::std::convert::From::from(::std::clone::Clone::clone(value))
1971     }
1972 }
1973 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AllJoynSession {
1974     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1975         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1976     }
1977 }
1978 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AllJoynSession {
1979     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1980         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1981     }
1982 }
1983 impl ::std::convert::From<AllJoynSession> for ::windows::runtime::IInspectable {
1984     fn from(value: AllJoynSession) -> Self {
1985         value.0
1986     }
1987 }
1988 impl ::std::convert::From<&AllJoynSession> for ::windows::runtime::IInspectable {
1989     fn from(value: &AllJoynSession) -> Self {
1990         value.0.clone()
1991     }
1992 }
1993 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AllJoynSession {
1994     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1995         ::windows::runtime::Param::Owned(self.0)
1996     }
1997 }
1998 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AllJoynSession {
1999     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2000         ::windows::runtime::Param::Borrowed(&self.0)
2001     }
2002 }
2003 unsafe impl ::std::marker::Send for AllJoynSession {}
2004 unsafe impl ::std::marker::Sync for AllJoynSession {}
2005 #[repr(transparent)]
2006 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2007 pub struct AllJoynSessionJoinedEventArgs(::windows::runtime::IInspectable);
2008 impl AllJoynSessionJoinedEventArgs {
2009     #[cfg(feature = "deprecated")]
2010     pub fn Session(&self) -> ::windows::runtime::Result<AllJoynSession> {
2011         let this = self;
2012         unsafe {
2013             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2014             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AllJoynSession>(result__)
2015         }
2016     }
2017     #[cfg(feature = "deprecated")]
2018     pub fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, AllJoynSession>>(session: Param0) -> ::windows::runtime::Result<AllJoynSessionJoinedEventArgs> {
2019         Self::IAllJoynSessionJoinedEventArgsFactory(|this| unsafe {
2020             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2021             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), session.into_param().abi(), &mut result__).from_abi::<AllJoynSessionJoinedEventArgs>(result__)
2022         })
2023     }
2024     pub fn IAllJoynSessionJoinedEventArgsFactory<R, F: FnOnce(&IAllJoynSessionJoinedEventArgsFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2025         static mut SHARED: ::windows::runtime::FactoryCache<AllJoynSessionJoinedEventArgs, IAllJoynSessionJoinedEventArgsFactory> = ::windows::runtime::FactoryCache::new();
2026         unsafe { SHARED.call(callback) }
2027     }
2028 }
2029 unsafe impl ::windows::runtime::RuntimeType for AllJoynSessionJoinedEventArgs {
2030     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.AllJoyn.AllJoynSessionJoinedEventArgs;{9e9f5bd0-b5d7-47c5-8dab-b040cc192871})");
2031 }
2032 unsafe impl ::windows::runtime::Interface for AllJoynSessionJoinedEventArgs {
2033     type Vtable = IAllJoynSessionJoinedEventArgs_abi;
2034     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2661243856, 46551, 18373, [141, 171, 176, 64, 204, 25, 40, 113]);
2035 }
2036 impl ::windows::runtime::RuntimeName for AllJoynSessionJoinedEventArgs {
2037     const NAME: &'static str = "Windows.Devices.AllJoyn.AllJoynSessionJoinedEventArgs";
2038 }
2039 impl ::std::convert::From<AllJoynSessionJoinedEventArgs> for ::windows::runtime::IUnknown {
2040     fn from(value: AllJoynSessionJoinedEventArgs) -> Self {
2041         unsafe { ::std::mem::transmute(value) }
2042     }
2043 }
2044 impl ::std::convert::From<&AllJoynSessionJoinedEventArgs> for ::windows::runtime::IUnknown {
2045     fn from(value: &AllJoynSessionJoinedEventArgs) -> Self {
2046         ::std::convert::From::from(::std::clone::Clone::clone(value))
2047     }
2048 }
2049 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AllJoynSessionJoinedEventArgs {
2050     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2051         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2052     }
2053 }
2054 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AllJoynSessionJoinedEventArgs {
2055     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2056         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2057     }
2058 }
2059 impl ::std::convert::From<AllJoynSessionJoinedEventArgs> for ::windows::runtime::IInspectable {
2060     fn from(value: AllJoynSessionJoinedEventArgs) -> Self {
2061         value.0
2062     }
2063 }
2064 impl ::std::convert::From<&AllJoynSessionJoinedEventArgs> for ::windows::runtime::IInspectable {
2065     fn from(value: &AllJoynSessionJoinedEventArgs) -> Self {
2066         value.0.clone()
2067     }
2068 }
2069 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AllJoynSessionJoinedEventArgs {
2070     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2071         ::windows::runtime::Param::Owned(self.0)
2072     }
2073 }
2074 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AllJoynSessionJoinedEventArgs {
2075     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2076         ::windows::runtime::Param::Borrowed(&self.0)
2077     }
2078 }
2079 unsafe impl ::std::marker::Send for AllJoynSessionJoinedEventArgs {}
2080 unsafe impl ::std::marker::Sync for AllJoynSessionJoinedEventArgs {}
2081 #[repr(transparent)]
2082 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2083 pub struct AllJoynSessionLostEventArgs(::windows::runtime::IInspectable);
2084 impl AllJoynSessionLostEventArgs {
2085     #[cfg(feature = "deprecated")]
2086     pub fn Reason(&self) -> ::windows::runtime::Result<AllJoynSessionLostReason> {
2087         let this = self;
2088         unsafe {
2089             let mut result__: AllJoynSessionLostReason = ::std::mem::zeroed();
2090             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AllJoynSessionLostReason>(result__)
2091         }
2092     }
2093     #[cfg(feature = "deprecated")]
2094     pub fn Create(reason: AllJoynSessionLostReason) -> ::windows::runtime::Result<AllJoynSessionLostEventArgs> {
2095         Self::IAllJoynSessionLostEventArgsFactory(|this| unsafe {
2096             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2097             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), reason, &mut result__).from_abi::<AllJoynSessionLostEventArgs>(result__)
2098         })
2099     }
2100     pub fn IAllJoynSessionLostEventArgsFactory<R, F: FnOnce(&IAllJoynSessionLostEventArgsFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2101         static mut SHARED: ::windows::runtime::FactoryCache<AllJoynSessionLostEventArgs, IAllJoynSessionLostEventArgsFactory> = ::windows::runtime::FactoryCache::new();
2102         unsafe { SHARED.call(callback) }
2103     }
2104 }
2105 unsafe impl ::windows::runtime::RuntimeType for AllJoynSessionLostEventArgs {
2106     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.AllJoyn.AllJoynSessionLostEventArgs;{e766a48a-8bb8-4954-ae67-d2fa43d1f96b})");
2107 }
2108 unsafe impl ::windows::runtime::Interface for AllJoynSessionLostEventArgs {
2109     type Vtable = IAllJoynSessionLostEventArgs_abi;
2110     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3882263690, 35768, 18772, [174, 103, 210, 250, 67, 209, 249, 107]);
2111 }
2112 impl ::windows::runtime::RuntimeName for AllJoynSessionLostEventArgs {
2113     const NAME: &'static str = "Windows.Devices.AllJoyn.AllJoynSessionLostEventArgs";
2114 }
2115 impl ::std::convert::From<AllJoynSessionLostEventArgs> for ::windows::runtime::IUnknown {
2116     fn from(value: AllJoynSessionLostEventArgs) -> Self {
2117         unsafe { ::std::mem::transmute(value) }
2118     }
2119 }
2120 impl ::std::convert::From<&AllJoynSessionLostEventArgs> for ::windows::runtime::IUnknown {
2121     fn from(value: &AllJoynSessionLostEventArgs) -> Self {
2122         ::std::convert::From::from(::std::clone::Clone::clone(value))
2123     }
2124 }
2125 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AllJoynSessionLostEventArgs {
2126     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2127         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2128     }
2129 }
2130 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AllJoynSessionLostEventArgs {
2131     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2132         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2133     }
2134 }
2135 impl ::std::convert::From<AllJoynSessionLostEventArgs> for ::windows::runtime::IInspectable {
2136     fn from(value: AllJoynSessionLostEventArgs) -> Self {
2137         value.0
2138     }
2139 }
2140 impl ::std::convert::From<&AllJoynSessionLostEventArgs> for ::windows::runtime::IInspectable {
2141     fn from(value: &AllJoynSessionLostEventArgs) -> Self {
2142         value.0.clone()
2143     }
2144 }
2145 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AllJoynSessionLostEventArgs {
2146     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2147         ::windows::runtime::Param::Owned(self.0)
2148     }
2149 }
2150 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AllJoynSessionLostEventArgs {
2151     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2152         ::windows::runtime::Param::Borrowed(&self.0)
2153     }
2154 }
2155 unsafe impl ::std::marker::Send for AllJoynSessionLostEventArgs {}
2156 unsafe impl ::std::marker::Sync for AllJoynSessionLostEventArgs {}
2157 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2158 #[repr(transparent)]
2159 pub struct AllJoynSessionLostReason(pub i32);
2160 impl AllJoynSessionLostReason {
2161     pub const None: AllJoynSessionLostReason = AllJoynSessionLostReason(0i32);
2162     pub const ProducerLeftSession: AllJoynSessionLostReason = AllJoynSessionLostReason(1i32);
2163     pub const ProducerClosedAbruptly: AllJoynSessionLostReason = AllJoynSessionLostReason(2i32);
2164     pub const RemovedByProducer: AllJoynSessionLostReason = AllJoynSessionLostReason(3i32);
2165     pub const LinkTimeout: AllJoynSessionLostReason = AllJoynSessionLostReason(4i32);
2166     pub const Other: AllJoynSessionLostReason = AllJoynSessionLostReason(5i32);
2167 }
2168 impl ::std::convert::From<i32> for AllJoynSessionLostReason {
2169     fn from(value: i32) -> Self {
2170         Self(value)
2171     }
2172 }
2173 unsafe impl ::windows::runtime::Abi for AllJoynSessionLostReason {
2174     type Abi = Self;
2175     type DefaultType = Self;
2176 }
2177 unsafe impl ::windows::runtime::RuntimeType for AllJoynSessionLostReason {
2178     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Devices.AllJoyn.AllJoynSessionLostReason;i4)");
2179 }
2180 #[repr(transparent)]
2181 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2182 pub struct AllJoynSessionMemberAddedEventArgs(::windows::runtime::IInspectable);
2183 impl AllJoynSessionMemberAddedEventArgs {
2184     #[cfg(feature = "deprecated")]
2185     pub fn UniqueName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2186         let this = self;
2187         unsafe {
2188             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2189             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2190         }
2191     }
2192     #[cfg(feature = "deprecated")]
2193     pub fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(uniquename: Param0) -> ::windows::runtime::Result<AllJoynSessionMemberAddedEventArgs> {
2194         Self::IAllJoynSessionMemberAddedEventArgsFactory(|this| unsafe {
2195             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2196             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), uniquename.into_param().abi(), &mut result__).from_abi::<AllJoynSessionMemberAddedEventArgs>(result__)
2197         })
2198     }
2199     pub fn IAllJoynSessionMemberAddedEventArgsFactory<R, F: FnOnce(&IAllJoynSessionMemberAddedEventArgsFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2200         static mut SHARED: ::windows::runtime::FactoryCache<AllJoynSessionMemberAddedEventArgs, IAllJoynSessionMemberAddedEventArgsFactory> = ::windows::runtime::FactoryCache::new();
2201         unsafe { SHARED.call(callback) }
2202     }
2203 }
2204 unsafe impl ::windows::runtime::RuntimeType for AllJoynSessionMemberAddedEventArgs {
2205     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.AllJoyn.AllJoynSessionMemberAddedEventArgs;{49a2798a-0dd1-46c1-9cd6-27190e503a5e})");
2206 }
2207 unsafe impl ::windows::runtime::Interface for AllJoynSessionMemberAddedEventArgs {
2208     type Vtable = IAllJoynSessionMemberAddedEventArgs_abi;
2209     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1235384714, 3537, 18113, [156, 214, 39, 25, 14, 80, 58, 94]);
2210 }
2211 impl ::windows::runtime::RuntimeName for AllJoynSessionMemberAddedEventArgs {
2212     const NAME: &'static str = "Windows.Devices.AllJoyn.AllJoynSessionMemberAddedEventArgs";
2213 }
2214 impl ::std::convert::From<AllJoynSessionMemberAddedEventArgs> for ::windows::runtime::IUnknown {
2215     fn from(value: AllJoynSessionMemberAddedEventArgs) -> Self {
2216         unsafe { ::std::mem::transmute(value) }
2217     }
2218 }
2219 impl ::std::convert::From<&AllJoynSessionMemberAddedEventArgs> for ::windows::runtime::IUnknown {
2220     fn from(value: &AllJoynSessionMemberAddedEventArgs) -> Self {
2221         ::std::convert::From::from(::std::clone::Clone::clone(value))
2222     }
2223 }
2224 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AllJoynSessionMemberAddedEventArgs {
2225     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2226         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2227     }
2228 }
2229 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AllJoynSessionMemberAddedEventArgs {
2230     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2231         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2232     }
2233 }
2234 impl ::std::convert::From<AllJoynSessionMemberAddedEventArgs> for ::windows::runtime::IInspectable {
2235     fn from(value: AllJoynSessionMemberAddedEventArgs) -> Self {
2236         value.0
2237     }
2238 }
2239 impl ::std::convert::From<&AllJoynSessionMemberAddedEventArgs> for ::windows::runtime::IInspectable {
2240     fn from(value: &AllJoynSessionMemberAddedEventArgs) -> Self {
2241         value.0.clone()
2242     }
2243 }
2244 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AllJoynSessionMemberAddedEventArgs {
2245     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2246         ::windows::runtime::Param::Owned(self.0)
2247     }
2248 }
2249 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AllJoynSessionMemberAddedEventArgs {
2250     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2251         ::windows::runtime::Param::Borrowed(&self.0)
2252     }
2253 }
2254 unsafe impl ::std::marker::Send for AllJoynSessionMemberAddedEventArgs {}
2255 unsafe impl ::std::marker::Sync for AllJoynSessionMemberAddedEventArgs {}
2256 #[repr(transparent)]
2257 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2258 pub struct AllJoynSessionMemberRemovedEventArgs(::windows::runtime::IInspectable);
2259 impl AllJoynSessionMemberRemovedEventArgs {
2260     #[cfg(feature = "deprecated")]
2261     pub fn UniqueName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2262         let this = self;
2263         unsafe {
2264             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2265             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2266         }
2267     }
2268     #[cfg(feature = "deprecated")]
2269     pub fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(uniquename: Param0) -> ::windows::runtime::Result<AllJoynSessionMemberRemovedEventArgs> {
2270         Self::IAllJoynSessionMemberRemovedEventArgsFactory(|this| unsafe {
2271             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2272             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), uniquename.into_param().abi(), &mut result__).from_abi::<AllJoynSessionMemberRemovedEventArgs>(result__)
2273         })
2274     }
2275     pub fn IAllJoynSessionMemberRemovedEventArgsFactory<R, F: FnOnce(&IAllJoynSessionMemberRemovedEventArgsFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2276         static mut SHARED: ::windows::runtime::FactoryCache<AllJoynSessionMemberRemovedEventArgs, IAllJoynSessionMemberRemovedEventArgsFactory> = ::windows::runtime::FactoryCache::new();
2277         unsafe { SHARED.call(callback) }
2278     }
2279 }
2280 unsafe impl ::windows::runtime::RuntimeType for AllJoynSessionMemberRemovedEventArgs {
2281     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.AllJoyn.AllJoynSessionMemberRemovedEventArgs;{409a219f-aa4a-4893-b430-baa1b63c6219})");
2282 }
2283 unsafe impl ::windows::runtime::Interface for AllJoynSessionMemberRemovedEventArgs {
2284     type Vtable = IAllJoynSessionMemberRemovedEventArgs_abi;
2285     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1083842975, 43594, 18579, [180, 48, 186, 161, 182, 60, 98, 25]);
2286 }
2287 impl ::windows::runtime::RuntimeName for AllJoynSessionMemberRemovedEventArgs {
2288     const NAME: &'static str = "Windows.Devices.AllJoyn.AllJoynSessionMemberRemovedEventArgs";
2289 }
2290 impl ::std::convert::From<AllJoynSessionMemberRemovedEventArgs> for ::windows::runtime::IUnknown {
2291     fn from(value: AllJoynSessionMemberRemovedEventArgs) -> Self {
2292         unsafe { ::std::mem::transmute(value) }
2293     }
2294 }
2295 impl ::std::convert::From<&AllJoynSessionMemberRemovedEventArgs> for ::windows::runtime::IUnknown {
2296     fn from(value: &AllJoynSessionMemberRemovedEventArgs) -> Self {
2297         ::std::convert::From::from(::std::clone::Clone::clone(value))
2298     }
2299 }
2300 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AllJoynSessionMemberRemovedEventArgs {
2301     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2302         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2303     }
2304 }
2305 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AllJoynSessionMemberRemovedEventArgs {
2306     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2307         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2308     }
2309 }
2310 impl ::std::convert::From<AllJoynSessionMemberRemovedEventArgs> for ::windows::runtime::IInspectable {
2311     fn from(value: AllJoynSessionMemberRemovedEventArgs) -> Self {
2312         value.0
2313     }
2314 }
2315 impl ::std::convert::From<&AllJoynSessionMemberRemovedEventArgs> for ::windows::runtime::IInspectable {
2316     fn from(value: &AllJoynSessionMemberRemovedEventArgs) -> Self {
2317         value.0.clone()
2318     }
2319 }
2320 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AllJoynSessionMemberRemovedEventArgs {
2321     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2322         ::windows::runtime::Param::Owned(self.0)
2323     }
2324 }
2325 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AllJoynSessionMemberRemovedEventArgs {
2326     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2327         ::windows::runtime::Param::Borrowed(&self.0)
2328     }
2329 }
2330 unsafe impl ::std::marker::Send for AllJoynSessionMemberRemovedEventArgs {}
2331 unsafe impl ::std::marker::Sync for AllJoynSessionMemberRemovedEventArgs {}
2332 pub struct AllJoynStatus {}
2333 impl AllJoynStatus {
2334     #[cfg(feature = "deprecated")]
2335     pub fn Ok() -> ::windows::runtime::Result<i32> {
2336         Self::IAllJoynStatusStatics(|this| unsafe {
2337             let mut result__: i32 = ::std::mem::zeroed();
2338             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
2339         })
2340     }
2341     #[cfg(feature = "deprecated")]
2342     pub fn Fail() -> ::windows::runtime::Result<i32> {
2343         Self::IAllJoynStatusStatics(|this| unsafe {
2344             let mut result__: i32 = ::std::mem::zeroed();
2345             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
2346         })
2347     }
2348     #[cfg(feature = "deprecated")]
2349     pub fn OperationTimedOut() -> ::windows::runtime::Result<i32> {
2350         Self::IAllJoynStatusStatics(|this| unsafe {
2351             let mut result__: i32 = ::std::mem::zeroed();
2352             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
2353         })
2354     }
2355     #[cfg(feature = "deprecated")]
2356     pub fn OtherEndClosed() -> ::windows::runtime::Result<i32> {
2357         Self::IAllJoynStatusStatics(|this| unsafe {
2358             let mut result__: i32 = ::std::mem::zeroed();
2359             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
2360         })
2361     }
2362     #[cfg(feature = "deprecated")]
2363     pub fn ConnectionRefused() -> ::windows::runtime::Result<i32> {
2364         Self::IAllJoynStatusStatics(|this| unsafe {
2365             let mut result__: i32 = ::std::mem::zeroed();
2366             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
2367         })
2368     }
2369     #[cfg(feature = "deprecated")]
2370     pub fn AuthenticationFailed() -> ::windows::runtime::Result<i32> {
2371         Self::IAllJoynStatusStatics(|this| unsafe {
2372             let mut result__: i32 = ::std::mem::zeroed();
2373             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
2374         })
2375     }
2376     #[cfg(feature = "deprecated")]
2377     pub fn AuthenticationRejectedByUser() -> ::windows::runtime::Result<i32> {
2378         Self::IAllJoynStatusStatics(|this| unsafe {
2379             let mut result__: i32 = ::std::mem::zeroed();
2380             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
2381         })
2382     }
2383     #[cfg(feature = "deprecated")]
2384     pub fn SslConnectFailed() -> ::windows::runtime::Result<i32> {
2385         Self::IAllJoynStatusStatics(|this| unsafe {
2386             let mut result__: i32 = ::std::mem::zeroed();
2387             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
2388         })
2389     }
2390     #[cfg(feature = "deprecated")]
2391     pub fn SslIdentityVerificationFailed() -> ::windows::runtime::Result<i32> {
2392         Self::IAllJoynStatusStatics(|this| unsafe {
2393             let mut result__: i32 = ::std::mem::zeroed();
2394             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
2395         })
2396     }
2397     #[cfg(feature = "deprecated")]
2398     pub fn InsufficientSecurity() -> ::windows::runtime::Result<i32> {
2399         Self::IAllJoynStatusStatics(|this| unsafe {
2400             let mut result__: i32 = ::std::mem::zeroed();
2401             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
2402         })
2403     }
2404     #[cfg(feature = "deprecated")]
2405     pub fn InvalidArgument1() -> ::windows::runtime::Result<i32> {
2406         Self::IAllJoynStatusStatics(|this| unsafe {
2407             let mut result__: i32 = ::std::mem::zeroed();
2408             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
2409         })
2410     }
2411     #[cfg(feature = "deprecated")]
2412     pub fn InvalidArgument2() -> ::windows::runtime::Result<i32> {
2413         Self::IAllJoynStatusStatics(|this| unsafe {
2414             let mut result__: i32 = ::std::mem::zeroed();
2415             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
2416         })
2417     }
2418     #[cfg(feature = "deprecated")]
2419     pub fn InvalidArgument3() -> ::windows::runtime::Result<i32> {
2420         Self::IAllJoynStatusStatics(|this| unsafe {
2421             let mut result__: i32 = ::std::mem::zeroed();
2422             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
2423         })
2424     }
2425     #[cfg(feature = "deprecated")]
2426     pub fn InvalidArgument4() -> ::windows::runtime::Result<i32> {
2427         Self::IAllJoynStatusStatics(|this| unsafe {
2428             let mut result__: i32 = ::std::mem::zeroed();
2429             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
2430         })
2431     }
2432     #[cfg(feature = "deprecated")]
2433     pub fn InvalidArgument5() -> ::windows::runtime::Result<i32> {
2434         Self::IAllJoynStatusStatics(|this| unsafe {
2435             let mut result__: i32 = ::std::mem::zeroed();
2436             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
2437         })
2438     }
2439     #[cfg(feature = "deprecated")]
2440     pub fn InvalidArgument6() -> ::windows::runtime::Result<i32> {
2441         Self::IAllJoynStatusStatics(|this| unsafe {
2442             let mut result__: i32 = ::std::mem::zeroed();
2443             (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
2444         })
2445     }
2446     #[cfg(feature = "deprecated")]
2447     pub fn InvalidArgument7() -> ::windows::runtime::Result<i32> {
2448         Self::IAllJoynStatusStatics(|this| unsafe {
2449             let mut result__: i32 = ::std::mem::zeroed();
2450             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
2451         })
2452     }
2453     #[cfg(feature = "deprecated")]
2454     pub fn InvalidArgument8() -> ::windows::runtime::Result<i32> {
2455         Self::IAllJoynStatusStatics(|this| unsafe {
2456             let mut result__: i32 = ::std::mem::zeroed();
2457             (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
2458         })
2459     }
2460     pub fn IAllJoynStatusStatics<R, F: FnOnce(&IAllJoynStatusStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2461         static mut SHARED: ::windows::runtime::FactoryCache<AllJoynStatus, IAllJoynStatusStatics> = ::windows::runtime::FactoryCache::new();
2462         unsafe { SHARED.call(callback) }
2463     }
2464 }
2465 impl ::windows::runtime::RuntimeName for AllJoynStatus {
2466     const NAME: &'static str = "Windows.Devices.AllJoyn.AllJoynStatus";
2467 }
2468 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2469 #[repr(transparent)]
2470 pub struct AllJoynTrafficType(pub i32);
2471 impl AllJoynTrafficType {
2472     pub const Unknown: AllJoynTrafficType = AllJoynTrafficType(0i32);
2473     pub const Messages: AllJoynTrafficType = AllJoynTrafficType(1i32);
2474     pub const RawUnreliable: AllJoynTrafficType = AllJoynTrafficType(2i32);
2475     pub const RawReliable: AllJoynTrafficType = AllJoynTrafficType(4i32);
2476 }
2477 impl ::std::convert::From<i32> for AllJoynTrafficType {
2478     fn from(value: i32) -> Self {
2479         Self(value)
2480     }
2481 }
2482 unsafe impl ::windows::runtime::Abi for AllJoynTrafficType {
2483     type Abi = Self;
2484     type DefaultType = Self;
2485 }
2486 unsafe impl ::windows::runtime::RuntimeType for AllJoynTrafficType {
2487     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Devices.AllJoyn.AllJoynTrafficType;i4)");
2488 }
2489 #[repr(transparent)]
2490 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2491 pub struct AllJoynWatcherStoppedEventArgs(::windows::runtime::IInspectable);
2492 impl AllJoynWatcherStoppedEventArgs {
2493     #[cfg(feature = "deprecated")]
2494     pub fn Status(&self) -> ::windows::runtime::Result<i32> {
2495         let this = self;
2496         unsafe {
2497             let mut result__: i32 = ::std::mem::zeroed();
2498             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
2499         }
2500     }
2501     #[cfg(feature = "deprecated")]
2502     pub fn Create(status: i32) -> ::windows::runtime::Result<AllJoynWatcherStoppedEventArgs> {
2503         Self::IAllJoynWatcherStoppedEventArgsFactory(|this| unsafe {
2504             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2505             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), status, &mut result__).from_abi::<AllJoynWatcherStoppedEventArgs>(result__)
2506         })
2507     }
2508     pub fn IAllJoynWatcherStoppedEventArgsFactory<R, F: FnOnce(&IAllJoynWatcherStoppedEventArgsFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2509         static mut SHARED: ::windows::runtime::FactoryCache<AllJoynWatcherStoppedEventArgs, IAllJoynWatcherStoppedEventArgsFactory> = ::windows::runtime::FactoryCache::new();
2510         unsafe { SHARED.call(callback) }
2511     }
2512 }
2513 unsafe impl ::windows::runtime::RuntimeType for AllJoynWatcherStoppedEventArgs {
2514     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.AllJoyn.AllJoynWatcherStoppedEventArgs;{c9fca03b-701d-4aa8-97dd-a2bb0a8f5fa3})");
2515 }
2516 unsafe impl ::windows::runtime::Interface for AllJoynWatcherStoppedEventArgs {
2517     type Vtable = IAllJoynWatcherStoppedEventArgs_abi;
2518     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3388776507, 28701, 19112, [151, 221, 162, 187, 10, 143, 95, 163]);
2519 }
2520 impl ::windows::runtime::RuntimeName for AllJoynWatcherStoppedEventArgs {
2521     const NAME: &'static str = "Windows.Devices.AllJoyn.AllJoynWatcherStoppedEventArgs";
2522 }
2523 impl ::std::convert::From<AllJoynWatcherStoppedEventArgs> for ::windows::runtime::IUnknown {
2524     fn from(value: AllJoynWatcherStoppedEventArgs) -> Self {
2525         unsafe { ::std::mem::transmute(value) }
2526     }
2527 }
2528 impl ::std::convert::From<&AllJoynWatcherStoppedEventArgs> for ::windows::runtime::IUnknown {
2529     fn from(value: &AllJoynWatcherStoppedEventArgs) -> Self {
2530         ::std::convert::From::from(::std::clone::Clone::clone(value))
2531     }
2532 }
2533 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AllJoynWatcherStoppedEventArgs {
2534     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2535         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2536     }
2537 }
2538 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AllJoynWatcherStoppedEventArgs {
2539     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2540         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2541     }
2542 }
2543 impl ::std::convert::From<AllJoynWatcherStoppedEventArgs> for ::windows::runtime::IInspectable {
2544     fn from(value: AllJoynWatcherStoppedEventArgs) -> Self {
2545         value.0
2546     }
2547 }
2548 impl ::std::convert::From<&AllJoynWatcherStoppedEventArgs> for ::windows::runtime::IInspectable {
2549     fn from(value: &AllJoynWatcherStoppedEventArgs) -> Self {
2550         value.0.clone()
2551     }
2552 }
2553 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AllJoynWatcherStoppedEventArgs {
2554     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2555         ::windows::runtime::Param::Owned(self.0)
2556     }
2557 }
2558 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AllJoynWatcherStoppedEventArgs {
2559     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2560         ::windows::runtime::Param::Borrowed(&self.0)
2561     }
2562 }
2563 unsafe impl ::std::marker::Send for AllJoynWatcherStoppedEventArgs {}
2564 unsafe impl ::std::marker::Sync for AllJoynWatcherStoppedEventArgs {}
2565 #[repr(transparent)]
2566 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2567 #[doc(hidden)]
2568 pub struct IAllJoynAboutData(::windows::runtime::IInspectable);
2569 unsafe impl ::windows::runtime::Interface for IAllJoynAboutData {
2570     type Vtable = IAllJoynAboutData_abi;
2571     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3853106944, 8098, 18489, [147, 239, 249, 223, 64, 72, 144, 247]);
2572 }
2573 #[repr(C)]
2574 #[doc(hidden)]
2575 pub struct IAllJoynAboutData_abi(
2576     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2577     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2578     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2579     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2580     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2581     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2582     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2583     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
2584     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2585     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2586     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2587     #[cfg(not(feature = "Foundation_Collections"))] usize,
2588     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2589     #[cfg(not(feature = "Foundation"))] usize,
2590     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2591     #[cfg(not(feature = "Foundation"))] usize,
2592     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2593     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2594     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2595     #[cfg(not(feature = "Foundation_Collections"))] usize,
2596     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2597     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2598     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2599     #[cfg(not(feature = "Foundation_Collections"))] usize,
2600     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2601     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2602     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2603     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2604     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2605     #[cfg(not(feature = "Foundation"))] usize,
2606     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2607     #[cfg(not(feature = "Foundation"))] usize,
2608     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2609     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2610 );
2611 #[repr(transparent)]
2612 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2613 #[doc(hidden)]
2614 pub struct IAllJoynAboutDataView(::windows::runtime::IInspectable);
2615 unsafe impl ::windows::runtime::Interface for IAllJoynAboutDataView {
2616     type Vtable = IAllJoynAboutDataView_abi;
2617     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1747128607, 25106, 18740, [156, 72, 225, 156, 164, 152, 66, 136]);
2618 }
2619 #[repr(C)]
2620 #[doc(hidden)]
2621 pub struct IAllJoynAboutDataView_abi(
2622     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2623     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2624     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2625     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2626     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2627     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2628     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
2629     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2630     #[cfg(not(feature = "Foundation_Collections"))] usize,
2631     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2632     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2633     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2634     #[cfg(not(feature = "Foundation"))] usize,
2635     #[cfg(feature = "Globalization")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2636     #[cfg(not(feature = "Globalization"))] usize,
2637     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2638     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2639     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2640     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2641     #[cfg(all(feature = "Foundation_Collections", feature = "Globalization"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2642     #[cfg(not(all(feature = "Foundation_Collections", feature = "Globalization")))] usize,
2643     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2644     #[cfg(not(feature = "Foundation"))] usize,
2645     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2646     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2647     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2648     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2649 );
2650 #[repr(transparent)]
2651 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2652 #[doc(hidden)]
2653 pub struct IAllJoynAboutDataViewStatics(::windows::runtime::IInspectable);
2654 unsafe impl ::windows::runtime::Interface for IAllJoynAboutDataViewStatics {
2655     type Vtable = IAllJoynAboutDataViewStatics_abi;
2656     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1475196552, 3166, 16750, [136, 181, 57, 179, 45, 37, 196, 125]);
2657 }
2658 #[repr(C)]
2659 #[doc(hidden)]
2660 pub struct IAllJoynAboutDataViewStatics_abi(
2661     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2662     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2663     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2664     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2665     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2666     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2667     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uniquename: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, busattachment: ::windows::runtime::RawPtr, sessionport: u16, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2668     #[cfg(not(feature = "Foundation"))] usize,
2669     #[cfg(all(feature = "Foundation", feature = "Globalization"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uniquename: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, busattachment: ::windows::runtime::RawPtr, sessionport: u16, language: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2670     #[cfg(not(all(feature = "Foundation", feature = "Globalization")))] usize,
2671 );
2672 #[repr(transparent)]
2673 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2674 pub struct IAllJoynAcceptSessionJoiner(::windows::runtime::IInspectable);
2675 unsafe impl ::windows::runtime::Interface for IAllJoynAcceptSessionJoiner {
2676     type Vtable = IAllJoynAcceptSessionJoiner_abi;
2677     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1302861778, 52509, 16419, [167, 196, 22, 222, 248, 156, 40, 223]);
2678 }
2679 impl IAllJoynAcceptSessionJoiner {
2680     #[cfg(feature = "deprecated")]
2681     pub fn Accept(&self) -> ::windows::runtime::Result<()> {
2682         let this = self;
2683         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
2684     }
2685 }
2686 unsafe impl ::windows::runtime::RuntimeType for IAllJoynAcceptSessionJoiner {
2687     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{4da817d2-cd1d-4023-a7c4-16def89c28df}");
2688 }
2689 impl ::std::convert::From<IAllJoynAcceptSessionJoiner> for ::windows::runtime::IUnknown {
2690     fn from(value: IAllJoynAcceptSessionJoiner) -> Self {
2691         unsafe { ::std::mem::transmute(value) }
2692     }
2693 }
2694 impl ::std::convert::From<&IAllJoynAcceptSessionJoiner> for ::windows::runtime::IUnknown {
2695     fn from(value: &IAllJoynAcceptSessionJoiner) -> Self {
2696         ::std::convert::From::from(::std::clone::Clone::clone(value))
2697     }
2698 }
2699 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAllJoynAcceptSessionJoiner {
2700     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2701         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2702     }
2703 }
2704 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAllJoynAcceptSessionJoiner {
2705     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2706         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2707     }
2708 }
2709 impl ::std::convert::From<IAllJoynAcceptSessionJoiner> for ::windows::runtime::IInspectable {
2710     fn from(value: IAllJoynAcceptSessionJoiner) -> Self {
2711         value.0
2712     }
2713 }
2714 impl ::std::convert::From<&IAllJoynAcceptSessionJoiner> for ::windows::runtime::IInspectable {
2715     fn from(value: &IAllJoynAcceptSessionJoiner) -> Self {
2716         value.0.clone()
2717     }
2718 }
2719 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IAllJoynAcceptSessionJoiner {
2720     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2721         ::windows::runtime::Param::Owned(self.0)
2722     }
2723 }
2724 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IAllJoynAcceptSessionJoiner {
2725     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2726         ::windows::runtime::Param::Borrowed(&self.0)
2727     }
2728 }
2729 #[repr(C)]
2730 #[doc(hidden)]
2731 pub struct IAllJoynAcceptSessionJoiner_abi(
2732     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2733     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2734     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2735     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2736     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2737     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2738     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2739 );
2740 #[repr(transparent)]
2741 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2742 #[doc(hidden)]
2743 pub struct IAllJoynAcceptSessionJoinerEventArgs(::windows::runtime::IInspectable);
2744 unsafe impl ::windows::runtime::Interface for IAllJoynAcceptSessionJoinerEventArgs {
2745     type Vtable = IAllJoynAcceptSessionJoinerEventArgs_abi;
2746     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1325093733, 16010, 16983, [143, 16, 83, 156, 224, 213, 108, 15]);
2747 }
2748 #[repr(C)]
2749 #[doc(hidden)]
2750 pub struct IAllJoynAcceptSessionJoinerEventArgs_abi(
2751     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2752     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2753     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2754     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2755     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2756     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2757     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2758     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2759     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AllJoynTrafficType) -> ::windows::runtime::HRESULT,
2760     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2761     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2762     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2763 );
2764 #[repr(transparent)]
2765 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2766 #[doc(hidden)]
2767 pub struct IAllJoynAcceptSessionJoinerEventArgsFactory(::windows::runtime::IInspectable);
2768 unsafe impl ::windows::runtime::Interface for IAllJoynAcceptSessionJoinerEventArgsFactory {
2769     type Vtable = IAllJoynAcceptSessionJoinerEventArgsFactory_abi;
2770     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3024313280, 24901, 17054, [132, 219, 213, 191, 231, 114, 177, 79]);
2771 }
2772 #[repr(C)]
2773 #[doc(hidden)]
2774 pub struct IAllJoynAcceptSessionJoinerEventArgsFactory_abi(
2775     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2776     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2777     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2778     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2779     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2780     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2781     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uniquename: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, sessionport: u16, traffictype: AllJoynTrafficType, proximity: u8, acceptsessionjoiner: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2782 );
2783 #[repr(transparent)]
2784 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2785 #[doc(hidden)]
2786 pub struct IAllJoynAuthenticationCompleteEventArgs(::windows::runtime::IInspectable);
2787 unsafe impl ::windows::runtime::Interface for IAllJoynAuthenticationCompleteEventArgs {
2788     type Vtable = IAllJoynAuthenticationCompleteEventArgs_abi;
2789     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2545184796, 5596, 19283, [182, 164, 125, 19, 67, 0, 215, 191]);
2790 }
2791 #[repr(C)]
2792 #[doc(hidden)]
2793 pub struct IAllJoynAuthenticationCompleteEventArgs_abi(
2794     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2795     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2796     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2797     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2798     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2799     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2800     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AllJoynAuthenticationMechanism) -> ::windows::runtime::HRESULT,
2801     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2802     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2803 );
2804 #[repr(transparent)]
2805 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2806 #[doc(hidden)]
2807 pub struct IAllJoynBusAttachment(::windows::runtime::IInspectable);
2808 unsafe impl ::windows::runtime::Interface for IAllJoynBusAttachment {
2809     type Vtable = IAllJoynBusAttachment_abi;
2810     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4077515091, 7917, 17091, [162, 14, 67, 109, 65, 254, 98, 246]);
2811 }
2812 #[repr(C)]
2813 #[doc(hidden)]
2814 pub struct IAllJoynBusAttachment_abi(
2815     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2816     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2817     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2818     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2819     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2820     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2821     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2822     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2823     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AllJoynBusAttachmentState) -> ::windows::runtime::HRESULT,
2824     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2825     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uniquename: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2826     #[cfg(not(feature = "Foundation"))] usize,
2827     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2828     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2829     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2830     #[cfg(not(feature = "Foundation"))] usize,
2831     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2832     #[cfg(not(feature = "Foundation"))] usize,
2833     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2834     #[cfg(not(feature = "Foundation_Collections"))] usize,
2835     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2836     #[cfg(not(feature = "Foundation"))] usize,
2837     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2838     #[cfg(not(feature = "Foundation"))] usize,
2839     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2840     #[cfg(not(feature = "Foundation"))] usize,
2841     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2842     #[cfg(not(feature = "Foundation"))] usize,
2843     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2844     #[cfg(not(feature = "Foundation"))] usize,
2845     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2846     #[cfg(not(feature = "Foundation"))] usize,
2847 );
2848 #[repr(transparent)]
2849 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2850 #[doc(hidden)]
2851 pub struct IAllJoynBusAttachment2(::windows::runtime::IInspectable);
2852 unsafe impl ::windows::runtime::Interface for IAllJoynBusAttachment2 {
2853     type Vtable = IAllJoynBusAttachment2_abi;
2854     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(880069406, 9064, 17330, [180, 62, 106, 58, 193, 39, 141, 152]);
2855 }
2856 #[repr(C)]
2857 #[doc(hidden)]
2858 pub struct IAllJoynBusAttachment2_abi(
2859     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2860     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2861     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2862     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2863     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2864     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2865     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, serviceinfo: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2866     #[cfg(not(feature = "Foundation"))] usize,
2867     #[cfg(all(feature = "Foundation", feature = "Globalization"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, serviceinfo: ::windows::runtime::RawPtr, language: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2868     #[cfg(not(all(feature = "Foundation", feature = "Globalization")))] usize,
2869     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2870     #[cfg(not(feature = "Foundation"))] usize,
2871     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2872     #[cfg(not(feature = "Foundation"))] usize,
2873     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2874     #[cfg(not(feature = "Foundation"))] usize,
2875     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2876     #[cfg(not(feature = "Foundation"))] usize,
2877 );
2878 #[repr(transparent)]
2879 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2880 #[doc(hidden)]
2881 pub struct IAllJoynBusAttachmentFactory(::windows::runtime::IInspectable);
2882 unsafe impl ::windows::runtime::Interface for IAllJoynBusAttachmentFactory {
2883     type Vtable = IAllJoynBusAttachmentFactory_abi;
2884     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1680798116, 44421, 19935, [144, 174, 96, 68, 82, 178, 34, 136]);
2885 }
2886 #[repr(C)]
2887 #[doc(hidden)]
2888 pub struct IAllJoynBusAttachmentFactory_abi(
2889     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2890     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2891     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2892     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2893     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2894     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2895     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, connectionspecification: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2896 );
2897 #[repr(transparent)]
2898 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2899 #[doc(hidden)]
2900 pub struct IAllJoynBusAttachmentStateChangedEventArgs(::windows::runtime::IInspectable);
2901 unsafe impl ::windows::runtime::Interface for IAllJoynBusAttachmentStateChangedEventArgs {
2902     type Vtable = IAllJoynBusAttachmentStateChangedEventArgs_abi;
2903     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3626923508, 49194, 16876, [168, 213, 234, 177, 85, 137, 83, 170]);
2904 }
2905 #[repr(C)]
2906 #[doc(hidden)]
2907 pub struct IAllJoynBusAttachmentStateChangedEventArgs_abi(
2908     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2909     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2910     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2911     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2912     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2913     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2914     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AllJoynBusAttachmentState) -> ::windows::runtime::HRESULT,
2915     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
2916 );
2917 #[repr(transparent)]
2918 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2919 #[doc(hidden)]
2920 pub struct IAllJoynBusAttachmentStatics(::windows::runtime::IInspectable);
2921 unsafe impl ::windows::runtime::Interface for IAllJoynBusAttachmentStatics {
2922     type Vtable = IAllJoynBusAttachmentStatics_abi;
2923     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2208124221, 4177, 16599, [135, 42, 141, 1, 65, 17, 91, 31]);
2924 }
2925 #[repr(C)]
2926 #[doc(hidden)]
2927 pub struct IAllJoynBusAttachmentStatics_abi(
2928     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2929     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2930     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2931     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2932     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2933     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2934     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2935     #[cfg(all(feature = "Devices_Enumeration", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, requiredinterfaces: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2936     #[cfg(not(all(feature = "Devices_Enumeration", feature = "Foundation_Collections")))] usize,
2937 );
2938 #[repr(transparent)]
2939 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2940 #[doc(hidden)]
2941 pub struct IAllJoynBusObject(::windows::runtime::IInspectable);
2942 unsafe impl ::windows::runtime::Interface for IAllJoynBusObject {
2943     type Vtable = IAllJoynBusObject_abi;
2944     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3908928094, 63290, 18700, [136, 4, 4, 224, 38, 100, 48, 71]);
2945 }
2946 #[repr(C)]
2947 #[doc(hidden)]
2948 pub struct IAllJoynBusObject_abi(
2949     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2950     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2951     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2952     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2953     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2954     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2955     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2956     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2957     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2958     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2959     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2960     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2961     #[cfg(not(feature = "Foundation"))] usize,
2962     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2963     #[cfg(not(feature = "Foundation"))] usize,
2964 );
2965 #[repr(transparent)]
2966 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2967 #[doc(hidden)]
2968 pub struct IAllJoynBusObjectFactory(::windows::runtime::IInspectable);
2969 unsafe impl ::windows::runtime::Interface for IAllJoynBusObjectFactory {
2970     type Vtable = IAllJoynBusObjectFactory_abi;
2971     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(741318411, 36354, 20380, [172, 39, 234, 109, 173, 93, 59, 80]);
2972 }
2973 #[repr(C)]
2974 #[doc(hidden)]
2975 pub struct IAllJoynBusObjectFactory_abi(
2976     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2977     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2978     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2979     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2980     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2981     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2982     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, objectpath: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2983     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, objectpath: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, busattachment: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2984 );
2985 #[repr(transparent)]
2986 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2987 #[doc(hidden)]
2988 pub struct IAllJoynBusObjectStoppedEventArgs(::windows::runtime::IInspectable);
2989 unsafe impl ::windows::runtime::Interface for IAllJoynBusObjectStoppedEventArgs {
2990     type Vtable = IAllJoynBusObjectStoppedEventArgs_abi;
2991     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3725598997, 61326, 19778, [185, 59, 162, 174, 116, 81, 151, 102]);
2992 }
2993 #[repr(C)]
2994 #[doc(hidden)]
2995 pub struct IAllJoynBusObjectStoppedEventArgs_abi(
2996     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2997     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2998     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2999     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3000     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3001     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3002     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
3003 );
3004 #[repr(transparent)]
3005 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3006 #[doc(hidden)]
3007 pub struct IAllJoynBusObjectStoppedEventArgsFactory(::windows::runtime::IInspectable);
3008 unsafe impl ::windows::runtime::Interface for IAllJoynBusObjectStoppedEventArgsFactory {
3009     type Vtable = IAllJoynBusObjectStoppedEventArgsFactory_abi;
3010     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1797455176, 53411, 16981, [149, 58, 71, 114, 180, 2, 128, 115]);
3011 }
3012 #[repr(C)]
3013 #[doc(hidden)]
3014 pub struct IAllJoynBusObjectStoppedEventArgsFactory_abi(
3015     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3016     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3017     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3018     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3019     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3020     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3021     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, status: i32, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3022 );
3023 #[repr(transparent)]
3024 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3025 #[doc(hidden)]
3026 pub struct IAllJoynCredentials(::windows::runtime::IInspectable);
3027 unsafe impl ::windows::runtime::Interface for IAllJoynCredentials {
3028     type Vtable = IAllJoynCredentials_abi;
3029     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2185646322, 41360, 16561, [171, 171, 52, 158, 194, 68, 223, 170]);
3030 }
3031 #[repr(C)]
3032 #[doc(hidden)]
3033 pub struct IAllJoynCredentials_abi(
3034     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3035     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3036     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3037     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3038     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3039     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3040     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AllJoynAuthenticationMechanism) -> ::windows::runtime::HRESULT,
3041     #[cfg(feature = "Security_Cryptography_Certificates")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3042     #[cfg(not(feature = "Security_Cryptography_Certificates"))] usize,
3043     #[cfg(feature = "Security_Cryptography_Certificates")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3044     #[cfg(not(feature = "Security_Cryptography_Certificates"))] usize,
3045     #[cfg(feature = "Security_Credentials")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3046     #[cfg(not(feature = "Security_Credentials"))] usize,
3047     #[cfg(feature = "Security_Credentials")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3048     #[cfg(not(feature = "Security_Credentials"))] usize,
3049     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
3050     #[cfg(not(feature = "Foundation"))] usize,
3051     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
3052     #[cfg(not(feature = "Foundation"))] usize,
3053 );
3054 #[repr(transparent)]
3055 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3056 #[doc(hidden)]
3057 pub struct IAllJoynCredentialsRequestedEventArgs(::windows::runtime::IInspectable);
3058 unsafe impl ::windows::runtime::Interface for IAllJoynCredentialsRequestedEventArgs {
3059     type Vtable = IAllJoynCredentialsRequestedEventArgs_abi;
3060     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1787290446, 45161, 19328, [158, 26, 65, 188, 131, 124, 101, 210]);
3061 }
3062 #[repr(C)]
3063 #[doc(hidden)]
3064 pub struct IAllJoynCredentialsRequestedEventArgs_abi(
3065     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3066     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3067     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3068     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3069     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3070     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3071     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
3072     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3073     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3074     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3075     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3076     #[cfg(not(feature = "Foundation"))] usize,
3077 );
3078 #[repr(transparent)]
3079 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3080 #[doc(hidden)]
3081 pub struct IAllJoynCredentialsVerificationRequestedEventArgs(::windows::runtime::IInspectable);
3082 unsafe impl ::windows::runtime::Interface for IAllJoynCredentialsVerificationRequestedEventArgs {
3083     type Vtable = IAllJoynCredentialsVerificationRequestedEventArgs_abi;
3084     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2148169234, 47109, 17583, [162, 225, 121, 42, 182, 85, 162, 208]);
3085 }
3086 #[repr(C)]
3087 #[doc(hidden)]
3088 pub struct IAllJoynCredentialsVerificationRequestedEventArgs_abi(
3089     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3090     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3091     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3092     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3093     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3094     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3095     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AllJoynAuthenticationMechanism) -> ::windows::runtime::HRESULT,
3096     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3097     #[cfg(feature = "Security_Cryptography_Certificates")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3098     #[cfg(not(feature = "Security_Cryptography_Certificates"))] usize,
3099     #[cfg(feature = "Networking_Sockets")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Networking::Sockets::SocketSslErrorSeverity) -> ::windows::runtime::HRESULT,
3100     #[cfg(not(feature = "Networking_Sockets"))] usize,
3101     #[cfg(all(feature = "Foundation_Collections", feature = "Security_Cryptography_Certificates"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3102     #[cfg(not(all(feature = "Foundation_Collections", feature = "Security_Cryptography_Certificates")))] usize,
3103     #[cfg(all(feature = "Foundation_Collections", feature = "Security_Cryptography_Certificates"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3104     #[cfg(not(all(feature = "Foundation_Collections", feature = "Security_Cryptography_Certificates")))] usize,
3105     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3106     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3107     #[cfg(not(feature = "Foundation"))] usize,
3108 );
3109 #[repr(transparent)]
3110 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3111 #[doc(hidden)]
3112 pub struct IAllJoynMessageInfo(::windows::runtime::IInspectable);
3113 unsafe impl ::windows::runtime::Interface for IAllJoynMessageInfo {
3114     type Vtable = IAllJoynMessageInfo_abi;
3115     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4281008423, 11282, 18521, [170, 58, 199, 68, 97, 238, 129, 76]);
3116 }
3117 #[repr(C)]
3118 #[doc(hidden)]
3119 pub struct IAllJoynMessageInfo_abi(
3120     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3121     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3122     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3123     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3124     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3125     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3126     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3127 );
3128 #[repr(transparent)]
3129 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3130 #[doc(hidden)]
3131 pub struct IAllJoynMessageInfoFactory(::windows::runtime::IInspectable);
3132 unsafe impl ::windows::runtime::Interface for IAllJoynMessageInfoFactory {
3133     type Vtable = IAllJoynMessageInfoFactory_abi;
3134     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(879119402, 33417, 17364, [180, 168, 63, 77, 227, 89, 240, 67]);
3135 }
3136 #[repr(C)]
3137 #[doc(hidden)]
3138 pub struct IAllJoynMessageInfoFactory_abi(
3139     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3140     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3141     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3142     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3143     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3144     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3145     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, senderuniquename: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3146 );
3147 #[repr(transparent)]
3148 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3149 pub struct IAllJoynProducer(::windows::runtime::IInspectable);
3150 unsafe impl ::windows::runtime::Interface for IAllJoynProducer {
3151     type Vtable = IAllJoynProducer_abi;
3152     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2634565241, 18075, 18778, [167, 16, 172, 80, 241, 35, 6, 159]);
3153 }
3154 impl IAllJoynProducer {
3155     #[cfg(feature = "deprecated")]
3156     pub fn SetBusObject<'a, Param0: ::windows::runtime::IntoParam<'a, AllJoynBusObject>>(&self, busobject: Param0) -> ::windows::runtime::Result<()> {
3157         let this = self;
3158         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), busobject.into_param().abi()).ok() }
3159     }
3160 }
3161 unsafe impl ::windows::runtime::RuntimeType for IAllJoynProducer {
3162     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{9d084679-469b-495a-a710-ac50f123069f}");
3163 }
3164 impl ::std::convert::From<IAllJoynProducer> for ::windows::runtime::IUnknown {
3165     fn from(value: IAllJoynProducer) -> Self {
3166         unsafe { ::std::mem::transmute(value) }
3167     }
3168 }
3169 impl ::std::convert::From<&IAllJoynProducer> for ::windows::runtime::IUnknown {
3170     fn from(value: &IAllJoynProducer) -> Self {
3171         ::std::convert::From::from(::std::clone::Clone::clone(value))
3172     }
3173 }
3174 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAllJoynProducer {
3175     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3176         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3177     }
3178 }
3179 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAllJoynProducer {
3180     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3181         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3182     }
3183 }
3184 impl ::std::convert::From<IAllJoynProducer> for ::windows::runtime::IInspectable {
3185     fn from(value: IAllJoynProducer) -> Self {
3186         value.0
3187     }
3188 }
3189 impl ::std::convert::From<&IAllJoynProducer> for ::windows::runtime::IInspectable {
3190     fn from(value: &IAllJoynProducer) -> Self {
3191         value.0.clone()
3192     }
3193 }
3194 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IAllJoynProducer {
3195     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3196         ::windows::runtime::Param::Owned(self.0)
3197     }
3198 }
3199 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IAllJoynProducer {
3200     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3201         ::windows::runtime::Param::Borrowed(&self.0)
3202     }
3203 }
3204 #[repr(C)]
3205 #[doc(hidden)]
3206 pub struct IAllJoynProducer_abi(
3207     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3208     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3209     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3210     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3211     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3212     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3213     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, busobject: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3214 );
3215 #[repr(transparent)]
3216 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3217 #[doc(hidden)]
3218 pub struct IAllJoynProducerStoppedEventArgs(::windows::runtime::IInspectable);
3219 unsafe impl ::windows::runtime::Interface for IAllJoynProducerStoppedEventArgs {
3220     type Vtable = IAllJoynProducerStoppedEventArgs_abi;
3221     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1362138992, 18743, 18733, [128, 128, 35, 100, 57, 152, 124, 235]);
3222 }
3223 #[repr(C)]
3224 #[doc(hidden)]
3225 pub struct IAllJoynProducerStoppedEventArgs_abi(
3226     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3227     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3228     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3229     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3230     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3231     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3232     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
3233 );
3234 #[repr(transparent)]
3235 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3236 #[doc(hidden)]
3237 pub struct IAllJoynProducerStoppedEventArgsFactory(::windows::runtime::IInspectable);
3238 unsafe impl ::windows::runtime::Interface for IAllJoynProducerStoppedEventArgsFactory {
3239     type Vtable = IAllJoynProducerStoppedEventArgsFactory_abi;
3240     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1448253793, 45593, 19822, [159, 120, 250, 63, 153, 250, 143, 229]);
3241 }
3242 #[repr(C)]
3243 #[doc(hidden)]
3244 pub struct IAllJoynProducerStoppedEventArgsFactory_abi(
3245     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3246     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3247     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3248     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3249     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3250     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3251     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, status: i32, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3252 );
3253 #[repr(transparent)]
3254 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3255 #[doc(hidden)]
3256 pub struct IAllJoynServiceInfo(::windows::runtime::IInspectable);
3257 unsafe impl ::windows::runtime::Interface for IAllJoynServiceInfo {
3258     type Vtable = IAllJoynServiceInfo_abi;
3259     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1287553545, 47422, 16770, [153, 155, 221, 208, 0, 249, 197, 117]);
3260 }
3261 #[repr(C)]
3262 #[doc(hidden)]
3263 pub struct IAllJoynServiceInfo_abi(
3264     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3265     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3266     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3267     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3268     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3269     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3270     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3271     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3272     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
3273 );
3274 #[repr(transparent)]
3275 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3276 #[doc(hidden)]
3277 pub struct IAllJoynServiceInfoFactory(::windows::runtime::IInspectable);
3278 unsafe impl ::windows::runtime::Interface for IAllJoynServiceInfoFactory {
3279     type Vtable = IAllJoynServiceInfoFactory_abi;
3280     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1971444413, 65027, 20299, [148, 164, 240, 47, 220, 189, 17, 184]);
3281 }
3282 #[repr(C)]
3283 #[doc(hidden)]
3284 pub struct IAllJoynServiceInfoFactory_abi(
3285     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3286     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3287     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3288     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3289     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3290     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3291     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uniquename: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, objectpath: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, sessionport: u16, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3292 );
3293 #[repr(transparent)]
3294 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3295 #[doc(hidden)]
3296 pub struct IAllJoynServiceInfoRemovedEventArgs(::windows::runtime::IInspectable);
3297 unsafe impl ::windows::runtime::Interface for IAllJoynServiceInfoRemovedEventArgs {
3298     type Vtable = IAllJoynServiceInfoRemovedEventArgs_abi;
3299     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(811051359, 7487, 16883, [137, 105, 227, 39, 146, 98, 115, 150]);
3300 }
3301 #[repr(C)]
3302 #[doc(hidden)]
3303 pub struct IAllJoynServiceInfoRemovedEventArgs_abi(
3304     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3305     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3306     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3307     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3308     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3309     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3310     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3311 );
3312 #[repr(transparent)]
3313 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3314 #[doc(hidden)]
3315 pub struct IAllJoynServiceInfoRemovedEventArgsFactory(::windows::runtime::IInspectable);
3316 unsafe impl ::windows::runtime::Interface for IAllJoynServiceInfoRemovedEventArgsFactory {
3317     type Vtable = IAllJoynServiceInfoRemovedEventArgsFactory_abi;
3318     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(230655527, 39679, 18773, [146, 39, 105, 83, 186, 244, 21, 105]);
3319 }
3320 #[repr(C)]
3321 #[doc(hidden)]
3322 pub struct IAllJoynServiceInfoRemovedEventArgsFactory_abi(
3323     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3324     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3325     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3326     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3327     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3328     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3329     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uniquename: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3330 );
3331 #[repr(transparent)]
3332 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3333 #[doc(hidden)]
3334 pub struct IAllJoynServiceInfoStatics(::windows::runtime::IInspectable);
3335 unsafe impl ::windows::runtime::Interface for IAllJoynServiceInfoStatics {
3336     type Vtable = IAllJoynServiceInfoStatics_abi;
3337     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1450727178, 24634, 18940, [183, 80, 14, 241, 54, 9, 33, 60]);
3338 }
3339 #[repr(C)]
3340 #[doc(hidden)]
3341 pub struct IAllJoynServiceInfoStatics_abi(
3342     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3343     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3344     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3345     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3346     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3347     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3348     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, deviceid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3349     #[cfg(not(feature = "Foundation"))] usize,
3350 );
3351 #[repr(transparent)]
3352 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3353 #[doc(hidden)]
3354 pub struct IAllJoynSession(::windows::runtime::IInspectable);
3355 unsafe impl ::windows::runtime::Interface for IAllJoynSession {
3356     type Vtable = IAllJoynSession_abi;
3357     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3906018060, 49364, 16492, [136, 169, 169, 62, 250, 133, 212, 177]);
3358 }
3359 #[repr(C)]
3360 #[doc(hidden)]
3361 pub struct IAllJoynSession_abi(
3362     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3363     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3364     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3365     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3366     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3367     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3368     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
3369     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
3370     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uniquename: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3371     #[cfg(not(feature = "Foundation"))] usize,
3372     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
3373     #[cfg(not(feature = "Foundation"))] usize,
3374     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
3375     #[cfg(not(feature = "Foundation"))] usize,
3376     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
3377     #[cfg(not(feature = "Foundation"))] usize,
3378     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
3379     #[cfg(not(feature = "Foundation"))] usize,
3380     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
3381     #[cfg(not(feature = "Foundation"))] usize,
3382     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
3383     #[cfg(not(feature = "Foundation"))] usize,
3384 );
3385 #[repr(transparent)]
3386 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3387 #[doc(hidden)]
3388 pub struct IAllJoynSessionJoinedEventArgs(::windows::runtime::IInspectable);
3389 unsafe impl ::windows::runtime::Interface for IAllJoynSessionJoinedEventArgs {
3390     type Vtable = IAllJoynSessionJoinedEventArgs_abi;
3391     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2661243856, 46551, 18373, [141, 171, 176, 64, 204, 25, 40, 113]);
3392 }
3393 #[repr(C)]
3394 #[doc(hidden)]
3395 pub struct IAllJoynSessionJoinedEventArgs_abi(
3396     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3397     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3398     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3399     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3400     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3401     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3402     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3403 );
3404 #[repr(transparent)]
3405 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3406 #[doc(hidden)]
3407 pub struct IAllJoynSessionJoinedEventArgsFactory(::windows::runtime::IInspectable);
3408 unsafe impl ::windows::runtime::Interface for IAllJoynSessionJoinedEventArgsFactory {
3409     type Vtable = IAllJoynSessionJoinedEventArgsFactory_abi;
3410     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1747244681, 54987, 19870, [160, 158, 53, 128, 104, 112, 177, 127]);
3411 }
3412 #[repr(C)]
3413 #[doc(hidden)]
3414 pub struct IAllJoynSessionJoinedEventArgsFactory_abi(
3415     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3416     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3417     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3418     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3419     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3420     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3421     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, session: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3422 );
3423 #[repr(transparent)]
3424 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3425 #[doc(hidden)]
3426 pub struct IAllJoynSessionLostEventArgs(::windows::runtime::IInspectable);
3427 unsafe impl ::windows::runtime::Interface for IAllJoynSessionLostEventArgs {
3428     type Vtable = IAllJoynSessionLostEventArgs_abi;
3429     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3882263690, 35768, 18772, [174, 103, 210, 250, 67, 209, 249, 107]);
3430 }
3431 #[repr(C)]
3432 #[doc(hidden)]
3433 pub struct IAllJoynSessionLostEventArgs_abi(
3434     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3435     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3436     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3437     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3438     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3439     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3440     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AllJoynSessionLostReason) -> ::windows::runtime::HRESULT,
3441 );
3442 #[repr(transparent)]
3443 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3444 #[doc(hidden)]
3445 pub struct IAllJoynSessionLostEventArgsFactory(::windows::runtime::IInspectable);
3446 unsafe impl ::windows::runtime::Interface for IAllJoynSessionLostEventArgsFactory {
3447     type Vtable = IAllJoynSessionLostEventArgsFactory_abi;
3448     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(331087154, 54004, 18889, [152, 14, 40, 5, 225, 53, 134, 177]);
3449 }
3450 #[repr(C)]
3451 #[doc(hidden)]
3452 pub struct IAllJoynSessionLostEventArgsFactory_abi(
3453     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3454     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3455     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3456     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3457     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3458     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3459     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, reason: AllJoynSessionLostReason, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3460 );
3461 #[repr(transparent)]
3462 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3463 #[doc(hidden)]
3464 pub struct IAllJoynSessionMemberAddedEventArgs(::windows::runtime::IInspectable);
3465 unsafe impl ::windows::runtime::Interface for IAllJoynSessionMemberAddedEventArgs {
3466     type Vtable = IAllJoynSessionMemberAddedEventArgs_abi;
3467     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1235384714, 3537, 18113, [156, 214, 39, 25, 14, 80, 58, 94]);
3468 }
3469 #[repr(C)]
3470 #[doc(hidden)]
3471 pub struct IAllJoynSessionMemberAddedEventArgs_abi(
3472     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3473     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3474     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3475     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3476     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3477     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3478     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3479 );
3480 #[repr(transparent)]
3481 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3482 #[doc(hidden)]
3483 pub struct IAllJoynSessionMemberAddedEventArgsFactory(::windows::runtime::IInspectable);
3484 unsafe impl ::windows::runtime::Interface for IAllJoynSessionMemberAddedEventArgsFactory {
3485     type Vtable = IAllJoynSessionMemberAddedEventArgsFactory_abi;
3486     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(874373970, 7475, 16545, [161, 211, 229, 119, 112, 32, 225, 241]);
3487 }
3488 #[repr(C)]
3489 #[doc(hidden)]
3490 pub struct IAllJoynSessionMemberAddedEventArgsFactory_abi(
3491     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3492     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3493     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3494     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3495     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3496     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3497     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uniquename: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3498 );
3499 #[repr(transparent)]
3500 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3501 #[doc(hidden)]
3502 pub struct IAllJoynSessionMemberRemovedEventArgs(::windows::runtime::IInspectable);
3503 unsafe impl ::windows::runtime::Interface for IAllJoynSessionMemberRemovedEventArgs {
3504     type Vtable = IAllJoynSessionMemberRemovedEventArgs_abi;
3505     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1083842975, 43594, 18579, [180, 48, 186, 161, 182, 60, 98, 25]);
3506 }
3507 #[repr(C)]
3508 #[doc(hidden)]
3509 pub struct IAllJoynSessionMemberRemovedEventArgs_abi(
3510     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3511     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3512     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3513     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3514     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3515     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3516     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3517 );
3518 #[repr(transparent)]
3519 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3520 #[doc(hidden)]
3521 pub struct IAllJoynSessionMemberRemovedEventArgsFactory(::windows::runtime::IInspectable);
3522 unsafe impl ::windows::runtime::Interface for IAllJoynSessionMemberRemovedEventArgsFactory {
3523     type Vtable = IAllJoynSessionMemberRemovedEventArgsFactory_abi;
3524     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3302184424, 17080, 19303, [183, 87, 208, 207, 202, 213, 146, 128]);
3525 }
3526 #[repr(C)]
3527 #[doc(hidden)]
3528 pub struct IAllJoynSessionMemberRemovedEventArgsFactory_abi(
3529     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3530     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3531     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3532     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3533     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3534     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3535     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uniquename: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3536 );
3537 #[repr(transparent)]
3538 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3539 #[doc(hidden)]
3540 pub struct IAllJoynSessionStatics(::windows::runtime::IInspectable);
3541 unsafe impl ::windows::runtime::Interface for IAllJoynSessionStatics {
3542     type Vtable = IAllJoynSessionStatics_abi;
3543     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2651182596, 41068, 18132, [180, 108, 11, 11, 84, 16, 91, 68]);
3544 }
3545 #[repr(C)]
3546 #[doc(hidden)]
3547 pub struct IAllJoynSessionStatics_abi(
3548     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3549     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3550     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3551     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3552     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3553     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3554     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, serviceinfo: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3555     #[cfg(not(feature = "Foundation"))] usize,
3556     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, serviceinfo: ::windows::runtime::RawPtr, busattachment: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3557     #[cfg(not(feature = "Foundation"))] usize,
3558 );
3559 #[repr(transparent)]
3560 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3561 #[doc(hidden)]
3562 pub struct IAllJoynStatusStatics(::windows::runtime::IInspectable);
3563 unsafe impl ::windows::runtime::Interface for IAllJoynStatusStatics {
3564     type Vtable = IAllJoynStatusStatics_abi;
3565     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3501695358, 3369, 19881, [138, 198, 84, 197, 84, 190, 219, 197]);
3566 }
3567 #[repr(C)]
3568 #[doc(hidden)]
3569 pub struct IAllJoynStatusStatics_abi(
3570     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3571     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3572     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3573     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3574     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3575     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3576     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
3577     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
3578     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
3579     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
3580     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
3581     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
3582     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
3583     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
3584     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
3585     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
3586     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
3587     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
3588     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
3589     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
3590     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
3591     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
3592     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
3593     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
3594 );
3595 #[repr(transparent)]
3596 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3597 #[doc(hidden)]
3598 pub struct IAllJoynWatcherStoppedEventArgs(::windows::runtime::IInspectable);
3599 unsafe impl ::windows::runtime::Interface for IAllJoynWatcherStoppedEventArgs {
3600     type Vtable = IAllJoynWatcherStoppedEventArgs_abi;
3601     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3388776507, 28701, 19112, [151, 221, 162, 187, 10, 143, 95, 163]);
3602 }
3603 #[repr(C)]
3604 #[doc(hidden)]
3605 pub struct IAllJoynWatcherStoppedEventArgs_abi(
3606     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3607     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3608     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3609     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3610     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3611     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3612     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
3613 );
3614 #[repr(transparent)]
3615 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3616 #[doc(hidden)]
3617 pub struct IAllJoynWatcherStoppedEventArgsFactory(::windows::runtime::IInspectable);
3618 unsafe impl ::windows::runtime::Interface for IAllJoynWatcherStoppedEventArgsFactory {
3619     type Vtable = IAllJoynWatcherStoppedEventArgsFactory_abi;
3620     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2274338216, 11600, 18401, [144, 74, 32, 191, 13, 72, 199, 130]);
3621 }
3622 #[repr(C)]
3623 #[doc(hidden)]
3624 pub struct IAllJoynWatcherStoppedEventArgsFactory_abi(
3625     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3626     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3627     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3628     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3629     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3630     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3631     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, status: i32, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3632 );
3633