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 IWindowsMediaLibrarySharingDevice(::windows::runtime::IUnknown);
5 impl IWindowsMediaLibrarySharingDevice {
6     #[cfg(feature = "Win32_Foundation")]
DeviceID(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>7     pub unsafe fn DeviceID(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10     }
Authorization(&self) -> ::windows::runtime::Result<WindowsMediaLibrarySharingDeviceAuthorizationStatus>11     pub unsafe fn Authorization(&self) -> ::windows::runtime::Result<WindowsMediaLibrarySharingDeviceAuthorizationStatus> {
12         let mut result__: <WindowsMediaLibrarySharingDeviceAuthorizationStatus as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WindowsMediaLibrarySharingDeviceAuthorizationStatus>(result__)
14     }
SetAuthorization(&self, authorization: WindowsMediaLibrarySharingDeviceAuthorizationStatus) -> ::windows::runtime::Result<()>15     pub unsafe fn SetAuthorization(&self, authorization: WindowsMediaLibrarySharingDeviceAuthorizationStatus) -> ::windows::runtime::Result<()> {
16         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(authorization)).ok()
17     }
Properties(&self) -> ::windows::runtime::Result<IWindowsMediaLibrarySharingDeviceProperties>18     pub unsafe fn Properties(&self) -> ::windows::runtime::Result<IWindowsMediaLibrarySharingDeviceProperties> {
19         let mut result__: <IWindowsMediaLibrarySharingDeviceProperties as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
20         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWindowsMediaLibrarySharingDeviceProperties>(result__)
21     }
22 }
23 unsafe impl ::windows::runtime::Interface for IWindowsMediaLibrarySharingDevice {
24     type Vtable = IWindowsMediaLibrarySharingDevice_abi;
25     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1036829331, 20441, 16785, [162, 91, 142, 87, 197, 210, 123, 212]);
26 }
27 impl ::std::convert::From<IWindowsMediaLibrarySharingDevice> for ::windows::runtime::IUnknown {
from(value: IWindowsMediaLibrarySharingDevice) -> Self28     fn from(value: IWindowsMediaLibrarySharingDevice) -> Self {
29         unsafe { ::std::mem::transmute(value) }
30     }
31 }
32 impl ::std::convert::From<&IWindowsMediaLibrarySharingDevice> for ::windows::runtime::IUnknown {
from(value: &IWindowsMediaLibrarySharingDevice) -> Self33     fn from(value: &IWindowsMediaLibrarySharingDevice) -> Self {
34         ::std::convert::From::from(::std::clone::Clone::clone(value))
35     }
36 }
37 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWindowsMediaLibrarySharingDevice {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>38     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
39         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
40     }
41 }
42 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWindowsMediaLibrarySharingDevice {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>43     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
44         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
45     }
46 }
47 #[cfg(feature = "Win32_System_Ole_Automation")]
48 impl ::std::convert::From<IWindowsMediaLibrarySharingDevice> for super::super::System::Ole::Automation::IDispatch {
from(value: IWindowsMediaLibrarySharingDevice) -> Self49     fn from(value: IWindowsMediaLibrarySharingDevice) -> Self {
50         unsafe { ::std::mem::transmute(value) }
51     }
52 }
53 #[cfg(feature = "Win32_System_Ole_Automation")]
54 impl ::std::convert::From<&IWindowsMediaLibrarySharingDevice> for super::super::System::Ole::Automation::IDispatch {
from(value: &IWindowsMediaLibrarySharingDevice) -> Self55     fn from(value: &IWindowsMediaLibrarySharingDevice) -> Self {
56         ::std::convert::From::from(::std::clone::Clone::clone(value))
57     }
58 }
59 #[cfg(feature = "Win32_System_Ole_Automation")]
60 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IWindowsMediaLibrarySharingDevice {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>61     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
62         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
63     }
64 }
65 #[cfg(feature = "Win32_System_Ole_Automation")]
66 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IWindowsMediaLibrarySharingDevice {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>67     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
68         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
69     }
70 }
71 #[repr(C)]
72 #[doc(hidden)]
73 pub struct IWindowsMediaLibrarySharingDevice_abi(
74     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
75     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
76     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
77     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
78     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
79     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
80     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
81     #[cfg(not(feature = "Win32_Foundation"))] usize,
82     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
83     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
84     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
85     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, deviceid: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
86     #[cfg(not(feature = "Win32_Foundation"))] usize,
87     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, authorization: *mut WindowsMediaLibrarySharingDeviceAuthorizationStatus) -> ::windows::runtime::HRESULT,
88     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, authorization: WindowsMediaLibrarySharingDeviceAuthorizationStatus) -> ::windows::runtime::HRESULT,
89     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, deviceproperties: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
90 );
91 #[repr(transparent)]
92 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
93 pub struct IWindowsMediaLibrarySharingDeviceProperties(::windows::runtime::IUnknown);
94 impl IWindowsMediaLibrarySharingDeviceProperties {
Item(&self, index: i32) -> ::windows::runtime::Result<IWindowsMediaLibrarySharingDeviceProperty>95     pub unsafe fn Item(&self, index: i32) -> ::windows::runtime::Result<IWindowsMediaLibrarySharingDeviceProperty> {
96         let mut result__: <IWindowsMediaLibrarySharingDeviceProperty as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
97         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<IWindowsMediaLibrarySharingDeviceProperty>(result__)
98     }
Count(&self) -> ::windows::runtime::Result<i32>99     pub unsafe fn Count(&self) -> ::windows::runtime::Result<i32> {
100         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
101         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
102     }
103     #[cfg(feature = "Win32_Foundation")]
GetProperty<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<IWindowsMediaLibrarySharingDeviceProperty>104     pub unsafe fn GetProperty<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<IWindowsMediaLibrarySharingDeviceProperty> {
105         let mut result__: <IWindowsMediaLibrarySharingDeviceProperty as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
106         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), name.into_param().abi(), &mut result__).from_abi::<IWindowsMediaLibrarySharingDeviceProperty>(result__)
107     }
108 }
109 unsafe impl ::windows::runtime::Interface for IWindowsMediaLibrarySharingDeviceProperties {
110     type Vtable = IWindowsMediaLibrarySharingDeviceProperties_abi;
111     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3294769684, 27398, 16581, [166, 35, 178, 255, 76, 7, 107, 253]);
112 }
113 impl ::std::convert::From<IWindowsMediaLibrarySharingDeviceProperties> for ::windows::runtime::IUnknown {
from(value: IWindowsMediaLibrarySharingDeviceProperties) -> Self114     fn from(value: IWindowsMediaLibrarySharingDeviceProperties) -> Self {
115         unsafe { ::std::mem::transmute(value) }
116     }
117 }
118 impl ::std::convert::From<&IWindowsMediaLibrarySharingDeviceProperties> for ::windows::runtime::IUnknown {
from(value: &IWindowsMediaLibrarySharingDeviceProperties) -> Self119     fn from(value: &IWindowsMediaLibrarySharingDeviceProperties) -> Self {
120         ::std::convert::From::from(::std::clone::Clone::clone(value))
121     }
122 }
123 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWindowsMediaLibrarySharingDeviceProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>124     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
125         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
126     }
127 }
128 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWindowsMediaLibrarySharingDeviceProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>129     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
130         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
131     }
132 }
133 #[cfg(feature = "Win32_System_Ole_Automation")]
134 impl ::std::convert::From<IWindowsMediaLibrarySharingDeviceProperties> for super::super::System::Ole::Automation::IDispatch {
from(value: IWindowsMediaLibrarySharingDeviceProperties) -> Self135     fn from(value: IWindowsMediaLibrarySharingDeviceProperties) -> Self {
136         unsafe { ::std::mem::transmute(value) }
137     }
138 }
139 #[cfg(feature = "Win32_System_Ole_Automation")]
140 impl ::std::convert::From<&IWindowsMediaLibrarySharingDeviceProperties> for super::super::System::Ole::Automation::IDispatch {
from(value: &IWindowsMediaLibrarySharingDeviceProperties) -> Self141     fn from(value: &IWindowsMediaLibrarySharingDeviceProperties) -> Self {
142         ::std::convert::From::from(::std::clone::Clone::clone(value))
143     }
144 }
145 #[cfg(feature = "Win32_System_Ole_Automation")]
146 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IWindowsMediaLibrarySharingDeviceProperties {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>147     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
148         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
149     }
150 }
151 #[cfg(feature = "Win32_System_Ole_Automation")]
152 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IWindowsMediaLibrarySharingDeviceProperties {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>153     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
154         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
155     }
156 }
157 #[repr(C)]
158 #[doc(hidden)]
159 pub struct IWindowsMediaLibrarySharingDeviceProperties_abi(
160     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
161     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
162     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
163     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
164     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
165     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
166     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
167     #[cfg(not(feature = "Win32_Foundation"))] usize,
168     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
169     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
170     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
171     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32, property: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
172     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut i32) -> ::windows::runtime::HRESULT,
173     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, property: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
174     #[cfg(not(feature = "Win32_Foundation"))] usize,
175 );
176 #[repr(transparent)]
177 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
178 pub struct IWindowsMediaLibrarySharingDeviceProperty(::windows::runtime::IUnknown);
179 impl IWindowsMediaLibrarySharingDeviceProperty {
180     #[cfg(feature = "Win32_Foundation")]
Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>181     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
182         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
183         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
184     }
185     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Value(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>186     pub unsafe fn Value(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
187         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
188         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
189     }
190 }
191 unsafe impl ::windows::runtime::Interface for IWindowsMediaLibrarySharingDeviceProperty {
192     type Vtable = IWindowsMediaLibrarySharingDeviceProperty_abi;
193     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2179098919, 31357, 16551, [129, 212, 189, 220, 2, 150, 14, 62]);
194 }
195 impl ::std::convert::From<IWindowsMediaLibrarySharingDeviceProperty> for ::windows::runtime::IUnknown {
from(value: IWindowsMediaLibrarySharingDeviceProperty) -> Self196     fn from(value: IWindowsMediaLibrarySharingDeviceProperty) -> Self {
197         unsafe { ::std::mem::transmute(value) }
198     }
199 }
200 impl ::std::convert::From<&IWindowsMediaLibrarySharingDeviceProperty> for ::windows::runtime::IUnknown {
from(value: &IWindowsMediaLibrarySharingDeviceProperty) -> Self201     fn from(value: &IWindowsMediaLibrarySharingDeviceProperty) -> Self {
202         ::std::convert::From::from(::std::clone::Clone::clone(value))
203     }
204 }
205 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWindowsMediaLibrarySharingDeviceProperty {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>206     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
207         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
208     }
209 }
210 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWindowsMediaLibrarySharingDeviceProperty {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>211     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
212         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
213     }
214 }
215 #[cfg(feature = "Win32_System_Ole_Automation")]
216 impl ::std::convert::From<IWindowsMediaLibrarySharingDeviceProperty> for super::super::System::Ole::Automation::IDispatch {
from(value: IWindowsMediaLibrarySharingDeviceProperty) -> Self217     fn from(value: IWindowsMediaLibrarySharingDeviceProperty) -> Self {
218         unsafe { ::std::mem::transmute(value) }
219     }
220 }
221 #[cfg(feature = "Win32_System_Ole_Automation")]
222 impl ::std::convert::From<&IWindowsMediaLibrarySharingDeviceProperty> for super::super::System::Ole::Automation::IDispatch {
from(value: &IWindowsMediaLibrarySharingDeviceProperty) -> Self223     fn from(value: &IWindowsMediaLibrarySharingDeviceProperty) -> Self {
224         ::std::convert::From::from(::std::clone::Clone::clone(value))
225     }
226 }
227 #[cfg(feature = "Win32_System_Ole_Automation")]
228 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IWindowsMediaLibrarySharingDeviceProperty {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>229     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
230         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
231     }
232 }
233 #[cfg(feature = "Win32_System_Ole_Automation")]
234 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IWindowsMediaLibrarySharingDeviceProperty {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>235     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
236         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
237     }
238 }
239 #[repr(C)]
240 #[doc(hidden)]
241 pub struct IWindowsMediaLibrarySharingDeviceProperty_abi(
242     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
243     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
244     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
245     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
246     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
247     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
248     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
249     #[cfg(not(feature = "Win32_Foundation"))] usize,
250     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
251     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
252     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
253     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
254     #[cfg(not(feature = "Win32_Foundation"))] usize,
255     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
256     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
257 );
258 #[repr(transparent)]
259 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
260 pub struct IWindowsMediaLibrarySharingDevices(::windows::runtime::IUnknown);
261 impl IWindowsMediaLibrarySharingDevices {
Item(&self, index: i32) -> ::windows::runtime::Result<IWindowsMediaLibrarySharingDevice>262     pub unsafe fn Item(&self, index: i32) -> ::windows::runtime::Result<IWindowsMediaLibrarySharingDevice> {
263         let mut result__: <IWindowsMediaLibrarySharingDevice as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
264         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<IWindowsMediaLibrarySharingDevice>(result__)
265     }
Count(&self) -> ::windows::runtime::Result<i32>266     pub unsafe fn Count(&self) -> ::windows::runtime::Result<i32> {
267         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
268         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
269     }
270     #[cfg(feature = "Win32_Foundation")]
GetDevice<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, deviceid: Param0) -> ::windows::runtime::Result<IWindowsMediaLibrarySharingDevice>271     pub unsafe fn GetDevice<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, deviceid: Param0) -> ::windows::runtime::Result<IWindowsMediaLibrarySharingDevice> {
272         let mut result__: <IWindowsMediaLibrarySharingDevice as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
273         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), deviceid.into_param().abi(), &mut result__).from_abi::<IWindowsMediaLibrarySharingDevice>(result__)
274     }
275 }
276 unsafe impl ::windows::runtime::Interface for IWindowsMediaLibrarySharingDevices {
277     type Vtable = IWindowsMediaLibrarySharingDevices_abi;
278     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(402913750, 65133, 17734, [191, 91, 153, 47, 232, 236, 18, 209]);
279 }
280 impl ::std::convert::From<IWindowsMediaLibrarySharingDevices> for ::windows::runtime::IUnknown {
from(value: IWindowsMediaLibrarySharingDevices) -> Self281     fn from(value: IWindowsMediaLibrarySharingDevices) -> Self {
282         unsafe { ::std::mem::transmute(value) }
283     }
284 }
285 impl ::std::convert::From<&IWindowsMediaLibrarySharingDevices> for ::windows::runtime::IUnknown {
from(value: &IWindowsMediaLibrarySharingDevices) -> Self286     fn from(value: &IWindowsMediaLibrarySharingDevices) -> Self {
287         ::std::convert::From::from(::std::clone::Clone::clone(value))
288     }
289 }
290 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWindowsMediaLibrarySharingDevices {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>291     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
292         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
293     }
294 }
295 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWindowsMediaLibrarySharingDevices {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>296     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
297         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
298     }
299 }
300 #[cfg(feature = "Win32_System_Ole_Automation")]
301 impl ::std::convert::From<IWindowsMediaLibrarySharingDevices> for super::super::System::Ole::Automation::IDispatch {
from(value: IWindowsMediaLibrarySharingDevices) -> Self302     fn from(value: IWindowsMediaLibrarySharingDevices) -> Self {
303         unsafe { ::std::mem::transmute(value) }
304     }
305 }
306 #[cfg(feature = "Win32_System_Ole_Automation")]
307 impl ::std::convert::From<&IWindowsMediaLibrarySharingDevices> for super::super::System::Ole::Automation::IDispatch {
from(value: &IWindowsMediaLibrarySharingDevices) -> Self308     fn from(value: &IWindowsMediaLibrarySharingDevices) -> Self {
309         ::std::convert::From::from(::std::clone::Clone::clone(value))
310     }
311 }
312 #[cfg(feature = "Win32_System_Ole_Automation")]
313 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IWindowsMediaLibrarySharingDevices {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>314     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
315         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
316     }
317 }
318 #[cfg(feature = "Win32_System_Ole_Automation")]
319 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IWindowsMediaLibrarySharingDevices {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>320     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
321         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
322     }
323 }
324 #[repr(C)]
325 #[doc(hidden)]
326 pub struct IWindowsMediaLibrarySharingDevices_abi(
327     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
328     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
329     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
330     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
331     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
332     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
333     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
334     #[cfg(not(feature = "Win32_Foundation"))] usize,
335     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
336     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
337     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
338     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32, device: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
339     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut i32) -> ::windows::runtime::HRESULT,
340     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, deviceid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, device: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
341     #[cfg(not(feature = "Win32_Foundation"))] usize,
342 );
343 #[repr(transparent)]
344 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
345 pub struct IWindowsMediaLibrarySharingServices(::windows::runtime::IUnknown);
346 impl IWindowsMediaLibrarySharingServices {
347     #[cfg(feature = "Win32_Foundation")]
showShareMediaCPL<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, device: Param0) -> ::windows::runtime::Result<()>348     pub unsafe fn showShareMediaCPL<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, device: Param0) -> ::windows::runtime::Result<()> {
349         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), device.into_param().abi()).ok()
350     }
userHomeMediaSharingState(&self) -> ::windows::runtime::Result<i16>351     pub unsafe fn userHomeMediaSharingState(&self) -> ::windows::runtime::Result<i16> {
352         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
353         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
354     }
SetuserHomeMediaSharingState(&self, sharingenabled: i16) -> ::windows::runtime::Result<()>355     pub unsafe fn SetuserHomeMediaSharingState(&self, sharingenabled: i16) -> ::windows::runtime::Result<()> {
356         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(sharingenabled)).ok()
357     }
358     #[cfg(feature = "Win32_Foundation")]
userHomeMediaSharingLibraryName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>359     pub unsafe fn userHomeMediaSharingLibraryName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
360         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
361         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
362     }
363     #[cfg(feature = "Win32_Foundation")]
SetuserHomeMediaSharingLibraryName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, libraryname: Param0) -> ::windows::runtime::Result<()>364     pub unsafe fn SetuserHomeMediaSharingLibraryName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, libraryname: Param0) -> ::windows::runtime::Result<()> {
365         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), libraryname.into_param().abi()).ok()
366     }
computerHomeMediaSharingAllowedState(&self) -> ::windows::runtime::Result<i16>367     pub unsafe fn computerHomeMediaSharingAllowedState(&self) -> ::windows::runtime::Result<i16> {
368         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
369         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
370     }
SetcomputerHomeMediaSharingAllowedState(&self, sharingallowed: i16) -> ::windows::runtime::Result<()>371     pub unsafe fn SetcomputerHomeMediaSharingAllowedState(&self, sharingallowed: i16) -> ::windows::runtime::Result<()> {
372         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(sharingallowed)).ok()
373     }
userInternetMediaSharingState(&self) -> ::windows::runtime::Result<i16>374     pub unsafe fn userInternetMediaSharingState(&self) -> ::windows::runtime::Result<i16> {
375         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
376         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
377     }
SetuserInternetMediaSharingState(&self, sharingenabled: i16) -> ::windows::runtime::Result<()>378     pub unsafe fn SetuserInternetMediaSharingState(&self, sharingenabled: i16) -> ::windows::runtime::Result<()> {
379         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(sharingenabled)).ok()
380     }
computerInternetMediaSharingAllowedState(&self) -> ::windows::runtime::Result<i16>381     pub unsafe fn computerInternetMediaSharingAllowedState(&self) -> ::windows::runtime::Result<i16> {
382         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
383         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
384     }
SetcomputerInternetMediaSharingAllowedState(&self, sharingallowed: i16) -> ::windows::runtime::Result<()>385     pub unsafe fn SetcomputerInternetMediaSharingAllowedState(&self, sharingallowed: i16) -> ::windows::runtime::Result<()> {
386         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(sharingallowed)).ok()
387     }
388     #[cfg(feature = "Win32_Foundation")]
internetMediaSharingSecurityGroup(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>389     pub unsafe fn internetMediaSharingSecurityGroup(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
390         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
391         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
392     }
393     #[cfg(feature = "Win32_Foundation")]
SetinternetMediaSharingSecurityGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, securitygroup: Param0) -> ::windows::runtime::Result<()>394     pub unsafe fn SetinternetMediaSharingSecurityGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, securitygroup: Param0) -> ::windows::runtime::Result<()> {
395         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), securitygroup.into_param().abi()).ok()
396     }
allowSharingToAllDevices(&self) -> ::windows::runtime::Result<i16>397     pub unsafe fn allowSharingToAllDevices(&self) -> ::windows::runtime::Result<i16> {
398         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
399         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
400     }
SetallowSharingToAllDevices(&self, sharingenabled: i16) -> ::windows::runtime::Result<()>401     pub unsafe fn SetallowSharingToAllDevices(&self, sharingenabled: i16) -> ::windows::runtime::Result<()> {
402         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(sharingenabled)).ok()
403     }
404     #[cfg(feature = "Win32_Foundation")]
setDefaultAuthorization<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, macaddresses: Param0, friendlyname: Param1, authorization: i16) -> ::windows::runtime::Result<()>405     pub unsafe fn setDefaultAuthorization<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, macaddresses: Param0, friendlyname: Param1, authorization: i16) -> ::windows::runtime::Result<()> {
406         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), macaddresses.into_param().abi(), friendlyname.into_param().abi(), ::std::mem::transmute(authorization)).ok()
407     }
408     #[cfg(feature = "Win32_Foundation")]
setAuthorizationState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, macaddress: Param0, authorizationstate: i16) -> ::windows::runtime::Result<()>409     pub unsafe fn setAuthorizationState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, macaddress: Param0, authorizationstate: i16) -> ::windows::runtime::Result<()> {
410         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), macaddress.into_param().abi(), ::std::mem::transmute(authorizationstate)).ok()
411     }
getAllDevices(&self) -> ::windows::runtime::Result<IWindowsMediaLibrarySharingDevices>412     pub unsafe fn getAllDevices(&self) -> ::windows::runtime::Result<IWindowsMediaLibrarySharingDevices> {
413         let mut result__: <IWindowsMediaLibrarySharingDevices as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
414         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWindowsMediaLibrarySharingDevices>(result__)
415     }
customSettingsApplied(&self) -> ::windows::runtime::Result<i16>416     pub unsafe fn customSettingsApplied(&self) -> ::windows::runtime::Result<i16> {
417         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
418         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
419     }
420 }
421 unsafe impl ::windows::runtime::Interface for IWindowsMediaLibrarySharingServices {
422     type Vtable = IWindowsMediaLibrarySharingServices_abi;
423     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(32897118, 2689, 16602, [167, 200, 33, 239, 58, 248, 68, 12]);
424 }
425 impl ::std::convert::From<IWindowsMediaLibrarySharingServices> for ::windows::runtime::IUnknown {
from(value: IWindowsMediaLibrarySharingServices) -> Self426     fn from(value: IWindowsMediaLibrarySharingServices) -> Self {
427         unsafe { ::std::mem::transmute(value) }
428     }
429 }
430 impl ::std::convert::From<&IWindowsMediaLibrarySharingServices> for ::windows::runtime::IUnknown {
from(value: &IWindowsMediaLibrarySharingServices) -> Self431     fn from(value: &IWindowsMediaLibrarySharingServices) -> Self {
432         ::std::convert::From::from(::std::clone::Clone::clone(value))
433     }
434 }
435 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWindowsMediaLibrarySharingServices {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>436     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
437         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
438     }
439 }
440 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWindowsMediaLibrarySharingServices {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>441     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
442         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
443     }
444 }
445 #[cfg(feature = "Win32_System_Ole_Automation")]
446 impl ::std::convert::From<IWindowsMediaLibrarySharingServices> for super::super::System::Ole::Automation::IDispatch {
from(value: IWindowsMediaLibrarySharingServices) -> Self447     fn from(value: IWindowsMediaLibrarySharingServices) -> Self {
448         unsafe { ::std::mem::transmute(value) }
449     }
450 }
451 #[cfg(feature = "Win32_System_Ole_Automation")]
452 impl ::std::convert::From<&IWindowsMediaLibrarySharingServices> for super::super::System::Ole::Automation::IDispatch {
from(value: &IWindowsMediaLibrarySharingServices) -> Self453     fn from(value: &IWindowsMediaLibrarySharingServices) -> Self {
454         ::std::convert::From::from(::std::clone::Clone::clone(value))
455     }
456 }
457 #[cfg(feature = "Win32_System_Ole_Automation")]
458 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IWindowsMediaLibrarySharingServices {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>459     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
460         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
461     }
462 }
463 #[cfg(feature = "Win32_System_Ole_Automation")]
464 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IWindowsMediaLibrarySharingServices {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>465     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
466         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
467     }
468 }
469 #[repr(C)]
470 #[doc(hidden)]
471 pub struct IWindowsMediaLibrarySharingServices_abi(
472     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
473     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
474     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
475     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
476     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
477     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
478     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
479     #[cfg(not(feature = "Win32_Foundation"))] usize,
480     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
481     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
482     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
483     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, device: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
484     #[cfg(not(feature = "Win32_Foundation"))] usize,
485     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sharingenabled: *mut i16) -> ::windows::runtime::HRESULT,
486     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sharingenabled: i16) -> ::windows::runtime::HRESULT,
487     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, libraryname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
488     #[cfg(not(feature = "Win32_Foundation"))] usize,
489     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, libraryname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
490     #[cfg(not(feature = "Win32_Foundation"))] usize,
491     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sharingallowed: *mut i16) -> ::windows::runtime::HRESULT,
492     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sharingallowed: i16) -> ::windows::runtime::HRESULT,
493     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sharingenabled: *mut i16) -> ::windows::runtime::HRESULT,
494     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sharingenabled: i16) -> ::windows::runtime::HRESULT,
495     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sharingallowed: *mut i16) -> ::windows::runtime::HRESULT,
496     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sharingallowed: i16) -> ::windows::runtime::HRESULT,
497     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, securitygroup: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
498     #[cfg(not(feature = "Win32_Foundation"))] usize,
499     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, securitygroup: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
500     #[cfg(not(feature = "Win32_Foundation"))] usize,
501     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sharingenabled: *mut i16) -> ::windows::runtime::HRESULT,
502     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sharingenabled: i16) -> ::windows::runtime::HRESULT,
503     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, macaddresses: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, friendlyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, authorization: i16) -> ::windows::runtime::HRESULT,
504     #[cfg(not(feature = "Win32_Foundation"))] usize,
505     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, macaddress: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, authorizationstate: i16) -> ::windows::runtime::HRESULT,
506     #[cfg(not(feature = "Win32_Foundation"))] usize,
507     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, devices: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
508     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, customsettingsapplied: *mut i16) -> ::windows::runtime::HRESULT,
509 );
510 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
511 #[repr(transparent)]
512 pub struct WindowsMediaLibrarySharingDeviceAuthorizationStatus(pub i32);
513 pub const DEVICE_AUTHORIZATION_UNKNOWN: WindowsMediaLibrarySharingDeviceAuthorizationStatus = WindowsMediaLibrarySharingDeviceAuthorizationStatus(0i32);
514 pub const DEVICE_AUTHORIZATION_ALLOWED: WindowsMediaLibrarySharingDeviceAuthorizationStatus = WindowsMediaLibrarySharingDeviceAuthorizationStatus(1i32);
515 pub const DEVICE_AUTHORIZATION_DENIED: WindowsMediaLibrarySharingDeviceAuthorizationStatus = WindowsMediaLibrarySharingDeviceAuthorizationStatus(2i32);
516 impl ::std::convert::From<i32> for WindowsMediaLibrarySharingDeviceAuthorizationStatus {
from(value: i32) -> Self517     fn from(value: i32) -> Self {
518         Self(value)
519     }
520 }
521 unsafe impl ::windows::runtime::Abi for WindowsMediaLibrarySharingDeviceAuthorizationStatus {
522     type Abi = Self;
523     type DefaultType = Self;
524 }
525 pub const WindowsMediaLibrarySharingServices: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2908232448, 31588, 20057, [163, 141, 210, 197, 191, 81, 221, 179]);
526