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 #[doc(hidden)]
5 pub struct IKnownRemoteSystemCapabilitiesStatics(::windows::runtime::IInspectable);
6 unsafe impl ::windows::runtime::Interface for IKnownRemoteSystemCapabilitiesStatics {
7     type Vtable = IKnownRemoteSystemCapabilitiesStatics_abi;
8     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2164843392, 32650, 17636, [146, 205, 3, 182, 70, 155, 148, 163]);
9 }
10 #[repr(C)]
11 #[doc(hidden)]
12 pub struct IKnownRemoteSystemCapabilitiesStatics_abi(
13     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
17     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
19     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
20     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
21     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
22     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
23 );
24 #[repr(transparent)]
25 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
26 #[doc(hidden)]
27 pub struct IRemoteSystem(::windows::runtime::IInspectable);
28 unsafe impl ::windows::runtime::Interface for IRemoteSystem {
29     type Vtable = IRemoteSystem_abi;
30     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3981981901, 7696, 19084, [180, 166, 78, 95, 214, 249, 119, 33]);
31 }
32 #[repr(C)]
33 #[doc(hidden)]
34 pub struct IRemoteSystem_abi(
35     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
36     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
37     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
38     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
39     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
40     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
41     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
42     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
43     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
44     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut RemoteSystemStatus) -> ::windows::runtime::HRESULT,
45     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
46 );
47 #[repr(transparent)]
48 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
49 #[doc(hidden)]
50 pub struct IRemoteSystem2(::windows::runtime::IInspectable);
51 unsafe impl ::windows::runtime::Interface for IRemoteSystem2 {
52     type Vtable = IRemoteSystem2_abi;
53     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(165668076, 64395, 18952, [167, 88, 104, 118, 67, 93, 118, 158]);
54 }
55 #[repr(C)]
56 #[doc(hidden)]
57 pub struct IRemoteSystem2_abi(
58     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
59     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
60     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
61     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
62     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
63     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
64     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
65     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, capabilityname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
66     #[cfg(not(feature = "Foundation"))] usize,
67 );
68 #[repr(transparent)]
69 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
70 #[doc(hidden)]
71 pub struct IRemoteSystem3(::windows::runtime::IInspectable);
72 unsafe impl ::windows::runtime::Interface for IRemoteSystem3 {
73     type Vtable = IRemoteSystem3_abi;
74     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1924445333, 47046, 16574, [131, 27, 115, 86, 47, 18, 255, 168]);
75 }
76 #[repr(C)]
77 #[doc(hidden)]
78 pub struct IRemoteSystem3_abi(
79     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
80     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
81     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
82     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
83     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
84     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
85     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
86     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
87 );
88 #[repr(transparent)]
89 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
90 #[doc(hidden)]
91 pub struct IRemoteSystem4(::windows::runtime::IInspectable);
92 unsafe impl ::windows::runtime::Interface for IRemoteSystem4 {
93     type Vtable = IRemoteSystem4_abi;
94     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4049928165, 47495, 19621, [153, 38, 250, 4, 56, 190, 98, 115]);
95 }
96 #[repr(C)]
97 #[doc(hidden)]
98 pub struct IRemoteSystem4_abi(
99     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
100     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
101     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
102     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
103     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
104     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
105     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut RemoteSystemPlatform) -> ::windows::runtime::HRESULT,
106 );
107 #[repr(transparent)]
108 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
109 #[doc(hidden)]
110 pub struct IRemoteSystem5(::windows::runtime::IInspectable);
111 unsafe impl ::windows::runtime::Interface for IRemoteSystem5 {
112     type Vtable = IRemoteSystem5_abi;
113     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3945453347, 58850, 19170, [167, 167, 161, 9, 122, 9, 142, 144]);
114 }
115 #[repr(C)]
116 #[doc(hidden)]
117 pub struct IRemoteSystem5_abi(
118     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
119     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
120     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
121     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
122     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
123     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
124     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
125     #[cfg(not(feature = "Foundation_Collections"))] usize,
126 );
127 #[repr(transparent)]
128 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
129 #[doc(hidden)]
130 pub struct IRemoteSystem6(::windows::runtime::IInspectable);
131 unsafe impl ::windows::runtime::Interface for IRemoteSystem6 {
132     type Vtable = IRemoteSystem6_abi;
133     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3570248002, 49191, 21310, [147, 132, 58, 25, 180, 247, 238, 243]);
134 }
135 #[repr(C)]
136 #[doc(hidden)]
137 pub struct IRemoteSystem6_abi(
138     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
139     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
140     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
141     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
142     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
143     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
144     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
145 );
146 #[repr(transparent)]
147 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
148 #[doc(hidden)]
149 pub struct IRemoteSystemAddedEventArgs(::windows::runtime::IInspectable);
150 unsafe impl ::windows::runtime::Interface for IRemoteSystemAddedEventArgs {
151     type Vtable = IRemoteSystemAddedEventArgs_abi;
152     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2402899471, 58676, 18071, [136, 54, 122, 190, 161, 81, 81, 110]);
153 }
154 #[repr(C)]
155 #[doc(hidden)]
156 pub struct IRemoteSystemAddedEventArgs_abi(
157     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
158     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
159     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
160     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
161     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
162     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
163     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
164 );
165 #[repr(transparent)]
166 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
167 #[doc(hidden)]
168 pub struct IRemoteSystemApp(::windows::runtime::IInspectable);
169 unsafe impl ::windows::runtime::Interface for IRemoteSystemApp {
170     type Vtable = IRemoteSystemApp_abi;
171     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2162539709, 54605, 16817, [155, 22, 104, 16, 168, 113, 237, 79]);
172 }
173 #[repr(C)]
174 #[doc(hidden)]
175 pub struct IRemoteSystemApp_abi(
176     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
177     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
178     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
179     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
180     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
181     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
182     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
183     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
184     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
185     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
186     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
187     #[cfg(not(feature = "Foundation_Collections"))] usize,
188 );
189 #[repr(transparent)]
190 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
191 #[doc(hidden)]
192 pub struct IRemoteSystemApp2(::windows::runtime::IInspectable);
193 unsafe impl ::windows::runtime::Interface for IRemoteSystemApp2 {
194     type Vtable = IRemoteSystemApp2_abi;
195     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1667874581, 2710, 22394, [143, 246, 195, 89, 4, 223, 168, 243]);
196 }
197 #[repr(C)]
198 #[doc(hidden)]
199 pub struct IRemoteSystemApp2_abi(
200     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
201     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
202     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
203     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
204     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
205     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
206     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
207     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
208 );
209 #[repr(transparent)]
210 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
211 #[doc(hidden)]
212 pub struct IRemoteSystemAppRegistration(::windows::runtime::IInspectable);
213 unsafe impl ::windows::runtime::Interface for IRemoteSystemAppRegistration {
214     type Vtable = IRemoteSystemAppRegistration_abi;
215     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3027847093, 28725, 19034, [184, 223, 150, 45, 143, 132, 49, 244]);
216 }
217 #[repr(C)]
218 #[doc(hidden)]
219 pub struct IRemoteSystemAppRegistration_abi(
220     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
221     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
222     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
223     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
224     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
225     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
226     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
227     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
228     #[cfg(not(feature = "Foundation_Collections"))] usize,
229     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
230     #[cfg(not(feature = "Foundation"))] usize,
231 );
232 #[repr(transparent)]
233 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
234 #[doc(hidden)]
235 pub struct IRemoteSystemAppRegistrationStatics(::windows::runtime::IInspectable);
236 unsafe impl ::windows::runtime::Interface for IRemoteSystemAppRegistrationStatics {
237     type Vtable = IRemoteSystemAppRegistrationStatics_abi;
238     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(28940352, 53202, 17727, [174, 37, 194, 83, 159, 8, 106, 253]);
239 }
240 #[repr(C)]
241 #[doc(hidden)]
242 pub struct IRemoteSystemAppRegistrationStatics_abi(
243     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
244     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
245     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
246     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
247     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
248     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
249     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
250     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
251 );
252 #[repr(transparent)]
253 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
254 #[doc(hidden)]
255 pub struct IRemoteSystemAuthorizationKindFilter(::windows::runtime::IInspectable);
256 unsafe impl ::windows::runtime::Interface for IRemoteSystemAuthorizationKindFilter {
257     type Vtable = IRemoteSystemAuthorizationKindFilter_abi;
258     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1796071054, 1232, 16628, [162, 127, 194, 172, 187, 214, 183, 52]);
259 }
260 #[repr(C)]
261 #[doc(hidden)]
262 pub struct IRemoteSystemAuthorizationKindFilter_abi(
263     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
264     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
265     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
266     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
267     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
268     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
269     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut RemoteSystemAuthorizationKind) -> ::windows::runtime::HRESULT,
270 );
271 #[repr(transparent)]
272 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
273 #[doc(hidden)]
274 pub struct IRemoteSystemAuthorizationKindFilterFactory(::windows::runtime::IInspectable);
275 unsafe impl ::windows::runtime::Interface for IRemoteSystemAuthorizationKindFilterFactory {
276     type Vtable = IRemoteSystemAuthorizationKindFilterFactory_abi;
277     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2909134669, 46698, 17828, [129, 119, 140, 174, 215, 93, 158, 90]);
278 }
279 #[repr(C)]
280 #[doc(hidden)]
281 pub struct IRemoteSystemAuthorizationKindFilterFactory_abi(
282     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
283     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
284     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
285     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
286     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
287     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
288     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, remotesystemauthorizationkind: RemoteSystemAuthorizationKind, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
289 );
290 #[repr(transparent)]
291 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
292 #[doc(hidden)]
293 pub struct IRemoteSystemConnectionInfo(::windows::runtime::IInspectable);
294 unsafe impl ::windows::runtime::Interface for IRemoteSystemConnectionInfo {
295     type Vtable = IRemoteSystemConnectionInfo_abi;
296     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(589794243, 3337, 21195, [156, 106, 238, 210, 148, 11, 238, 67]);
297 }
298 #[repr(C)]
299 #[doc(hidden)]
300 pub struct IRemoteSystemConnectionInfo_abi(
301     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
302     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
303     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
304     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
305     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
306     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
307     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
308 );
309 #[repr(transparent)]
310 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
311 #[doc(hidden)]
312 pub struct IRemoteSystemConnectionInfoStatics(::windows::runtime::IInspectable);
313 unsafe impl ::windows::runtime::Interface for IRemoteSystemConnectionInfoStatics {
314     type Vtable = IRemoteSystemConnectionInfoStatics_abi;
315     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2894274093, 26309, 22231, [164, 206, 112, 93, 148, 146, 90, 214]);
316 }
317 #[repr(C)]
318 #[doc(hidden)]
319 pub struct IRemoteSystemConnectionInfoStatics_abi(
320     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
321     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
322     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
323     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
324     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
325     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
326     #[cfg(feature = "ApplicationModel_AppService")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, connection: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
327     #[cfg(not(feature = "ApplicationModel_AppService"))] usize,
328 );
329 #[repr(transparent)]
330 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
331 #[doc(hidden)]
332 pub struct IRemoteSystemConnectionRequest(::windows::runtime::IInspectable);
333 unsafe impl ::windows::runtime::Interface for IRemoteSystemConnectionRequest {
334     type Vtable = IRemoteSystemConnectionRequest_abi;
335     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2230141188, 36190, 19826, [130, 56, 118, 33, 87, 108, 122, 103]);
336 }
337 #[repr(C)]
338 #[doc(hidden)]
339 pub struct IRemoteSystemConnectionRequest_abi(
340     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
341     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
342     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
343     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
344     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
345     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
346     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
347 );
348 #[repr(transparent)]
349 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
350 #[doc(hidden)]
351 pub struct IRemoteSystemConnectionRequest2(::windows::runtime::IInspectable);
352 unsafe impl ::windows::runtime::Interface for IRemoteSystemConnectionRequest2 {
353     type Vtable = IRemoteSystemConnectionRequest2_abi;
354     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(316632431, 49148, 18490, [138, 190, 211, 74, 108, 25, 249, 43]);
355 }
356 #[repr(C)]
357 #[doc(hidden)]
358 pub struct IRemoteSystemConnectionRequest2_abi(
359     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
360     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
361     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
362     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
363     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
364     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
365     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
366 );
367 #[repr(transparent)]
368 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
369 #[doc(hidden)]
370 pub struct IRemoteSystemConnectionRequest3(::windows::runtime::IInspectable);
371 unsafe impl ::windows::runtime::Interface for IRemoteSystemConnectionRequest3 {
372     type Vtable = IRemoteSystemConnectionRequest3_abi;
373     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3733373927, 51660, 23120, [184, 217, 186, 123, 52, 187, 141, 14]);
374 }
375 #[repr(C)]
376 #[doc(hidden)]
377 pub struct IRemoteSystemConnectionRequest3_abi(
378     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
379     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
380     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
381     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
382     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
383     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
384     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
385 );
386 #[repr(transparent)]
387 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
388 #[doc(hidden)]
389 pub struct IRemoteSystemConnectionRequestFactory(::windows::runtime::IInspectable);
390 unsafe impl ::windows::runtime::Interface for IRemoteSystemConnectionRequestFactory {
391     type Vtable = IRemoteSystemConnectionRequestFactory_abi;
392     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2852784672, 47851, 17781, [181, 48, 129, 11, 185, 120, 99, 52]);
393 }
394 #[repr(C)]
395 #[doc(hidden)]
396 pub struct IRemoteSystemConnectionRequestFactory_abi(
397     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
398     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
399     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
400     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
401     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
402     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
403     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, remotesystem: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
404 );
405 #[repr(transparent)]
406 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
407 #[doc(hidden)]
408 pub struct IRemoteSystemConnectionRequestStatics(::windows::runtime::IInspectable);
409 unsafe impl ::windows::runtime::Interface for IRemoteSystemConnectionRequestStatics {
410     type Vtable = IRemoteSystemConnectionRequestStatics_abi;
411     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2261390397, 33300, 16988, [137, 50, 219, 73, 3, 45, 19, 6]);
412 }
413 #[repr(C)]
414 #[doc(hidden)]
415 pub struct IRemoteSystemConnectionRequestStatics_abi(
416     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
417     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
418     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
419     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
420     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
421     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
422     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, remotesystemapp: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
423 );
424 #[repr(transparent)]
425 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
426 #[doc(hidden)]
427 pub struct IRemoteSystemConnectionRequestStatics2(::windows::runtime::IInspectable);
428 unsafe impl ::windows::runtime::Interface for IRemoteSystemConnectionRequestStatics2 {
429     type Vtable = IRemoteSystemConnectionRequestStatics2_abi;
430     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1175392295, 25836, 22926, [168, 0, 79, 46, 229, 141, 239, 25]);
431 }
432 #[repr(C)]
433 #[doc(hidden)]
434 pub struct IRemoteSystemConnectionRequestStatics2_abi(
435     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
436     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
437     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
438     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
439     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
440     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
441     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, connectiontoken: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
442     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, connectiontoken: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
443 );
444 #[repr(transparent)]
445 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
446 #[doc(hidden)]
447 pub struct IRemoteSystemDiscoveryTypeFilter(::windows::runtime::IInspectable);
448 unsafe impl ::windows::runtime::Interface for IRemoteSystemDiscoveryTypeFilter {
449     type Vtable = IRemoteSystemDiscoveryTypeFilter_abi;
450     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1121518623, 61018, 17370, [172, 106, 111, 238, 37, 70, 7, 65]);
451 }
452 #[repr(C)]
453 #[doc(hidden)]
454 pub struct IRemoteSystemDiscoveryTypeFilter_abi(
455     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
456     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
457     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
458     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
459     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
460     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
461     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut RemoteSystemDiscoveryType) -> ::windows::runtime::HRESULT,
462 );
463 #[repr(transparent)]
464 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
465 #[doc(hidden)]
466 pub struct IRemoteSystemDiscoveryTypeFilterFactory(::windows::runtime::IInspectable);
467 unsafe impl ::windows::runtime::Interface for IRemoteSystemDiscoveryTypeFilterFactory {
468     type Vtable = IRemoteSystemDiscoveryTypeFilterFactory_abi;
469     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2677979539, 49760, 16737, [146, 242, 156, 2, 31, 35, 254, 93]);
470 }
471 #[repr(C)]
472 #[doc(hidden)]
473 pub struct IRemoteSystemDiscoveryTypeFilterFactory_abi(
474     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
475     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
476     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
477     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
478     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
479     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
480     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, discoverytype: RemoteSystemDiscoveryType, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
481 );
482 #[repr(transparent)]
483 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
484 #[doc(hidden)]
485 pub struct IRemoteSystemEnumerationCompletedEventArgs(::windows::runtime::IInspectable);
486 unsafe impl ::windows::runtime::Interface for IRemoteSystemEnumerationCompletedEventArgs {
487     type Vtable = IRemoteSystemEnumerationCompletedEventArgs_abi;
488     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3337108831, 16432, 17236, [160, 96, 20, 241, 178, 44, 84, 93]);
489 }
490 #[repr(C)]
491 #[doc(hidden)]
492 pub struct IRemoteSystemEnumerationCompletedEventArgs_abi(
493     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
494     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
495     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
496     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
497     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
498     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
499 );
500 #[repr(transparent)]
501 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
502 pub struct IRemoteSystemFilter(::windows::runtime::IInspectable);
503 unsafe impl ::windows::runtime::Interface for IRemoteSystemFilter {
504     type Vtable = IRemoteSystemFilter_abi;
505     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1245424100, 39403, 17899, [186, 22, 3, 103, 114, 143, 243, 116]);
506 }
507 impl IRemoteSystemFilter {}
508 unsafe impl ::windows::runtime::RuntimeType for IRemoteSystemFilter {
509     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{4a3ba9e4-99eb-45eb-ba16-0367728ff374}");
510 }
511 impl ::std::convert::From<IRemoteSystemFilter> for ::windows::runtime::IUnknown {
from(value: IRemoteSystemFilter) -> Self512     fn from(value: IRemoteSystemFilter) -> Self {
513         unsafe { ::std::mem::transmute(value) }
514     }
515 }
516 impl ::std::convert::From<&IRemoteSystemFilter> for ::windows::runtime::IUnknown {
from(value: &IRemoteSystemFilter) -> Self517     fn from(value: &IRemoteSystemFilter) -> Self {
518         ::std::convert::From::from(::std::clone::Clone::clone(value))
519     }
520 }
521 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRemoteSystemFilter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>522     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
523         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
524     }
525 }
526 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRemoteSystemFilter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>527     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
528         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
529     }
530 }
531 impl ::std::convert::From<IRemoteSystemFilter> for ::windows::runtime::IInspectable {
from(value: IRemoteSystemFilter) -> Self532     fn from(value: IRemoteSystemFilter) -> Self {
533         value.0
534     }
535 }
536 impl ::std::convert::From<&IRemoteSystemFilter> for ::windows::runtime::IInspectable {
from(value: &IRemoteSystemFilter) -> Self537     fn from(value: &IRemoteSystemFilter) -> Self {
538         value.0.clone()
539     }
540 }
541 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IRemoteSystemFilter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>542     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
543         ::windows::runtime::Param::Owned(self.0)
544     }
545 }
546 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IRemoteSystemFilter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>547     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
548         ::windows::runtime::Param::Borrowed(&self.0)
549     }
550 }
551 #[repr(C)]
552 #[doc(hidden)]
553 pub struct IRemoteSystemFilter_abi(
554     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
555     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
556     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
557     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
558     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
559     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
560 );
561 #[repr(transparent)]
562 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
563 #[doc(hidden)]
564 pub struct IRemoteSystemKindFilter(::windows::runtime::IInspectable);
565 unsafe impl ::windows::runtime::Interface for IRemoteSystemKindFilter {
566     type Vtable = IRemoteSystemKindFilter_abi;
567     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(954321388, 8899, 20214, [144, 26, 187, 177, 199, 170, 212, 237]);
568 }
569 #[repr(C)]
570 #[doc(hidden)]
571 pub struct IRemoteSystemKindFilter_abi(
572     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
573     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
574     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
575     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
576     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
577     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
578     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
579     #[cfg(not(feature = "Foundation_Collections"))] usize,
580 );
581 #[repr(transparent)]
582 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
583 #[doc(hidden)]
584 pub struct IRemoteSystemKindFilterFactory(::windows::runtime::IInspectable);
585 unsafe impl ::windows::runtime::Interface for IRemoteSystemKindFilterFactory {
586     type Vtable = IRemoteSystemKindFilterFactory_abi;
587     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2717587694, 39402, 16572, [154, 57, 198, 112, 170, 128, 74, 40]);
588 }
589 #[repr(C)]
590 #[doc(hidden)]
591 pub struct IRemoteSystemKindFilterFactory_abi(
592     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
593     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
594     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
595     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
596     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
597     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
598     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, remotesystemkinds: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
599     #[cfg(not(feature = "Foundation_Collections"))] usize,
600 );
601 #[repr(transparent)]
602 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
603 #[doc(hidden)]
604 pub struct IRemoteSystemKindStatics(::windows::runtime::IInspectable);
605 unsafe impl ::windows::runtime::Interface for IRemoteSystemKindStatics {
606     type Vtable = IRemoteSystemKindStatics_abi;
607     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4130436659, 43796, 16848, [149, 83, 121, 106, 173, 184, 130, 219]);
608 }
609 #[repr(C)]
610 #[doc(hidden)]
611 pub struct IRemoteSystemKindStatics_abi(
612     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
613     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
614     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
615     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
616     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
617     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
618     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
619     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
620     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
621     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
622     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
623 );
624 #[repr(transparent)]
625 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
626 #[doc(hidden)]
627 pub struct IRemoteSystemKindStatics2(::windows::runtime::IInspectable);
628 unsafe impl ::windows::runtime::Interface for IRemoteSystemKindStatics2 {
629     type Vtable = IRemoteSystemKindStatics2_abi;
630     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3118703568, 1126, 18249, [145, 232, 101, 249, 209, 154, 150, 165]);
631 }
632 #[repr(C)]
633 #[doc(hidden)]
634 pub struct IRemoteSystemKindStatics2_abi(
635     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
636     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
637     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
638     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
639     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
640     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
641     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
642     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
643     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
644 );
645 #[repr(transparent)]
646 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
647 #[doc(hidden)]
648 pub struct IRemoteSystemRemovedEventArgs(::windows::runtime::IInspectable);
649 unsafe impl ::windows::runtime::Interface for IRemoteSystemRemovedEventArgs {
650     type Vtable = IRemoteSystemRemovedEventArgs_abi;
651     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2336036539, 29446, 18922, [183, 223, 103, 213, 113, 76, 176, 19]);
652 }
653 #[repr(C)]
654 #[doc(hidden)]
655 pub struct IRemoteSystemRemovedEventArgs_abi(
656     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
657     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
658     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
659     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
660     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
661     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
662     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
663 );
664 #[repr(transparent)]
665 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
666 #[doc(hidden)]
667 pub struct IRemoteSystemSession(::windows::runtime::IInspectable);
668 unsafe impl ::windows::runtime::Interface for IRemoteSystemSession {
669     type Vtable = IRemoteSystemSession_abi;
670     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1766287873, 39642, 18703, [149, 73, 211, 28, 177, 76, 158, 149]);
671 }
672 #[repr(C)]
673 #[doc(hidden)]
674 pub struct IRemoteSystemSession_abi(
675     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
676     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
677     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
678     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
679     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
680     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
681     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
682     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
683     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
684     #[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,
685     #[cfg(not(feature = "Foundation"))] usize,
686     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
687     #[cfg(not(feature = "Foundation"))] usize,
688     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
689     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, invitee: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
690     #[cfg(not(feature = "Foundation"))] usize,
691 );
692 #[repr(transparent)]
693 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
694 #[doc(hidden)]
695 pub struct IRemoteSystemSessionAddedEventArgs(::windows::runtime::IInspectable);
696 unsafe impl ::windows::runtime::Interface for IRemoteSystemSessionAddedEventArgs {
697     type Vtable = IRemoteSystemSessionAddedEventArgs_abi;
698     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3582318420, 48279, 19513, [153, 180, 190, 202, 118, 224, 76, 63]);
699 }
700 #[repr(C)]
701 #[doc(hidden)]
702 pub struct IRemoteSystemSessionAddedEventArgs_abi(
703     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
704     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
705     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
706     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
707     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
708     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
709     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
710 );
711 #[repr(transparent)]
712 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
713 #[doc(hidden)]
714 pub struct IRemoteSystemSessionController(::windows::runtime::IInspectable);
715 unsafe impl ::windows::runtime::Interface for IRemoteSystemSessionController {
716     type Vtable = IRemoteSystemSessionController_abi;
717     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3834326482, 26656, 18535, [180, 37, 216, 156, 10, 62, 247, 186]);
718 }
719 #[repr(C)]
720 #[doc(hidden)]
721 pub struct IRemoteSystemSessionController_abi(
722     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
723     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
724     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
725     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
726     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
727     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
728     #[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,
729     #[cfg(not(feature = "Foundation"))] usize,
730     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
731     #[cfg(not(feature = "Foundation"))] usize,
732     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pparticipant: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
733     #[cfg(not(feature = "Foundation"))] usize,
734     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
735     #[cfg(not(feature = "Foundation"))] usize,
736 );
737 #[repr(transparent)]
738 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
739 #[doc(hidden)]
740 pub struct IRemoteSystemSessionControllerFactory(::windows::runtime::IInspectable);
741 unsafe impl ::windows::runtime::Interface for IRemoteSystemSessionControllerFactory {
742     type Vtable = IRemoteSystemSessionControllerFactory_abi;
743     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3217829739, 44093, 16793, [130, 205, 102, 112, 167, 115, 239, 46]);
744 }
745 #[repr(C)]
746 #[doc(hidden)]
747 pub struct IRemoteSystemSessionControllerFactory_abi(
748     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
749     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
750     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
751     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
752     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
753     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
754     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, displayname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
755     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, displayname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, options: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
756 );
757 #[repr(transparent)]
758 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
759 #[doc(hidden)]
760 pub struct IRemoteSystemSessionCreationResult(::windows::runtime::IInspectable);
761 unsafe impl ::windows::runtime::Interface for IRemoteSystemSessionCreationResult {
762     type Vtable = IRemoteSystemSessionCreationResult_abi;
763     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2811761346, 14302, 17548, [139, 131, 163, 10, 163, 196, 234, 214]);
764 }
765 #[repr(C)]
766 #[doc(hidden)]
767 pub struct IRemoteSystemSessionCreationResult_abi(
768     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
769     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
770     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
771     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
772     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
773     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
774     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut RemoteSystemSessionCreationStatus) -> ::windows::runtime::HRESULT,
775     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
776 );
777 #[repr(transparent)]
778 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
779 #[doc(hidden)]
780 pub struct IRemoteSystemSessionDisconnectedEventArgs(::windows::runtime::IInspectable);
781 unsafe impl ::windows::runtime::Interface for IRemoteSystemSessionDisconnectedEventArgs {
782     type Vtable = IRemoteSystemSessionDisconnectedEventArgs_abi;
783     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3725313691, 30661, 17948, [130, 9, 124, 108, 93, 49, 17, 171]);
784 }
785 #[repr(C)]
786 #[doc(hidden)]
787 pub struct IRemoteSystemSessionDisconnectedEventArgs_abi(
788     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
789     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
790     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
791     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
792     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
793     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
794     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut RemoteSystemSessionDisconnectedReason) -> ::windows::runtime::HRESULT,
795 );
796 #[repr(transparent)]
797 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
798 #[doc(hidden)]
799 pub struct IRemoteSystemSessionInfo(::windows::runtime::IInspectable);
800 unsafe impl ::windows::runtime::Interface for IRemoteSystemSessionInfo {
801     type Vtable = IRemoteSystemSessionInfo_abi;
802     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4283299400, 35594, 20122, [153, 5, 105, 228, 184, 65, 197, 136]);
803 }
804 #[repr(C)]
805 #[doc(hidden)]
806 pub struct IRemoteSystemSessionInfo_abi(
807     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
808     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
809     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
810     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
811     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
812     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
813     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
814     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
815     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
816     #[cfg(not(feature = "Foundation"))] usize,
817 );
818 #[repr(transparent)]
819 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
820 #[doc(hidden)]
821 pub struct IRemoteSystemSessionInvitation(::windows::runtime::IInspectable);
822 unsafe impl ::windows::runtime::Interface for IRemoteSystemSessionInvitation {
823     type Vtable = IRemoteSystemSessionInvitation_abi;
824     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1043516561, 20951, 18278, [161, 33, 37, 81, 108, 59, 130, 148]);
825 }
826 #[repr(C)]
827 #[doc(hidden)]
828 pub struct IRemoteSystemSessionInvitation_abi(
829     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
830     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
831     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
832     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
833     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
834     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
835     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
836     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
837 );
838 #[repr(transparent)]
839 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
840 #[doc(hidden)]
841 pub struct IRemoteSystemSessionInvitationListener(::windows::runtime::IInspectable);
842 unsafe impl ::windows::runtime::Interface for IRemoteSystemSessionInvitationListener {
843     type Vtable = IRemoteSystemSessionInvitationListener_abi;
844     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(150208575, 48241, 18913, [135, 74, 49, 221, 255, 154, 39, 185]);
845 }
846 #[repr(C)]
847 #[doc(hidden)]
848 pub struct IRemoteSystemSessionInvitationListener_abi(
849     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
850     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
851     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
852     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
853     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
854     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
855     #[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,
856     #[cfg(not(feature = "Foundation"))] usize,
857     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
858     #[cfg(not(feature = "Foundation"))] usize,
859 );
860 #[repr(transparent)]
861 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
862 #[doc(hidden)]
863 pub struct IRemoteSystemSessionInvitationReceivedEventArgs(::windows::runtime::IInspectable);
864 unsafe impl ::windows::runtime::Interface for IRemoteSystemSessionInvitationReceivedEventArgs {
865     type Vtable = IRemoteSystemSessionInvitationReceivedEventArgs_abi;
866     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1586907693, 41229, 20187, [141, 234, 84, 210, 10, 193, 149, 67]);
867 }
868 #[repr(C)]
869 #[doc(hidden)]
870 pub struct IRemoteSystemSessionInvitationReceivedEventArgs_abi(
871     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
872     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
873     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
874     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
875     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
876     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
877     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
878 );
879 #[repr(transparent)]
880 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
881 #[doc(hidden)]
882 pub struct IRemoteSystemSessionJoinRequest(::windows::runtime::IInspectable);
883 unsafe impl ::windows::runtime::Interface for IRemoteSystemSessionJoinRequest {
884     type Vtable = IRemoteSystemSessionJoinRequest_abi;
885     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(543162472, 31124, 17201, [134, 209, 216, 157, 136, 37, 133, 238]);
886 }
887 #[repr(C)]
888 #[doc(hidden)]
889 pub struct IRemoteSystemSessionJoinRequest_abi(
890     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
891     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
892     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
893     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
894     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
895     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
896     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
897     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
898 );
899 #[repr(transparent)]
900 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
901 #[doc(hidden)]
902 pub struct IRemoteSystemSessionJoinRequestedEventArgs(::windows::runtime::IInspectable);
903 unsafe impl ::windows::runtime::Interface for IRemoteSystemSessionJoinRequestedEventArgs {
904     type Vtable = IRemoteSystemSessionJoinRequestedEventArgs_abi;
905     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3687468995, 33465, 18454, [156, 36, 228, 14, 97, 119, 75, 216]);
906 }
907 #[repr(C)]
908 #[doc(hidden)]
909 pub struct IRemoteSystemSessionJoinRequestedEventArgs_abi(
910     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
911     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
912     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
913     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
914     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
915     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
916     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
917     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
918     #[cfg(not(feature = "Foundation"))] usize,
919 );
920 #[repr(transparent)]
921 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
922 #[doc(hidden)]
923 pub struct IRemoteSystemSessionJoinResult(::windows::runtime::IInspectable);
924 unsafe impl ::windows::runtime::Interface for IRemoteSystemSessionJoinResult {
925     type Vtable = IRemoteSystemSessionJoinResult_abi;
926     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3464175364, 41022, 16804, [144, 11, 30, 121, 50, 140, 18, 103]);
927 }
928 #[repr(C)]
929 #[doc(hidden)]
930 pub struct IRemoteSystemSessionJoinResult_abi(
931     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
932     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
933     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
934     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
935     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
936     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
937     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut RemoteSystemSessionJoinStatus) -> ::windows::runtime::HRESULT,
938     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
939 );
940 #[repr(transparent)]
941 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
942 #[doc(hidden)]
943 pub struct IRemoteSystemSessionMessageChannel(::windows::runtime::IInspectable);
944 unsafe impl ::windows::runtime::Interface for IRemoteSystemSessionMessageChannel {
945     type Vtable = IRemoteSystemSessionMessageChannel_abi;
946     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2502218026, 29657, 19472, [183, 81, 194, 103, 132, 67, 113, 39]);
947 }
948 #[repr(C)]
949 #[doc(hidden)]
950 pub struct IRemoteSystemSessionMessageChannel_abi(
951     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
952     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
953     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
954     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
955     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
956     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
957     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
958     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, messagedata: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
959     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
960     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, messagedata: ::windows::runtime::RawPtr, participant: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
961     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
962     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, messagedata: ::windows::runtime::RawPtr, participants: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
963     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
964     #[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,
965     #[cfg(not(feature = "Foundation"))] usize,
966     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
967     #[cfg(not(feature = "Foundation"))] usize,
968 );
969 #[repr(transparent)]
970 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
971 #[doc(hidden)]
972 pub struct IRemoteSystemSessionMessageChannelFactory(::windows::runtime::IInspectable);
973 unsafe impl ::windows::runtime::Interface for IRemoteSystemSessionMessageChannelFactory {
974     type Vtable = IRemoteSystemSessionMessageChannelFactory_abi;
975     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(694033482, 48406, 17048, [183, 206, 65, 84, 130, 176, 225, 29]);
976 }
977 #[repr(C)]
978 #[doc(hidden)]
979 pub struct IRemoteSystemSessionMessageChannelFactory_abi(
980     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
981     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
982     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
983     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
984     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
985     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
986     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, session: ::windows::runtime::RawPtr, channelname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
987     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, session: ::windows::runtime::RawPtr, channelname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, reliability: RemoteSystemSessionMessageChannelReliability, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
988 );
989 #[repr(transparent)]
990 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
991 #[doc(hidden)]
992 pub struct IRemoteSystemSessionOptions(::windows::runtime::IInspectable);
993 unsafe impl ::windows::runtime::Interface for IRemoteSystemSessionOptions {
994     type Vtable = IRemoteSystemSessionOptions_abi;
995     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1947129685, 33816, 20225, [147, 83, 226, 28, 158, 204, 108, 252]);
996 }
997 #[repr(C)]
998 #[doc(hidden)]
999 pub struct IRemoteSystemSessionOptions_abi(
1000     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1001     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1002     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1003     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1004     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1005     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1006     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1007     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1008 );
1009 #[repr(transparent)]
1010 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1011 #[doc(hidden)]
1012 pub struct IRemoteSystemSessionParticipant(::windows::runtime::IInspectable);
1013 unsafe impl ::windows::runtime::Interface for IRemoteSystemSessionParticipant {
1014     type Vtable = IRemoteSystemSessionParticipant_abi;
1015     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2123367820, 44281, 18217, [138, 23, 68, 231, 186, 237, 93, 204]);
1016 }
1017 #[repr(C)]
1018 #[doc(hidden)]
1019 pub struct IRemoteSystemSessionParticipant_abi(
1020     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1021     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1022     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1023     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1024     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1025     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1026     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1027     #[cfg(all(feature = "Foundation_Collections", feature = "Networking"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1028     #[cfg(not(all(feature = "Foundation_Collections", feature = "Networking")))] usize,
1029 );
1030 #[repr(transparent)]
1031 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1032 #[doc(hidden)]
1033 pub struct IRemoteSystemSessionParticipantAddedEventArgs(::windows::runtime::IInspectable);
1034 unsafe impl ::windows::runtime::Interface for IRemoteSystemSessionParticipantAddedEventArgs {
1035     type Vtable = IRemoteSystemSessionParticipantAddedEventArgs_abi;
1036     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3545913304, 51617, 19383, [182, 176, 121, 187, 145, 173, 249, 61]);
1037 }
1038 #[repr(C)]
1039 #[doc(hidden)]
1040 pub struct IRemoteSystemSessionParticipantAddedEventArgs_abi(
1041     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1042     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1043     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1044     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1045     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1046     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1047     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1048 );
1049 #[repr(transparent)]
1050 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1051 #[doc(hidden)]
1052 pub struct IRemoteSystemSessionParticipantRemovedEventArgs(::windows::runtime::IInspectable);
1053 unsafe impl ::windows::runtime::Interface for IRemoteSystemSessionParticipantRemovedEventArgs {
1054     type Vtable = IRemoteSystemSessionParticipantRemovedEventArgs_abi;
1055     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2255417480, 56936, 19135, [136, 161, 249, 13, 22, 39, 65, 146]);
1056 }
1057 #[repr(C)]
1058 #[doc(hidden)]
1059 pub struct IRemoteSystemSessionParticipantRemovedEventArgs_abi(
1060     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1061     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1062     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1063     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1064     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1065     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1066     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1067 );
1068 #[repr(transparent)]
1069 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1070 #[doc(hidden)]
1071 pub struct IRemoteSystemSessionParticipantWatcher(::windows::runtime::IInspectable);
1072 unsafe impl ::windows::runtime::Interface for IRemoteSystemSessionParticipantWatcher {
1073     type Vtable = IRemoteSystemSessionParticipantWatcher_abi;
1074     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3705471692, 43655, 19833, [182, 204, 68, 89, 179, 233, 32, 117]);
1075 }
1076 #[repr(C)]
1077 #[doc(hidden)]
1078 pub struct IRemoteSystemSessionParticipantWatcher_abi(
1079     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1080     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1081     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1082     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1083     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1084     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1085     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1086     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1087     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut RemoteSystemSessionParticipantWatcherStatus) -> ::windows::runtime::HRESULT,
1088     #[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,
1089     #[cfg(not(feature = "Foundation"))] usize,
1090     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1091     #[cfg(not(feature = "Foundation"))] usize,
1092     #[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,
1093     #[cfg(not(feature = "Foundation"))] usize,
1094     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1095     #[cfg(not(feature = "Foundation"))] usize,
1096     #[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,
1097     #[cfg(not(feature = "Foundation"))] usize,
1098     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1099     #[cfg(not(feature = "Foundation"))] usize,
1100 );
1101 #[repr(transparent)]
1102 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1103 #[doc(hidden)]
1104 pub struct IRemoteSystemSessionRemovedEventArgs(::windows::runtime::IInspectable);
1105 unsafe impl ::windows::runtime::Interface for IRemoteSystemSessionRemovedEventArgs {
1106     type Vtable = IRemoteSystemSessionRemovedEventArgs_abi;
1107     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2944569678, 14753, 19946, [157, 99, 67, 121, 141, 91, 187, 208]);
1108 }
1109 #[repr(C)]
1110 #[doc(hidden)]
1111 pub struct IRemoteSystemSessionRemovedEventArgs_abi(
1112     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1113     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1114     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1115     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1116     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1117     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1118     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1119 );
1120 #[repr(transparent)]
1121 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1122 #[doc(hidden)]
1123 pub struct IRemoteSystemSessionStatics(::windows::runtime::IInspectable);
1124 unsafe impl ::windows::runtime::Interface for IRemoteSystemSessionStatics {
1125     type Vtable = IRemoteSystemSessionStatics_abi;
1126     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2233764255, 64800, 17635, [149, 101, 231, 90, 59, 20, 198, 110]);
1127 }
1128 #[repr(C)]
1129 #[doc(hidden)]
1130 pub struct IRemoteSystemSessionStatics_abi(
1131     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1132     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1133     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1134     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1135     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1136     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1137     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1138 );
1139 #[repr(transparent)]
1140 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1141 #[doc(hidden)]
1142 pub struct IRemoteSystemSessionUpdatedEventArgs(::windows::runtime::IInspectable);
1143 unsafe impl ::windows::runtime::Interface for IRemoteSystemSessionUpdatedEventArgs {
1144     type Vtable = IRemoteSystemSessionUpdatedEventArgs_abi;
1145     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(377966697, 8990, 19601, [142, 200, 179, 163, 157, 158, 85, 163]);
1146 }
1147 #[repr(C)]
1148 #[doc(hidden)]
1149 pub struct IRemoteSystemSessionUpdatedEventArgs_abi(
1150     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1151     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1152     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1153     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1154     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1155     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1156     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1157 );
1158 #[repr(transparent)]
1159 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1160 #[doc(hidden)]
1161 pub struct IRemoteSystemSessionValueSetReceivedEventArgs(::windows::runtime::IInspectable);
1162 unsafe impl ::windows::runtime::Interface for IRemoteSystemSessionValueSetReceivedEventArgs {
1163     type Vtable = IRemoteSystemSessionValueSetReceivedEventArgs_abi;
1164     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(116594565, 11685, 20056, [167, 143, 158, 141, 7, 132, 238, 37]);
1165 }
1166 #[repr(C)]
1167 #[doc(hidden)]
1168 pub struct IRemoteSystemSessionValueSetReceivedEventArgs_abi(
1169     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1170     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1171     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1172     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1173     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1174     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1175     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1176     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1177     #[cfg(not(feature = "Foundation_Collections"))] usize,
1178 );
1179 #[repr(transparent)]
1180 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1181 #[doc(hidden)]
1182 pub struct IRemoteSystemSessionWatcher(::windows::runtime::IInspectable);
1183 unsafe impl ::windows::runtime::Interface for IRemoteSystemSessionWatcher {
1184     type Vtable = IRemoteSystemSessionWatcher_abi;
1185     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2147738432, 3137, 19042, [182, 215, 189, 190, 43, 25, 190, 45]);
1186 }
1187 #[repr(C)]
1188 #[doc(hidden)]
1189 pub struct IRemoteSystemSessionWatcher_abi(
1190     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1191     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1192     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1193     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1194     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1195     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1196     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1197     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1198     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut RemoteSystemSessionWatcherStatus) -> ::windows::runtime::HRESULT,
1199     #[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,
1200     #[cfg(not(feature = "Foundation"))] usize,
1201     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1202     #[cfg(not(feature = "Foundation"))] usize,
1203     #[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,
1204     #[cfg(not(feature = "Foundation"))] usize,
1205     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1206     #[cfg(not(feature = "Foundation"))] usize,
1207     #[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,
1208     #[cfg(not(feature = "Foundation"))] usize,
1209     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1210     #[cfg(not(feature = "Foundation"))] usize,
1211 );
1212 #[repr(transparent)]
1213 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1214 #[doc(hidden)]
1215 pub struct IRemoteSystemStatics(::windows::runtime::IInspectable);
1216 unsafe impl ::windows::runtime::Interface for IRemoteSystemStatics {
1217     type Vtable = IRemoteSystemStatics_abi;
1218     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2760225682, 65323, 19271, [190, 98, 116, 63, 47, 20, 15, 48]);
1219 }
1220 #[repr(C)]
1221 #[doc(hidden)]
1222 pub struct IRemoteSystemStatics_abi(
1223     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1224     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1225     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1226     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1227     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1228     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1229     #[cfg(all(feature = "Foundation", feature = "Networking"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hostname: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1230     #[cfg(not(all(feature = "Foundation", feature = "Networking")))] usize,
1231     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1232     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filters: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1233     #[cfg(not(feature = "Foundation_Collections"))] usize,
1234     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1235     #[cfg(not(feature = "Foundation"))] usize,
1236 );
1237 #[repr(transparent)]
1238 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1239 #[doc(hidden)]
1240 pub struct IRemoteSystemStatics2(::windows::runtime::IInspectable);
1241 unsafe impl ::windows::runtime::Interface for IRemoteSystemStatics2 {
1242     type Vtable = IRemoteSystemStatics2_abi;
1243     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(211348938, 28569, 19538, [162, 114, 234, 79, 54, 71, 23, 68]);
1244 }
1245 #[repr(C)]
1246 #[doc(hidden)]
1247 pub struct IRemoteSystemStatics2_abi(
1248     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1249     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1250     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1251     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1252     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1253     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1254     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, kind: RemoteSystemAuthorizationKind, result__: *mut bool) -> ::windows::runtime::HRESULT,
1255 );
1256 #[repr(transparent)]
1257 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1258 #[doc(hidden)]
1259 pub struct IRemoteSystemStatics3(::windows::runtime::IInspectable);
1260 unsafe impl ::windows::runtime::Interface for IRemoteSystemStatics3 {
1261     type Vtable = IRemoteSystemStatics3_abi;
1262     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2576740719, 2876, 23237, [179, 37, 204, 115, 244, 55, 223, 205]);
1263 }
1264 #[repr(C)]
1265 #[doc(hidden)]
1266 pub struct IRemoteSystemStatics3_abi(
1267     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1268     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1269     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1270     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1271     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1272     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1273     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1274     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, filters: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1275     #[cfg(not(feature = "Foundation_Collections"))] usize,
1276 );
1277 #[repr(transparent)]
1278 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1279 #[doc(hidden)]
1280 pub struct IRemoteSystemStatusTypeFilter(::windows::runtime::IInspectable);
1281 unsafe impl ::windows::runtime::Interface for IRemoteSystemStatusTypeFilter {
1282     type Vtable = IRemoteSystemStatusTypeFilter_abi;
1283     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(205082958, 52150, 18295, [133, 52, 46, 12, 82, 26, 255, 162]);
1284 }
1285 #[repr(C)]
1286 #[doc(hidden)]
1287 pub struct IRemoteSystemStatusTypeFilter_abi(
1288     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1289     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1290     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1291     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1292     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1293     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1294     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut RemoteSystemStatusType) -> ::windows::runtime::HRESULT,
1295 );
1296 #[repr(transparent)]
1297 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1298 #[doc(hidden)]
1299 pub struct IRemoteSystemStatusTypeFilterFactory(::windows::runtime::IInspectable);
1300 unsafe impl ::windows::runtime::Interface for IRemoteSystemStatusTypeFilterFactory {
1301     type Vtable = IRemoteSystemStatusTypeFilterFactory_abi;
1302     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(869234938, 55076, 16677, [172, 122, 141, 40, 30, 68, 201, 73]);
1303 }
1304 #[repr(C)]
1305 #[doc(hidden)]
1306 pub struct IRemoteSystemStatusTypeFilterFactory_abi(
1307     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1308     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1309     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1310     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1311     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1312     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1313     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, remotesystemstatustype: RemoteSystemStatusType, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1314 );
1315 #[repr(transparent)]
1316 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1317 #[doc(hidden)]
1318 pub struct IRemoteSystemUpdatedEventArgs(::windows::runtime::IInspectable);
1319 unsafe impl ::windows::runtime::Interface for IRemoteSystemUpdatedEventArgs {
1320     type Vtable = IRemoteSystemUpdatedEventArgs_abi;
1321     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1963130638, 56267, 16725, [180, 202, 179, 10, 4, 242, 118, 39]);
1322 }
1323 #[repr(C)]
1324 #[doc(hidden)]
1325 pub struct IRemoteSystemUpdatedEventArgs_abi(
1326     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1327     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1328     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1329     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1330     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1331     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1332     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1333 );
1334 #[repr(transparent)]
1335 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1336 #[doc(hidden)]
1337 pub struct IRemoteSystemWatcher(::windows::runtime::IInspectable);
1338 unsafe impl ::windows::runtime::Interface for IRemoteSystemWatcher {
1339     type Vtable = IRemoteSystemWatcher_abi;
1340     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1566575742, 11271, 18629, [136, 156, 69, 93, 43, 9, 151, 113]);
1341 }
1342 #[repr(C)]
1343 #[doc(hidden)]
1344 pub struct IRemoteSystemWatcher_abi(
1345     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1346     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1347     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1348     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1349     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1350     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1351     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1352     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1353     #[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,
1354     #[cfg(not(feature = "Foundation"))] usize,
1355     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1356     #[cfg(not(feature = "Foundation"))] usize,
1357     #[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,
1358     #[cfg(not(feature = "Foundation"))] usize,
1359     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1360     #[cfg(not(feature = "Foundation"))] usize,
1361     #[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,
1362     #[cfg(not(feature = "Foundation"))] usize,
1363     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1364     #[cfg(not(feature = "Foundation"))] usize,
1365 );
1366 #[repr(transparent)]
1367 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1368 #[doc(hidden)]
1369 pub struct IRemoteSystemWatcher2(::windows::runtime::IInspectable);
1370 unsafe impl ::windows::runtime::Interface for IRemoteSystemWatcher2 {
1371     type Vtable = IRemoteSystemWatcher2_abi;
1372     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1933797120, 6602, 18681, [164, 205, 120, 15, 122, 213, 140, 113]);
1373 }
1374 #[repr(C)]
1375 #[doc(hidden)]
1376 pub struct IRemoteSystemWatcher2_abi(
1377     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1378     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1379     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1380     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1381     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1382     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1383     #[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,
1384     #[cfg(not(feature = "Foundation"))] usize,
1385     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1386     #[cfg(not(feature = "Foundation"))] usize,
1387     #[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,
1388     #[cfg(not(feature = "Foundation"))] usize,
1389     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1390     #[cfg(not(feature = "Foundation"))] usize,
1391 );
1392 #[repr(transparent)]
1393 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1394 #[doc(hidden)]
1395 pub struct IRemoteSystemWatcher3(::windows::runtime::IInspectable);
1396 unsafe impl ::windows::runtime::Interface for IRemoteSystemWatcher3 {
1397     type Vtable = IRemoteSystemWatcher3_abi;
1398     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4154200015, 43283, 21971, [132, 19, 65, 143, 207, 21, 186, 84]);
1399 }
1400 #[repr(C)]
1401 #[doc(hidden)]
1402 pub struct IRemoteSystemWatcher3_abi(
1403     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1404     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1405     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1406     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1407     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1408     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1409     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1410 );
1411 #[repr(transparent)]
1412 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1413 #[doc(hidden)]
1414 pub struct IRemoteSystemWatcherErrorOccurredEventArgs(::windows::runtime::IInspectable);
1415 unsafe impl ::windows::runtime::Interface for IRemoteSystemWatcherErrorOccurredEventArgs {
1416     type Vtable = IRemoteSystemWatcherErrorOccurredEventArgs_abi;
1417     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1959118511, 20756, 17446, [146, 22, 32, 216, 31, 133, 25, 174]);
1418 }
1419 #[repr(C)]
1420 #[doc(hidden)]
1421 pub struct IRemoteSystemWatcherErrorOccurredEventArgs_abi(
1422     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1423     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1424     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1425     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1426     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1427     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1428     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut RemoteSystemWatcherError) -> ::windows::runtime::HRESULT,
1429 );
1430 #[repr(transparent)]
1431 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1432 #[doc(hidden)]
1433 pub struct IRemoteSystemWebAccountFilter(::windows::runtime::IInspectable);
1434 unsafe impl ::windows::runtime::Interface for IRemoteSystemWebAccountFilter {
1435     type Vtable = IRemoteSystemWebAccountFilter_abi;
1436     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1068980339, 34760, 23951, [151, 126, 246, 159, 150, 214, 114, 56]);
1437 }
1438 #[repr(C)]
1439 #[doc(hidden)]
1440 pub struct IRemoteSystemWebAccountFilter_abi(
1441     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1442     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1443     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1444     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1445     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1446     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1447     #[cfg(feature = "Security_Credentials")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1448     #[cfg(not(feature = "Security_Credentials"))] usize,
1449 );
1450 #[repr(transparent)]
1451 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1452 #[doc(hidden)]
1453 pub struct IRemoteSystemWebAccountFilterFactory(::windows::runtime::IInspectable);
1454 unsafe impl ::windows::runtime::Interface for IRemoteSystemWebAccountFilterFactory {
1455     type Vtable = IRemoteSystemWebAccountFilterFactory_abi;
1456     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(881469193, 24397, 20775, [180, 167, 191, 153, 213, 37, 43, 27]);
1457 }
1458 #[repr(C)]
1459 #[doc(hidden)]
1460 pub struct IRemoteSystemWebAccountFilterFactory_abi(
1461     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1462     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1463     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1464     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1465     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1466     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1467     #[cfg(feature = "Security_Credentials")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, account: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1468     #[cfg(not(feature = "Security_Credentials"))] usize,
1469 );
1470 pub struct KnownRemoteSystemCapabilities {}
1471 impl KnownRemoteSystemCapabilities {
AppService() -> ::windows::runtime::Result<::windows::runtime::HSTRING>1472     pub fn AppService() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1473         Self::IKnownRemoteSystemCapabilitiesStatics(|this| unsafe {
1474             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1475             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1476         })
1477     }
LaunchUri() -> ::windows::runtime::Result<::windows::runtime::HSTRING>1478     pub fn LaunchUri() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1479         Self::IKnownRemoteSystemCapabilitiesStatics(|this| unsafe {
1480             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1481             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1482         })
1483     }
RemoteSession() -> ::windows::runtime::Result<::windows::runtime::HSTRING>1484     pub fn RemoteSession() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1485         Self::IKnownRemoteSystemCapabilitiesStatics(|this| unsafe {
1486             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1487             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1488         })
1489     }
SpatialEntity() -> ::windows::runtime::Result<::windows::runtime::HSTRING>1490     pub fn SpatialEntity() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1491         Self::IKnownRemoteSystemCapabilitiesStatics(|this| unsafe {
1492             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1493             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1494         })
1495     }
IKnownRemoteSystemCapabilitiesStatics<R, F: FnOnce(&IKnownRemoteSystemCapabilitiesStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1496     pub fn IKnownRemoteSystemCapabilitiesStatics<R, F: FnOnce(&IKnownRemoteSystemCapabilitiesStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1497         static mut SHARED: ::windows::runtime::FactoryCache<KnownRemoteSystemCapabilities, IKnownRemoteSystemCapabilitiesStatics> = ::windows::runtime::FactoryCache::new();
1498         unsafe { SHARED.call(callback) }
1499     }
1500 }
1501 impl ::windows::runtime::RuntimeName for KnownRemoteSystemCapabilities {
1502     const NAME: &'static str = "Windows.System.RemoteSystems.KnownRemoteSystemCapabilities";
1503 }
1504 #[repr(transparent)]
1505 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1506 pub struct RemoteSystem(::windows::runtime::IInspectable);
1507 impl RemoteSystem {
DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1508     pub fn DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1509         let this = self;
1510         unsafe {
1511             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1512             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1513         }
1514     }
Id(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1515     pub fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1516         let this = self;
1517         unsafe {
1518             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1519             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1520         }
1521     }
Kind(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1522     pub fn Kind(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1523         let this = self;
1524         unsafe {
1525             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1526             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1527         }
1528     }
Status(&self) -> ::windows::runtime::Result<RemoteSystemStatus>1529     pub fn Status(&self) -> ::windows::runtime::Result<RemoteSystemStatus> {
1530         let this = self;
1531         unsafe {
1532             let mut result__: RemoteSystemStatus = ::std::mem::zeroed();
1533             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystemStatus>(result__)
1534         }
1535     }
IsAvailableByProximity(&self) -> ::windows::runtime::Result<bool>1536     pub fn IsAvailableByProximity(&self) -> ::windows::runtime::Result<bool> {
1537         let this = self;
1538         unsafe {
1539             let mut result__: bool = ::std::mem::zeroed();
1540             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1541         }
1542     }
1543     #[cfg(all(feature = "Foundation", feature = "Networking"))]
FindByHostNameAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Networking::HostName>>(hostname: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<RemoteSystem>>1544     pub fn FindByHostNameAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Networking::HostName>>(hostname: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<RemoteSystem>> {
1545         Self::IRemoteSystemStatics(|this| unsafe {
1546             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1547             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), hostname.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<RemoteSystem>>(result__)
1548         })
1549     }
CreateWatcher() -> ::windows::runtime::Result<RemoteSystemWatcher>1550     pub fn CreateWatcher() -> ::windows::runtime::Result<RemoteSystemWatcher> {
1551         Self::IRemoteSystemStatics(|this| unsafe {
1552             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1553             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystemWatcher>(result__)
1554         })
1555     }
1556     #[cfg(feature = "Foundation_Collections")]
CreateWatcherWithFilters<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<IRemoteSystemFilter>>>(filters: Param0) -> ::windows::runtime::Result<RemoteSystemWatcher>1557     pub fn CreateWatcherWithFilters<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<IRemoteSystemFilter>>>(filters: Param0) -> ::windows::runtime::Result<RemoteSystemWatcher> {
1558         Self::IRemoteSystemStatics(|this| unsafe {
1559             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1560             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), filters.into_param().abi(), &mut result__).from_abi::<RemoteSystemWatcher>(result__)
1561         })
1562     }
1563     #[cfg(feature = "Foundation")]
RequestAccessAsync() -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<RemoteSystemAccessStatus>>1564     pub fn RequestAccessAsync() -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<RemoteSystemAccessStatus>> {
1565         Self::IRemoteSystemStatics(|this| unsafe {
1566             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1567             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<RemoteSystemAccessStatus>>(result__)
1568         })
1569     }
IsAvailableBySpatialProximity(&self) -> ::windows::runtime::Result<bool>1570     pub fn IsAvailableBySpatialProximity(&self) -> ::windows::runtime::Result<bool> {
1571         let this = &::windows::runtime::Interface::cast::<IRemoteSystem2>(self)?;
1572         unsafe {
1573             let mut result__: bool = ::std::mem::zeroed();
1574             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1575         }
1576     }
1577     #[cfg(feature = "Foundation")]
GetCapabilitySupportedAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, capabilityname: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<bool>>1578     pub fn GetCapabilitySupportedAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, capabilityname: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<bool>> {
1579         let this = &::windows::runtime::Interface::cast::<IRemoteSystem2>(self)?;
1580         unsafe {
1581             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1582             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), capabilityname.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<bool>>(result__)
1583         }
1584     }
IsAuthorizationKindEnabled(kind: RemoteSystemAuthorizationKind) -> ::windows::runtime::Result<bool>1585     pub fn IsAuthorizationKindEnabled(kind: RemoteSystemAuthorizationKind) -> ::windows::runtime::Result<bool> {
1586         Self::IRemoteSystemStatics2(|this| unsafe {
1587             let mut result__: bool = ::std::mem::zeroed();
1588             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), kind, &mut result__).from_abi::<bool>(result__)
1589         })
1590     }
ManufacturerDisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1591     pub fn ManufacturerDisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1592         let this = &::windows::runtime::Interface::cast::<IRemoteSystem3>(self)?;
1593         unsafe {
1594             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1595             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1596         }
1597     }
ModelDisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1598     pub fn ModelDisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1599         let this = &::windows::runtime::Interface::cast::<IRemoteSystem3>(self)?;
1600         unsafe {
1601             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1602             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1603         }
1604     }
Platform(&self) -> ::windows::runtime::Result<RemoteSystemPlatform>1605     pub fn Platform(&self) -> ::windows::runtime::Result<RemoteSystemPlatform> {
1606         let this = &::windows::runtime::Interface::cast::<IRemoteSystem4>(self)?;
1607         unsafe {
1608             let mut result__: RemoteSystemPlatform = ::std::mem::zeroed();
1609             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystemPlatform>(result__)
1610         }
1611     }
1612     #[cfg(feature = "Foundation_Collections")]
Apps(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<RemoteSystemApp>>1613     pub fn Apps(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<RemoteSystemApp>> {
1614         let this = &::windows::runtime::Interface::cast::<IRemoteSystem5>(self)?;
1615         unsafe {
1616             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1617             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<RemoteSystemApp>>(result__)
1618         }
1619     }
User(&self) -> ::windows::runtime::Result<super::User>1620     pub fn User(&self) -> ::windows::runtime::Result<super::User> {
1621         let this = &::windows::runtime::Interface::cast::<IRemoteSystem6>(self)?;
1622         unsafe {
1623             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1624             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::User>(result__)
1625         }
1626     }
CreateWatcherForUser<'a, Param0: ::windows::runtime::IntoParam<'a, super::User>>(user: Param0) -> ::windows::runtime::Result<RemoteSystemWatcher>1627     pub fn CreateWatcherForUser<'a, Param0: ::windows::runtime::IntoParam<'a, super::User>>(user: Param0) -> ::windows::runtime::Result<RemoteSystemWatcher> {
1628         Self::IRemoteSystemStatics3(|this| unsafe {
1629             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1630             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), user.into_param().abi(), &mut result__).from_abi::<RemoteSystemWatcher>(result__)
1631         })
1632     }
1633     #[cfg(feature = "Foundation_Collections")]
CreateWatcherWithFiltersForUser<'a, Param0: ::windows::runtime::IntoParam<'a, super::User>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<IRemoteSystemFilter>>>(user: Param0, filters: Param1) -> ::windows::runtime::Result<RemoteSystemWatcher>1634     pub fn CreateWatcherWithFiltersForUser<'a, Param0: ::windows::runtime::IntoParam<'a, super::User>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<IRemoteSystemFilter>>>(user: Param0, filters: Param1) -> ::windows::runtime::Result<RemoteSystemWatcher> {
1635         Self::IRemoteSystemStatics3(|this| unsafe {
1636             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1637             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), user.into_param().abi(), filters.into_param().abi(), &mut result__).from_abi::<RemoteSystemWatcher>(result__)
1638         })
1639     }
IRemoteSystemStatics<R, F: FnOnce(&IRemoteSystemStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1640     pub fn IRemoteSystemStatics<R, F: FnOnce(&IRemoteSystemStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1641         static mut SHARED: ::windows::runtime::FactoryCache<RemoteSystem, IRemoteSystemStatics> = ::windows::runtime::FactoryCache::new();
1642         unsafe { SHARED.call(callback) }
1643     }
IRemoteSystemStatics2<R, F: FnOnce(&IRemoteSystemStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1644     pub fn IRemoteSystemStatics2<R, F: FnOnce(&IRemoteSystemStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1645         static mut SHARED: ::windows::runtime::FactoryCache<RemoteSystem, IRemoteSystemStatics2> = ::windows::runtime::FactoryCache::new();
1646         unsafe { SHARED.call(callback) }
1647     }
IRemoteSystemStatics3<R, F: FnOnce(&IRemoteSystemStatics3) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1648     pub fn IRemoteSystemStatics3<R, F: FnOnce(&IRemoteSystemStatics3) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1649         static mut SHARED: ::windows::runtime::FactoryCache<RemoteSystem, IRemoteSystemStatics3> = ::windows::runtime::FactoryCache::new();
1650         unsafe { SHARED.call(callback) }
1651     }
1652 }
1653 unsafe impl ::windows::runtime::RuntimeType for RemoteSystem {
1654     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystem;{ed5838cd-1e10-4a8c-b4a6-4e5fd6f97721})");
1655 }
1656 unsafe impl ::windows::runtime::Interface for RemoteSystem {
1657     type Vtable = IRemoteSystem_abi;
1658     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3981981901, 7696, 19084, [180, 166, 78, 95, 214, 249, 119, 33]);
1659 }
1660 impl ::windows::runtime::RuntimeName for RemoteSystem {
1661     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystem";
1662 }
1663 impl ::std::convert::From<RemoteSystem> for ::windows::runtime::IUnknown {
from(value: RemoteSystem) -> Self1664     fn from(value: RemoteSystem) -> Self {
1665         unsafe { ::std::mem::transmute(value) }
1666     }
1667 }
1668 impl ::std::convert::From<&RemoteSystem> for ::windows::runtime::IUnknown {
from(value: &RemoteSystem) -> Self1669     fn from(value: &RemoteSystem) -> Self {
1670         ::std::convert::From::from(::std::clone::Clone::clone(value))
1671     }
1672 }
1673 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1674     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1675         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1676     }
1677 }
1678 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1679     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1680         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1681     }
1682 }
1683 impl ::std::convert::From<RemoteSystem> for ::windows::runtime::IInspectable {
from(value: RemoteSystem) -> Self1684     fn from(value: RemoteSystem) -> Self {
1685         value.0
1686     }
1687 }
1688 impl ::std::convert::From<&RemoteSystem> for ::windows::runtime::IInspectable {
from(value: &RemoteSystem) -> Self1689     fn from(value: &RemoteSystem) -> Self {
1690         value.0.clone()
1691     }
1692 }
1693 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1694     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1695         ::windows::runtime::Param::Owned(self.0)
1696     }
1697 }
1698 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1699     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1700         ::windows::runtime::Param::Borrowed(&self.0)
1701     }
1702 }
1703 unsafe impl ::std::marker::Send for RemoteSystem {}
1704 unsafe impl ::std::marker::Sync for RemoteSystem {}
1705 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1706 #[repr(transparent)]
1707 pub struct RemoteSystemAccessStatus(pub i32);
1708 impl RemoteSystemAccessStatus {
1709     pub const Unspecified: RemoteSystemAccessStatus = RemoteSystemAccessStatus(0i32);
1710     pub const Allowed: RemoteSystemAccessStatus = RemoteSystemAccessStatus(1i32);
1711     pub const DeniedByUser: RemoteSystemAccessStatus = RemoteSystemAccessStatus(2i32);
1712     pub const DeniedBySystem: RemoteSystemAccessStatus = RemoteSystemAccessStatus(3i32);
1713 }
1714 impl ::std::convert::From<i32> for RemoteSystemAccessStatus {
from(value: i32) -> Self1715     fn from(value: i32) -> Self {
1716         Self(value)
1717     }
1718 }
1719 unsafe impl ::windows::runtime::Abi for RemoteSystemAccessStatus {
1720     type Abi = Self;
1721     type DefaultType = Self;
1722 }
1723 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemAccessStatus {
1724     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.RemoteSystems.RemoteSystemAccessStatus;i4)");
1725 }
1726 #[repr(transparent)]
1727 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1728 pub struct RemoteSystemAddedEventArgs(::windows::runtime::IInspectable);
1729 impl RemoteSystemAddedEventArgs {
RemoteSystem(&self) -> ::windows::runtime::Result<RemoteSystem>1730     pub fn RemoteSystem(&self) -> ::windows::runtime::Result<RemoteSystem> {
1731         let this = self;
1732         unsafe {
1733             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1734             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystem>(result__)
1735         }
1736     }
1737 }
1738 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemAddedEventArgs {
1739     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemAddedEventArgs;{8f39560f-e534-4697-8836-7abea151516e})");
1740 }
1741 unsafe impl ::windows::runtime::Interface for RemoteSystemAddedEventArgs {
1742     type Vtable = IRemoteSystemAddedEventArgs_abi;
1743     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2402899471, 58676, 18071, [136, 54, 122, 190, 161, 81, 81, 110]);
1744 }
1745 impl ::windows::runtime::RuntimeName for RemoteSystemAddedEventArgs {
1746     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemAddedEventArgs";
1747 }
1748 impl ::std::convert::From<RemoteSystemAddedEventArgs> for ::windows::runtime::IUnknown {
from(value: RemoteSystemAddedEventArgs) -> Self1749     fn from(value: RemoteSystemAddedEventArgs) -> Self {
1750         unsafe { ::std::mem::transmute(value) }
1751     }
1752 }
1753 impl ::std::convert::From<&RemoteSystemAddedEventArgs> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemAddedEventArgs) -> Self1754     fn from(value: &RemoteSystemAddedEventArgs) -> Self {
1755         ::std::convert::From::from(::std::clone::Clone::clone(value))
1756     }
1757 }
1758 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemAddedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1759     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1760         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1761     }
1762 }
1763 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemAddedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1764     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1765         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1766     }
1767 }
1768 impl ::std::convert::From<RemoteSystemAddedEventArgs> for ::windows::runtime::IInspectable {
from(value: RemoteSystemAddedEventArgs) -> Self1769     fn from(value: RemoteSystemAddedEventArgs) -> Self {
1770         value.0
1771     }
1772 }
1773 impl ::std::convert::From<&RemoteSystemAddedEventArgs> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemAddedEventArgs) -> Self1774     fn from(value: &RemoteSystemAddedEventArgs) -> Self {
1775         value.0.clone()
1776     }
1777 }
1778 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemAddedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1779     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1780         ::windows::runtime::Param::Owned(self.0)
1781     }
1782 }
1783 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemAddedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1784     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1785         ::windows::runtime::Param::Borrowed(&self.0)
1786     }
1787 }
1788 unsafe impl ::std::marker::Send for RemoteSystemAddedEventArgs {}
1789 unsafe impl ::std::marker::Sync for RemoteSystemAddedEventArgs {}
1790 #[repr(transparent)]
1791 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1792 pub struct RemoteSystemApp(::windows::runtime::IInspectable);
1793 impl RemoteSystemApp {
Id(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1794     pub fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1795         let this = self;
1796         unsafe {
1797             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1798             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1799         }
1800     }
DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1801     pub fn DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1802         let this = self;
1803         unsafe {
1804             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1805             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1806         }
1807     }
IsAvailableByProximity(&self) -> ::windows::runtime::Result<bool>1808     pub fn IsAvailableByProximity(&self) -> ::windows::runtime::Result<bool> {
1809         let this = self;
1810         unsafe {
1811             let mut result__: bool = ::std::mem::zeroed();
1812             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1813         }
1814     }
IsAvailableBySpatialProximity(&self) -> ::windows::runtime::Result<bool>1815     pub fn IsAvailableBySpatialProximity(&self) -> ::windows::runtime::Result<bool> {
1816         let this = self;
1817         unsafe {
1818             let mut result__: bool = ::std::mem::zeroed();
1819             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1820         }
1821     }
1822     #[cfg(feature = "Foundation_Collections")]
Attributes(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IMapView<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>>1823     pub fn Attributes(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IMapView<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>> {
1824         let this = self;
1825         unsafe {
1826             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1827             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IMapView<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>>(result__)
1828         }
1829     }
User(&self) -> ::windows::runtime::Result<super::User>1830     pub fn User(&self) -> ::windows::runtime::Result<super::User> {
1831         let this = &::windows::runtime::Interface::cast::<IRemoteSystemApp2>(self)?;
1832         unsafe {
1833             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1834             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::User>(result__)
1835         }
1836     }
ConnectionToken(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1837     pub fn ConnectionToken(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1838         let this = &::windows::runtime::Interface::cast::<IRemoteSystemApp2>(self)?;
1839         unsafe {
1840             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1841             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1842         }
1843     }
1844 }
1845 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemApp {
1846     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemApp;{80e5bcbd-d54d-41b1-9b16-6810a871ed4f})");
1847 }
1848 unsafe impl ::windows::runtime::Interface for RemoteSystemApp {
1849     type Vtable = IRemoteSystemApp_abi;
1850     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2162539709, 54605, 16817, [155, 22, 104, 16, 168, 113, 237, 79]);
1851 }
1852 impl ::windows::runtime::RuntimeName for RemoteSystemApp {
1853     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemApp";
1854 }
1855 impl ::std::convert::From<RemoteSystemApp> for ::windows::runtime::IUnknown {
from(value: RemoteSystemApp) -> Self1856     fn from(value: RemoteSystemApp) -> Self {
1857         unsafe { ::std::mem::transmute(value) }
1858     }
1859 }
1860 impl ::std::convert::From<&RemoteSystemApp> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemApp) -> Self1861     fn from(value: &RemoteSystemApp) -> Self {
1862         ::std::convert::From::from(::std::clone::Clone::clone(value))
1863     }
1864 }
1865 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemApp {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1866     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1867         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1868     }
1869 }
1870 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemApp {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1871     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1872         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1873     }
1874 }
1875 impl ::std::convert::From<RemoteSystemApp> for ::windows::runtime::IInspectable {
from(value: RemoteSystemApp) -> Self1876     fn from(value: RemoteSystemApp) -> Self {
1877         value.0
1878     }
1879 }
1880 impl ::std::convert::From<&RemoteSystemApp> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemApp) -> Self1881     fn from(value: &RemoteSystemApp) -> Self {
1882         value.0.clone()
1883     }
1884 }
1885 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemApp {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1886     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1887         ::windows::runtime::Param::Owned(self.0)
1888     }
1889 }
1890 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemApp {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1891     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1892         ::windows::runtime::Param::Borrowed(&self.0)
1893     }
1894 }
1895 unsafe impl ::std::marker::Send for RemoteSystemApp {}
1896 unsafe impl ::std::marker::Sync for RemoteSystemApp {}
1897 #[repr(transparent)]
1898 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1899 pub struct RemoteSystemAppRegistration(::windows::runtime::IInspectable);
1900 impl RemoteSystemAppRegistration {
User(&self) -> ::windows::runtime::Result<super::User>1901     pub fn User(&self) -> ::windows::runtime::Result<super::User> {
1902         let this = self;
1903         unsafe {
1904             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1905             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::User>(result__)
1906         }
1907     }
1908     #[cfg(feature = "Foundation_Collections")]
Attributes(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>>1909     pub fn Attributes(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>> {
1910         let this = self;
1911         unsafe {
1912             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1913             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>>(result__)
1914         }
1915     }
1916     #[cfg(feature = "Foundation")]
SaveAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<bool>>1917     pub fn SaveAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<bool>> {
1918         let this = self;
1919         unsafe {
1920             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1921             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<bool>>(result__)
1922         }
1923     }
GetDefault() -> ::windows::runtime::Result<RemoteSystemAppRegistration>1924     pub fn GetDefault() -> ::windows::runtime::Result<RemoteSystemAppRegistration> {
1925         Self::IRemoteSystemAppRegistrationStatics(|this| unsafe {
1926             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1927             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystemAppRegistration>(result__)
1928         })
1929     }
GetForUser<'a, Param0: ::windows::runtime::IntoParam<'a, super::User>>(user: Param0) -> ::windows::runtime::Result<RemoteSystemAppRegistration>1930     pub fn GetForUser<'a, Param0: ::windows::runtime::IntoParam<'a, super::User>>(user: Param0) -> ::windows::runtime::Result<RemoteSystemAppRegistration> {
1931         Self::IRemoteSystemAppRegistrationStatics(|this| unsafe {
1932             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1933             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), user.into_param().abi(), &mut result__).from_abi::<RemoteSystemAppRegistration>(result__)
1934         })
1935     }
IRemoteSystemAppRegistrationStatics<R, F: FnOnce(&IRemoteSystemAppRegistrationStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1936     pub fn IRemoteSystemAppRegistrationStatics<R, F: FnOnce(&IRemoteSystemAppRegistrationStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1937         static mut SHARED: ::windows::runtime::FactoryCache<RemoteSystemAppRegistration, IRemoteSystemAppRegistrationStatics> = ::windows::runtime::FactoryCache::new();
1938         unsafe { SHARED.call(callback) }
1939     }
1940 }
1941 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemAppRegistration {
1942     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemAppRegistration;{b47947b5-7035-4a5a-b8df-962d8f8431f4})");
1943 }
1944 unsafe impl ::windows::runtime::Interface for RemoteSystemAppRegistration {
1945     type Vtable = IRemoteSystemAppRegistration_abi;
1946     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3027847093, 28725, 19034, [184, 223, 150, 45, 143, 132, 49, 244]);
1947 }
1948 impl ::windows::runtime::RuntimeName for RemoteSystemAppRegistration {
1949     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemAppRegistration";
1950 }
1951 impl ::std::convert::From<RemoteSystemAppRegistration> for ::windows::runtime::IUnknown {
from(value: RemoteSystemAppRegistration) -> Self1952     fn from(value: RemoteSystemAppRegistration) -> Self {
1953         unsafe { ::std::mem::transmute(value) }
1954     }
1955 }
1956 impl ::std::convert::From<&RemoteSystemAppRegistration> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemAppRegistration) -> Self1957     fn from(value: &RemoteSystemAppRegistration) -> Self {
1958         ::std::convert::From::from(::std::clone::Clone::clone(value))
1959     }
1960 }
1961 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemAppRegistration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1962     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1963         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1964     }
1965 }
1966 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemAppRegistration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1967     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1968         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1969     }
1970 }
1971 impl ::std::convert::From<RemoteSystemAppRegistration> for ::windows::runtime::IInspectable {
from(value: RemoteSystemAppRegistration) -> Self1972     fn from(value: RemoteSystemAppRegistration) -> Self {
1973         value.0
1974     }
1975 }
1976 impl ::std::convert::From<&RemoteSystemAppRegistration> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemAppRegistration) -> Self1977     fn from(value: &RemoteSystemAppRegistration) -> Self {
1978         value.0.clone()
1979     }
1980 }
1981 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemAppRegistration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1982     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1983         ::windows::runtime::Param::Owned(self.0)
1984     }
1985 }
1986 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemAppRegistration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1987     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1988         ::windows::runtime::Param::Borrowed(&self.0)
1989     }
1990 }
1991 unsafe impl ::std::marker::Send for RemoteSystemAppRegistration {}
1992 unsafe impl ::std::marker::Sync for RemoteSystemAppRegistration {}
1993 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1994 #[repr(transparent)]
1995 pub struct RemoteSystemAuthorizationKind(pub i32);
1996 impl RemoteSystemAuthorizationKind {
1997     pub const SameUser: RemoteSystemAuthorizationKind = RemoteSystemAuthorizationKind(0i32);
1998     pub const Anonymous: RemoteSystemAuthorizationKind = RemoteSystemAuthorizationKind(1i32);
1999 }
2000 impl ::std::convert::From<i32> for RemoteSystemAuthorizationKind {
from(value: i32) -> Self2001     fn from(value: i32) -> Self {
2002         Self(value)
2003     }
2004 }
2005 unsafe impl ::windows::runtime::Abi for RemoteSystemAuthorizationKind {
2006     type Abi = Self;
2007     type DefaultType = Self;
2008 }
2009 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemAuthorizationKind {
2010     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.RemoteSystems.RemoteSystemAuthorizationKind;i4)");
2011 }
2012 #[repr(transparent)]
2013 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2014 pub struct RemoteSystemAuthorizationKindFilter(::windows::runtime::IInspectable);
2015 impl RemoteSystemAuthorizationKindFilter {
RemoteSystemAuthorizationKind(&self) -> ::windows::runtime::Result<RemoteSystemAuthorizationKind>2016     pub fn RemoteSystemAuthorizationKind(&self) -> ::windows::runtime::Result<RemoteSystemAuthorizationKind> {
2017         let this = self;
2018         unsafe {
2019             let mut result__: RemoteSystemAuthorizationKind = ::std::mem::zeroed();
2020             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystemAuthorizationKind>(result__)
2021         }
2022     }
Create(remotesystemauthorizationkind: RemoteSystemAuthorizationKind) -> ::windows::runtime::Result<RemoteSystemAuthorizationKindFilter>2023     pub fn Create(remotesystemauthorizationkind: RemoteSystemAuthorizationKind) -> ::windows::runtime::Result<RemoteSystemAuthorizationKindFilter> {
2024         Self::IRemoteSystemAuthorizationKindFilterFactory(|this| unsafe {
2025             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2026             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), remotesystemauthorizationkind, &mut result__).from_abi::<RemoteSystemAuthorizationKindFilter>(result__)
2027         })
2028     }
IRemoteSystemAuthorizationKindFilterFactory<R, F: FnOnce(&IRemoteSystemAuthorizationKindFilterFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2029     pub fn IRemoteSystemAuthorizationKindFilterFactory<R, F: FnOnce(&IRemoteSystemAuthorizationKindFilterFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2030         static mut SHARED: ::windows::runtime::FactoryCache<RemoteSystemAuthorizationKindFilter, IRemoteSystemAuthorizationKindFilterFactory> = ::windows::runtime::FactoryCache::new();
2031         unsafe { SHARED.call(callback) }
2032     }
2033 }
2034 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemAuthorizationKindFilter {
2035     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemAuthorizationKindFilter;{6b0dde8e-04d0-40f4-a27f-c2acbbd6b734})");
2036 }
2037 unsafe impl ::windows::runtime::Interface for RemoteSystemAuthorizationKindFilter {
2038     type Vtable = IRemoteSystemAuthorizationKindFilter_abi;
2039     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1796071054, 1232, 16628, [162, 127, 194, 172, 187, 214, 183, 52]);
2040 }
2041 impl ::windows::runtime::RuntimeName for RemoteSystemAuthorizationKindFilter {
2042     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemAuthorizationKindFilter";
2043 }
2044 impl ::std::convert::From<RemoteSystemAuthorizationKindFilter> for ::windows::runtime::IUnknown {
from(value: RemoteSystemAuthorizationKindFilter) -> Self2045     fn from(value: RemoteSystemAuthorizationKindFilter) -> Self {
2046         unsafe { ::std::mem::transmute(value) }
2047     }
2048 }
2049 impl ::std::convert::From<&RemoteSystemAuthorizationKindFilter> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemAuthorizationKindFilter) -> Self2050     fn from(value: &RemoteSystemAuthorizationKindFilter) -> Self {
2051         ::std::convert::From::from(::std::clone::Clone::clone(value))
2052     }
2053 }
2054 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemAuthorizationKindFilter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2055     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2056         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2057     }
2058 }
2059 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemAuthorizationKindFilter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2060     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2061         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2062     }
2063 }
2064 impl ::std::convert::From<RemoteSystemAuthorizationKindFilter> for ::windows::runtime::IInspectable {
from(value: RemoteSystemAuthorizationKindFilter) -> Self2065     fn from(value: RemoteSystemAuthorizationKindFilter) -> Self {
2066         value.0
2067     }
2068 }
2069 impl ::std::convert::From<&RemoteSystemAuthorizationKindFilter> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemAuthorizationKindFilter) -> Self2070     fn from(value: &RemoteSystemAuthorizationKindFilter) -> Self {
2071         value.0.clone()
2072     }
2073 }
2074 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemAuthorizationKindFilter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2075     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2076         ::windows::runtime::Param::Owned(self.0)
2077     }
2078 }
2079 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemAuthorizationKindFilter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2080     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2081         ::windows::runtime::Param::Borrowed(&self.0)
2082     }
2083 }
2084 impl ::std::convert::TryFrom<RemoteSystemAuthorizationKindFilter> for IRemoteSystemFilter {
2085     type Error = ::windows::runtime::Error;
try_from(value: RemoteSystemAuthorizationKindFilter) -> ::windows::runtime::Result<Self>2086     fn try_from(value: RemoteSystemAuthorizationKindFilter) -> ::windows::runtime::Result<Self> {
2087         ::std::convert::TryFrom::try_from(&value)
2088     }
2089 }
2090 impl ::std::convert::TryFrom<&RemoteSystemAuthorizationKindFilter> for IRemoteSystemFilter {
2091     type Error = ::windows::runtime::Error;
try_from(value: &RemoteSystemAuthorizationKindFilter) -> ::windows::runtime::Result<Self>2092     fn try_from(value: &RemoteSystemAuthorizationKindFilter) -> ::windows::runtime::Result<Self> {
2093         ::windows::runtime::Interface::cast(value)
2094     }
2095 }
2096 impl<'a> ::windows::runtime::IntoParam<'a, IRemoteSystemFilter> for RemoteSystemAuthorizationKindFilter {
into_param(self) -> ::windows::runtime::Param<'a, IRemoteSystemFilter>2097     fn into_param(self) -> ::windows::runtime::Param<'a, IRemoteSystemFilter> {
2098         ::windows::runtime::IntoParam::into_param(&self)
2099     }
2100 }
2101 impl<'a> ::windows::runtime::IntoParam<'a, IRemoteSystemFilter> for &RemoteSystemAuthorizationKindFilter {
into_param(self) -> ::windows::runtime::Param<'a, IRemoteSystemFilter>2102     fn into_param(self) -> ::windows::runtime::Param<'a, IRemoteSystemFilter> {
2103         ::std::convert::TryInto::<IRemoteSystemFilter>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
2104     }
2105 }
2106 unsafe impl ::std::marker::Send for RemoteSystemAuthorizationKindFilter {}
2107 unsafe impl ::std::marker::Sync for RemoteSystemAuthorizationKindFilter {}
2108 #[repr(transparent)]
2109 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2110 pub struct RemoteSystemConnectionInfo(::windows::runtime::IInspectable);
2111 impl RemoteSystemConnectionInfo {
IsProximal(&self) -> ::windows::runtime::Result<bool>2112     pub fn IsProximal(&self) -> ::windows::runtime::Result<bool> {
2113         let this = self;
2114         unsafe {
2115             let mut result__: bool = ::std::mem::zeroed();
2116             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
2117         }
2118     }
2119     #[cfg(feature = "ApplicationModel_AppService")]
TryCreateFromAppServiceConnection<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::ApplicationModel::AppService::AppServiceConnection>>(connection: Param0) -> ::windows::runtime::Result<RemoteSystemConnectionInfo>2120     pub fn TryCreateFromAppServiceConnection<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::ApplicationModel::AppService::AppServiceConnection>>(connection: Param0) -> ::windows::runtime::Result<RemoteSystemConnectionInfo> {
2121         Self::IRemoteSystemConnectionInfoStatics(|this| unsafe {
2122             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2123             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), connection.into_param().abi(), &mut result__).from_abi::<RemoteSystemConnectionInfo>(result__)
2124         })
2125     }
IRemoteSystemConnectionInfoStatics<R, F: FnOnce(&IRemoteSystemConnectionInfoStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2126     pub fn IRemoteSystemConnectionInfoStatics<R, F: FnOnce(&IRemoteSystemConnectionInfoStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2127         static mut SHARED: ::windows::runtime::FactoryCache<RemoteSystemConnectionInfo, IRemoteSystemConnectionInfoStatics> = ::windows::runtime::FactoryCache::new();
2128         unsafe { SHARED.call(callback) }
2129     }
2130 }
2131 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemConnectionInfo {
2132     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemConnectionInfo;{23278bc3-0d09-52cb-9c6a-eed2940bee43})");
2133 }
2134 unsafe impl ::windows::runtime::Interface for RemoteSystemConnectionInfo {
2135     type Vtable = IRemoteSystemConnectionInfo_abi;
2136     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(589794243, 3337, 21195, [156, 106, 238, 210, 148, 11, 238, 67]);
2137 }
2138 impl ::windows::runtime::RuntimeName for RemoteSystemConnectionInfo {
2139     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemConnectionInfo";
2140 }
2141 impl ::std::convert::From<RemoteSystemConnectionInfo> for ::windows::runtime::IUnknown {
from(value: RemoteSystemConnectionInfo) -> Self2142     fn from(value: RemoteSystemConnectionInfo) -> Self {
2143         unsafe { ::std::mem::transmute(value) }
2144     }
2145 }
2146 impl ::std::convert::From<&RemoteSystemConnectionInfo> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemConnectionInfo) -> Self2147     fn from(value: &RemoteSystemConnectionInfo) -> Self {
2148         ::std::convert::From::from(::std::clone::Clone::clone(value))
2149     }
2150 }
2151 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemConnectionInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2152     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2153         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2154     }
2155 }
2156 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemConnectionInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2157     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2158         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2159     }
2160 }
2161 impl ::std::convert::From<RemoteSystemConnectionInfo> for ::windows::runtime::IInspectable {
from(value: RemoteSystemConnectionInfo) -> Self2162     fn from(value: RemoteSystemConnectionInfo) -> Self {
2163         value.0
2164     }
2165 }
2166 impl ::std::convert::From<&RemoteSystemConnectionInfo> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemConnectionInfo) -> Self2167     fn from(value: &RemoteSystemConnectionInfo) -> Self {
2168         value.0.clone()
2169     }
2170 }
2171 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemConnectionInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2172     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2173         ::windows::runtime::Param::Owned(self.0)
2174     }
2175 }
2176 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemConnectionInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2177     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2178         ::windows::runtime::Param::Borrowed(&self.0)
2179     }
2180 }
2181 unsafe impl ::std::marker::Send for RemoteSystemConnectionInfo {}
2182 unsafe impl ::std::marker::Sync for RemoteSystemConnectionInfo {}
2183 #[repr(transparent)]
2184 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2185 pub struct RemoteSystemConnectionRequest(::windows::runtime::IInspectable);
2186 impl RemoteSystemConnectionRequest {
RemoteSystem(&self) -> ::windows::runtime::Result<RemoteSystem>2187     pub fn RemoteSystem(&self) -> ::windows::runtime::Result<RemoteSystem> {
2188         let this = self;
2189         unsafe {
2190             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2191             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystem>(result__)
2192         }
2193     }
Create<'a, Param0: ::windows::runtime::IntoParam<'a, RemoteSystem>>(remotesystem: Param0) -> ::windows::runtime::Result<RemoteSystemConnectionRequest>2194     pub fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, RemoteSystem>>(remotesystem: Param0) -> ::windows::runtime::Result<RemoteSystemConnectionRequest> {
2195         Self::IRemoteSystemConnectionRequestFactory(|this| unsafe {
2196             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2197             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), remotesystem.into_param().abi(), &mut result__).from_abi::<RemoteSystemConnectionRequest>(result__)
2198         })
2199     }
RemoteSystemApp(&self) -> ::windows::runtime::Result<RemoteSystemApp>2200     pub fn RemoteSystemApp(&self) -> ::windows::runtime::Result<RemoteSystemApp> {
2201         let this = &::windows::runtime::Interface::cast::<IRemoteSystemConnectionRequest2>(self)?;
2202         unsafe {
2203             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2204             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystemApp>(result__)
2205         }
2206     }
CreateForApp<'a, Param0: ::windows::runtime::IntoParam<'a, RemoteSystemApp>>(remotesystemapp: Param0) -> ::windows::runtime::Result<RemoteSystemConnectionRequest>2207     pub fn CreateForApp<'a, Param0: ::windows::runtime::IntoParam<'a, RemoteSystemApp>>(remotesystemapp: Param0) -> ::windows::runtime::Result<RemoteSystemConnectionRequest> {
2208         Self::IRemoteSystemConnectionRequestStatics(|this| unsafe {
2209             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2210             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), remotesystemapp.into_param().abi(), &mut result__).from_abi::<RemoteSystemConnectionRequest>(result__)
2211         })
2212     }
ConnectionToken(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2213     pub fn ConnectionToken(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2214         let this = &::windows::runtime::Interface::cast::<IRemoteSystemConnectionRequest3>(self)?;
2215         unsafe {
2216             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2217             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2218         }
2219     }
CreateFromConnectionToken<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(connectiontoken: Param0) -> ::windows::runtime::Result<RemoteSystemConnectionRequest>2220     pub fn CreateFromConnectionToken<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(connectiontoken: Param0) -> ::windows::runtime::Result<RemoteSystemConnectionRequest> {
2221         Self::IRemoteSystemConnectionRequestStatics2(|this| unsafe {
2222             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2223             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), connectiontoken.into_param().abi(), &mut result__).from_abi::<RemoteSystemConnectionRequest>(result__)
2224         })
2225     }
CreateFromConnectionTokenForUser<'a, Param0: ::windows::runtime::IntoParam<'a, super::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(user: Param0, connectiontoken: Param1) -> ::windows::runtime::Result<RemoteSystemConnectionRequest>2226     pub fn CreateFromConnectionTokenForUser<'a, Param0: ::windows::runtime::IntoParam<'a, super::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(user: Param0, connectiontoken: Param1) -> ::windows::runtime::Result<RemoteSystemConnectionRequest> {
2227         Self::IRemoteSystemConnectionRequestStatics2(|this| unsafe {
2228             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2229             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), user.into_param().abi(), connectiontoken.into_param().abi(), &mut result__).from_abi::<RemoteSystemConnectionRequest>(result__)
2230         })
2231     }
IRemoteSystemConnectionRequestFactory<R, F: FnOnce(&IRemoteSystemConnectionRequestFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2232     pub fn IRemoteSystemConnectionRequestFactory<R, F: FnOnce(&IRemoteSystemConnectionRequestFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2233         static mut SHARED: ::windows::runtime::FactoryCache<RemoteSystemConnectionRequest, IRemoteSystemConnectionRequestFactory> = ::windows::runtime::FactoryCache::new();
2234         unsafe { SHARED.call(callback) }
2235     }
IRemoteSystemConnectionRequestStatics<R, F: FnOnce(&IRemoteSystemConnectionRequestStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2236     pub fn IRemoteSystemConnectionRequestStatics<R, F: FnOnce(&IRemoteSystemConnectionRequestStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2237         static mut SHARED: ::windows::runtime::FactoryCache<RemoteSystemConnectionRequest, IRemoteSystemConnectionRequestStatics> = ::windows::runtime::FactoryCache::new();
2238         unsafe { SHARED.call(callback) }
2239     }
IRemoteSystemConnectionRequestStatics2<R, F: FnOnce(&IRemoteSystemConnectionRequestStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2240     pub fn IRemoteSystemConnectionRequestStatics2<R, F: FnOnce(&IRemoteSystemConnectionRequestStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2241         static mut SHARED: ::windows::runtime::FactoryCache<RemoteSystemConnectionRequest, IRemoteSystemConnectionRequestStatics2> = ::windows::runtime::FactoryCache::new();
2242         unsafe { SHARED.call(callback) }
2243     }
2244 }
2245 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemConnectionRequest {
2246     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemConnectionRequest;{84ed4104-8d5e-4d72-8238-7621576c7a67})");
2247 }
2248 unsafe impl ::windows::runtime::Interface for RemoteSystemConnectionRequest {
2249     type Vtable = IRemoteSystemConnectionRequest_abi;
2250     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2230141188, 36190, 19826, [130, 56, 118, 33, 87, 108, 122, 103]);
2251 }
2252 impl ::windows::runtime::RuntimeName for RemoteSystemConnectionRequest {
2253     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemConnectionRequest";
2254 }
2255 impl ::std::convert::From<RemoteSystemConnectionRequest> for ::windows::runtime::IUnknown {
from(value: RemoteSystemConnectionRequest) -> Self2256     fn from(value: RemoteSystemConnectionRequest) -> Self {
2257         unsafe { ::std::mem::transmute(value) }
2258     }
2259 }
2260 impl ::std::convert::From<&RemoteSystemConnectionRequest> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemConnectionRequest) -> Self2261     fn from(value: &RemoteSystemConnectionRequest) -> Self {
2262         ::std::convert::From::from(::std::clone::Clone::clone(value))
2263     }
2264 }
2265 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemConnectionRequest {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2266     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2267         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2268     }
2269 }
2270 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemConnectionRequest {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2271     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2272         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2273     }
2274 }
2275 impl ::std::convert::From<RemoteSystemConnectionRequest> for ::windows::runtime::IInspectable {
from(value: RemoteSystemConnectionRequest) -> Self2276     fn from(value: RemoteSystemConnectionRequest) -> Self {
2277         value.0
2278     }
2279 }
2280 impl ::std::convert::From<&RemoteSystemConnectionRequest> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemConnectionRequest) -> Self2281     fn from(value: &RemoteSystemConnectionRequest) -> Self {
2282         value.0.clone()
2283     }
2284 }
2285 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemConnectionRequest {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2286     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2287         ::windows::runtime::Param::Owned(self.0)
2288     }
2289 }
2290 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemConnectionRequest {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2291     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2292         ::windows::runtime::Param::Borrowed(&self.0)
2293     }
2294 }
2295 unsafe impl ::std::marker::Send for RemoteSystemConnectionRequest {}
2296 unsafe impl ::std::marker::Sync for RemoteSystemConnectionRequest {}
2297 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2298 #[repr(transparent)]
2299 pub struct RemoteSystemDiscoveryType(pub i32);
2300 impl RemoteSystemDiscoveryType {
2301     pub const Any: RemoteSystemDiscoveryType = RemoteSystemDiscoveryType(0i32);
2302     pub const Proximal: RemoteSystemDiscoveryType = RemoteSystemDiscoveryType(1i32);
2303     pub const Cloud: RemoteSystemDiscoveryType = RemoteSystemDiscoveryType(2i32);
2304     pub const SpatiallyProximal: RemoteSystemDiscoveryType = RemoteSystemDiscoveryType(3i32);
2305 }
2306 impl ::std::convert::From<i32> for RemoteSystemDiscoveryType {
from(value: i32) -> Self2307     fn from(value: i32) -> Self {
2308         Self(value)
2309     }
2310 }
2311 unsafe impl ::windows::runtime::Abi for RemoteSystemDiscoveryType {
2312     type Abi = Self;
2313     type DefaultType = Self;
2314 }
2315 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemDiscoveryType {
2316     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.RemoteSystems.RemoteSystemDiscoveryType;i4)");
2317 }
2318 #[repr(transparent)]
2319 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2320 pub struct RemoteSystemDiscoveryTypeFilter(::windows::runtime::IInspectable);
2321 impl RemoteSystemDiscoveryTypeFilter {
RemoteSystemDiscoveryType(&self) -> ::windows::runtime::Result<RemoteSystemDiscoveryType>2322     pub fn RemoteSystemDiscoveryType(&self) -> ::windows::runtime::Result<RemoteSystemDiscoveryType> {
2323         let this = self;
2324         unsafe {
2325             let mut result__: RemoteSystemDiscoveryType = ::std::mem::zeroed();
2326             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystemDiscoveryType>(result__)
2327         }
2328     }
Create(discoverytype: RemoteSystemDiscoveryType) -> ::windows::runtime::Result<RemoteSystemDiscoveryTypeFilter>2329     pub fn Create(discoverytype: RemoteSystemDiscoveryType) -> ::windows::runtime::Result<RemoteSystemDiscoveryTypeFilter> {
2330         Self::IRemoteSystemDiscoveryTypeFilterFactory(|this| unsafe {
2331             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2332             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), discoverytype, &mut result__).from_abi::<RemoteSystemDiscoveryTypeFilter>(result__)
2333         })
2334     }
IRemoteSystemDiscoveryTypeFilterFactory<R, F: FnOnce(&IRemoteSystemDiscoveryTypeFilterFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2335     pub fn IRemoteSystemDiscoveryTypeFilterFactory<R, F: FnOnce(&IRemoteSystemDiscoveryTypeFilterFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2336         static mut SHARED: ::windows::runtime::FactoryCache<RemoteSystemDiscoveryTypeFilter, IRemoteSystemDiscoveryTypeFilterFactory> = ::windows::runtime::FactoryCache::new();
2337         unsafe { SHARED.call(callback) }
2338     }
2339 }
2340 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemDiscoveryTypeFilter {
2341     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemDiscoveryTypeFilter;{42d9041f-ee5a-43da-ac6a-6fee25460741})");
2342 }
2343 unsafe impl ::windows::runtime::Interface for RemoteSystemDiscoveryTypeFilter {
2344     type Vtable = IRemoteSystemDiscoveryTypeFilter_abi;
2345     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1121518623, 61018, 17370, [172, 106, 111, 238, 37, 70, 7, 65]);
2346 }
2347 impl ::windows::runtime::RuntimeName for RemoteSystemDiscoveryTypeFilter {
2348     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemDiscoveryTypeFilter";
2349 }
2350 impl ::std::convert::From<RemoteSystemDiscoveryTypeFilter> for ::windows::runtime::IUnknown {
from(value: RemoteSystemDiscoveryTypeFilter) -> Self2351     fn from(value: RemoteSystemDiscoveryTypeFilter) -> Self {
2352         unsafe { ::std::mem::transmute(value) }
2353     }
2354 }
2355 impl ::std::convert::From<&RemoteSystemDiscoveryTypeFilter> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemDiscoveryTypeFilter) -> Self2356     fn from(value: &RemoteSystemDiscoveryTypeFilter) -> Self {
2357         ::std::convert::From::from(::std::clone::Clone::clone(value))
2358     }
2359 }
2360 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemDiscoveryTypeFilter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2361     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2362         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2363     }
2364 }
2365 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemDiscoveryTypeFilter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2366     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2367         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2368     }
2369 }
2370 impl ::std::convert::From<RemoteSystemDiscoveryTypeFilter> for ::windows::runtime::IInspectable {
from(value: RemoteSystemDiscoveryTypeFilter) -> Self2371     fn from(value: RemoteSystemDiscoveryTypeFilter) -> Self {
2372         value.0
2373     }
2374 }
2375 impl ::std::convert::From<&RemoteSystemDiscoveryTypeFilter> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemDiscoveryTypeFilter) -> Self2376     fn from(value: &RemoteSystemDiscoveryTypeFilter) -> Self {
2377         value.0.clone()
2378     }
2379 }
2380 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemDiscoveryTypeFilter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2381     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2382         ::windows::runtime::Param::Owned(self.0)
2383     }
2384 }
2385 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemDiscoveryTypeFilter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2386     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2387         ::windows::runtime::Param::Borrowed(&self.0)
2388     }
2389 }
2390 impl ::std::convert::TryFrom<RemoteSystemDiscoveryTypeFilter> for IRemoteSystemFilter {
2391     type Error = ::windows::runtime::Error;
try_from(value: RemoteSystemDiscoveryTypeFilter) -> ::windows::runtime::Result<Self>2392     fn try_from(value: RemoteSystemDiscoveryTypeFilter) -> ::windows::runtime::Result<Self> {
2393         ::std::convert::TryFrom::try_from(&value)
2394     }
2395 }
2396 impl ::std::convert::TryFrom<&RemoteSystemDiscoveryTypeFilter> for IRemoteSystemFilter {
2397     type Error = ::windows::runtime::Error;
try_from(value: &RemoteSystemDiscoveryTypeFilter) -> ::windows::runtime::Result<Self>2398     fn try_from(value: &RemoteSystemDiscoveryTypeFilter) -> ::windows::runtime::Result<Self> {
2399         ::windows::runtime::Interface::cast(value)
2400     }
2401 }
2402 impl<'a> ::windows::runtime::IntoParam<'a, IRemoteSystemFilter> for RemoteSystemDiscoveryTypeFilter {
into_param(self) -> ::windows::runtime::Param<'a, IRemoteSystemFilter>2403     fn into_param(self) -> ::windows::runtime::Param<'a, IRemoteSystemFilter> {
2404         ::windows::runtime::IntoParam::into_param(&self)
2405     }
2406 }
2407 impl<'a> ::windows::runtime::IntoParam<'a, IRemoteSystemFilter> for &RemoteSystemDiscoveryTypeFilter {
into_param(self) -> ::windows::runtime::Param<'a, IRemoteSystemFilter>2408     fn into_param(self) -> ::windows::runtime::Param<'a, IRemoteSystemFilter> {
2409         ::std::convert::TryInto::<IRemoteSystemFilter>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
2410     }
2411 }
2412 unsafe impl ::std::marker::Send for RemoteSystemDiscoveryTypeFilter {}
2413 unsafe impl ::std::marker::Sync for RemoteSystemDiscoveryTypeFilter {}
2414 #[repr(transparent)]
2415 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2416 pub struct RemoteSystemEnumerationCompletedEventArgs(::windows::runtime::IInspectable);
2417 impl RemoteSystemEnumerationCompletedEventArgs {}
2418 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemEnumerationCompletedEventArgs {
2419     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemEnumerationCompletedEventArgs;{c6e83d5f-4030-4354-a060-14f1b22c545d})");
2420 }
2421 unsafe impl ::windows::runtime::Interface for RemoteSystemEnumerationCompletedEventArgs {
2422     type Vtable = IRemoteSystemEnumerationCompletedEventArgs_abi;
2423     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3337108831, 16432, 17236, [160, 96, 20, 241, 178, 44, 84, 93]);
2424 }
2425 impl ::windows::runtime::RuntimeName for RemoteSystemEnumerationCompletedEventArgs {
2426     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemEnumerationCompletedEventArgs";
2427 }
2428 impl ::std::convert::From<RemoteSystemEnumerationCompletedEventArgs> for ::windows::runtime::IUnknown {
from(value: RemoteSystemEnumerationCompletedEventArgs) -> Self2429     fn from(value: RemoteSystemEnumerationCompletedEventArgs) -> Self {
2430         unsafe { ::std::mem::transmute(value) }
2431     }
2432 }
2433 impl ::std::convert::From<&RemoteSystemEnumerationCompletedEventArgs> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemEnumerationCompletedEventArgs) -> Self2434     fn from(value: &RemoteSystemEnumerationCompletedEventArgs) -> Self {
2435         ::std::convert::From::from(::std::clone::Clone::clone(value))
2436     }
2437 }
2438 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemEnumerationCompletedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2439     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2440         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2441     }
2442 }
2443 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemEnumerationCompletedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2444     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2445         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2446     }
2447 }
2448 impl ::std::convert::From<RemoteSystemEnumerationCompletedEventArgs> for ::windows::runtime::IInspectable {
from(value: RemoteSystemEnumerationCompletedEventArgs) -> Self2449     fn from(value: RemoteSystemEnumerationCompletedEventArgs) -> Self {
2450         value.0
2451     }
2452 }
2453 impl ::std::convert::From<&RemoteSystemEnumerationCompletedEventArgs> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemEnumerationCompletedEventArgs) -> Self2454     fn from(value: &RemoteSystemEnumerationCompletedEventArgs) -> Self {
2455         value.0.clone()
2456     }
2457 }
2458 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemEnumerationCompletedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2459     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2460         ::windows::runtime::Param::Owned(self.0)
2461     }
2462 }
2463 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemEnumerationCompletedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2464     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2465         ::windows::runtime::Param::Borrowed(&self.0)
2466     }
2467 }
2468 unsafe impl ::std::marker::Send for RemoteSystemEnumerationCompletedEventArgs {}
2469 unsafe impl ::std::marker::Sync for RemoteSystemEnumerationCompletedEventArgs {}
2470 #[repr(transparent)]
2471 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2472 pub struct RemoteSystemKindFilter(::windows::runtime::IInspectable);
2473 impl RemoteSystemKindFilter {
2474     #[cfg(feature = "Foundation_Collections")]
RemoteSystemKinds(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<::windows::runtime::HSTRING>>2475     pub fn RemoteSystemKinds(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<::windows::runtime::HSTRING>> {
2476         let this = self;
2477         unsafe {
2478             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2479             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<::windows::runtime::HSTRING>>(result__)
2480         }
2481     }
2482     #[cfg(feature = "Foundation_Collections")]
Create<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(remotesystemkinds: Param0) -> ::windows::runtime::Result<RemoteSystemKindFilter>2483     pub fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(remotesystemkinds: Param0) -> ::windows::runtime::Result<RemoteSystemKindFilter> {
2484         Self::IRemoteSystemKindFilterFactory(|this| unsafe {
2485             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2486             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), remotesystemkinds.into_param().abi(), &mut result__).from_abi::<RemoteSystemKindFilter>(result__)
2487         })
2488     }
IRemoteSystemKindFilterFactory<R, F: FnOnce(&IRemoteSystemKindFilterFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2489     pub fn IRemoteSystemKindFilterFactory<R, F: FnOnce(&IRemoteSystemKindFilterFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2490         static mut SHARED: ::windows::runtime::FactoryCache<RemoteSystemKindFilter, IRemoteSystemKindFilterFactory> = ::windows::runtime::FactoryCache::new();
2491         unsafe { SHARED.call(callback) }
2492     }
2493 }
2494 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemKindFilter {
2495     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemKindFilter;{38e1c9ec-22c3-4ef6-901a-bbb1c7aad4ed})");
2496 }
2497 unsafe impl ::windows::runtime::Interface for RemoteSystemKindFilter {
2498     type Vtable = IRemoteSystemKindFilter_abi;
2499     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(954321388, 8899, 20214, [144, 26, 187, 177, 199, 170, 212, 237]);
2500 }
2501 impl ::windows::runtime::RuntimeName for RemoteSystemKindFilter {
2502     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemKindFilter";
2503 }
2504 impl ::std::convert::From<RemoteSystemKindFilter> for ::windows::runtime::IUnknown {
from(value: RemoteSystemKindFilter) -> Self2505     fn from(value: RemoteSystemKindFilter) -> Self {
2506         unsafe { ::std::mem::transmute(value) }
2507     }
2508 }
2509 impl ::std::convert::From<&RemoteSystemKindFilter> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemKindFilter) -> Self2510     fn from(value: &RemoteSystemKindFilter) -> Self {
2511         ::std::convert::From::from(::std::clone::Clone::clone(value))
2512     }
2513 }
2514 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemKindFilter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2515     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2516         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2517     }
2518 }
2519 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemKindFilter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2520     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2521         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2522     }
2523 }
2524 impl ::std::convert::From<RemoteSystemKindFilter> for ::windows::runtime::IInspectable {
from(value: RemoteSystemKindFilter) -> Self2525     fn from(value: RemoteSystemKindFilter) -> Self {
2526         value.0
2527     }
2528 }
2529 impl ::std::convert::From<&RemoteSystemKindFilter> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemKindFilter) -> Self2530     fn from(value: &RemoteSystemKindFilter) -> Self {
2531         value.0.clone()
2532     }
2533 }
2534 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemKindFilter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2535     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2536         ::windows::runtime::Param::Owned(self.0)
2537     }
2538 }
2539 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemKindFilter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2540     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2541         ::windows::runtime::Param::Borrowed(&self.0)
2542     }
2543 }
2544 impl ::std::convert::TryFrom<RemoteSystemKindFilter> for IRemoteSystemFilter {
2545     type Error = ::windows::runtime::Error;
try_from(value: RemoteSystemKindFilter) -> ::windows::runtime::Result<Self>2546     fn try_from(value: RemoteSystemKindFilter) -> ::windows::runtime::Result<Self> {
2547         ::std::convert::TryFrom::try_from(&value)
2548     }
2549 }
2550 impl ::std::convert::TryFrom<&RemoteSystemKindFilter> for IRemoteSystemFilter {
2551     type Error = ::windows::runtime::Error;
try_from(value: &RemoteSystemKindFilter) -> ::windows::runtime::Result<Self>2552     fn try_from(value: &RemoteSystemKindFilter) -> ::windows::runtime::Result<Self> {
2553         ::windows::runtime::Interface::cast(value)
2554     }
2555 }
2556 impl<'a> ::windows::runtime::IntoParam<'a, IRemoteSystemFilter> for RemoteSystemKindFilter {
into_param(self) -> ::windows::runtime::Param<'a, IRemoteSystemFilter>2557     fn into_param(self) -> ::windows::runtime::Param<'a, IRemoteSystemFilter> {
2558         ::windows::runtime::IntoParam::into_param(&self)
2559     }
2560 }
2561 impl<'a> ::windows::runtime::IntoParam<'a, IRemoteSystemFilter> for &RemoteSystemKindFilter {
into_param(self) -> ::windows::runtime::Param<'a, IRemoteSystemFilter>2562     fn into_param(self) -> ::windows::runtime::Param<'a, IRemoteSystemFilter> {
2563         ::std::convert::TryInto::<IRemoteSystemFilter>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
2564     }
2565 }
2566 unsafe impl ::std::marker::Send for RemoteSystemKindFilter {}
2567 unsafe impl ::std::marker::Sync for RemoteSystemKindFilter {}
2568 pub struct RemoteSystemKinds {}
2569 impl RemoteSystemKinds {
Phone() -> ::windows::runtime::Result<::windows::runtime::HSTRING>2570     pub fn Phone() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2571         Self::IRemoteSystemKindStatics(|this| unsafe {
2572             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2573             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2574         })
2575     }
Hub() -> ::windows::runtime::Result<::windows::runtime::HSTRING>2576     pub fn Hub() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2577         Self::IRemoteSystemKindStatics(|this| unsafe {
2578             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2579             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2580         })
2581     }
Holographic() -> ::windows::runtime::Result<::windows::runtime::HSTRING>2582     pub fn Holographic() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2583         Self::IRemoteSystemKindStatics(|this| unsafe {
2584             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2585             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2586         })
2587     }
Desktop() -> ::windows::runtime::Result<::windows::runtime::HSTRING>2588     pub fn Desktop() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2589         Self::IRemoteSystemKindStatics(|this| unsafe {
2590             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2591             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2592         })
2593     }
Xbox() -> ::windows::runtime::Result<::windows::runtime::HSTRING>2594     pub fn Xbox() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2595         Self::IRemoteSystemKindStatics(|this| unsafe {
2596             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2597             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2598         })
2599     }
Iot() -> ::windows::runtime::Result<::windows::runtime::HSTRING>2600     pub fn Iot() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2601         Self::IRemoteSystemKindStatics2(|this| unsafe {
2602             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2603             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2604         })
2605     }
Tablet() -> ::windows::runtime::Result<::windows::runtime::HSTRING>2606     pub fn Tablet() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2607         Self::IRemoteSystemKindStatics2(|this| unsafe {
2608             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2609             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2610         })
2611     }
Laptop() -> ::windows::runtime::Result<::windows::runtime::HSTRING>2612     pub fn Laptop() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2613         Self::IRemoteSystemKindStatics2(|this| unsafe {
2614             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2615             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2616         })
2617     }
IRemoteSystemKindStatics<R, F: FnOnce(&IRemoteSystemKindStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2618     pub fn IRemoteSystemKindStatics<R, F: FnOnce(&IRemoteSystemKindStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2619         static mut SHARED: ::windows::runtime::FactoryCache<RemoteSystemKinds, IRemoteSystemKindStatics> = ::windows::runtime::FactoryCache::new();
2620         unsafe { SHARED.call(callback) }
2621     }
IRemoteSystemKindStatics2<R, F: FnOnce(&IRemoteSystemKindStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2622     pub fn IRemoteSystemKindStatics2<R, F: FnOnce(&IRemoteSystemKindStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2623         static mut SHARED: ::windows::runtime::FactoryCache<RemoteSystemKinds, IRemoteSystemKindStatics2> = ::windows::runtime::FactoryCache::new();
2624         unsafe { SHARED.call(callback) }
2625     }
2626 }
2627 impl ::windows::runtime::RuntimeName for RemoteSystemKinds {
2628     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemKinds";
2629 }
2630 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2631 #[repr(transparent)]
2632 pub struct RemoteSystemPlatform(pub i32);
2633 impl RemoteSystemPlatform {
2634     pub const Unknown: RemoteSystemPlatform = RemoteSystemPlatform(0i32);
2635     pub const Windows: RemoteSystemPlatform = RemoteSystemPlatform(1i32);
2636     pub const Android: RemoteSystemPlatform = RemoteSystemPlatform(2i32);
2637     pub const Ios: RemoteSystemPlatform = RemoteSystemPlatform(3i32);
2638     pub const Linux: RemoteSystemPlatform = RemoteSystemPlatform(4i32);
2639 }
2640 impl ::std::convert::From<i32> for RemoteSystemPlatform {
from(value: i32) -> Self2641     fn from(value: i32) -> Self {
2642         Self(value)
2643     }
2644 }
2645 unsafe impl ::windows::runtime::Abi for RemoteSystemPlatform {
2646     type Abi = Self;
2647     type DefaultType = Self;
2648 }
2649 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemPlatform {
2650     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.RemoteSystems.RemoteSystemPlatform;i4)");
2651 }
2652 #[repr(transparent)]
2653 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2654 pub struct RemoteSystemRemovedEventArgs(::windows::runtime::IInspectable);
2655 impl RemoteSystemRemovedEventArgs {
RemoteSystemId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2656     pub fn RemoteSystemId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2657         let this = self;
2658         unsafe {
2659             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2660             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2661         }
2662     }
2663 }
2664 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemRemovedEventArgs {
2665     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemRemovedEventArgs;{8b3d16bb-7306-49ea-b7df-67d5714cb013})");
2666 }
2667 unsafe impl ::windows::runtime::Interface for RemoteSystemRemovedEventArgs {
2668     type Vtable = IRemoteSystemRemovedEventArgs_abi;
2669     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2336036539, 29446, 18922, [183, 223, 103, 213, 113, 76, 176, 19]);
2670 }
2671 impl ::windows::runtime::RuntimeName for RemoteSystemRemovedEventArgs {
2672     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemRemovedEventArgs";
2673 }
2674 impl ::std::convert::From<RemoteSystemRemovedEventArgs> for ::windows::runtime::IUnknown {
from(value: RemoteSystemRemovedEventArgs) -> Self2675     fn from(value: RemoteSystemRemovedEventArgs) -> Self {
2676         unsafe { ::std::mem::transmute(value) }
2677     }
2678 }
2679 impl ::std::convert::From<&RemoteSystemRemovedEventArgs> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemRemovedEventArgs) -> Self2680     fn from(value: &RemoteSystemRemovedEventArgs) -> Self {
2681         ::std::convert::From::from(::std::clone::Clone::clone(value))
2682     }
2683 }
2684 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemRemovedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2685     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2686         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2687     }
2688 }
2689 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemRemovedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2690     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2691         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2692     }
2693 }
2694 impl ::std::convert::From<RemoteSystemRemovedEventArgs> for ::windows::runtime::IInspectable {
from(value: RemoteSystemRemovedEventArgs) -> Self2695     fn from(value: RemoteSystemRemovedEventArgs) -> Self {
2696         value.0
2697     }
2698 }
2699 impl ::std::convert::From<&RemoteSystemRemovedEventArgs> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemRemovedEventArgs) -> Self2700     fn from(value: &RemoteSystemRemovedEventArgs) -> Self {
2701         value.0.clone()
2702     }
2703 }
2704 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemRemovedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2705     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2706         ::windows::runtime::Param::Owned(self.0)
2707     }
2708 }
2709 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemRemovedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2710     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2711         ::windows::runtime::Param::Borrowed(&self.0)
2712     }
2713 }
2714 unsafe impl ::std::marker::Send for RemoteSystemRemovedEventArgs {}
2715 unsafe impl ::std::marker::Sync for RemoteSystemRemovedEventArgs {}
2716 #[repr(transparent)]
2717 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2718 pub struct RemoteSystemSession(::windows::runtime::IInspectable);
2719 impl RemoteSystemSession {
2720     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>2721     pub fn Close(&self) -> ::windows::runtime::Result<()> {
2722         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
2723         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
2724     }
Id(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2725     pub fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2726         let this = self;
2727         unsafe {
2728             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2729             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2730         }
2731     }
DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2732     pub fn DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2733         let this = self;
2734         unsafe {
2735             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2736             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2737         }
2738     }
ControllerDisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2739     pub fn ControllerDisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2740         let this = self;
2741         unsafe {
2742             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2743             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2744         }
2745     }
2746     #[cfg(feature = "Foundation")]
Disconnected<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RemoteSystemSession, RemoteSystemSessionDisconnectedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>2747     pub fn Disconnected<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RemoteSystemSession, RemoteSystemSessionDisconnectedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
2748         let this = self;
2749         unsafe {
2750             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
2751             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
2752         }
2753     }
2754     #[cfg(feature = "Foundation")]
RemoveDisconnected<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>2755     pub fn RemoveDisconnected<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
2756         let this = self;
2757         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
2758     }
CreateParticipantWatcher(&self) -> ::windows::runtime::Result<RemoteSystemSessionParticipantWatcher>2759     pub fn CreateParticipantWatcher(&self) -> ::windows::runtime::Result<RemoteSystemSessionParticipantWatcher> {
2760         let this = self;
2761         unsafe {
2762             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2763             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystemSessionParticipantWatcher>(result__)
2764         }
2765     }
2766     #[cfg(feature = "Foundation")]
SendInvitationAsync<'a, Param0: ::windows::runtime::IntoParam<'a, RemoteSystem>>(&self, invitee: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<bool>>2767     pub fn SendInvitationAsync<'a, Param0: ::windows::runtime::IntoParam<'a, RemoteSystem>>(&self, invitee: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<bool>> {
2768         let this = self;
2769         unsafe {
2770             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2771             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), invitee.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<bool>>(result__)
2772         }
2773     }
CreateWatcher() -> ::windows::runtime::Result<RemoteSystemSessionWatcher>2774     pub fn CreateWatcher() -> ::windows::runtime::Result<RemoteSystemSessionWatcher> {
2775         Self::IRemoteSystemSessionStatics(|this| unsafe {
2776             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2777             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystemSessionWatcher>(result__)
2778         })
2779     }
IRemoteSystemSessionStatics<R, F: FnOnce(&IRemoteSystemSessionStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2780     pub fn IRemoteSystemSessionStatics<R, F: FnOnce(&IRemoteSystemSessionStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2781         static mut SHARED: ::windows::runtime::FactoryCache<RemoteSystemSession, IRemoteSystemSessionStatics> = ::windows::runtime::FactoryCache::new();
2782         unsafe { SHARED.call(callback) }
2783     }
2784 }
2785 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemSession {
2786     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemSession;{69476a01-9ada-490f-9549-d31cb14c9e95})");
2787 }
2788 unsafe impl ::windows::runtime::Interface for RemoteSystemSession {
2789     type Vtable = IRemoteSystemSession_abi;
2790     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1766287873, 39642, 18703, [149, 73, 211, 28, 177, 76, 158, 149]);
2791 }
2792 impl ::windows::runtime::RuntimeName for RemoteSystemSession {
2793     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemSession";
2794 }
2795 impl ::std::convert::From<RemoteSystemSession> for ::windows::runtime::IUnknown {
from(value: RemoteSystemSession) -> Self2796     fn from(value: RemoteSystemSession) -> Self {
2797         unsafe { ::std::mem::transmute(value) }
2798     }
2799 }
2800 impl ::std::convert::From<&RemoteSystemSession> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemSession) -> Self2801     fn from(value: &RemoteSystemSession) -> Self {
2802         ::std::convert::From::from(::std::clone::Clone::clone(value))
2803     }
2804 }
2805 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemSession {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2806     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2807         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2808     }
2809 }
2810 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemSession {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2811     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2812         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2813     }
2814 }
2815 impl ::std::convert::From<RemoteSystemSession> for ::windows::runtime::IInspectable {
from(value: RemoteSystemSession) -> Self2816     fn from(value: RemoteSystemSession) -> Self {
2817         value.0
2818     }
2819 }
2820 impl ::std::convert::From<&RemoteSystemSession> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemSession) -> Self2821     fn from(value: &RemoteSystemSession) -> Self {
2822         value.0.clone()
2823     }
2824 }
2825 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemSession {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2826     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2827         ::windows::runtime::Param::Owned(self.0)
2828     }
2829 }
2830 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemSession {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2831     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2832         ::windows::runtime::Param::Borrowed(&self.0)
2833     }
2834 }
2835 #[cfg(feature = "Foundation")]
2836 impl ::std::convert::TryFrom<RemoteSystemSession> for super::super::Foundation::IClosable {
2837     type Error = ::windows::runtime::Error;
try_from(value: RemoteSystemSession) -> ::windows::runtime::Result<Self>2838     fn try_from(value: RemoteSystemSession) -> ::windows::runtime::Result<Self> {
2839         ::std::convert::TryFrom::try_from(&value)
2840     }
2841 }
2842 #[cfg(feature = "Foundation")]
2843 impl ::std::convert::TryFrom<&RemoteSystemSession> for super::super::Foundation::IClosable {
2844     type Error = ::windows::runtime::Error;
try_from(value: &RemoteSystemSession) -> ::windows::runtime::Result<Self>2845     fn try_from(value: &RemoteSystemSession) -> ::windows::runtime::Result<Self> {
2846         ::windows::runtime::Interface::cast(value)
2847     }
2848 }
2849 #[cfg(feature = "Foundation")]
2850 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for RemoteSystemSession {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>2851     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
2852         ::windows::runtime::IntoParam::into_param(&self)
2853     }
2854 }
2855 #[cfg(feature = "Foundation")]
2856 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &RemoteSystemSession {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>2857     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
2858         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
2859     }
2860 }
2861 unsafe impl ::std::marker::Send for RemoteSystemSession {}
2862 unsafe impl ::std::marker::Sync for RemoteSystemSession {}
2863 #[repr(transparent)]
2864 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2865 pub struct RemoteSystemSessionAddedEventArgs(::windows::runtime::IInspectable);
2866 impl RemoteSystemSessionAddedEventArgs {
SessionInfo(&self) -> ::windows::runtime::Result<RemoteSystemSessionInfo>2867     pub fn SessionInfo(&self) -> ::windows::runtime::Result<RemoteSystemSessionInfo> {
2868         let this = self;
2869         unsafe {
2870             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2871             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystemSessionInfo>(result__)
2872         }
2873     }
2874 }
2875 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemSessionAddedEventArgs {
2876     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemSessionAddedEventArgs;{d585d754-bc97-4c39-99b4-beca76e04c3f})");
2877 }
2878 unsafe impl ::windows::runtime::Interface for RemoteSystemSessionAddedEventArgs {
2879     type Vtable = IRemoteSystemSessionAddedEventArgs_abi;
2880     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3582318420, 48279, 19513, [153, 180, 190, 202, 118, 224, 76, 63]);
2881 }
2882 impl ::windows::runtime::RuntimeName for RemoteSystemSessionAddedEventArgs {
2883     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemSessionAddedEventArgs";
2884 }
2885 impl ::std::convert::From<RemoteSystemSessionAddedEventArgs> for ::windows::runtime::IUnknown {
from(value: RemoteSystemSessionAddedEventArgs) -> Self2886     fn from(value: RemoteSystemSessionAddedEventArgs) -> Self {
2887         unsafe { ::std::mem::transmute(value) }
2888     }
2889 }
2890 impl ::std::convert::From<&RemoteSystemSessionAddedEventArgs> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemSessionAddedEventArgs) -> Self2891     fn from(value: &RemoteSystemSessionAddedEventArgs) -> Self {
2892         ::std::convert::From::from(::std::clone::Clone::clone(value))
2893     }
2894 }
2895 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemSessionAddedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2896     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2897         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2898     }
2899 }
2900 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemSessionAddedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2901     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2902         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2903     }
2904 }
2905 impl ::std::convert::From<RemoteSystemSessionAddedEventArgs> for ::windows::runtime::IInspectable {
from(value: RemoteSystemSessionAddedEventArgs) -> Self2906     fn from(value: RemoteSystemSessionAddedEventArgs) -> Self {
2907         value.0
2908     }
2909 }
2910 impl ::std::convert::From<&RemoteSystemSessionAddedEventArgs> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemSessionAddedEventArgs) -> Self2911     fn from(value: &RemoteSystemSessionAddedEventArgs) -> Self {
2912         value.0.clone()
2913     }
2914 }
2915 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemSessionAddedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2916     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2917         ::windows::runtime::Param::Owned(self.0)
2918     }
2919 }
2920 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemSessionAddedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2921     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2922         ::windows::runtime::Param::Borrowed(&self.0)
2923     }
2924 }
2925 unsafe impl ::std::marker::Send for RemoteSystemSessionAddedEventArgs {}
2926 unsafe impl ::std::marker::Sync for RemoteSystemSessionAddedEventArgs {}
2927 #[repr(transparent)]
2928 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2929 pub struct RemoteSystemSessionController(::windows::runtime::IInspectable);
2930 impl RemoteSystemSessionController {
2931     #[cfg(feature = "Foundation")]
JoinRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RemoteSystemSessionController, RemoteSystemSessionJoinRequestedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>2932     pub fn JoinRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RemoteSystemSessionController, RemoteSystemSessionJoinRequestedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
2933         let this = self;
2934         unsafe {
2935             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
2936             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
2937         }
2938     }
2939     #[cfg(feature = "Foundation")]
RemoveJoinRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>2940     pub fn RemoveJoinRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
2941         let this = self;
2942         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
2943     }
2944     #[cfg(feature = "Foundation")]
RemoveParticipantAsync<'a, Param0: ::windows::runtime::IntoParam<'a, RemoteSystemSessionParticipant>>(&self, pparticipant: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<bool>>2945     pub fn RemoveParticipantAsync<'a, Param0: ::windows::runtime::IntoParam<'a, RemoteSystemSessionParticipant>>(&self, pparticipant: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<bool>> {
2946         let this = self;
2947         unsafe {
2948             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2949             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), pparticipant.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<bool>>(result__)
2950         }
2951     }
2952     #[cfg(feature = "Foundation")]
CreateSessionAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<RemoteSystemSessionCreationResult>>2953     pub fn CreateSessionAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<RemoteSystemSessionCreationResult>> {
2954         let this = self;
2955         unsafe {
2956             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2957             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<RemoteSystemSessionCreationResult>>(result__)
2958         }
2959     }
CreateController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(displayname: Param0) -> ::windows::runtime::Result<RemoteSystemSessionController>2960     pub fn CreateController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(displayname: Param0) -> ::windows::runtime::Result<RemoteSystemSessionController> {
2961         Self::IRemoteSystemSessionControllerFactory(|this| unsafe {
2962             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2963             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), displayname.into_param().abi(), &mut result__).from_abi::<RemoteSystemSessionController>(result__)
2964         })
2965     }
CreateControllerWithSessionOptions<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, RemoteSystemSessionOptions>>(displayname: Param0, options: Param1) -> ::windows::runtime::Result<RemoteSystemSessionController>2966     pub fn CreateControllerWithSessionOptions<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, RemoteSystemSessionOptions>>(displayname: Param0, options: Param1) -> ::windows::runtime::Result<RemoteSystemSessionController> {
2967         Self::IRemoteSystemSessionControllerFactory(|this| unsafe {
2968             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2969             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), displayname.into_param().abi(), options.into_param().abi(), &mut result__).from_abi::<RemoteSystemSessionController>(result__)
2970         })
2971     }
IRemoteSystemSessionControllerFactory<R, F: FnOnce(&IRemoteSystemSessionControllerFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2972     pub fn IRemoteSystemSessionControllerFactory<R, F: FnOnce(&IRemoteSystemSessionControllerFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2973         static mut SHARED: ::windows::runtime::FactoryCache<RemoteSystemSessionController, IRemoteSystemSessionControllerFactory> = ::windows::runtime::FactoryCache::new();
2974         unsafe { SHARED.call(callback) }
2975     }
2976 }
2977 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemSessionController {
2978     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemSessionController;{e48b2dd2-6820-4867-b425-d89c0a3ef7ba})");
2979 }
2980 unsafe impl ::windows::runtime::Interface for RemoteSystemSessionController {
2981     type Vtable = IRemoteSystemSessionController_abi;
2982     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3834326482, 26656, 18535, [180, 37, 216, 156, 10, 62, 247, 186]);
2983 }
2984 impl ::windows::runtime::RuntimeName for RemoteSystemSessionController {
2985     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemSessionController";
2986 }
2987 impl ::std::convert::From<RemoteSystemSessionController> for ::windows::runtime::IUnknown {
from(value: RemoteSystemSessionController) -> Self2988     fn from(value: RemoteSystemSessionController) -> Self {
2989         unsafe { ::std::mem::transmute(value) }
2990     }
2991 }
2992 impl ::std::convert::From<&RemoteSystemSessionController> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemSessionController) -> Self2993     fn from(value: &RemoteSystemSessionController) -> Self {
2994         ::std::convert::From::from(::std::clone::Clone::clone(value))
2995     }
2996 }
2997 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemSessionController {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2998     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2999         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3000     }
3001 }
3002 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemSessionController {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3003     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3004         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3005     }
3006 }
3007 impl ::std::convert::From<RemoteSystemSessionController> for ::windows::runtime::IInspectable {
from(value: RemoteSystemSessionController) -> Self3008     fn from(value: RemoteSystemSessionController) -> Self {
3009         value.0
3010     }
3011 }
3012 impl ::std::convert::From<&RemoteSystemSessionController> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemSessionController) -> Self3013     fn from(value: &RemoteSystemSessionController) -> Self {
3014         value.0.clone()
3015     }
3016 }
3017 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemSessionController {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3018     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3019         ::windows::runtime::Param::Owned(self.0)
3020     }
3021 }
3022 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemSessionController {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3023     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3024         ::windows::runtime::Param::Borrowed(&self.0)
3025     }
3026 }
3027 unsafe impl ::std::marker::Send for RemoteSystemSessionController {}
3028 unsafe impl ::std::marker::Sync for RemoteSystemSessionController {}
3029 #[repr(transparent)]
3030 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3031 pub struct RemoteSystemSessionCreationResult(::windows::runtime::IInspectable);
3032 impl RemoteSystemSessionCreationResult {
Status(&self) -> ::windows::runtime::Result<RemoteSystemSessionCreationStatus>3033     pub fn Status(&self) -> ::windows::runtime::Result<RemoteSystemSessionCreationStatus> {
3034         let this = self;
3035         unsafe {
3036             let mut result__: RemoteSystemSessionCreationStatus = ::std::mem::zeroed();
3037             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystemSessionCreationStatus>(result__)
3038         }
3039     }
Session(&self) -> ::windows::runtime::Result<RemoteSystemSession>3040     pub fn Session(&self) -> ::windows::runtime::Result<RemoteSystemSession> {
3041         let this = self;
3042         unsafe {
3043             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3044             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystemSession>(result__)
3045         }
3046     }
3047 }
3048 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemSessionCreationResult {
3049     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemSessionCreationResult;{a79812c2-37de-448c-8b83-a30aa3c4ead6})");
3050 }
3051 unsafe impl ::windows::runtime::Interface for RemoteSystemSessionCreationResult {
3052     type Vtable = IRemoteSystemSessionCreationResult_abi;
3053     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2811761346, 14302, 17548, [139, 131, 163, 10, 163, 196, 234, 214]);
3054 }
3055 impl ::windows::runtime::RuntimeName for RemoteSystemSessionCreationResult {
3056     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemSessionCreationResult";
3057 }
3058 impl ::std::convert::From<RemoteSystemSessionCreationResult> for ::windows::runtime::IUnknown {
from(value: RemoteSystemSessionCreationResult) -> Self3059     fn from(value: RemoteSystemSessionCreationResult) -> Self {
3060         unsafe { ::std::mem::transmute(value) }
3061     }
3062 }
3063 impl ::std::convert::From<&RemoteSystemSessionCreationResult> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemSessionCreationResult) -> Self3064     fn from(value: &RemoteSystemSessionCreationResult) -> Self {
3065         ::std::convert::From::from(::std::clone::Clone::clone(value))
3066     }
3067 }
3068 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemSessionCreationResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3069     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3070         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3071     }
3072 }
3073 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemSessionCreationResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3074     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3075         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3076     }
3077 }
3078 impl ::std::convert::From<RemoteSystemSessionCreationResult> for ::windows::runtime::IInspectable {
from(value: RemoteSystemSessionCreationResult) -> Self3079     fn from(value: RemoteSystemSessionCreationResult) -> Self {
3080         value.0
3081     }
3082 }
3083 impl ::std::convert::From<&RemoteSystemSessionCreationResult> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemSessionCreationResult) -> Self3084     fn from(value: &RemoteSystemSessionCreationResult) -> Self {
3085         value.0.clone()
3086     }
3087 }
3088 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemSessionCreationResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3089     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3090         ::windows::runtime::Param::Owned(self.0)
3091     }
3092 }
3093 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemSessionCreationResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3094     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3095         ::windows::runtime::Param::Borrowed(&self.0)
3096     }
3097 }
3098 unsafe impl ::std::marker::Send for RemoteSystemSessionCreationResult {}
3099 unsafe impl ::std::marker::Sync for RemoteSystemSessionCreationResult {}
3100 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3101 #[repr(transparent)]
3102 pub struct RemoteSystemSessionCreationStatus(pub i32);
3103 impl RemoteSystemSessionCreationStatus {
3104     pub const Success: RemoteSystemSessionCreationStatus = RemoteSystemSessionCreationStatus(0i32);
3105     pub const SessionLimitsExceeded: RemoteSystemSessionCreationStatus = RemoteSystemSessionCreationStatus(1i32);
3106     pub const OperationAborted: RemoteSystemSessionCreationStatus = RemoteSystemSessionCreationStatus(2i32);
3107 }
3108 impl ::std::convert::From<i32> for RemoteSystemSessionCreationStatus {
from(value: i32) -> Self3109     fn from(value: i32) -> Self {
3110         Self(value)
3111     }
3112 }
3113 unsafe impl ::windows::runtime::Abi for RemoteSystemSessionCreationStatus {
3114     type Abi = Self;
3115     type DefaultType = Self;
3116 }
3117 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemSessionCreationStatus {
3118     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.RemoteSystems.RemoteSystemSessionCreationStatus;i4)");
3119 }
3120 #[repr(transparent)]
3121 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3122 pub struct RemoteSystemSessionDisconnectedEventArgs(::windows::runtime::IInspectable);
3123 impl RemoteSystemSessionDisconnectedEventArgs {
Reason(&self) -> ::windows::runtime::Result<RemoteSystemSessionDisconnectedReason>3124     pub fn Reason(&self) -> ::windows::runtime::Result<RemoteSystemSessionDisconnectedReason> {
3125         let this = self;
3126         unsafe {
3127             let mut result__: RemoteSystemSessionDisconnectedReason = ::std::mem::zeroed();
3128             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystemSessionDisconnectedReason>(result__)
3129         }
3130     }
3131 }
3132 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemSessionDisconnectedEventArgs {
3133     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemSessionDisconnectedEventArgs;{de0bc69b-77c5-461c-8209-7c6c5d3111ab})");
3134 }
3135 unsafe impl ::windows::runtime::Interface for RemoteSystemSessionDisconnectedEventArgs {
3136     type Vtable = IRemoteSystemSessionDisconnectedEventArgs_abi;
3137     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3725313691, 30661, 17948, [130, 9, 124, 108, 93, 49, 17, 171]);
3138 }
3139 impl ::windows::runtime::RuntimeName for RemoteSystemSessionDisconnectedEventArgs {
3140     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemSessionDisconnectedEventArgs";
3141 }
3142 impl ::std::convert::From<RemoteSystemSessionDisconnectedEventArgs> for ::windows::runtime::IUnknown {
from(value: RemoteSystemSessionDisconnectedEventArgs) -> Self3143     fn from(value: RemoteSystemSessionDisconnectedEventArgs) -> Self {
3144         unsafe { ::std::mem::transmute(value) }
3145     }
3146 }
3147 impl ::std::convert::From<&RemoteSystemSessionDisconnectedEventArgs> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemSessionDisconnectedEventArgs) -> Self3148     fn from(value: &RemoteSystemSessionDisconnectedEventArgs) -> Self {
3149         ::std::convert::From::from(::std::clone::Clone::clone(value))
3150     }
3151 }
3152 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemSessionDisconnectedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3153     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3154         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3155     }
3156 }
3157 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemSessionDisconnectedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3158     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3159         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3160     }
3161 }
3162 impl ::std::convert::From<RemoteSystemSessionDisconnectedEventArgs> for ::windows::runtime::IInspectable {
from(value: RemoteSystemSessionDisconnectedEventArgs) -> Self3163     fn from(value: RemoteSystemSessionDisconnectedEventArgs) -> Self {
3164         value.0
3165     }
3166 }
3167 impl ::std::convert::From<&RemoteSystemSessionDisconnectedEventArgs> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemSessionDisconnectedEventArgs) -> Self3168     fn from(value: &RemoteSystemSessionDisconnectedEventArgs) -> Self {
3169         value.0.clone()
3170     }
3171 }
3172 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemSessionDisconnectedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3173     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3174         ::windows::runtime::Param::Owned(self.0)
3175     }
3176 }
3177 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemSessionDisconnectedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3178     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3179         ::windows::runtime::Param::Borrowed(&self.0)
3180     }
3181 }
3182 unsafe impl ::std::marker::Send for RemoteSystemSessionDisconnectedEventArgs {}
3183 unsafe impl ::std::marker::Sync for RemoteSystemSessionDisconnectedEventArgs {}
3184 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3185 #[repr(transparent)]
3186 pub struct RemoteSystemSessionDisconnectedReason(pub i32);
3187 impl RemoteSystemSessionDisconnectedReason {
3188     pub const SessionUnavailable: RemoteSystemSessionDisconnectedReason = RemoteSystemSessionDisconnectedReason(0i32);
3189     pub const RemovedByController: RemoteSystemSessionDisconnectedReason = RemoteSystemSessionDisconnectedReason(1i32);
3190     pub const SessionClosed: RemoteSystemSessionDisconnectedReason = RemoteSystemSessionDisconnectedReason(2i32);
3191 }
3192 impl ::std::convert::From<i32> for RemoteSystemSessionDisconnectedReason {
from(value: i32) -> Self3193     fn from(value: i32) -> Self {
3194         Self(value)
3195     }
3196 }
3197 unsafe impl ::windows::runtime::Abi for RemoteSystemSessionDisconnectedReason {
3198     type Abi = Self;
3199     type DefaultType = Self;
3200 }
3201 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemSessionDisconnectedReason {
3202     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.RemoteSystems.RemoteSystemSessionDisconnectedReason;i4)");
3203 }
3204 #[repr(transparent)]
3205 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3206 pub struct RemoteSystemSessionInfo(::windows::runtime::IInspectable);
3207 impl RemoteSystemSessionInfo {
DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3208     pub fn DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3209         let this = self;
3210         unsafe {
3211             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3212             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3213         }
3214     }
ControllerDisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3215     pub fn ControllerDisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3216         let this = self;
3217         unsafe {
3218             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3219             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3220         }
3221     }
3222     #[cfg(feature = "Foundation")]
JoinAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<RemoteSystemSessionJoinResult>>3223     pub fn JoinAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<RemoteSystemSessionJoinResult>> {
3224         let this = self;
3225         unsafe {
3226             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3227             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<RemoteSystemSessionJoinResult>>(result__)
3228         }
3229     }
3230 }
3231 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemSessionInfo {
3232     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemSessionInfo;{ff4df648-8b0a-4e9a-9905-69e4b841c588})");
3233 }
3234 unsafe impl ::windows::runtime::Interface for RemoteSystemSessionInfo {
3235     type Vtable = IRemoteSystemSessionInfo_abi;
3236     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4283299400, 35594, 20122, [153, 5, 105, 228, 184, 65, 197, 136]);
3237 }
3238 impl ::windows::runtime::RuntimeName for RemoteSystemSessionInfo {
3239     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemSessionInfo";
3240 }
3241 impl ::std::convert::From<RemoteSystemSessionInfo> for ::windows::runtime::IUnknown {
from(value: RemoteSystemSessionInfo) -> Self3242     fn from(value: RemoteSystemSessionInfo) -> Self {
3243         unsafe { ::std::mem::transmute(value) }
3244     }
3245 }
3246 impl ::std::convert::From<&RemoteSystemSessionInfo> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemSessionInfo) -> Self3247     fn from(value: &RemoteSystemSessionInfo) -> Self {
3248         ::std::convert::From::from(::std::clone::Clone::clone(value))
3249     }
3250 }
3251 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemSessionInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3252     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3253         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3254     }
3255 }
3256 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemSessionInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3257     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3258         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3259     }
3260 }
3261 impl ::std::convert::From<RemoteSystemSessionInfo> for ::windows::runtime::IInspectable {
from(value: RemoteSystemSessionInfo) -> Self3262     fn from(value: RemoteSystemSessionInfo) -> Self {
3263         value.0
3264     }
3265 }
3266 impl ::std::convert::From<&RemoteSystemSessionInfo> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemSessionInfo) -> Self3267     fn from(value: &RemoteSystemSessionInfo) -> Self {
3268         value.0.clone()
3269     }
3270 }
3271 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemSessionInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3272     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3273         ::windows::runtime::Param::Owned(self.0)
3274     }
3275 }
3276 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemSessionInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3277     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3278         ::windows::runtime::Param::Borrowed(&self.0)
3279     }
3280 }
3281 unsafe impl ::std::marker::Send for RemoteSystemSessionInfo {}
3282 unsafe impl ::std::marker::Sync for RemoteSystemSessionInfo {}
3283 #[repr(transparent)]
3284 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3285 pub struct RemoteSystemSessionInvitation(::windows::runtime::IInspectable);
3286 impl RemoteSystemSessionInvitation {
Sender(&self) -> ::windows::runtime::Result<RemoteSystem>3287     pub fn Sender(&self) -> ::windows::runtime::Result<RemoteSystem> {
3288         let this = self;
3289         unsafe {
3290             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3291             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystem>(result__)
3292         }
3293     }
SessionInfo(&self) -> ::windows::runtime::Result<RemoteSystemSessionInfo>3294     pub fn SessionInfo(&self) -> ::windows::runtime::Result<RemoteSystemSessionInfo> {
3295         let this = self;
3296         unsafe {
3297             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3298             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystemSessionInfo>(result__)
3299         }
3300     }
3301 }
3302 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemSessionInvitation {
3303     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemSessionInvitation;{3e32cc91-51d7-4766-a121-25516c3b8294})");
3304 }
3305 unsafe impl ::windows::runtime::Interface for RemoteSystemSessionInvitation {
3306     type Vtable = IRemoteSystemSessionInvitation_abi;
3307     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1043516561, 20951, 18278, [161, 33, 37, 81, 108, 59, 130, 148]);
3308 }
3309 impl ::windows::runtime::RuntimeName for RemoteSystemSessionInvitation {
3310     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemSessionInvitation";
3311 }
3312 impl ::std::convert::From<RemoteSystemSessionInvitation> for ::windows::runtime::IUnknown {
from(value: RemoteSystemSessionInvitation) -> Self3313     fn from(value: RemoteSystemSessionInvitation) -> Self {
3314         unsafe { ::std::mem::transmute(value) }
3315     }
3316 }
3317 impl ::std::convert::From<&RemoteSystemSessionInvitation> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemSessionInvitation) -> Self3318     fn from(value: &RemoteSystemSessionInvitation) -> Self {
3319         ::std::convert::From::from(::std::clone::Clone::clone(value))
3320     }
3321 }
3322 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemSessionInvitation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3323     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3324         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3325     }
3326 }
3327 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemSessionInvitation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3328     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3329         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3330     }
3331 }
3332 impl ::std::convert::From<RemoteSystemSessionInvitation> for ::windows::runtime::IInspectable {
from(value: RemoteSystemSessionInvitation) -> Self3333     fn from(value: RemoteSystemSessionInvitation) -> Self {
3334         value.0
3335     }
3336 }
3337 impl ::std::convert::From<&RemoteSystemSessionInvitation> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemSessionInvitation) -> Self3338     fn from(value: &RemoteSystemSessionInvitation) -> Self {
3339         value.0.clone()
3340     }
3341 }
3342 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemSessionInvitation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3343     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3344         ::windows::runtime::Param::Owned(self.0)
3345     }
3346 }
3347 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemSessionInvitation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3348     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3349         ::windows::runtime::Param::Borrowed(&self.0)
3350     }
3351 }
3352 unsafe impl ::std::marker::Send for RemoteSystemSessionInvitation {}
3353 unsafe impl ::std::marker::Sync for RemoteSystemSessionInvitation {}
3354 #[repr(transparent)]
3355 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3356 pub struct RemoteSystemSessionInvitationListener(::windows::runtime::IInspectable);
3357 impl RemoteSystemSessionInvitationListener {
new() -> ::windows::runtime::Result<Self>3358     pub fn new() -> ::windows::runtime::Result<Self> {
3359         Self::IActivationFactory(|f| f.activate_instance::<Self>())
3360     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>3361     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
3362         static mut SHARED: ::windows::runtime::FactoryCache<RemoteSystemSessionInvitationListener, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
3363         unsafe { SHARED.call(callback) }
3364     }
3365     #[cfg(feature = "Foundation")]
InvitationReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RemoteSystemSessionInvitationListener, RemoteSystemSessionInvitationReceivedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>3366     pub fn InvitationReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RemoteSystemSessionInvitationListener, RemoteSystemSessionInvitationReceivedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
3367         let this = self;
3368         unsafe {
3369             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
3370             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
3371         }
3372     }
3373     #[cfg(feature = "Foundation")]
RemoveInvitationReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>3374     pub fn RemoveInvitationReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
3375         let this = self;
3376         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
3377     }
3378 }
3379 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemSessionInvitationListener {
3380     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemSessionInvitationListener;{08f4003f-bc71-49e1-874a-31ddff9a27b9})");
3381 }
3382 unsafe impl ::windows::runtime::Interface for RemoteSystemSessionInvitationListener {
3383     type Vtable = IRemoteSystemSessionInvitationListener_abi;
3384     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(150208575, 48241, 18913, [135, 74, 49, 221, 255, 154, 39, 185]);
3385 }
3386 impl ::windows::runtime::RuntimeName for RemoteSystemSessionInvitationListener {
3387     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemSessionInvitationListener";
3388 }
3389 impl ::std::convert::From<RemoteSystemSessionInvitationListener> for ::windows::runtime::IUnknown {
from(value: RemoteSystemSessionInvitationListener) -> Self3390     fn from(value: RemoteSystemSessionInvitationListener) -> Self {
3391         unsafe { ::std::mem::transmute(value) }
3392     }
3393 }
3394 impl ::std::convert::From<&RemoteSystemSessionInvitationListener> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemSessionInvitationListener) -> Self3395     fn from(value: &RemoteSystemSessionInvitationListener) -> Self {
3396         ::std::convert::From::from(::std::clone::Clone::clone(value))
3397     }
3398 }
3399 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemSessionInvitationListener {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3400     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3401         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3402     }
3403 }
3404 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemSessionInvitationListener {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3405     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3406         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3407     }
3408 }
3409 impl ::std::convert::From<RemoteSystemSessionInvitationListener> for ::windows::runtime::IInspectable {
from(value: RemoteSystemSessionInvitationListener) -> Self3410     fn from(value: RemoteSystemSessionInvitationListener) -> Self {
3411         value.0
3412     }
3413 }
3414 impl ::std::convert::From<&RemoteSystemSessionInvitationListener> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemSessionInvitationListener) -> Self3415     fn from(value: &RemoteSystemSessionInvitationListener) -> Self {
3416         value.0.clone()
3417     }
3418 }
3419 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemSessionInvitationListener {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3420     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3421         ::windows::runtime::Param::Owned(self.0)
3422     }
3423 }
3424 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemSessionInvitationListener {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3425     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3426         ::windows::runtime::Param::Borrowed(&self.0)
3427     }
3428 }
3429 unsafe impl ::std::marker::Send for RemoteSystemSessionInvitationListener {}
3430 unsafe impl ::std::marker::Sync for RemoteSystemSessionInvitationListener {}
3431 #[repr(transparent)]
3432 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3433 pub struct RemoteSystemSessionInvitationReceivedEventArgs(::windows::runtime::IInspectable);
3434 impl RemoteSystemSessionInvitationReceivedEventArgs {
Invitation(&self) -> ::windows::runtime::Result<RemoteSystemSessionInvitation>3435     pub fn Invitation(&self) -> ::windows::runtime::Result<RemoteSystemSessionInvitation> {
3436         let this = self;
3437         unsafe {
3438             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3439             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystemSessionInvitation>(result__)
3440         }
3441     }
3442 }
3443 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemSessionInvitationReceivedEventArgs {
3444     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemSessionInvitationReceivedEventArgs;{5e964a2d-a10d-4edb-8dea-54d20ac19543})");
3445 }
3446 unsafe impl ::windows::runtime::Interface for RemoteSystemSessionInvitationReceivedEventArgs {
3447     type Vtable = IRemoteSystemSessionInvitationReceivedEventArgs_abi;
3448     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1586907693, 41229, 20187, [141, 234, 84, 210, 10, 193, 149, 67]);
3449 }
3450 impl ::windows::runtime::RuntimeName for RemoteSystemSessionInvitationReceivedEventArgs {
3451     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemSessionInvitationReceivedEventArgs";
3452 }
3453 impl ::std::convert::From<RemoteSystemSessionInvitationReceivedEventArgs> for ::windows::runtime::IUnknown {
from(value: RemoteSystemSessionInvitationReceivedEventArgs) -> Self3454     fn from(value: RemoteSystemSessionInvitationReceivedEventArgs) -> Self {
3455         unsafe { ::std::mem::transmute(value) }
3456     }
3457 }
3458 impl ::std::convert::From<&RemoteSystemSessionInvitationReceivedEventArgs> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemSessionInvitationReceivedEventArgs) -> Self3459     fn from(value: &RemoteSystemSessionInvitationReceivedEventArgs) -> Self {
3460         ::std::convert::From::from(::std::clone::Clone::clone(value))
3461     }
3462 }
3463 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemSessionInvitationReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3464     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3465         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3466     }
3467 }
3468 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemSessionInvitationReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3469     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3470         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3471     }
3472 }
3473 impl ::std::convert::From<RemoteSystemSessionInvitationReceivedEventArgs> for ::windows::runtime::IInspectable {
from(value: RemoteSystemSessionInvitationReceivedEventArgs) -> Self3474     fn from(value: RemoteSystemSessionInvitationReceivedEventArgs) -> Self {
3475         value.0
3476     }
3477 }
3478 impl ::std::convert::From<&RemoteSystemSessionInvitationReceivedEventArgs> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemSessionInvitationReceivedEventArgs) -> Self3479     fn from(value: &RemoteSystemSessionInvitationReceivedEventArgs) -> Self {
3480         value.0.clone()
3481     }
3482 }
3483 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemSessionInvitationReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3484     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3485         ::windows::runtime::Param::Owned(self.0)
3486     }
3487 }
3488 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemSessionInvitationReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3489     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3490         ::windows::runtime::Param::Borrowed(&self.0)
3491     }
3492 }
3493 unsafe impl ::std::marker::Send for RemoteSystemSessionInvitationReceivedEventArgs {}
3494 unsafe impl ::std::marker::Sync for RemoteSystemSessionInvitationReceivedEventArgs {}
3495 #[repr(transparent)]
3496 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3497 pub struct RemoteSystemSessionJoinRequest(::windows::runtime::IInspectable);
3498 impl RemoteSystemSessionJoinRequest {
Participant(&self) -> ::windows::runtime::Result<RemoteSystemSessionParticipant>3499     pub fn Participant(&self) -> ::windows::runtime::Result<RemoteSystemSessionParticipant> {
3500         let this = self;
3501         unsafe {
3502             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3503             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystemSessionParticipant>(result__)
3504         }
3505     }
Accept(&self) -> ::windows::runtime::Result<()>3506     pub fn Accept(&self) -> ::windows::runtime::Result<()> {
3507         let this = self;
3508         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this)).ok() }
3509     }
3510 }
3511 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemSessionJoinRequest {
3512     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemSessionJoinRequest;{20600068-7994-4331-86d1-d89d882585ee})");
3513 }
3514 unsafe impl ::windows::runtime::Interface for RemoteSystemSessionJoinRequest {
3515     type Vtable = IRemoteSystemSessionJoinRequest_abi;
3516     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(543162472, 31124, 17201, [134, 209, 216, 157, 136, 37, 133, 238]);
3517 }
3518 impl ::windows::runtime::RuntimeName for RemoteSystemSessionJoinRequest {
3519     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemSessionJoinRequest";
3520 }
3521 impl ::std::convert::From<RemoteSystemSessionJoinRequest> for ::windows::runtime::IUnknown {
from(value: RemoteSystemSessionJoinRequest) -> Self3522     fn from(value: RemoteSystemSessionJoinRequest) -> Self {
3523         unsafe { ::std::mem::transmute(value) }
3524     }
3525 }
3526 impl ::std::convert::From<&RemoteSystemSessionJoinRequest> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemSessionJoinRequest) -> Self3527     fn from(value: &RemoteSystemSessionJoinRequest) -> Self {
3528         ::std::convert::From::from(::std::clone::Clone::clone(value))
3529     }
3530 }
3531 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemSessionJoinRequest {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3532     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3533         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3534     }
3535 }
3536 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemSessionJoinRequest {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3537     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3538         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3539     }
3540 }
3541 impl ::std::convert::From<RemoteSystemSessionJoinRequest> for ::windows::runtime::IInspectable {
from(value: RemoteSystemSessionJoinRequest) -> Self3542     fn from(value: RemoteSystemSessionJoinRequest) -> Self {
3543         value.0
3544     }
3545 }
3546 impl ::std::convert::From<&RemoteSystemSessionJoinRequest> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemSessionJoinRequest) -> Self3547     fn from(value: &RemoteSystemSessionJoinRequest) -> Self {
3548         value.0.clone()
3549     }
3550 }
3551 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemSessionJoinRequest {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3552     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3553         ::windows::runtime::Param::Owned(self.0)
3554     }
3555 }
3556 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemSessionJoinRequest {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3557     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3558         ::windows::runtime::Param::Borrowed(&self.0)
3559     }
3560 }
3561 unsafe impl ::std::marker::Send for RemoteSystemSessionJoinRequest {}
3562 unsafe impl ::std::marker::Sync for RemoteSystemSessionJoinRequest {}
3563 #[repr(transparent)]
3564 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3565 pub struct RemoteSystemSessionJoinRequestedEventArgs(::windows::runtime::IInspectable);
3566 impl RemoteSystemSessionJoinRequestedEventArgs {
JoinRequest(&self) -> ::windows::runtime::Result<RemoteSystemSessionJoinRequest>3567     pub fn JoinRequest(&self) -> ::windows::runtime::Result<RemoteSystemSessionJoinRequest> {
3568         let this = self;
3569         unsafe {
3570             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3571             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystemSessionJoinRequest>(result__)
3572         }
3573     }
3574     #[cfg(feature = "Foundation")]
GetDeferral(&self) -> ::windows::runtime::Result<super::super::Foundation::Deferral>3575     pub fn GetDeferral(&self) -> ::windows::runtime::Result<super::super::Foundation::Deferral> {
3576         let this = self;
3577         unsafe {
3578             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3579             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Deferral>(result__)
3580         }
3581     }
3582 }
3583 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemSessionJoinRequestedEventArgs {
3584     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemSessionJoinRequestedEventArgs;{dbca4fc3-82b9-4816-9c24-e40e61774bd8})");
3585 }
3586 unsafe impl ::windows::runtime::Interface for RemoteSystemSessionJoinRequestedEventArgs {
3587     type Vtable = IRemoteSystemSessionJoinRequestedEventArgs_abi;
3588     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3687468995, 33465, 18454, [156, 36, 228, 14, 97, 119, 75, 216]);
3589 }
3590 impl ::windows::runtime::RuntimeName for RemoteSystemSessionJoinRequestedEventArgs {
3591     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemSessionJoinRequestedEventArgs";
3592 }
3593 impl ::std::convert::From<RemoteSystemSessionJoinRequestedEventArgs> for ::windows::runtime::IUnknown {
from(value: RemoteSystemSessionJoinRequestedEventArgs) -> Self3594     fn from(value: RemoteSystemSessionJoinRequestedEventArgs) -> Self {
3595         unsafe { ::std::mem::transmute(value) }
3596     }
3597 }
3598 impl ::std::convert::From<&RemoteSystemSessionJoinRequestedEventArgs> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemSessionJoinRequestedEventArgs) -> Self3599     fn from(value: &RemoteSystemSessionJoinRequestedEventArgs) -> Self {
3600         ::std::convert::From::from(::std::clone::Clone::clone(value))
3601     }
3602 }
3603 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemSessionJoinRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3604     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3605         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3606     }
3607 }
3608 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemSessionJoinRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3609     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3610         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3611     }
3612 }
3613 impl ::std::convert::From<RemoteSystemSessionJoinRequestedEventArgs> for ::windows::runtime::IInspectable {
from(value: RemoteSystemSessionJoinRequestedEventArgs) -> Self3614     fn from(value: RemoteSystemSessionJoinRequestedEventArgs) -> Self {
3615         value.0
3616     }
3617 }
3618 impl ::std::convert::From<&RemoteSystemSessionJoinRequestedEventArgs> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemSessionJoinRequestedEventArgs) -> Self3619     fn from(value: &RemoteSystemSessionJoinRequestedEventArgs) -> Self {
3620         value.0.clone()
3621     }
3622 }
3623 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemSessionJoinRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3624     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3625         ::windows::runtime::Param::Owned(self.0)
3626     }
3627 }
3628 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemSessionJoinRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3629     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3630         ::windows::runtime::Param::Borrowed(&self.0)
3631     }
3632 }
3633 unsafe impl ::std::marker::Send for RemoteSystemSessionJoinRequestedEventArgs {}
3634 unsafe impl ::std::marker::Sync for RemoteSystemSessionJoinRequestedEventArgs {}
3635 #[repr(transparent)]
3636 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3637 pub struct RemoteSystemSessionJoinResult(::windows::runtime::IInspectable);
3638 impl RemoteSystemSessionJoinResult {
Status(&self) -> ::windows::runtime::Result<RemoteSystemSessionJoinStatus>3639     pub fn Status(&self) -> ::windows::runtime::Result<RemoteSystemSessionJoinStatus> {
3640         let this = self;
3641         unsafe {
3642             let mut result__: RemoteSystemSessionJoinStatus = ::std::mem::zeroed();
3643             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystemSessionJoinStatus>(result__)
3644         }
3645     }
Session(&self) -> ::windows::runtime::Result<RemoteSystemSession>3646     pub fn Session(&self) -> ::windows::runtime::Result<RemoteSystemSession> {
3647         let this = self;
3648         unsafe {
3649             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3650             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystemSession>(result__)
3651         }
3652     }
3653 }
3654 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemSessionJoinResult {
3655     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemSessionJoinResult;{ce7b1f04-a03e-41a4-900b-1e79328c1267})");
3656 }
3657 unsafe impl ::windows::runtime::Interface for RemoteSystemSessionJoinResult {
3658     type Vtable = IRemoteSystemSessionJoinResult_abi;
3659     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3464175364, 41022, 16804, [144, 11, 30, 121, 50, 140, 18, 103]);
3660 }
3661 impl ::windows::runtime::RuntimeName for RemoteSystemSessionJoinResult {
3662     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemSessionJoinResult";
3663 }
3664 impl ::std::convert::From<RemoteSystemSessionJoinResult> for ::windows::runtime::IUnknown {
from(value: RemoteSystemSessionJoinResult) -> Self3665     fn from(value: RemoteSystemSessionJoinResult) -> Self {
3666         unsafe { ::std::mem::transmute(value) }
3667     }
3668 }
3669 impl ::std::convert::From<&RemoteSystemSessionJoinResult> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemSessionJoinResult) -> Self3670     fn from(value: &RemoteSystemSessionJoinResult) -> Self {
3671         ::std::convert::From::from(::std::clone::Clone::clone(value))
3672     }
3673 }
3674 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemSessionJoinResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3675     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3676         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3677     }
3678 }
3679 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemSessionJoinResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3680     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3681         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3682     }
3683 }
3684 impl ::std::convert::From<RemoteSystemSessionJoinResult> for ::windows::runtime::IInspectable {
from(value: RemoteSystemSessionJoinResult) -> Self3685     fn from(value: RemoteSystemSessionJoinResult) -> Self {
3686         value.0
3687     }
3688 }
3689 impl ::std::convert::From<&RemoteSystemSessionJoinResult> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemSessionJoinResult) -> Self3690     fn from(value: &RemoteSystemSessionJoinResult) -> Self {
3691         value.0.clone()
3692     }
3693 }
3694 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemSessionJoinResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3695     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3696         ::windows::runtime::Param::Owned(self.0)
3697     }
3698 }
3699 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemSessionJoinResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3700     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3701         ::windows::runtime::Param::Borrowed(&self.0)
3702     }
3703 }
3704 unsafe impl ::std::marker::Send for RemoteSystemSessionJoinResult {}
3705 unsafe impl ::std::marker::Sync for RemoteSystemSessionJoinResult {}
3706 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3707 #[repr(transparent)]
3708 pub struct RemoteSystemSessionJoinStatus(pub i32);
3709 impl RemoteSystemSessionJoinStatus {
3710     pub const Success: RemoteSystemSessionJoinStatus = RemoteSystemSessionJoinStatus(0i32);
3711     pub const SessionLimitsExceeded: RemoteSystemSessionJoinStatus = RemoteSystemSessionJoinStatus(1i32);
3712     pub const OperationAborted: RemoteSystemSessionJoinStatus = RemoteSystemSessionJoinStatus(2i32);
3713     pub const SessionUnavailable: RemoteSystemSessionJoinStatus = RemoteSystemSessionJoinStatus(3i32);
3714     pub const RejectedByController: RemoteSystemSessionJoinStatus = RemoteSystemSessionJoinStatus(4i32);
3715 }
3716 impl ::std::convert::From<i32> for RemoteSystemSessionJoinStatus {
from(value: i32) -> Self3717     fn from(value: i32) -> Self {
3718         Self(value)
3719     }
3720 }
3721 unsafe impl ::windows::runtime::Abi for RemoteSystemSessionJoinStatus {
3722     type Abi = Self;
3723     type DefaultType = Self;
3724 }
3725 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemSessionJoinStatus {
3726     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.RemoteSystems.RemoteSystemSessionJoinStatus;i4)");
3727 }
3728 #[repr(transparent)]
3729 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3730 pub struct RemoteSystemSessionMessageChannel(::windows::runtime::IInspectable);
3731 impl RemoteSystemSessionMessageChannel {
Session(&self) -> ::windows::runtime::Result<RemoteSystemSession>3732     pub fn Session(&self) -> ::windows::runtime::Result<RemoteSystemSession> {
3733         let this = self;
3734         unsafe {
3735             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3736             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystemSession>(result__)
3737         }
3738     }
3739     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
BroadcastValueSetAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::ValueSet>>(&self, messagedata: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<bool>>3740     pub fn BroadcastValueSetAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::ValueSet>>(&self, messagedata: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<bool>> {
3741         let this = self;
3742         unsafe {
3743             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3744             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), messagedata.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<bool>>(result__)
3745         }
3746     }
3747     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
SendValueSetAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::ValueSet>, Param1: ::windows::runtime::IntoParam<'a, RemoteSystemSessionParticipant>>(&self, messagedata: Param0, participant: Param1) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<bool>>3748     pub fn SendValueSetAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::ValueSet>, Param1: ::windows::runtime::IntoParam<'a, RemoteSystemSessionParticipant>>(&self, messagedata: Param0, participant: Param1) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<bool>> {
3749         let this = self;
3750         unsafe {
3751             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3752             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), messagedata.into_param().abi(), participant.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<bool>>(result__)
3753         }
3754     }
3755     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
SendValueSetToParticipantsAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::ValueSet>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<RemoteSystemSessionParticipant>>>(&self, messagedata: Param0, participants: Param1) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<bool>>3756     pub fn SendValueSetToParticipantsAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::ValueSet>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<RemoteSystemSessionParticipant>>>(&self, messagedata: Param0, participants: Param1) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<bool>> {
3757         let this = self;
3758         unsafe {
3759             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3760             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), messagedata.into_param().abi(), participants.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<bool>>(result__)
3761         }
3762     }
3763     #[cfg(feature = "Foundation")]
ValueSetReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RemoteSystemSessionMessageChannel, RemoteSystemSessionValueSetReceivedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>3764     pub fn ValueSetReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RemoteSystemSessionMessageChannel, RemoteSystemSessionValueSetReceivedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
3765         let this = self;
3766         unsafe {
3767             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
3768             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
3769         }
3770     }
3771     #[cfg(feature = "Foundation")]
RemoveValueSetReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>3772     pub fn RemoveValueSetReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
3773         let this = self;
3774         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
3775     }
Create<'a, Param0: ::windows::runtime::IntoParam<'a, RemoteSystemSession>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(session: Param0, channelname: Param1) -> ::windows::runtime::Result<RemoteSystemSessionMessageChannel>3776     pub fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, RemoteSystemSession>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(session: Param0, channelname: Param1) -> ::windows::runtime::Result<RemoteSystemSessionMessageChannel> {
3777         Self::IRemoteSystemSessionMessageChannelFactory(|this| unsafe {
3778             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3779             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), session.into_param().abi(), channelname.into_param().abi(), &mut result__).from_abi::<RemoteSystemSessionMessageChannel>(result__)
3780         })
3781     }
CreateWithReliability<'a, Param0: ::windows::runtime::IntoParam<'a, RemoteSystemSession>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(session: Param0, channelname: Param1, reliability: RemoteSystemSessionMessageChannelReliability) -> ::windows::runtime::Result<RemoteSystemSessionMessageChannel>3782     pub fn CreateWithReliability<'a, Param0: ::windows::runtime::IntoParam<'a, RemoteSystemSession>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(session: Param0, channelname: Param1, reliability: RemoteSystemSessionMessageChannelReliability) -> ::windows::runtime::Result<RemoteSystemSessionMessageChannel> {
3783         Self::IRemoteSystemSessionMessageChannelFactory(|this| unsafe {
3784             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3785             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), session.into_param().abi(), channelname.into_param().abi(), reliability, &mut result__).from_abi::<RemoteSystemSessionMessageChannel>(result__)
3786         })
3787     }
IRemoteSystemSessionMessageChannelFactory<R, F: FnOnce(&IRemoteSystemSessionMessageChannelFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>3788     pub fn IRemoteSystemSessionMessageChannelFactory<R, F: FnOnce(&IRemoteSystemSessionMessageChannelFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
3789         static mut SHARED: ::windows::runtime::FactoryCache<RemoteSystemSessionMessageChannel, IRemoteSystemSessionMessageChannelFactory> = ::windows::runtime::FactoryCache::new();
3790         unsafe { SHARED.call(callback) }
3791     }
3792 }
3793 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemSessionMessageChannel {
3794     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemSessionMessageChannel;{9524d12a-73d9-4c10-b751-c26784437127})");
3795 }
3796 unsafe impl ::windows::runtime::Interface for RemoteSystemSessionMessageChannel {
3797     type Vtable = IRemoteSystemSessionMessageChannel_abi;
3798     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2502218026, 29657, 19472, [183, 81, 194, 103, 132, 67, 113, 39]);
3799 }
3800 impl ::windows::runtime::RuntimeName for RemoteSystemSessionMessageChannel {
3801     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemSessionMessageChannel";
3802 }
3803 impl ::std::convert::From<RemoteSystemSessionMessageChannel> for ::windows::runtime::IUnknown {
from(value: RemoteSystemSessionMessageChannel) -> Self3804     fn from(value: RemoteSystemSessionMessageChannel) -> Self {
3805         unsafe { ::std::mem::transmute(value) }
3806     }
3807 }
3808 impl ::std::convert::From<&RemoteSystemSessionMessageChannel> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemSessionMessageChannel) -> Self3809     fn from(value: &RemoteSystemSessionMessageChannel) -> Self {
3810         ::std::convert::From::from(::std::clone::Clone::clone(value))
3811     }
3812 }
3813 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemSessionMessageChannel {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3814     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3815         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3816     }
3817 }
3818 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemSessionMessageChannel {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3819     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3820         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3821     }
3822 }
3823 impl ::std::convert::From<RemoteSystemSessionMessageChannel> for ::windows::runtime::IInspectable {
from(value: RemoteSystemSessionMessageChannel) -> Self3824     fn from(value: RemoteSystemSessionMessageChannel) -> Self {
3825         value.0
3826     }
3827 }
3828 impl ::std::convert::From<&RemoteSystemSessionMessageChannel> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemSessionMessageChannel) -> Self3829     fn from(value: &RemoteSystemSessionMessageChannel) -> Self {
3830         value.0.clone()
3831     }
3832 }
3833 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemSessionMessageChannel {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3834     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3835         ::windows::runtime::Param::Owned(self.0)
3836     }
3837 }
3838 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemSessionMessageChannel {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3839     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3840         ::windows::runtime::Param::Borrowed(&self.0)
3841     }
3842 }
3843 unsafe impl ::std::marker::Send for RemoteSystemSessionMessageChannel {}
3844 unsafe impl ::std::marker::Sync for RemoteSystemSessionMessageChannel {}
3845 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3846 #[repr(transparent)]
3847 pub struct RemoteSystemSessionMessageChannelReliability(pub i32);
3848 impl RemoteSystemSessionMessageChannelReliability {
3849     pub const Reliable: RemoteSystemSessionMessageChannelReliability = RemoteSystemSessionMessageChannelReliability(0i32);
3850     pub const Unreliable: RemoteSystemSessionMessageChannelReliability = RemoteSystemSessionMessageChannelReliability(1i32);
3851 }
3852 impl ::std::convert::From<i32> for RemoteSystemSessionMessageChannelReliability {
from(value: i32) -> Self3853     fn from(value: i32) -> Self {
3854         Self(value)
3855     }
3856 }
3857 unsafe impl ::windows::runtime::Abi for RemoteSystemSessionMessageChannelReliability {
3858     type Abi = Self;
3859     type DefaultType = Self;
3860 }
3861 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemSessionMessageChannelReliability {
3862     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.RemoteSystems.RemoteSystemSessionMessageChannelReliability;i4)");
3863 }
3864 #[repr(transparent)]
3865 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3866 pub struct RemoteSystemSessionOptions(::windows::runtime::IInspectable);
3867 impl RemoteSystemSessionOptions {
new() -> ::windows::runtime::Result<Self>3868     pub fn new() -> ::windows::runtime::Result<Self> {
3869         Self::IActivationFactory(|f| f.activate_instance::<Self>())
3870     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>3871     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
3872         static mut SHARED: ::windows::runtime::FactoryCache<RemoteSystemSessionOptions, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
3873         unsafe { SHARED.call(callback) }
3874     }
IsInviteOnly(&self) -> ::windows::runtime::Result<bool>3875     pub fn IsInviteOnly(&self) -> ::windows::runtime::Result<bool> {
3876         let this = self;
3877         unsafe {
3878             let mut result__: bool = ::std::mem::zeroed();
3879             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3880         }
3881     }
SetIsInviteOnly(&self, value: bool) -> ::windows::runtime::Result<()>3882     pub fn SetIsInviteOnly(&self, value: bool) -> ::windows::runtime::Result<()> {
3883         let this = self;
3884         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
3885     }
3886 }
3887 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemSessionOptions {
3888     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemSessionOptions;{740ed755-8418-4f01-9353-e21c9ecc6cfc})");
3889 }
3890 unsafe impl ::windows::runtime::Interface for RemoteSystemSessionOptions {
3891     type Vtable = IRemoteSystemSessionOptions_abi;
3892     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1947129685, 33816, 20225, [147, 83, 226, 28, 158, 204, 108, 252]);
3893 }
3894 impl ::windows::runtime::RuntimeName for RemoteSystemSessionOptions {
3895     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemSessionOptions";
3896 }
3897 impl ::std::convert::From<RemoteSystemSessionOptions> for ::windows::runtime::IUnknown {
from(value: RemoteSystemSessionOptions) -> Self3898     fn from(value: RemoteSystemSessionOptions) -> Self {
3899         unsafe { ::std::mem::transmute(value) }
3900     }
3901 }
3902 impl ::std::convert::From<&RemoteSystemSessionOptions> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemSessionOptions) -> Self3903     fn from(value: &RemoteSystemSessionOptions) -> Self {
3904         ::std::convert::From::from(::std::clone::Clone::clone(value))
3905     }
3906 }
3907 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemSessionOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3908     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3909         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3910     }
3911 }
3912 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemSessionOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3913     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3914         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3915     }
3916 }
3917 impl ::std::convert::From<RemoteSystemSessionOptions> for ::windows::runtime::IInspectable {
from(value: RemoteSystemSessionOptions) -> Self3918     fn from(value: RemoteSystemSessionOptions) -> Self {
3919         value.0
3920     }
3921 }
3922 impl ::std::convert::From<&RemoteSystemSessionOptions> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemSessionOptions) -> Self3923     fn from(value: &RemoteSystemSessionOptions) -> Self {
3924         value.0.clone()
3925     }
3926 }
3927 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemSessionOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3928     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3929         ::windows::runtime::Param::Owned(self.0)
3930     }
3931 }
3932 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemSessionOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3933     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3934         ::windows::runtime::Param::Borrowed(&self.0)
3935     }
3936 }
3937 unsafe impl ::std::marker::Send for RemoteSystemSessionOptions {}
3938 unsafe impl ::std::marker::Sync for RemoteSystemSessionOptions {}
3939 #[repr(transparent)]
3940 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3941 pub struct RemoteSystemSessionParticipant(::windows::runtime::IInspectable);
3942 impl RemoteSystemSessionParticipant {
RemoteSystem(&self) -> ::windows::runtime::Result<RemoteSystem>3943     pub fn RemoteSystem(&self) -> ::windows::runtime::Result<RemoteSystem> {
3944         let this = self;
3945         unsafe {
3946             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3947             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystem>(result__)
3948         }
3949     }
3950     #[cfg(all(feature = "Foundation_Collections", feature = "Networking"))]
GetHostNames(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<super::super::Networking::HostName>>3951     pub fn GetHostNames(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<super::super::Networking::HostName>> {
3952         let this = self;
3953         unsafe {
3954             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3955             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<super::super::Networking::HostName>>(result__)
3956         }
3957     }
3958 }
3959 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemSessionParticipant {
3960     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemSessionParticipant;{7e90058c-acf9-4729-8a17-44e7baed5dcc})");
3961 }
3962 unsafe impl ::windows::runtime::Interface for RemoteSystemSessionParticipant {
3963     type Vtable = IRemoteSystemSessionParticipant_abi;
3964     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2123367820, 44281, 18217, [138, 23, 68, 231, 186, 237, 93, 204]);
3965 }
3966 impl ::windows::runtime::RuntimeName for RemoteSystemSessionParticipant {
3967     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemSessionParticipant";
3968 }
3969 impl ::std::convert::From<RemoteSystemSessionParticipant> for ::windows::runtime::IUnknown {
from(value: RemoteSystemSessionParticipant) -> Self3970     fn from(value: RemoteSystemSessionParticipant) -> Self {
3971         unsafe { ::std::mem::transmute(value) }
3972     }
3973 }
3974 impl ::std::convert::From<&RemoteSystemSessionParticipant> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemSessionParticipant) -> Self3975     fn from(value: &RemoteSystemSessionParticipant) -> Self {
3976         ::std::convert::From::from(::std::clone::Clone::clone(value))
3977     }
3978 }
3979 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemSessionParticipant {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3980     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3981         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3982     }
3983 }
3984 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemSessionParticipant {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3985     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3986         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3987     }
3988 }
3989 impl ::std::convert::From<RemoteSystemSessionParticipant> for ::windows::runtime::IInspectable {
from(value: RemoteSystemSessionParticipant) -> Self3990     fn from(value: RemoteSystemSessionParticipant) -> Self {
3991         value.0
3992     }
3993 }
3994 impl ::std::convert::From<&RemoteSystemSessionParticipant> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemSessionParticipant) -> Self3995     fn from(value: &RemoteSystemSessionParticipant) -> Self {
3996         value.0.clone()
3997     }
3998 }
3999 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemSessionParticipant {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4000     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4001         ::windows::runtime::Param::Owned(self.0)
4002     }
4003 }
4004 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemSessionParticipant {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4005     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4006         ::windows::runtime::Param::Borrowed(&self.0)
4007     }
4008 }
4009 unsafe impl ::std::marker::Send for RemoteSystemSessionParticipant {}
4010 unsafe impl ::std::marker::Sync for RemoteSystemSessionParticipant {}
4011 #[repr(transparent)]
4012 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4013 pub struct RemoteSystemSessionParticipantAddedEventArgs(::windows::runtime::IInspectable);
4014 impl RemoteSystemSessionParticipantAddedEventArgs {
Participant(&self) -> ::windows::runtime::Result<RemoteSystemSessionParticipant>4015     pub fn Participant(&self) -> ::windows::runtime::Result<RemoteSystemSessionParticipant> {
4016         let this = self;
4017         unsafe {
4018             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4019             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystemSessionParticipant>(result__)
4020         }
4021     }
4022 }
4023 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemSessionParticipantAddedEventArgs {
4024     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemSessionParticipantAddedEventArgs;{d35a57d8-c9a1-4bb7-b6b0-79bb91adf93d})");
4025 }
4026 unsafe impl ::windows::runtime::Interface for RemoteSystemSessionParticipantAddedEventArgs {
4027     type Vtable = IRemoteSystemSessionParticipantAddedEventArgs_abi;
4028     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3545913304, 51617, 19383, [182, 176, 121, 187, 145, 173, 249, 61]);
4029 }
4030 impl ::windows::runtime::RuntimeName for RemoteSystemSessionParticipantAddedEventArgs {
4031     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemSessionParticipantAddedEventArgs";
4032 }
4033 impl ::std::convert::From<RemoteSystemSessionParticipantAddedEventArgs> for ::windows::runtime::IUnknown {
from(value: RemoteSystemSessionParticipantAddedEventArgs) -> Self4034     fn from(value: RemoteSystemSessionParticipantAddedEventArgs) -> Self {
4035         unsafe { ::std::mem::transmute(value) }
4036     }
4037 }
4038 impl ::std::convert::From<&RemoteSystemSessionParticipantAddedEventArgs> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemSessionParticipantAddedEventArgs) -> Self4039     fn from(value: &RemoteSystemSessionParticipantAddedEventArgs) -> Self {
4040         ::std::convert::From::from(::std::clone::Clone::clone(value))
4041     }
4042 }
4043 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemSessionParticipantAddedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4044     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4045         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4046     }
4047 }
4048 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemSessionParticipantAddedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4049     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4050         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4051     }
4052 }
4053 impl ::std::convert::From<RemoteSystemSessionParticipantAddedEventArgs> for ::windows::runtime::IInspectable {
from(value: RemoteSystemSessionParticipantAddedEventArgs) -> Self4054     fn from(value: RemoteSystemSessionParticipantAddedEventArgs) -> Self {
4055         value.0
4056     }
4057 }
4058 impl ::std::convert::From<&RemoteSystemSessionParticipantAddedEventArgs> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemSessionParticipantAddedEventArgs) -> Self4059     fn from(value: &RemoteSystemSessionParticipantAddedEventArgs) -> Self {
4060         value.0.clone()
4061     }
4062 }
4063 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemSessionParticipantAddedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4064     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4065         ::windows::runtime::Param::Owned(self.0)
4066     }
4067 }
4068 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemSessionParticipantAddedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4069     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4070         ::windows::runtime::Param::Borrowed(&self.0)
4071     }
4072 }
4073 unsafe impl ::std::marker::Send for RemoteSystemSessionParticipantAddedEventArgs {}
4074 unsafe impl ::std::marker::Sync for RemoteSystemSessionParticipantAddedEventArgs {}
4075 #[repr(transparent)]
4076 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4077 pub struct RemoteSystemSessionParticipantRemovedEventArgs(::windows::runtime::IInspectable);
4078 impl RemoteSystemSessionParticipantRemovedEventArgs {
Participant(&self) -> ::windows::runtime::Result<RemoteSystemSessionParticipant>4079     pub fn Participant(&self) -> ::windows::runtime::Result<RemoteSystemSessionParticipant> {
4080         let this = self;
4081         unsafe {
4082             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4083             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystemSessionParticipant>(result__)
4084         }
4085     }
4086 }
4087 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemSessionParticipantRemovedEventArgs {
4088     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemSessionParticipantRemovedEventArgs;{866ef088-de68-4abf-88a1-f90d16274192})");
4089 }
4090 unsafe impl ::windows::runtime::Interface for RemoteSystemSessionParticipantRemovedEventArgs {
4091     type Vtable = IRemoteSystemSessionParticipantRemovedEventArgs_abi;
4092     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2255417480, 56936, 19135, [136, 161, 249, 13, 22, 39, 65, 146]);
4093 }
4094 impl ::windows::runtime::RuntimeName for RemoteSystemSessionParticipantRemovedEventArgs {
4095     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemSessionParticipantRemovedEventArgs";
4096 }
4097 impl ::std::convert::From<RemoteSystemSessionParticipantRemovedEventArgs> for ::windows::runtime::IUnknown {
from(value: RemoteSystemSessionParticipantRemovedEventArgs) -> Self4098     fn from(value: RemoteSystemSessionParticipantRemovedEventArgs) -> Self {
4099         unsafe { ::std::mem::transmute(value) }
4100     }
4101 }
4102 impl ::std::convert::From<&RemoteSystemSessionParticipantRemovedEventArgs> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemSessionParticipantRemovedEventArgs) -> Self4103     fn from(value: &RemoteSystemSessionParticipantRemovedEventArgs) -> Self {
4104         ::std::convert::From::from(::std::clone::Clone::clone(value))
4105     }
4106 }
4107 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemSessionParticipantRemovedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4108     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4109         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4110     }
4111 }
4112 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemSessionParticipantRemovedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4113     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4114         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4115     }
4116 }
4117 impl ::std::convert::From<RemoteSystemSessionParticipantRemovedEventArgs> for ::windows::runtime::IInspectable {
from(value: RemoteSystemSessionParticipantRemovedEventArgs) -> Self4118     fn from(value: RemoteSystemSessionParticipantRemovedEventArgs) -> Self {
4119         value.0
4120     }
4121 }
4122 impl ::std::convert::From<&RemoteSystemSessionParticipantRemovedEventArgs> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemSessionParticipantRemovedEventArgs) -> Self4123     fn from(value: &RemoteSystemSessionParticipantRemovedEventArgs) -> Self {
4124         value.0.clone()
4125     }
4126 }
4127 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemSessionParticipantRemovedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4128     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4129         ::windows::runtime::Param::Owned(self.0)
4130     }
4131 }
4132 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemSessionParticipantRemovedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4133     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4134         ::windows::runtime::Param::Borrowed(&self.0)
4135     }
4136 }
4137 unsafe impl ::std::marker::Send for RemoteSystemSessionParticipantRemovedEventArgs {}
4138 unsafe impl ::std::marker::Sync for RemoteSystemSessionParticipantRemovedEventArgs {}
4139 #[repr(transparent)]
4140 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4141 pub struct RemoteSystemSessionParticipantWatcher(::windows::runtime::IInspectable);
4142 impl RemoteSystemSessionParticipantWatcher {
Start(&self) -> ::windows::runtime::Result<()>4143     pub fn Start(&self) -> ::windows::runtime::Result<()> {
4144         let this = self;
4145         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
4146     }
Stop(&self) -> ::windows::runtime::Result<()>4147     pub fn Stop(&self) -> ::windows::runtime::Result<()> {
4148         let this = self;
4149         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this)).ok() }
4150     }
Status(&self) -> ::windows::runtime::Result<RemoteSystemSessionParticipantWatcherStatus>4151     pub fn Status(&self) -> ::windows::runtime::Result<RemoteSystemSessionParticipantWatcherStatus> {
4152         let this = self;
4153         unsafe {
4154             let mut result__: RemoteSystemSessionParticipantWatcherStatus = ::std::mem::zeroed();
4155             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystemSessionParticipantWatcherStatus>(result__)
4156         }
4157     }
4158     #[cfg(feature = "Foundation")]
Added<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RemoteSystemSessionParticipantWatcher, RemoteSystemSessionParticipantAddedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4159     pub fn Added<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RemoteSystemSessionParticipantWatcher, RemoteSystemSessionParticipantAddedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4160         let this = self;
4161         unsafe {
4162             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4163             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4164         }
4165     }
4166     #[cfg(feature = "Foundation")]
RemoveAdded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>4167     pub fn RemoveAdded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
4168         let this = self;
4169         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
4170     }
4171     #[cfg(feature = "Foundation")]
Removed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RemoteSystemSessionParticipantWatcher, RemoteSystemSessionParticipantRemovedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4172     pub fn Removed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RemoteSystemSessionParticipantWatcher, RemoteSystemSessionParticipantRemovedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4173         let this = self;
4174         unsafe {
4175             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4176             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4177         }
4178     }
4179     #[cfg(feature = "Foundation")]
RemoveRemoved<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>4180     pub fn RemoveRemoved<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
4181         let this = self;
4182         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
4183     }
4184     #[cfg(feature = "Foundation")]
EnumerationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RemoteSystemSessionParticipantWatcher, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4185     pub fn EnumerationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RemoteSystemSessionParticipantWatcher, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4186         let this = self;
4187         unsafe {
4188             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4189             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4190         }
4191     }
4192     #[cfg(feature = "Foundation")]
RemoveEnumerationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>4193     pub fn RemoveEnumerationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
4194         let this = self;
4195         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
4196     }
4197 }
4198 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemSessionParticipantWatcher {
4199     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemSessionParticipantWatcher;{dcdd02cc-aa87-4d79-b6cc-4459b3e92075})");
4200 }
4201 unsafe impl ::windows::runtime::Interface for RemoteSystemSessionParticipantWatcher {
4202     type Vtable = IRemoteSystemSessionParticipantWatcher_abi;
4203     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3705471692, 43655, 19833, [182, 204, 68, 89, 179, 233, 32, 117]);
4204 }
4205 impl ::windows::runtime::RuntimeName for RemoteSystemSessionParticipantWatcher {
4206     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemSessionParticipantWatcher";
4207 }
4208 impl ::std::convert::From<RemoteSystemSessionParticipantWatcher> for ::windows::runtime::IUnknown {
from(value: RemoteSystemSessionParticipantWatcher) -> Self4209     fn from(value: RemoteSystemSessionParticipantWatcher) -> Self {
4210         unsafe { ::std::mem::transmute(value) }
4211     }
4212 }
4213 impl ::std::convert::From<&RemoteSystemSessionParticipantWatcher> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemSessionParticipantWatcher) -> Self4214     fn from(value: &RemoteSystemSessionParticipantWatcher) -> Self {
4215         ::std::convert::From::from(::std::clone::Clone::clone(value))
4216     }
4217 }
4218 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemSessionParticipantWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4219     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4220         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4221     }
4222 }
4223 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemSessionParticipantWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4224     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4225         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4226     }
4227 }
4228 impl ::std::convert::From<RemoteSystemSessionParticipantWatcher> for ::windows::runtime::IInspectable {
from(value: RemoteSystemSessionParticipantWatcher) -> Self4229     fn from(value: RemoteSystemSessionParticipantWatcher) -> Self {
4230         value.0
4231     }
4232 }
4233 impl ::std::convert::From<&RemoteSystemSessionParticipantWatcher> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemSessionParticipantWatcher) -> Self4234     fn from(value: &RemoteSystemSessionParticipantWatcher) -> Self {
4235         value.0.clone()
4236     }
4237 }
4238 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemSessionParticipantWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4239     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4240         ::windows::runtime::Param::Owned(self.0)
4241     }
4242 }
4243 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemSessionParticipantWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4244     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4245         ::windows::runtime::Param::Borrowed(&self.0)
4246     }
4247 }
4248 unsafe impl ::std::marker::Send for RemoteSystemSessionParticipantWatcher {}
4249 unsafe impl ::std::marker::Sync for RemoteSystemSessionParticipantWatcher {}
4250 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4251 #[repr(transparent)]
4252 pub struct RemoteSystemSessionParticipantWatcherStatus(pub i32);
4253 impl RemoteSystemSessionParticipantWatcherStatus {
4254     pub const Created: RemoteSystemSessionParticipantWatcherStatus = RemoteSystemSessionParticipantWatcherStatus(0i32);
4255     pub const Started: RemoteSystemSessionParticipantWatcherStatus = RemoteSystemSessionParticipantWatcherStatus(1i32);
4256     pub const EnumerationCompleted: RemoteSystemSessionParticipantWatcherStatus = RemoteSystemSessionParticipantWatcherStatus(2i32);
4257     pub const Stopping: RemoteSystemSessionParticipantWatcherStatus = RemoteSystemSessionParticipantWatcherStatus(3i32);
4258     pub const Stopped: RemoteSystemSessionParticipantWatcherStatus = RemoteSystemSessionParticipantWatcherStatus(4i32);
4259     pub const Aborted: RemoteSystemSessionParticipantWatcherStatus = RemoteSystemSessionParticipantWatcherStatus(5i32);
4260 }
4261 impl ::std::convert::From<i32> for RemoteSystemSessionParticipantWatcherStatus {
from(value: i32) -> Self4262     fn from(value: i32) -> Self {
4263         Self(value)
4264     }
4265 }
4266 unsafe impl ::windows::runtime::Abi for RemoteSystemSessionParticipantWatcherStatus {
4267     type Abi = Self;
4268     type DefaultType = Self;
4269 }
4270 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemSessionParticipantWatcherStatus {
4271     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.RemoteSystems.RemoteSystemSessionParticipantWatcherStatus;i4)");
4272 }
4273 #[repr(transparent)]
4274 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4275 pub struct RemoteSystemSessionRemovedEventArgs(::windows::runtime::IInspectable);
4276 impl RemoteSystemSessionRemovedEventArgs {
SessionInfo(&self) -> ::windows::runtime::Result<RemoteSystemSessionInfo>4277     pub fn SessionInfo(&self) -> ::windows::runtime::Result<RemoteSystemSessionInfo> {
4278         let this = self;
4279         unsafe {
4280             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4281             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystemSessionInfo>(result__)
4282         }
4283     }
4284 }
4285 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemSessionRemovedEventArgs {
4286     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemSessionRemovedEventArgs;{af82914e-39a1-4dea-9d63-43798d5bbbd0})");
4287 }
4288 unsafe impl ::windows::runtime::Interface for RemoteSystemSessionRemovedEventArgs {
4289     type Vtable = IRemoteSystemSessionRemovedEventArgs_abi;
4290     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2944569678, 14753, 19946, [157, 99, 67, 121, 141, 91, 187, 208]);
4291 }
4292 impl ::windows::runtime::RuntimeName for RemoteSystemSessionRemovedEventArgs {
4293     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemSessionRemovedEventArgs";
4294 }
4295 impl ::std::convert::From<RemoteSystemSessionRemovedEventArgs> for ::windows::runtime::IUnknown {
from(value: RemoteSystemSessionRemovedEventArgs) -> Self4296     fn from(value: RemoteSystemSessionRemovedEventArgs) -> Self {
4297         unsafe { ::std::mem::transmute(value) }
4298     }
4299 }
4300 impl ::std::convert::From<&RemoteSystemSessionRemovedEventArgs> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemSessionRemovedEventArgs) -> Self4301     fn from(value: &RemoteSystemSessionRemovedEventArgs) -> Self {
4302         ::std::convert::From::from(::std::clone::Clone::clone(value))
4303     }
4304 }
4305 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemSessionRemovedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4306     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4307         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4308     }
4309 }
4310 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemSessionRemovedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4311     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4312         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4313     }
4314 }
4315 impl ::std::convert::From<RemoteSystemSessionRemovedEventArgs> for ::windows::runtime::IInspectable {
from(value: RemoteSystemSessionRemovedEventArgs) -> Self4316     fn from(value: RemoteSystemSessionRemovedEventArgs) -> Self {
4317         value.0
4318     }
4319 }
4320 impl ::std::convert::From<&RemoteSystemSessionRemovedEventArgs> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemSessionRemovedEventArgs) -> Self4321     fn from(value: &RemoteSystemSessionRemovedEventArgs) -> Self {
4322         value.0.clone()
4323     }
4324 }
4325 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemSessionRemovedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4326     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4327         ::windows::runtime::Param::Owned(self.0)
4328     }
4329 }
4330 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemSessionRemovedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4331     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4332         ::windows::runtime::Param::Borrowed(&self.0)
4333     }
4334 }
4335 unsafe impl ::std::marker::Send for RemoteSystemSessionRemovedEventArgs {}
4336 unsafe impl ::std::marker::Sync for RemoteSystemSessionRemovedEventArgs {}
4337 #[repr(transparent)]
4338 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4339 pub struct RemoteSystemSessionUpdatedEventArgs(::windows::runtime::IInspectable);
4340 impl RemoteSystemSessionUpdatedEventArgs {
SessionInfo(&self) -> ::windows::runtime::Result<RemoteSystemSessionInfo>4341     pub fn SessionInfo(&self) -> ::windows::runtime::Result<RemoteSystemSessionInfo> {
4342         let this = self;
4343         unsafe {
4344             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4345             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystemSessionInfo>(result__)
4346         }
4347     }
4348 }
4349 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemSessionUpdatedEventArgs {
4350     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemSessionUpdatedEventArgs;{16875069-231e-4c91-8ec8-b3a39d9e55a3})");
4351 }
4352 unsafe impl ::windows::runtime::Interface for RemoteSystemSessionUpdatedEventArgs {
4353     type Vtable = IRemoteSystemSessionUpdatedEventArgs_abi;
4354     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(377966697, 8990, 19601, [142, 200, 179, 163, 157, 158, 85, 163]);
4355 }
4356 impl ::windows::runtime::RuntimeName for RemoteSystemSessionUpdatedEventArgs {
4357     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemSessionUpdatedEventArgs";
4358 }
4359 impl ::std::convert::From<RemoteSystemSessionUpdatedEventArgs> for ::windows::runtime::IUnknown {
from(value: RemoteSystemSessionUpdatedEventArgs) -> Self4360     fn from(value: RemoteSystemSessionUpdatedEventArgs) -> Self {
4361         unsafe { ::std::mem::transmute(value) }
4362     }
4363 }
4364 impl ::std::convert::From<&RemoteSystemSessionUpdatedEventArgs> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemSessionUpdatedEventArgs) -> Self4365     fn from(value: &RemoteSystemSessionUpdatedEventArgs) -> Self {
4366         ::std::convert::From::from(::std::clone::Clone::clone(value))
4367     }
4368 }
4369 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemSessionUpdatedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4370     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4371         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4372     }
4373 }
4374 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemSessionUpdatedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4375     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4376         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4377     }
4378 }
4379 impl ::std::convert::From<RemoteSystemSessionUpdatedEventArgs> for ::windows::runtime::IInspectable {
from(value: RemoteSystemSessionUpdatedEventArgs) -> Self4380     fn from(value: RemoteSystemSessionUpdatedEventArgs) -> Self {
4381         value.0
4382     }
4383 }
4384 impl ::std::convert::From<&RemoteSystemSessionUpdatedEventArgs> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemSessionUpdatedEventArgs) -> Self4385     fn from(value: &RemoteSystemSessionUpdatedEventArgs) -> Self {
4386         value.0.clone()
4387     }
4388 }
4389 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemSessionUpdatedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4390     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4391         ::windows::runtime::Param::Owned(self.0)
4392     }
4393 }
4394 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemSessionUpdatedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4395     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4396         ::windows::runtime::Param::Borrowed(&self.0)
4397     }
4398 }
4399 unsafe impl ::std::marker::Send for RemoteSystemSessionUpdatedEventArgs {}
4400 unsafe impl ::std::marker::Sync for RemoteSystemSessionUpdatedEventArgs {}
4401 #[repr(transparent)]
4402 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4403 pub struct RemoteSystemSessionValueSetReceivedEventArgs(::windows::runtime::IInspectable);
4404 impl RemoteSystemSessionValueSetReceivedEventArgs {
Sender(&self) -> ::windows::runtime::Result<RemoteSystemSessionParticipant>4405     pub fn Sender(&self) -> ::windows::runtime::Result<RemoteSystemSessionParticipant> {
4406         let this = self;
4407         unsafe {
4408             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4409             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystemSessionParticipant>(result__)
4410         }
4411     }
4412     #[cfg(feature = "Foundation_Collections")]
Message(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::ValueSet>4413     pub fn Message(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::ValueSet> {
4414         let this = self;
4415         unsafe {
4416             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4417             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::ValueSet>(result__)
4418         }
4419     }
4420 }
4421 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemSessionValueSetReceivedEventArgs {
4422     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemSessionValueSetReceivedEventArgs;{06f31785-2da5-4e58-a78f-9e8d0784ee25})");
4423 }
4424 unsafe impl ::windows::runtime::Interface for RemoteSystemSessionValueSetReceivedEventArgs {
4425     type Vtable = IRemoteSystemSessionValueSetReceivedEventArgs_abi;
4426     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(116594565, 11685, 20056, [167, 143, 158, 141, 7, 132, 238, 37]);
4427 }
4428 impl ::windows::runtime::RuntimeName for RemoteSystemSessionValueSetReceivedEventArgs {
4429     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemSessionValueSetReceivedEventArgs";
4430 }
4431 impl ::std::convert::From<RemoteSystemSessionValueSetReceivedEventArgs> for ::windows::runtime::IUnknown {
from(value: RemoteSystemSessionValueSetReceivedEventArgs) -> Self4432     fn from(value: RemoteSystemSessionValueSetReceivedEventArgs) -> Self {
4433         unsafe { ::std::mem::transmute(value) }
4434     }
4435 }
4436 impl ::std::convert::From<&RemoteSystemSessionValueSetReceivedEventArgs> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemSessionValueSetReceivedEventArgs) -> Self4437     fn from(value: &RemoteSystemSessionValueSetReceivedEventArgs) -> Self {
4438         ::std::convert::From::from(::std::clone::Clone::clone(value))
4439     }
4440 }
4441 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemSessionValueSetReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4442     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4443         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4444     }
4445 }
4446 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemSessionValueSetReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4447     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4448         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4449     }
4450 }
4451 impl ::std::convert::From<RemoteSystemSessionValueSetReceivedEventArgs> for ::windows::runtime::IInspectable {
from(value: RemoteSystemSessionValueSetReceivedEventArgs) -> Self4452     fn from(value: RemoteSystemSessionValueSetReceivedEventArgs) -> Self {
4453         value.0
4454     }
4455 }
4456 impl ::std::convert::From<&RemoteSystemSessionValueSetReceivedEventArgs> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemSessionValueSetReceivedEventArgs) -> Self4457     fn from(value: &RemoteSystemSessionValueSetReceivedEventArgs) -> Self {
4458         value.0.clone()
4459     }
4460 }
4461 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemSessionValueSetReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4462     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4463         ::windows::runtime::Param::Owned(self.0)
4464     }
4465 }
4466 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemSessionValueSetReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4467     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4468         ::windows::runtime::Param::Borrowed(&self.0)
4469     }
4470 }
4471 unsafe impl ::std::marker::Send for RemoteSystemSessionValueSetReceivedEventArgs {}
4472 unsafe impl ::std::marker::Sync for RemoteSystemSessionValueSetReceivedEventArgs {}
4473 #[repr(transparent)]
4474 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4475 pub struct RemoteSystemSessionWatcher(::windows::runtime::IInspectable);
4476 impl RemoteSystemSessionWatcher {
Start(&self) -> ::windows::runtime::Result<()>4477     pub fn Start(&self) -> ::windows::runtime::Result<()> {
4478         let this = self;
4479         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
4480     }
Stop(&self) -> ::windows::runtime::Result<()>4481     pub fn Stop(&self) -> ::windows::runtime::Result<()> {
4482         let this = self;
4483         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this)).ok() }
4484     }
Status(&self) -> ::windows::runtime::Result<RemoteSystemSessionWatcherStatus>4485     pub fn Status(&self) -> ::windows::runtime::Result<RemoteSystemSessionWatcherStatus> {
4486         let this = self;
4487         unsafe {
4488             let mut result__: RemoteSystemSessionWatcherStatus = ::std::mem::zeroed();
4489             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystemSessionWatcherStatus>(result__)
4490         }
4491     }
4492     #[cfg(feature = "Foundation")]
Added<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RemoteSystemSessionWatcher, RemoteSystemSessionAddedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4493     pub fn Added<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RemoteSystemSessionWatcher, RemoteSystemSessionAddedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4494         let this = self;
4495         unsafe {
4496             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4497             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4498         }
4499     }
4500     #[cfg(feature = "Foundation")]
RemoveAdded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>4501     pub fn RemoveAdded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
4502         let this = self;
4503         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
4504     }
4505     #[cfg(feature = "Foundation")]
Updated<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RemoteSystemSessionWatcher, RemoteSystemSessionUpdatedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4506     pub fn Updated<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RemoteSystemSessionWatcher, RemoteSystemSessionUpdatedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4507         let this = self;
4508         unsafe {
4509             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4510             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4511         }
4512     }
4513     #[cfg(feature = "Foundation")]
RemoveUpdated<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>4514     pub fn RemoveUpdated<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
4515         let this = self;
4516         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
4517     }
4518     #[cfg(feature = "Foundation")]
Removed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RemoteSystemSessionWatcher, RemoteSystemSessionRemovedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4519     pub fn Removed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RemoteSystemSessionWatcher, RemoteSystemSessionRemovedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4520         let this = self;
4521         unsafe {
4522             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4523             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4524         }
4525     }
4526     #[cfg(feature = "Foundation")]
RemoveRemoved<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>4527     pub fn RemoveRemoved<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
4528         let this = self;
4529         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
4530     }
4531 }
4532 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemSessionWatcher {
4533     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemSessionWatcher;{8003e340-0c41-4a62-b6d7-bdbe2b19be2d})");
4534 }
4535 unsafe impl ::windows::runtime::Interface for RemoteSystemSessionWatcher {
4536     type Vtable = IRemoteSystemSessionWatcher_abi;
4537     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2147738432, 3137, 19042, [182, 215, 189, 190, 43, 25, 190, 45]);
4538 }
4539 impl ::windows::runtime::RuntimeName for RemoteSystemSessionWatcher {
4540     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemSessionWatcher";
4541 }
4542 impl ::std::convert::From<RemoteSystemSessionWatcher> for ::windows::runtime::IUnknown {
from(value: RemoteSystemSessionWatcher) -> Self4543     fn from(value: RemoteSystemSessionWatcher) -> Self {
4544         unsafe { ::std::mem::transmute(value) }
4545     }
4546 }
4547 impl ::std::convert::From<&RemoteSystemSessionWatcher> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemSessionWatcher) -> Self4548     fn from(value: &RemoteSystemSessionWatcher) -> Self {
4549         ::std::convert::From::from(::std::clone::Clone::clone(value))
4550     }
4551 }
4552 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemSessionWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4553     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4554         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4555     }
4556 }
4557 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemSessionWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4558     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4559         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4560     }
4561 }
4562 impl ::std::convert::From<RemoteSystemSessionWatcher> for ::windows::runtime::IInspectable {
from(value: RemoteSystemSessionWatcher) -> Self4563     fn from(value: RemoteSystemSessionWatcher) -> Self {
4564         value.0
4565     }
4566 }
4567 impl ::std::convert::From<&RemoteSystemSessionWatcher> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemSessionWatcher) -> Self4568     fn from(value: &RemoteSystemSessionWatcher) -> Self {
4569         value.0.clone()
4570     }
4571 }
4572 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemSessionWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4573     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4574         ::windows::runtime::Param::Owned(self.0)
4575     }
4576 }
4577 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemSessionWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4578     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4579         ::windows::runtime::Param::Borrowed(&self.0)
4580     }
4581 }
4582 unsafe impl ::std::marker::Send for RemoteSystemSessionWatcher {}
4583 unsafe impl ::std::marker::Sync for RemoteSystemSessionWatcher {}
4584 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4585 #[repr(transparent)]
4586 pub struct RemoteSystemSessionWatcherStatus(pub i32);
4587 impl RemoteSystemSessionWatcherStatus {
4588     pub const Created: RemoteSystemSessionWatcherStatus = RemoteSystemSessionWatcherStatus(0i32);
4589     pub const Started: RemoteSystemSessionWatcherStatus = RemoteSystemSessionWatcherStatus(1i32);
4590     pub const EnumerationCompleted: RemoteSystemSessionWatcherStatus = RemoteSystemSessionWatcherStatus(2i32);
4591     pub const Stopping: RemoteSystemSessionWatcherStatus = RemoteSystemSessionWatcherStatus(3i32);
4592     pub const Stopped: RemoteSystemSessionWatcherStatus = RemoteSystemSessionWatcherStatus(4i32);
4593     pub const Aborted: RemoteSystemSessionWatcherStatus = RemoteSystemSessionWatcherStatus(5i32);
4594 }
4595 impl ::std::convert::From<i32> for RemoteSystemSessionWatcherStatus {
from(value: i32) -> Self4596     fn from(value: i32) -> Self {
4597         Self(value)
4598     }
4599 }
4600 unsafe impl ::windows::runtime::Abi for RemoteSystemSessionWatcherStatus {
4601     type Abi = Self;
4602     type DefaultType = Self;
4603 }
4604 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemSessionWatcherStatus {
4605     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.RemoteSystems.RemoteSystemSessionWatcherStatus;i4)");
4606 }
4607 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4608 #[repr(transparent)]
4609 pub struct RemoteSystemStatus(pub i32);
4610 impl RemoteSystemStatus {
4611     pub const Unavailable: RemoteSystemStatus = RemoteSystemStatus(0i32);
4612     pub const DiscoveringAvailability: RemoteSystemStatus = RemoteSystemStatus(1i32);
4613     pub const Available: RemoteSystemStatus = RemoteSystemStatus(2i32);
4614     pub const Unknown: RemoteSystemStatus = RemoteSystemStatus(3i32);
4615 }
4616 impl ::std::convert::From<i32> for RemoteSystemStatus {
from(value: i32) -> Self4617     fn from(value: i32) -> Self {
4618         Self(value)
4619     }
4620 }
4621 unsafe impl ::windows::runtime::Abi for RemoteSystemStatus {
4622     type Abi = Self;
4623     type DefaultType = Self;
4624 }
4625 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemStatus {
4626     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.RemoteSystems.RemoteSystemStatus;i4)");
4627 }
4628 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4629 #[repr(transparent)]
4630 pub struct RemoteSystemStatusType(pub i32);
4631 impl RemoteSystemStatusType {
4632     pub const Any: RemoteSystemStatusType = RemoteSystemStatusType(0i32);
4633     pub const Available: RemoteSystemStatusType = RemoteSystemStatusType(1i32);
4634 }
4635 impl ::std::convert::From<i32> for RemoteSystemStatusType {
from(value: i32) -> Self4636     fn from(value: i32) -> Self {
4637         Self(value)
4638     }
4639 }
4640 unsafe impl ::windows::runtime::Abi for RemoteSystemStatusType {
4641     type Abi = Self;
4642     type DefaultType = Self;
4643 }
4644 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemStatusType {
4645     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.RemoteSystems.RemoteSystemStatusType;i4)");
4646 }
4647 #[repr(transparent)]
4648 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4649 pub struct RemoteSystemStatusTypeFilter(::windows::runtime::IInspectable);
4650 impl RemoteSystemStatusTypeFilter {
RemoteSystemStatusType(&self) -> ::windows::runtime::Result<RemoteSystemStatusType>4651     pub fn RemoteSystemStatusType(&self) -> ::windows::runtime::Result<RemoteSystemStatusType> {
4652         let this = self;
4653         unsafe {
4654             let mut result__: RemoteSystemStatusType = ::std::mem::zeroed();
4655             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystemStatusType>(result__)
4656         }
4657     }
Create(remotesystemstatustype: RemoteSystemStatusType) -> ::windows::runtime::Result<RemoteSystemStatusTypeFilter>4658     pub fn Create(remotesystemstatustype: RemoteSystemStatusType) -> ::windows::runtime::Result<RemoteSystemStatusTypeFilter> {
4659         Self::IRemoteSystemStatusTypeFilterFactory(|this| unsafe {
4660             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4661             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), remotesystemstatustype, &mut result__).from_abi::<RemoteSystemStatusTypeFilter>(result__)
4662         })
4663     }
IRemoteSystemStatusTypeFilterFactory<R, F: FnOnce(&IRemoteSystemStatusTypeFilterFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4664     pub fn IRemoteSystemStatusTypeFilterFactory<R, F: FnOnce(&IRemoteSystemStatusTypeFilterFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4665         static mut SHARED: ::windows::runtime::FactoryCache<RemoteSystemStatusTypeFilter, IRemoteSystemStatusTypeFilterFactory> = ::windows::runtime::FactoryCache::new();
4666         unsafe { SHARED.call(callback) }
4667     }
4668 }
4669 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemStatusTypeFilter {
4670     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemStatusTypeFilter;{0c39514e-cbb6-4777-8534-2e0c521affa2})");
4671 }
4672 unsafe impl ::windows::runtime::Interface for RemoteSystemStatusTypeFilter {
4673     type Vtable = IRemoteSystemStatusTypeFilter_abi;
4674     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(205082958, 52150, 18295, [133, 52, 46, 12, 82, 26, 255, 162]);
4675 }
4676 impl ::windows::runtime::RuntimeName for RemoteSystemStatusTypeFilter {
4677     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemStatusTypeFilter";
4678 }
4679 impl ::std::convert::From<RemoteSystemStatusTypeFilter> for ::windows::runtime::IUnknown {
from(value: RemoteSystemStatusTypeFilter) -> Self4680     fn from(value: RemoteSystemStatusTypeFilter) -> Self {
4681         unsafe { ::std::mem::transmute(value) }
4682     }
4683 }
4684 impl ::std::convert::From<&RemoteSystemStatusTypeFilter> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemStatusTypeFilter) -> Self4685     fn from(value: &RemoteSystemStatusTypeFilter) -> Self {
4686         ::std::convert::From::from(::std::clone::Clone::clone(value))
4687     }
4688 }
4689 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemStatusTypeFilter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4690     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4691         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4692     }
4693 }
4694 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemStatusTypeFilter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4695     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4696         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4697     }
4698 }
4699 impl ::std::convert::From<RemoteSystemStatusTypeFilter> for ::windows::runtime::IInspectable {
from(value: RemoteSystemStatusTypeFilter) -> Self4700     fn from(value: RemoteSystemStatusTypeFilter) -> Self {
4701         value.0
4702     }
4703 }
4704 impl ::std::convert::From<&RemoteSystemStatusTypeFilter> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemStatusTypeFilter) -> Self4705     fn from(value: &RemoteSystemStatusTypeFilter) -> Self {
4706         value.0.clone()
4707     }
4708 }
4709 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemStatusTypeFilter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4710     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4711         ::windows::runtime::Param::Owned(self.0)
4712     }
4713 }
4714 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemStatusTypeFilter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4715     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4716         ::windows::runtime::Param::Borrowed(&self.0)
4717     }
4718 }
4719 impl ::std::convert::TryFrom<RemoteSystemStatusTypeFilter> for IRemoteSystemFilter {
4720     type Error = ::windows::runtime::Error;
try_from(value: RemoteSystemStatusTypeFilter) -> ::windows::runtime::Result<Self>4721     fn try_from(value: RemoteSystemStatusTypeFilter) -> ::windows::runtime::Result<Self> {
4722         ::std::convert::TryFrom::try_from(&value)
4723     }
4724 }
4725 impl ::std::convert::TryFrom<&RemoteSystemStatusTypeFilter> for IRemoteSystemFilter {
4726     type Error = ::windows::runtime::Error;
try_from(value: &RemoteSystemStatusTypeFilter) -> ::windows::runtime::Result<Self>4727     fn try_from(value: &RemoteSystemStatusTypeFilter) -> ::windows::runtime::Result<Self> {
4728         ::windows::runtime::Interface::cast(value)
4729     }
4730 }
4731 impl<'a> ::windows::runtime::IntoParam<'a, IRemoteSystemFilter> for RemoteSystemStatusTypeFilter {
into_param(self) -> ::windows::runtime::Param<'a, IRemoteSystemFilter>4732     fn into_param(self) -> ::windows::runtime::Param<'a, IRemoteSystemFilter> {
4733         ::windows::runtime::IntoParam::into_param(&self)
4734     }
4735 }
4736 impl<'a> ::windows::runtime::IntoParam<'a, IRemoteSystemFilter> for &RemoteSystemStatusTypeFilter {
into_param(self) -> ::windows::runtime::Param<'a, IRemoteSystemFilter>4737     fn into_param(self) -> ::windows::runtime::Param<'a, IRemoteSystemFilter> {
4738         ::std::convert::TryInto::<IRemoteSystemFilter>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
4739     }
4740 }
4741 unsafe impl ::std::marker::Send for RemoteSystemStatusTypeFilter {}
4742 unsafe impl ::std::marker::Sync for RemoteSystemStatusTypeFilter {}
4743 #[repr(transparent)]
4744 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4745 pub struct RemoteSystemUpdatedEventArgs(::windows::runtime::IInspectable);
4746 impl RemoteSystemUpdatedEventArgs {
RemoteSystem(&self) -> ::windows::runtime::Result<RemoteSystem>4747     pub fn RemoteSystem(&self) -> ::windows::runtime::Result<RemoteSystem> {
4748         let this = self;
4749         unsafe {
4750             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4751             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystem>(result__)
4752         }
4753     }
4754 }
4755 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemUpdatedEventArgs {
4756     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemUpdatedEventArgs;{7502ff0e-dbcb-4155-b4ca-b30a04f27627})");
4757 }
4758 unsafe impl ::windows::runtime::Interface for RemoteSystemUpdatedEventArgs {
4759     type Vtable = IRemoteSystemUpdatedEventArgs_abi;
4760     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1963130638, 56267, 16725, [180, 202, 179, 10, 4, 242, 118, 39]);
4761 }
4762 impl ::windows::runtime::RuntimeName for RemoteSystemUpdatedEventArgs {
4763     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemUpdatedEventArgs";
4764 }
4765 impl ::std::convert::From<RemoteSystemUpdatedEventArgs> for ::windows::runtime::IUnknown {
from(value: RemoteSystemUpdatedEventArgs) -> Self4766     fn from(value: RemoteSystemUpdatedEventArgs) -> Self {
4767         unsafe { ::std::mem::transmute(value) }
4768     }
4769 }
4770 impl ::std::convert::From<&RemoteSystemUpdatedEventArgs> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemUpdatedEventArgs) -> Self4771     fn from(value: &RemoteSystemUpdatedEventArgs) -> Self {
4772         ::std::convert::From::from(::std::clone::Clone::clone(value))
4773     }
4774 }
4775 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemUpdatedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4776     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4777         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4778     }
4779 }
4780 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemUpdatedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4781     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4782         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4783     }
4784 }
4785 impl ::std::convert::From<RemoteSystemUpdatedEventArgs> for ::windows::runtime::IInspectable {
from(value: RemoteSystemUpdatedEventArgs) -> Self4786     fn from(value: RemoteSystemUpdatedEventArgs) -> Self {
4787         value.0
4788     }
4789 }
4790 impl ::std::convert::From<&RemoteSystemUpdatedEventArgs> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemUpdatedEventArgs) -> Self4791     fn from(value: &RemoteSystemUpdatedEventArgs) -> Self {
4792         value.0.clone()
4793     }
4794 }
4795 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemUpdatedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4796     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4797         ::windows::runtime::Param::Owned(self.0)
4798     }
4799 }
4800 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemUpdatedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4801     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4802         ::windows::runtime::Param::Borrowed(&self.0)
4803     }
4804 }
4805 unsafe impl ::std::marker::Send for RemoteSystemUpdatedEventArgs {}
4806 unsafe impl ::std::marker::Sync for RemoteSystemUpdatedEventArgs {}
4807 #[repr(transparent)]
4808 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4809 pub struct RemoteSystemWatcher(::windows::runtime::IInspectable);
4810 impl RemoteSystemWatcher {
Start(&self) -> ::windows::runtime::Result<()>4811     pub fn Start(&self) -> ::windows::runtime::Result<()> {
4812         let this = self;
4813         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
4814     }
Stop(&self) -> ::windows::runtime::Result<()>4815     pub fn Stop(&self) -> ::windows::runtime::Result<()> {
4816         let this = self;
4817         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this)).ok() }
4818     }
4819     #[cfg(feature = "Foundation")]
RemoteSystemAdded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RemoteSystemWatcher, RemoteSystemAddedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4820     pub fn RemoteSystemAdded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RemoteSystemWatcher, RemoteSystemAddedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4821         let this = self;
4822         unsafe {
4823             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4824             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4825         }
4826     }
4827     #[cfg(feature = "Foundation")]
RemoveRemoteSystemAdded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>4828     pub fn RemoveRemoteSystemAdded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
4829         let this = self;
4830         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
4831     }
4832     #[cfg(feature = "Foundation")]
RemoteSystemUpdated<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RemoteSystemWatcher, RemoteSystemUpdatedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4833     pub fn RemoteSystemUpdated<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RemoteSystemWatcher, RemoteSystemUpdatedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4834         let this = self;
4835         unsafe {
4836             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4837             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4838         }
4839     }
4840     #[cfg(feature = "Foundation")]
RemoveRemoteSystemUpdated<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>4841     pub fn RemoveRemoteSystemUpdated<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
4842         let this = self;
4843         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
4844     }
4845     #[cfg(feature = "Foundation")]
RemoteSystemRemoved<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RemoteSystemWatcher, RemoteSystemRemovedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4846     pub fn RemoteSystemRemoved<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RemoteSystemWatcher, RemoteSystemRemovedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4847         let this = self;
4848         unsafe {
4849             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4850             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4851         }
4852     }
4853     #[cfg(feature = "Foundation")]
RemoveRemoteSystemRemoved<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>4854     pub fn RemoveRemoteSystemRemoved<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
4855         let this = self;
4856         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
4857     }
4858     #[cfg(feature = "Foundation")]
EnumerationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RemoteSystemWatcher, RemoteSystemEnumerationCompletedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4859     pub fn EnumerationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RemoteSystemWatcher, RemoteSystemEnumerationCompletedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4860         let this = &::windows::runtime::Interface::cast::<IRemoteSystemWatcher2>(self)?;
4861         unsafe {
4862             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4863             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4864         }
4865     }
4866     #[cfg(feature = "Foundation")]
RemoveEnumerationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>4867     pub fn RemoveEnumerationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
4868         let this = &::windows::runtime::Interface::cast::<IRemoteSystemWatcher2>(self)?;
4869         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
4870     }
4871     #[cfg(feature = "Foundation")]
ErrorOccurred<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RemoteSystemWatcher, RemoteSystemWatcherErrorOccurredEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4872     pub fn ErrorOccurred<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RemoteSystemWatcher, RemoteSystemWatcherErrorOccurredEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4873         let this = &::windows::runtime::Interface::cast::<IRemoteSystemWatcher2>(self)?;
4874         unsafe {
4875             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4876             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4877         }
4878     }
4879     #[cfg(feature = "Foundation")]
RemoveErrorOccurred<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>4880     pub fn RemoveErrorOccurred<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
4881         let this = &::windows::runtime::Interface::cast::<IRemoteSystemWatcher2>(self)?;
4882         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
4883     }
User(&self) -> ::windows::runtime::Result<super::User>4884     pub fn User(&self) -> ::windows::runtime::Result<super::User> {
4885         let this = &::windows::runtime::Interface::cast::<IRemoteSystemWatcher3>(self)?;
4886         unsafe {
4887             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4888             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::User>(result__)
4889         }
4890     }
4891 }
4892 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemWatcher {
4893     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemWatcher;{5d600c7e-2c07-48c5-889c-455d2b099771})");
4894 }
4895 unsafe impl ::windows::runtime::Interface for RemoteSystemWatcher {
4896     type Vtable = IRemoteSystemWatcher_abi;
4897     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1566575742, 11271, 18629, [136, 156, 69, 93, 43, 9, 151, 113]);
4898 }
4899 impl ::windows::runtime::RuntimeName for RemoteSystemWatcher {
4900     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemWatcher";
4901 }
4902 impl ::std::convert::From<RemoteSystemWatcher> for ::windows::runtime::IUnknown {
from(value: RemoteSystemWatcher) -> Self4903     fn from(value: RemoteSystemWatcher) -> Self {
4904         unsafe { ::std::mem::transmute(value) }
4905     }
4906 }
4907 impl ::std::convert::From<&RemoteSystemWatcher> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemWatcher) -> Self4908     fn from(value: &RemoteSystemWatcher) -> Self {
4909         ::std::convert::From::from(::std::clone::Clone::clone(value))
4910     }
4911 }
4912 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4913     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4914         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4915     }
4916 }
4917 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4918     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4919         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4920     }
4921 }
4922 impl ::std::convert::From<RemoteSystemWatcher> for ::windows::runtime::IInspectable {
from(value: RemoteSystemWatcher) -> Self4923     fn from(value: RemoteSystemWatcher) -> Self {
4924         value.0
4925     }
4926 }
4927 impl ::std::convert::From<&RemoteSystemWatcher> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemWatcher) -> Self4928     fn from(value: &RemoteSystemWatcher) -> Self {
4929         value.0.clone()
4930     }
4931 }
4932 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4933     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4934         ::windows::runtime::Param::Owned(self.0)
4935     }
4936 }
4937 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4938     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4939         ::windows::runtime::Param::Borrowed(&self.0)
4940     }
4941 }
4942 unsafe impl ::std::marker::Send for RemoteSystemWatcher {}
4943 unsafe impl ::std::marker::Sync for RemoteSystemWatcher {}
4944 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4945 #[repr(transparent)]
4946 pub struct RemoteSystemWatcherError(pub i32);
4947 impl RemoteSystemWatcherError {
4948     pub const Unknown: RemoteSystemWatcherError = RemoteSystemWatcherError(0i32);
4949     pub const InternetNotAvailable: RemoteSystemWatcherError = RemoteSystemWatcherError(1i32);
4950     pub const AuthenticationError: RemoteSystemWatcherError = RemoteSystemWatcherError(2i32);
4951 }
4952 impl ::std::convert::From<i32> for RemoteSystemWatcherError {
from(value: i32) -> Self4953     fn from(value: i32) -> Self {
4954         Self(value)
4955     }
4956 }
4957 unsafe impl ::windows::runtime::Abi for RemoteSystemWatcherError {
4958     type Abi = Self;
4959     type DefaultType = Self;
4960 }
4961 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemWatcherError {
4962     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.RemoteSystems.RemoteSystemWatcherError;i4)");
4963 }
4964 #[repr(transparent)]
4965 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4966 pub struct RemoteSystemWatcherErrorOccurredEventArgs(::windows::runtime::IInspectable);
4967 impl RemoteSystemWatcherErrorOccurredEventArgs {
Error(&self) -> ::windows::runtime::Result<RemoteSystemWatcherError>4968     pub fn Error(&self) -> ::windows::runtime::Result<RemoteSystemWatcherError> {
4969         let this = self;
4970         unsafe {
4971             let mut result__: RemoteSystemWatcherError = ::std::mem::zeroed();
4972             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RemoteSystemWatcherError>(result__)
4973         }
4974     }
4975 }
4976 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemWatcherErrorOccurredEventArgs {
4977     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemWatcherErrorOccurredEventArgs;{74c5c6af-5114-4426-9216-20d81f8519ae})");
4978 }
4979 unsafe impl ::windows::runtime::Interface for RemoteSystemWatcherErrorOccurredEventArgs {
4980     type Vtable = IRemoteSystemWatcherErrorOccurredEventArgs_abi;
4981     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1959118511, 20756, 17446, [146, 22, 32, 216, 31, 133, 25, 174]);
4982 }
4983 impl ::windows::runtime::RuntimeName for RemoteSystemWatcherErrorOccurredEventArgs {
4984     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemWatcherErrorOccurredEventArgs";
4985 }
4986 impl ::std::convert::From<RemoteSystemWatcherErrorOccurredEventArgs> for ::windows::runtime::IUnknown {
from(value: RemoteSystemWatcherErrorOccurredEventArgs) -> Self4987     fn from(value: RemoteSystemWatcherErrorOccurredEventArgs) -> Self {
4988         unsafe { ::std::mem::transmute(value) }
4989     }
4990 }
4991 impl ::std::convert::From<&RemoteSystemWatcherErrorOccurredEventArgs> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemWatcherErrorOccurredEventArgs) -> Self4992     fn from(value: &RemoteSystemWatcherErrorOccurredEventArgs) -> Self {
4993         ::std::convert::From::from(::std::clone::Clone::clone(value))
4994     }
4995 }
4996 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemWatcherErrorOccurredEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4997     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4998         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4999     }
5000 }
5001 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemWatcherErrorOccurredEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5002     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5003         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5004     }
5005 }
5006 impl ::std::convert::From<RemoteSystemWatcherErrorOccurredEventArgs> for ::windows::runtime::IInspectable {
from(value: RemoteSystemWatcherErrorOccurredEventArgs) -> Self5007     fn from(value: RemoteSystemWatcherErrorOccurredEventArgs) -> Self {
5008         value.0
5009     }
5010 }
5011 impl ::std::convert::From<&RemoteSystemWatcherErrorOccurredEventArgs> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemWatcherErrorOccurredEventArgs) -> Self5012     fn from(value: &RemoteSystemWatcherErrorOccurredEventArgs) -> Self {
5013         value.0.clone()
5014     }
5015 }
5016 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemWatcherErrorOccurredEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5017     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5018         ::windows::runtime::Param::Owned(self.0)
5019     }
5020 }
5021 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemWatcherErrorOccurredEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5022     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5023         ::windows::runtime::Param::Borrowed(&self.0)
5024     }
5025 }
5026 unsafe impl ::std::marker::Send for RemoteSystemWatcherErrorOccurredEventArgs {}
5027 unsafe impl ::std::marker::Sync for RemoteSystemWatcherErrorOccurredEventArgs {}
5028 #[repr(transparent)]
5029 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5030 pub struct RemoteSystemWebAccountFilter(::windows::runtime::IInspectable);
5031 impl RemoteSystemWebAccountFilter {
5032     #[cfg(feature = "Security_Credentials")]
Account(&self) -> ::windows::runtime::Result<super::super::Security::Credentials::WebAccount>5033     pub fn Account(&self) -> ::windows::runtime::Result<super::super::Security::Credentials::WebAccount> {
5034         let this = self;
5035         unsafe {
5036             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5037             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Security::Credentials::WebAccount>(result__)
5038         }
5039     }
5040     #[cfg(feature = "Security_Credentials")]
Create<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Security::Credentials::WebAccount>>(account: Param0) -> ::windows::runtime::Result<RemoteSystemWebAccountFilter>5041     pub fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Security::Credentials::WebAccount>>(account: Param0) -> ::windows::runtime::Result<RemoteSystemWebAccountFilter> {
5042         Self::IRemoteSystemWebAccountFilterFactory(|this| unsafe {
5043             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5044             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), account.into_param().abi(), &mut result__).from_abi::<RemoteSystemWebAccountFilter>(result__)
5045         })
5046     }
IRemoteSystemWebAccountFilterFactory<R, F: FnOnce(&IRemoteSystemWebAccountFilterFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>5047     pub fn IRemoteSystemWebAccountFilterFactory<R, F: FnOnce(&IRemoteSystemWebAccountFilterFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
5048         static mut SHARED: ::windows::runtime::FactoryCache<RemoteSystemWebAccountFilter, IRemoteSystemWebAccountFilterFactory> = ::windows::runtime::FactoryCache::new();
5049         unsafe { SHARED.call(callback) }
5050     }
5051 }
5052 unsafe impl ::windows::runtime::RuntimeType for RemoteSystemWebAccountFilter {
5053     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteSystems.RemoteSystemWebAccountFilter;{3fb75873-87c8-5d8f-977e-f69f96d67238})");
5054 }
5055 unsafe impl ::windows::runtime::Interface for RemoteSystemWebAccountFilter {
5056     type Vtable = IRemoteSystemWebAccountFilter_abi;
5057     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1068980339, 34760, 23951, [151, 126, 246, 159, 150, 214, 114, 56]);
5058 }
5059 impl ::windows::runtime::RuntimeName for RemoteSystemWebAccountFilter {
5060     const NAME: &'static str = "Windows.System.RemoteSystems.RemoteSystemWebAccountFilter";
5061 }
5062 impl ::std::convert::From<RemoteSystemWebAccountFilter> for ::windows::runtime::IUnknown {
from(value: RemoteSystemWebAccountFilter) -> Self5063     fn from(value: RemoteSystemWebAccountFilter) -> Self {
5064         unsafe { ::std::mem::transmute(value) }
5065     }
5066 }
5067 impl ::std::convert::From<&RemoteSystemWebAccountFilter> for ::windows::runtime::IUnknown {
from(value: &RemoteSystemWebAccountFilter) -> Self5068     fn from(value: &RemoteSystemWebAccountFilter) -> Self {
5069         ::std::convert::From::from(::std::clone::Clone::clone(value))
5070     }
5071 }
5072 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteSystemWebAccountFilter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5073     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5074         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5075     }
5076 }
5077 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteSystemWebAccountFilter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5078     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5079         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5080     }
5081 }
5082 impl ::std::convert::From<RemoteSystemWebAccountFilter> for ::windows::runtime::IInspectable {
from(value: RemoteSystemWebAccountFilter) -> Self5083     fn from(value: RemoteSystemWebAccountFilter) -> Self {
5084         value.0
5085     }
5086 }
5087 impl ::std::convert::From<&RemoteSystemWebAccountFilter> for ::windows::runtime::IInspectable {
from(value: &RemoteSystemWebAccountFilter) -> Self5088     fn from(value: &RemoteSystemWebAccountFilter) -> Self {
5089         value.0.clone()
5090     }
5091 }
5092 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteSystemWebAccountFilter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5093     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5094         ::windows::runtime::Param::Owned(self.0)
5095     }
5096 }
5097 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteSystemWebAccountFilter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5098     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5099         ::windows::runtime::Param::Borrowed(&self.0)
5100     }
5101 }
5102 impl ::std::convert::TryFrom<RemoteSystemWebAccountFilter> for IRemoteSystemFilter {
5103     type Error = ::windows::runtime::Error;
try_from(value: RemoteSystemWebAccountFilter) -> ::windows::runtime::Result<Self>5104     fn try_from(value: RemoteSystemWebAccountFilter) -> ::windows::runtime::Result<Self> {
5105         ::std::convert::TryFrom::try_from(&value)
5106     }
5107 }
5108 impl ::std::convert::TryFrom<&RemoteSystemWebAccountFilter> for IRemoteSystemFilter {
5109     type Error = ::windows::runtime::Error;
try_from(value: &RemoteSystemWebAccountFilter) -> ::windows::runtime::Result<Self>5110     fn try_from(value: &RemoteSystemWebAccountFilter) -> ::windows::runtime::Result<Self> {
5111         ::windows::runtime::Interface::cast(value)
5112     }
5113 }
5114 impl<'a> ::windows::runtime::IntoParam<'a, IRemoteSystemFilter> for RemoteSystemWebAccountFilter {
into_param(self) -> ::windows::runtime::Param<'a, IRemoteSystemFilter>5115     fn into_param(self) -> ::windows::runtime::Param<'a, IRemoteSystemFilter> {
5116         ::windows::runtime::IntoParam::into_param(&self)
5117     }
5118 }
5119 impl<'a> ::windows::runtime::IntoParam<'a, IRemoteSystemFilter> for &RemoteSystemWebAccountFilter {
into_param(self) -> ::windows::runtime::Param<'a, IRemoteSystemFilter>5120     fn into_param(self) -> ::windows::runtime::Param<'a, IRemoteSystemFilter> {
5121         ::std::convert::TryInto::<IRemoteSystemFilter>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
5122     }
5123 }
5124 unsafe impl ::std::marker::Send for RemoteSystemWebAccountFilter {}
5125 unsafe impl ::std::marker::Sync for RemoteSystemWebAccountFilter {}
5126