1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[derive(:: std :: clone :: Clone)]
3 #[repr(C)]
4 #[cfg(feature = "Win32_Foundation")]
5 pub struct AAAccountingData {
6     pub userName: super::super::Foundation::BSTR,
7     pub clientName: super::super::Foundation::BSTR,
8     pub authType: AAAuthSchemes,
9     pub resourceName: super::super::Foundation::BSTR,
10     pub portNumber: i32,
11     pub protocolName: super::super::Foundation::BSTR,
12     pub numberOfBytesReceived: i32,
13     pub numberOfBytesTransfered: i32,
14     pub reasonForDisconnect: super::super::Foundation::BSTR,
15     pub mainSessionId: ::windows::runtime::GUID,
16     pub subSessionId: i32,
17 }
18 #[cfg(feature = "Win32_Foundation")]
19 impl AAAccountingData {}
20 #[cfg(feature = "Win32_Foundation")]
21 impl ::std::default::Default for AAAccountingData {
default() -> Self22     fn default() -> Self {
23         unsafe { ::std::mem::zeroed() }
24     }
25 }
26 #[cfg(feature = "Win32_Foundation")]
27 impl ::std::fmt::Debug for AAAccountingData {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result28     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
29         fmt.debug_struct("AAAccountingData")
30             .field("userName", &self.userName)
31             .field("clientName", &self.clientName)
32             .field("authType", &self.authType)
33             .field("resourceName", &self.resourceName)
34             .field("portNumber", &self.portNumber)
35             .field("protocolName", &self.protocolName)
36             .field("numberOfBytesReceived", &self.numberOfBytesReceived)
37             .field("numberOfBytesTransfered", &self.numberOfBytesTransfered)
38             .field("reasonForDisconnect", &self.reasonForDisconnect)
39             .field("mainSessionId", &self.mainSessionId)
40             .field("subSessionId", &self.subSessionId)
41             .finish()
42     }
43 }
44 #[cfg(feature = "Win32_Foundation")]
45 impl ::std::cmp::PartialEq for AAAccountingData {
eq(&self, other: &Self) -> bool46     fn eq(&self, other: &Self) -> bool {
47         self.userName == other.userName
48             && self.clientName == other.clientName
49             && self.authType == other.authType
50             && self.resourceName == other.resourceName
51             && self.portNumber == other.portNumber
52             && self.protocolName == other.protocolName
53             && self.numberOfBytesReceived == other.numberOfBytesReceived
54             && self.numberOfBytesTransfered == other.numberOfBytesTransfered
55             && self.reasonForDisconnect == other.reasonForDisconnect
56             && self.mainSessionId == other.mainSessionId
57             && self.subSessionId == other.subSessionId
58     }
59 }
60 #[cfg(feature = "Win32_Foundation")]
61 impl ::std::cmp::Eq for AAAccountingData {}
62 #[cfg(feature = "Win32_Foundation")]
63 unsafe impl ::windows::runtime::Abi for AAAccountingData {
64     type Abi = ::std::mem::ManuallyDrop<Self>;
65     type DefaultType = Self;
66 }
67 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
68 #[repr(transparent)]
69 pub struct AAAccountingDataType(pub i32);
70 pub const AA_MAIN_SESSION_CREATION: AAAccountingDataType = AAAccountingDataType(0i32);
71 pub const AA_SUB_SESSION_CREATION: AAAccountingDataType = AAAccountingDataType(1i32);
72 pub const AA_SUB_SESSION_CLOSED: AAAccountingDataType = AAAccountingDataType(2i32);
73 pub const AA_MAIN_SESSION_CLOSED: AAAccountingDataType = AAAccountingDataType(3i32);
74 impl ::std::convert::From<i32> for AAAccountingDataType {
from(value: i32) -> Self75     fn from(value: i32) -> Self {
76         Self(value)
77     }
78 }
79 unsafe impl ::windows::runtime::Abi for AAAccountingDataType {
80     type Abi = Self;
81     type DefaultType = Self;
82 }
83 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
84 #[repr(transparent)]
85 pub struct AAAuthSchemes(pub i32);
86 pub const AA_AUTH_MIN: AAAuthSchemes = AAAuthSchemes(0i32);
87 pub const AA_AUTH_BASIC: AAAuthSchemes = AAAuthSchemes(1i32);
88 pub const AA_AUTH_NTLM: AAAuthSchemes = AAAuthSchemes(2i32);
89 pub const AA_AUTH_SC: AAAuthSchemes = AAAuthSchemes(3i32);
90 pub const AA_AUTH_LOGGEDONCREDENTIALS: AAAuthSchemes = AAAuthSchemes(4i32);
91 pub const AA_AUTH_NEGOTIATE: AAAuthSchemes = AAAuthSchemes(5i32);
92 pub const AA_AUTH_ANY: AAAuthSchemes = AAAuthSchemes(6i32);
93 pub const AA_AUTH_COOKIE: AAAuthSchemes = AAAuthSchemes(7i32);
94 pub const AA_AUTH_DIGEST: AAAuthSchemes = AAAuthSchemes(8i32);
95 pub const AA_AUTH_ORGID: AAAuthSchemes = AAAuthSchemes(9i32);
96 pub const AA_AUTH_CONID: AAAuthSchemes = AAAuthSchemes(10i32);
97 pub const AA_AUTH_SSPI_NTLM: AAAuthSchemes = AAAuthSchemes(11i32);
98 pub const AA_AUTH_MAX: AAAuthSchemes = AAAuthSchemes(12i32);
99 impl ::std::convert::From<i32> for AAAuthSchemes {
from(value: i32) -> Self100     fn from(value: i32) -> Self {
101         Self(value)
102     }
103 }
104 unsafe impl ::windows::runtime::Abi for AAAuthSchemes {
105     type Abi = Self;
106     type DefaultType = Self;
107 }
108 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
109 #[repr(transparent)]
110 pub struct AATrustClassID(pub i32);
111 pub const AA_UNTRUSTED: AATrustClassID = AATrustClassID(0i32);
112 pub const AA_TRUSTEDUSER_UNTRUSTEDCLIENT: AATrustClassID = AATrustClassID(1i32);
113 pub const AA_TRUSTEDUSER_TRUSTEDCLIENT: AATrustClassID = AATrustClassID(2i32);
114 impl ::std::convert::From<i32> for AATrustClassID {
from(value: i32) -> Self115     fn from(value: i32) -> Self {
116         Self(value)
117     }
118 }
119 unsafe impl ::windows::runtime::Abi for AATrustClassID {
120     type Abi = Self;
121     type DefaultType = Self;
122 }
123 pub const ACQUIRE_TARGET_LOCK_TIMEOUT: u32 = 300000u32;
124 pub const ADsTSUserEx: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3806972646, 7803, 19342, [186, 189, 233, 191, 98, 146, 172, 41]);
125 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
126 #[repr(C)]
127 pub struct AE_CURRENT_POSITION {
128     pub u64DevicePosition: u64,
129     pub u64StreamPosition: u64,
130     pub u64PaddingFrames: u64,
131     pub hnsQPCPosition: i64,
132     pub f32FramesPerSecond: f32,
133     pub Flag: AE_POSITION_FLAGS,
134 }
135 impl AE_CURRENT_POSITION {}
136 impl ::std::default::Default for AE_CURRENT_POSITION {
default() -> Self137     fn default() -> Self {
138         unsafe { ::std::mem::zeroed() }
139     }
140 }
141 impl ::std::fmt::Debug for AE_CURRENT_POSITION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result142     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
143         fmt.debug_struct("AE_CURRENT_POSITION")
144             .field("u64DevicePosition", &self.u64DevicePosition)
145             .field("u64StreamPosition", &self.u64StreamPosition)
146             .field("u64PaddingFrames", &self.u64PaddingFrames)
147             .field("hnsQPCPosition", &self.hnsQPCPosition)
148             .field("f32FramesPerSecond", &self.f32FramesPerSecond)
149             .field("Flag", &self.Flag)
150             .finish()
151     }
152 }
153 impl ::std::cmp::PartialEq for AE_CURRENT_POSITION {
eq(&self, other: &Self) -> bool154     fn eq(&self, other: &Self) -> bool {
155         self.u64DevicePosition == other.u64DevicePosition && self.u64StreamPosition == other.u64StreamPosition && self.u64PaddingFrames == other.u64PaddingFrames && self.hnsQPCPosition == other.hnsQPCPosition && self.f32FramesPerSecond == other.f32FramesPerSecond && self.Flag == other.Flag
156     }
157 }
158 impl ::std::cmp::Eq for AE_CURRENT_POSITION {}
159 unsafe impl ::windows::runtime::Abi for AE_CURRENT_POSITION {
160     type Abi = Self;
161     type DefaultType = Self;
162 }
163 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
164 #[repr(transparent)]
165 pub struct AE_POSITION_FLAGS(pub i32);
166 pub const POSITION_INVALID: AE_POSITION_FLAGS = AE_POSITION_FLAGS(0i32);
167 pub const POSITION_DISCONTINUOUS: AE_POSITION_FLAGS = AE_POSITION_FLAGS(1i32);
168 pub const POSITION_CONTINUOUS: AE_POSITION_FLAGS = AE_POSITION_FLAGS(2i32);
169 pub const POSITION_QPC_ERROR: AE_POSITION_FLAGS = AE_POSITION_FLAGS(4i32);
170 impl ::std::convert::From<i32> for AE_POSITION_FLAGS {
from(value: i32) -> Self171     fn from(value: i32) -> Self {
172         Self(value)
173     }
174 }
175 unsafe impl ::windows::runtime::Abi for AE_POSITION_FLAGS {
176     type Abi = Self;
177     type DefaultType = Self;
178 }
179 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
180 #[repr(transparent)]
181 pub struct APO_BUFFER_FLAGS(pub i32);
182 pub const BUFFER_INVALID: APO_BUFFER_FLAGS = APO_BUFFER_FLAGS(0i32);
183 pub const BUFFER_VALID: APO_BUFFER_FLAGS = APO_BUFFER_FLAGS(1i32);
184 pub const BUFFER_SILENT: APO_BUFFER_FLAGS = APO_BUFFER_FLAGS(2i32);
185 impl ::std::convert::From<i32> for APO_BUFFER_FLAGS {
from(value: i32) -> Self186     fn from(value: i32) -> Self {
187         Self(value)
188     }
189 }
190 unsafe impl ::windows::runtime::Abi for APO_BUFFER_FLAGS {
191     type Abi = Self;
192     type DefaultType = Self;
193 }
194 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
195 #[repr(C)]
196 pub struct APO_CONNECTION_PROPERTY {
197     pub pBuffer: usize,
198     pub u32ValidFrameCount: u32,
199     pub u32BufferFlags: APO_BUFFER_FLAGS,
200     pub u32Signature: u32,
201 }
202 impl APO_CONNECTION_PROPERTY {}
203 impl ::std::default::Default for APO_CONNECTION_PROPERTY {
default() -> Self204     fn default() -> Self {
205         unsafe { ::std::mem::zeroed() }
206     }
207 }
208 impl ::std::fmt::Debug for APO_CONNECTION_PROPERTY {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result209     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
210         fmt.debug_struct("APO_CONNECTION_PROPERTY").field("pBuffer", &self.pBuffer).field("u32ValidFrameCount", &self.u32ValidFrameCount).field("u32BufferFlags", &self.u32BufferFlags).field("u32Signature", &self.u32Signature).finish()
211     }
212 }
213 impl ::std::cmp::PartialEq for APO_CONNECTION_PROPERTY {
eq(&self, other: &Self) -> bool214     fn eq(&self, other: &Self) -> bool {
215         self.pBuffer == other.pBuffer && self.u32ValidFrameCount == other.u32ValidFrameCount && self.u32BufferFlags == other.u32BufferFlags && self.u32Signature == other.u32Signature
216     }
217 }
218 impl ::std::cmp::Eq for APO_CONNECTION_PROPERTY {}
219 unsafe impl ::windows::runtime::Abi for APO_CONNECTION_PROPERTY {
220     type Abi = Self;
221     type DefaultType = Self;
222 }
223 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
224 #[repr(C)]
225 pub struct BITMAP_RENDERER_STATISTICS {
226     pub dwFramesDelivered: u32,
227     pub dwFramesDropped: u32,
228 }
229 impl BITMAP_RENDERER_STATISTICS {}
230 impl ::std::default::Default for BITMAP_RENDERER_STATISTICS {
default() -> Self231     fn default() -> Self {
232         unsafe { ::std::mem::zeroed() }
233     }
234 }
235 impl ::std::fmt::Debug for BITMAP_RENDERER_STATISTICS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result236     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
237         fmt.debug_struct("BITMAP_RENDERER_STATISTICS").field("dwFramesDelivered", &self.dwFramesDelivered).field("dwFramesDropped", &self.dwFramesDropped).finish()
238     }
239 }
240 impl ::std::cmp::PartialEq for BITMAP_RENDERER_STATISTICS {
eq(&self, other: &Self) -> bool241     fn eq(&self, other: &Self) -> bool {
242         self.dwFramesDelivered == other.dwFramesDelivered && self.dwFramesDropped == other.dwFramesDropped
243     }
244 }
245 impl ::std::cmp::Eq for BITMAP_RENDERER_STATISTICS {}
246 unsafe impl ::windows::runtime::Abi for BITMAP_RENDERER_STATISTICS {
247     type Abi = Self;
248     type DefaultType = Self;
249 }
250 pub const CHANNEL_BUFFER_SIZE: u32 = 65535u32;
251 pub const CHANNEL_CHUNK_LENGTH: u32 = 1600u32;
252 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
253 #[repr(C, packed(1))]
254 #[cfg(feature = "Win32_Foundation")]
255 pub struct CHANNEL_DEF {
256     pub name: [super::super::Foundation::CHAR; 8],
257     pub options: u32,
258 }
259 #[cfg(feature = "Win32_Foundation")]
260 impl CHANNEL_DEF {}
261 #[cfg(feature = "Win32_Foundation")]
262 impl ::std::default::Default for CHANNEL_DEF {
default() -> Self263     fn default() -> Self {
264         unsafe { ::std::mem::zeroed() }
265     }
266 }
267 #[cfg(feature = "Win32_Foundation")]
268 impl ::std::cmp::PartialEq for CHANNEL_DEF {
eq(&self, _other: &Self) -> bool269     fn eq(&self, _other: &Self) -> bool {
270         unimplemented!()
271     }
272 }
273 #[cfg(feature = "Win32_Foundation")]
274 impl ::std::cmp::Eq for CHANNEL_DEF {}
275 #[cfg(feature = "Win32_Foundation")]
276 unsafe impl ::windows::runtime::Abi for CHANNEL_DEF {
277     type Abi = Self;
278     type DefaultType = Self;
279 }
280 #[derive(:: std :: clone :: Clone)]
281 #[repr(C)]
282 #[cfg(feature = "Win32_Foundation")]
283 pub struct CHANNEL_ENTRY_POINTS {
284     pub cbSize: u32,
285     pub protocolVersion: u32,
286     pub pVirtualChannelInit: ::std::option::Option<PVIRTUALCHANNELINIT>,
287     pub pVirtualChannelOpen: ::std::option::Option<PVIRTUALCHANNELOPEN>,
288     pub pVirtualChannelClose: ::std::option::Option<PVIRTUALCHANNELCLOSE>,
289     pub pVirtualChannelWrite: ::std::option::Option<PVIRTUALCHANNELWRITE>,
290 }
291 #[cfg(feature = "Win32_Foundation")]
292 impl CHANNEL_ENTRY_POINTS {}
293 #[cfg(feature = "Win32_Foundation")]
294 impl ::std::default::Default for CHANNEL_ENTRY_POINTS {
default() -> Self295     fn default() -> Self {
296         unsafe { ::std::mem::zeroed() }
297     }
298 }
299 #[cfg(feature = "Win32_Foundation")]
300 impl ::std::fmt::Debug for CHANNEL_ENTRY_POINTS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result301     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
302         fmt.debug_struct("CHANNEL_ENTRY_POINTS").field("cbSize", &self.cbSize).field("protocolVersion", &self.protocolVersion).finish()
303     }
304 }
305 #[cfg(feature = "Win32_Foundation")]
306 impl ::std::cmp::PartialEq for CHANNEL_ENTRY_POINTS {
eq(&self, other: &Self) -> bool307     fn eq(&self, other: &Self) -> bool {
308         self.cbSize == other.cbSize && self.protocolVersion == other.protocolVersion && self.pVirtualChannelInit.map(|f| f as usize) == other.pVirtualChannelInit.map(|f| f as usize) && self.pVirtualChannelOpen.map(|f| f as usize) == other.pVirtualChannelOpen.map(|f| f as usize) && self.pVirtualChannelClose.map(|f| f as usize) == other.pVirtualChannelClose.map(|f| f as usize) && self.pVirtualChannelWrite.map(|f| f as usize) == other.pVirtualChannelWrite.map(|f| f as usize)
309     }
310 }
311 #[cfg(feature = "Win32_Foundation")]
312 impl ::std::cmp::Eq for CHANNEL_ENTRY_POINTS {}
313 #[cfg(feature = "Win32_Foundation")]
314 unsafe impl ::windows::runtime::Abi for CHANNEL_ENTRY_POINTS {
315     type Abi = ::std::mem::ManuallyDrop<Self>;
316     type DefaultType = Self;
317 }
318 pub const CHANNEL_EVENT_CONNECTED: u32 = 1u32;
319 pub const CHANNEL_EVENT_DATA_RECEIVED: u32 = 10u32;
320 pub const CHANNEL_EVENT_DISCONNECTED: u32 = 3u32;
321 pub const CHANNEL_EVENT_INITIALIZED: u32 = 0u32;
322 pub const CHANNEL_EVENT_TERMINATED: u32 = 4u32;
323 pub const CHANNEL_EVENT_V1_CONNECTED: u32 = 2u32;
324 pub const CHANNEL_EVENT_WRITE_CANCELLED: u32 = 12u32;
325 pub const CHANNEL_EVENT_WRITE_COMPLETE: u32 = 11u32;
326 pub const CHANNEL_FLAG_FAIL: u32 = 256u32;
327 pub const CHANNEL_FLAG_FIRST: u32 = 1u32;
328 pub const CHANNEL_FLAG_LAST: u32 = 2u32;
329 pub const CHANNEL_FLAG_MIDDLE: u32 = 0u32;
330 pub const CHANNEL_MAX_COUNT: u32 = 30u32;
331 pub const CHANNEL_NAME_LEN: u32 = 7u32;
332 pub const CHANNEL_OPTION_COMPRESS: u32 = 4194304u32;
333 pub const CHANNEL_OPTION_COMPRESS_RDP: u32 = 8388608u32;
334 pub const CHANNEL_OPTION_ENCRYPT_CS: u32 = 268435456u32;
335 pub const CHANNEL_OPTION_ENCRYPT_RDP: u32 = 1073741824u32;
336 pub const CHANNEL_OPTION_ENCRYPT_SC: u32 = 536870912u32;
337 pub const CHANNEL_OPTION_INITIALIZED: u32 = 2147483648u32;
338 pub const CHANNEL_OPTION_PRI_HIGH: u32 = 134217728u32;
339 pub const CHANNEL_OPTION_PRI_LOW: u32 = 33554432u32;
340 pub const CHANNEL_OPTION_PRI_MED: u32 = 67108864u32;
341 pub const CHANNEL_OPTION_REMOTE_CONTROL_PERSISTENT: u32 = 1048576u32;
342 pub const CHANNEL_OPTION_SHOW_PROTOCOL: u32 = 2097152u32;
343 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
344 #[repr(C)]
345 pub struct CHANNEL_PDU_HEADER {
346     pub length: u32,
347     pub flags: u32,
348 }
349 impl CHANNEL_PDU_HEADER {}
350 impl ::std::default::Default for CHANNEL_PDU_HEADER {
default() -> Self351     fn default() -> Self {
352         unsafe { ::std::mem::zeroed() }
353     }
354 }
355 impl ::std::fmt::Debug for CHANNEL_PDU_HEADER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result356     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
357         fmt.debug_struct("CHANNEL_PDU_HEADER").field("length", &self.length).field("flags", &self.flags).finish()
358     }
359 }
360 impl ::std::cmp::PartialEq for CHANNEL_PDU_HEADER {
eq(&self, other: &Self) -> bool361     fn eq(&self, other: &Self) -> bool {
362         self.length == other.length && self.flags == other.flags
363     }
364 }
365 impl ::std::cmp::Eq for CHANNEL_PDU_HEADER {}
366 unsafe impl ::windows::runtime::Abi for CHANNEL_PDU_HEADER {
367     type Abi = Self;
368     type DefaultType = Self;
369 }
370 pub const CHANNEL_RC_ALREADY_CONNECTED: u32 = 3u32;
371 pub const CHANNEL_RC_ALREADY_INITIALIZED: u32 = 1u32;
372 pub const CHANNEL_RC_ALREADY_OPEN: u32 = 14u32;
373 pub const CHANNEL_RC_BAD_CHANNEL: u32 = 6u32;
374 pub const CHANNEL_RC_BAD_CHANNEL_HANDLE: u32 = 7u32;
375 pub const CHANNEL_RC_BAD_INIT_HANDLE: u32 = 9u32;
376 pub const CHANNEL_RC_BAD_PROC: u32 = 11u32;
377 pub const CHANNEL_RC_INITIALIZATION_ERROR: u32 = 20u32;
378 pub const CHANNEL_RC_INVALID_INSTANCE: u32 = 18u32;
379 pub const CHANNEL_RC_NOT_CONNECTED: u32 = 4u32;
380 pub const CHANNEL_RC_NOT_INITIALIZED: u32 = 2u32;
381 pub const CHANNEL_RC_NOT_IN_VIRTUALCHANNELENTRY: u32 = 15u32;
382 pub const CHANNEL_RC_NOT_OPEN: u32 = 10u32;
383 pub const CHANNEL_RC_NO_BUFFER: u32 = 8u32;
384 pub const CHANNEL_RC_NO_MEMORY: u32 = 12u32;
385 pub const CHANNEL_RC_NULL_DATA: u32 = 16u32;
386 pub const CHANNEL_RC_OK: u32 = 0u32;
387 pub const CHANNEL_RC_TOO_MANY_CHANNELS: u32 = 5u32;
388 pub const CHANNEL_RC_UNKNOWN_CHANNEL_NAME: u32 = 13u32;
389 pub const CHANNEL_RC_UNSUPPORTED_VERSION: u32 = 19u32;
390 pub const CHANNEL_RC_ZERO_LENGTH: u32 = 17u32;
391 pub const CLIENTADDRESS_LENGTH: u32 = 30u32;
392 pub const CLIENTNAME_LENGTH: u32 = 20u32;
393 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
394 #[repr(C)]
395 pub struct CLIENT_DISPLAY {
396     pub HorizontalResolution: u32,
397     pub VerticalResolution: u32,
398     pub ColorDepth: u32,
399 }
400 impl CLIENT_DISPLAY {}
401 impl ::std::default::Default for CLIENT_DISPLAY {
default() -> Self402     fn default() -> Self {
403         unsafe { ::std::mem::zeroed() }
404     }
405 }
406 impl ::std::fmt::Debug for CLIENT_DISPLAY {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result407     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
408         fmt.debug_struct("CLIENT_DISPLAY").field("HorizontalResolution", &self.HorizontalResolution).field("VerticalResolution", &self.VerticalResolution).field("ColorDepth", &self.ColorDepth).finish()
409     }
410 }
411 impl ::std::cmp::PartialEq for CLIENT_DISPLAY {
eq(&self, other: &Self) -> bool412     fn eq(&self, other: &Self) -> bool {
413         self.HorizontalResolution == other.HorizontalResolution && self.VerticalResolution == other.VerticalResolution && self.ColorDepth == other.ColorDepth
414     }
415 }
416 impl ::std::cmp::Eq for CLIENT_DISPLAY {}
417 unsafe impl ::windows::runtime::Abi for CLIENT_DISPLAY {
418     type Abi = Self;
419     type DefaultType = Self;
420 }
421 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
422 #[repr(transparent)]
423 pub struct CLIENT_MESSAGE_TYPE(pub i32);
424 pub const CLIENT_MESSAGE_CONNECTION_INVALID: CLIENT_MESSAGE_TYPE = CLIENT_MESSAGE_TYPE(0i32);
425 pub const CLIENT_MESSAGE_CONNECTION_STATUS: CLIENT_MESSAGE_TYPE = CLIENT_MESSAGE_TYPE(1i32);
426 pub const CLIENT_MESSAGE_CONNECTION_ERROR: CLIENT_MESSAGE_TYPE = CLIENT_MESSAGE_TYPE(2i32);
427 impl ::std::convert::From<i32> for CLIENT_MESSAGE_TYPE {
from(value: i32) -> Self428     fn from(value: i32) -> Self {
429         Self(value)
430     }
431 }
432 unsafe impl ::windows::runtime::Abi for CLIENT_MESSAGE_TYPE {
433     type Abi = Self;
434     type DefaultType = Self;
435 }
436 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
437 #[repr(transparent)]
438 pub struct CONNECTION_CHANGE_NOTIFICATION(pub i32);
439 pub const CONNECTION_REQUEST_INVALID: CONNECTION_CHANGE_NOTIFICATION = CONNECTION_CHANGE_NOTIFICATION(0i32);
440 pub const CONNECTION_REQUEST_PENDING: CONNECTION_CHANGE_NOTIFICATION = CONNECTION_CHANGE_NOTIFICATION(1i32);
441 pub const CONNECTION_REQUEST_FAILED: CONNECTION_CHANGE_NOTIFICATION = CONNECTION_CHANGE_NOTIFICATION(2i32);
442 pub const CONNECTION_REQUEST_TIMEDOUT: CONNECTION_CHANGE_NOTIFICATION = CONNECTION_CHANGE_NOTIFICATION(3i32);
443 pub const CONNECTION_REQUEST_SUCCEEDED: CONNECTION_CHANGE_NOTIFICATION = CONNECTION_CHANGE_NOTIFICATION(4i32);
444 pub const CONNECTION_REQUEST_CANCELLED: CONNECTION_CHANGE_NOTIFICATION = CONNECTION_CHANGE_NOTIFICATION(5i32);
445 pub const CONNECTION_REQUEST_LB_COMPLETED: CONNECTION_CHANGE_NOTIFICATION = CONNECTION_CHANGE_NOTIFICATION(6i32);
446 pub const CONNECTION_REQUEST_QUERY_PL_COMPLETED: CONNECTION_CHANGE_NOTIFICATION = CONNECTION_CHANGE_NOTIFICATION(7i32);
447 pub const CONNECTION_REQUEST_ORCH_COMPLETED: CONNECTION_CHANGE_NOTIFICATION = CONNECTION_CHANGE_NOTIFICATION(8i32);
448 impl ::std::convert::From<i32> for CONNECTION_CHANGE_NOTIFICATION {
from(value: i32) -> Self449     fn from(value: i32) -> Self {
450         Self(value)
451     }
452 }
453 unsafe impl ::windows::runtime::Abi for CONNECTION_CHANGE_NOTIFICATION {
454     type Abi = Self;
455     type DefaultType = Self;
456 }
457 pub const CONNECTION_PROPERTY_CURSOR_BLINK_DISABLED: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1259668864, 65188, 19772, [157, 228, 116, 51, 166, 102, 24, 247]);
458 pub const CONNECTION_PROPERTY_IDLE_TIME_WARNING: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1765769205, 3150, 19735, [184, 224, 31, 112, 50, 94, 93, 88]);
459 pub const DISPID_AX_ADMINMESSAGERECEIVED: u32 = 760u32;
460 pub const DISPID_AX_AUTORECONNECTED: u32 = 756u32;
461 pub const DISPID_AX_AUTORECONNECTING: u32 = 755u32;
462 pub const DISPID_AX_CONNECTED: u32 = 751u32;
463 pub const DISPID_AX_CONNECTING: u32 = 750u32;
464 pub const DISPID_AX_DIALOGDISMISSED: u32 = 758u32;
465 pub const DISPID_AX_DIALOGDISPLAYING: u32 = 757u32;
466 pub const DISPID_AX_DISCONNECTED: u32 = 753u32;
467 pub const DISPID_AX_KEYCOMBINATIONPRESSED: u32 = 761u32;
468 pub const DISPID_AX_LOGINCOMPLETED: u32 = 752u32;
469 pub const DISPID_AX_NETWORKSTATUSCHANGED: u32 = 759u32;
470 pub const DISPID_AX_REMOTEDESKTOPSIZECHANGED: u32 = 762u32;
471 pub const DISPID_AX_STATUSCHANGED: u32 = 754u32;
472 pub const DISPID_AX_TOUCHPOINTERCURSORMOVED: u32 = 800u32;
473 pub const DISPID_METHOD_REMOTEDESKTOPCLIENT_APPLY_SETTINGS: u32 = 722u32;
474 pub const DISPID_METHOD_REMOTEDESKTOPCLIENT_ATTACH_EVENT: u32 = 706u32;
475 pub const DISPID_METHOD_REMOTEDESKTOPCLIENT_CONNECT: u32 = 701u32;
476 pub const DISPID_METHOD_REMOTEDESKTOPCLIENT_DELETE_SAVED_CREDENTIALS: u32 = 704u32;
477 pub const DISPID_METHOD_REMOTEDESKTOPCLIENT_DETACH_EVENT: u32 = 707u32;
478 pub const DISPID_METHOD_REMOTEDESKTOPCLIENT_DISCONNECT: u32 = 702u32;
479 pub const DISPID_METHOD_REMOTEDESKTOPCLIENT_EXECUTE_REMOTE_ACTION: u32 = 732u32;
480 pub const DISPID_METHOD_REMOTEDESKTOPCLIENT_GET_RDPPROPERTY: u32 = 721u32;
481 pub const DISPID_METHOD_REMOTEDESKTOPCLIENT_GET_SNAPSHOT: u32 = 733u32;
482 pub const DISPID_METHOD_REMOTEDESKTOPCLIENT_RECONNECT: u32 = 703u32;
483 pub const DISPID_METHOD_REMOTEDESKTOPCLIENT_RESUME_SCREEN_UPDATES: u32 = 731u32;
484 pub const DISPID_METHOD_REMOTEDESKTOPCLIENT_RETRIEVE_SETTINGS: u32 = 723u32;
485 pub const DISPID_METHOD_REMOTEDESKTOPCLIENT_SET_RDPPROPERTY: u32 = 720u32;
486 pub const DISPID_METHOD_REMOTEDESKTOPCLIENT_SUSPEND_SCREEN_UPDATES: u32 = 730u32;
487 pub const DISPID_METHOD_REMOTEDESKTOPCLIENT_UPDATE_SESSION_DISPLAYSETTINGS: u32 = 705u32;
488 pub const DISPID_PROP_REMOTEDESKTOPCLIENT_ACTIONS: u32 = 711u32;
489 pub const DISPID_PROP_REMOTEDESKTOPCLIENT_SETTINGS: u32 = 710u32;
490 pub const DISPID_PROP_REMOTEDESKTOPCLIENT_TOUCHPOINTER_ENABLED: u32 = 740u32;
491 pub const DISPID_PROP_REMOTEDESKTOPCLIENT_TOUCHPOINTER_EVENTSENABLED: u32 = 741u32;
492 pub const DISPID_PROP_REMOTEDESKTOPCLIENT_TOUCHPOINTER_POINTERSPEED: u32 = 742u32;
493 pub const DISPID_PROP_REMOTEDESKTOPCLIENT_TOUCH_POINTER: u32 = 712u32;
494 pub const DOMAIN_LENGTH: u32 = 17u32;
495 pub const FORCE_REJOIN: u32 = 2u32;
496 pub const FORCE_REJOIN_IN_CLUSTERMODE: u32 = 3u32;
497 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy, :: std :: fmt :: Debug, :: std :: cmp :: PartialEq, :: std :: cmp :: Eq)]
498 #[repr(transparent)]
499 pub struct HwtsVirtualChannelHandle(pub isize);
500 impl ::std::default::Default for HwtsVirtualChannelHandle {
default() -> Self501     fn default() -> Self {
502         unsafe { ::std::mem::zeroed() }
503     }
504 }
505 unsafe impl ::windows::runtime::Handle for HwtsVirtualChannelHandle {}
506 unsafe impl ::windows::runtime::Abi for HwtsVirtualChannelHandle {
507     type Abi = Self;
508     type DefaultType = Self;
509 }
510 #[repr(transparent)]
511 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
512 pub struct IADsTSUserEx(::windows::runtime::IUnknown);
513 impl IADsTSUserEx {
514     #[cfg(feature = "Win32_Foundation")]
TerminalServicesProfilePath(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>515     pub unsafe fn TerminalServicesProfilePath(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
516         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
517         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
518     }
519     #[cfg(feature = "Win32_Foundation")]
SetTerminalServicesProfilePath<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pnewval: Param0) -> ::windows::runtime::Result<()>520     pub unsafe fn SetTerminalServicesProfilePath<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pnewval: Param0) -> ::windows::runtime::Result<()> {
521         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), pnewval.into_param().abi()).ok()
522     }
523     #[cfg(feature = "Win32_Foundation")]
TerminalServicesHomeDirectory(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>524     pub unsafe fn TerminalServicesHomeDirectory(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
525         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
526         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
527     }
528     #[cfg(feature = "Win32_Foundation")]
SetTerminalServicesHomeDirectory<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pnewval: Param0) -> ::windows::runtime::Result<()>529     pub unsafe fn SetTerminalServicesHomeDirectory<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pnewval: Param0) -> ::windows::runtime::Result<()> {
530         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), pnewval.into_param().abi()).ok()
531     }
532     #[cfg(feature = "Win32_Foundation")]
TerminalServicesHomeDrive(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>533     pub unsafe fn TerminalServicesHomeDrive(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
534         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
535         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
536     }
537     #[cfg(feature = "Win32_Foundation")]
SetTerminalServicesHomeDrive<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pnewval: Param0) -> ::windows::runtime::Result<()>538     pub unsafe fn SetTerminalServicesHomeDrive<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pnewval: Param0) -> ::windows::runtime::Result<()> {
539         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), pnewval.into_param().abi()).ok()
540     }
AllowLogon(&self) -> ::windows::runtime::Result<i32>541     pub unsafe fn AllowLogon(&self) -> ::windows::runtime::Result<i32> {
542         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
543         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
544     }
SetAllowLogon(&self, newval: i32) -> ::windows::runtime::Result<()>545     pub unsafe fn SetAllowLogon(&self, newval: i32) -> ::windows::runtime::Result<()> {
546         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
547     }
EnableRemoteControl(&self) -> ::windows::runtime::Result<i32>548     pub unsafe fn EnableRemoteControl(&self) -> ::windows::runtime::Result<i32> {
549         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
550         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
551     }
SetEnableRemoteControl(&self, newval: i32) -> ::windows::runtime::Result<()>552     pub unsafe fn SetEnableRemoteControl(&self, newval: i32) -> ::windows::runtime::Result<()> {
553         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
554     }
MaxDisconnectionTime(&self) -> ::windows::runtime::Result<i32>555     pub unsafe fn MaxDisconnectionTime(&self) -> ::windows::runtime::Result<i32> {
556         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
557         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
558     }
SetMaxDisconnectionTime(&self, newval: i32) -> ::windows::runtime::Result<()>559     pub unsafe fn SetMaxDisconnectionTime(&self, newval: i32) -> ::windows::runtime::Result<()> {
560         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
561     }
MaxConnectionTime(&self) -> ::windows::runtime::Result<i32>562     pub unsafe fn MaxConnectionTime(&self) -> ::windows::runtime::Result<i32> {
563         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
564         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
565     }
SetMaxConnectionTime(&self, newval: i32) -> ::windows::runtime::Result<()>566     pub unsafe fn SetMaxConnectionTime(&self, newval: i32) -> ::windows::runtime::Result<()> {
567         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
568     }
MaxIdleTime(&self) -> ::windows::runtime::Result<i32>569     pub unsafe fn MaxIdleTime(&self) -> ::windows::runtime::Result<i32> {
570         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
571         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
572     }
SetMaxIdleTime(&self, newval: i32) -> ::windows::runtime::Result<()>573     pub unsafe fn SetMaxIdleTime(&self, newval: i32) -> ::windows::runtime::Result<()> {
574         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
575     }
ReconnectionAction(&self) -> ::windows::runtime::Result<i32>576     pub unsafe fn ReconnectionAction(&self) -> ::windows::runtime::Result<i32> {
577         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
578         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
579     }
SetReconnectionAction(&self, newval: i32) -> ::windows::runtime::Result<()>580     pub unsafe fn SetReconnectionAction(&self, newval: i32) -> ::windows::runtime::Result<()> {
581         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
582     }
BrokenConnectionAction(&self) -> ::windows::runtime::Result<i32>583     pub unsafe fn BrokenConnectionAction(&self) -> ::windows::runtime::Result<i32> {
584         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
585         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
586     }
SetBrokenConnectionAction(&self, newval: i32) -> ::windows::runtime::Result<()>587     pub unsafe fn SetBrokenConnectionAction(&self, newval: i32) -> ::windows::runtime::Result<()> {
588         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
589     }
ConnectClientDrivesAtLogon(&self) -> ::windows::runtime::Result<i32>590     pub unsafe fn ConnectClientDrivesAtLogon(&self) -> ::windows::runtime::Result<i32> {
591         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
592         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
593     }
SetConnectClientDrivesAtLogon(&self, newval: i32) -> ::windows::runtime::Result<()>594     pub unsafe fn SetConnectClientDrivesAtLogon(&self, newval: i32) -> ::windows::runtime::Result<()> {
595         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
596     }
ConnectClientPrintersAtLogon(&self) -> ::windows::runtime::Result<i32>597     pub unsafe fn ConnectClientPrintersAtLogon(&self) -> ::windows::runtime::Result<i32> {
598         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
599         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
600     }
SetConnectClientPrintersAtLogon(&self, newval: i32) -> ::windows::runtime::Result<()>601     pub unsafe fn SetConnectClientPrintersAtLogon(&self, newval: i32) -> ::windows::runtime::Result<()> {
602         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
603     }
DefaultToMainPrinter(&self) -> ::windows::runtime::Result<i32>604     pub unsafe fn DefaultToMainPrinter(&self) -> ::windows::runtime::Result<i32> {
605         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
606         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
607     }
SetDefaultToMainPrinter(&self, newval: i32) -> ::windows::runtime::Result<()>608     pub unsafe fn SetDefaultToMainPrinter(&self, newval: i32) -> ::windows::runtime::Result<()> {
609         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
610     }
611     #[cfg(feature = "Win32_Foundation")]
TerminalServicesWorkDirectory(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>612     pub unsafe fn TerminalServicesWorkDirectory(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
613         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
614         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
615     }
616     #[cfg(feature = "Win32_Foundation")]
SetTerminalServicesWorkDirectory<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pnewval: Param0) -> ::windows::runtime::Result<()>617     pub unsafe fn SetTerminalServicesWorkDirectory<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pnewval: Param0) -> ::windows::runtime::Result<()> {
618         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), pnewval.into_param().abi()).ok()
619     }
620     #[cfg(feature = "Win32_Foundation")]
TerminalServicesInitialProgram(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>621     pub unsafe fn TerminalServicesInitialProgram(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
622         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
623         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
624     }
625     #[cfg(feature = "Win32_Foundation")]
SetTerminalServicesInitialProgram<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pnewval: Param0) -> ::windows::runtime::Result<()>626     pub unsafe fn SetTerminalServicesInitialProgram<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pnewval: Param0) -> ::windows::runtime::Result<()> {
627         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), pnewval.into_param().abi()).ok()
628     }
629 }
630 unsafe impl ::windows::runtime::Interface for IADsTSUserEx {
631     type Vtable = IADsTSUserEx_abi;
632     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3297971833, 10633, 17506, [138, 96, 47, 207, 47, 41, 85, 239]);
633 }
634 impl ::std::convert::From<IADsTSUserEx> for ::windows::runtime::IUnknown {
from(value: IADsTSUserEx) -> Self635     fn from(value: IADsTSUserEx) -> Self {
636         unsafe { ::std::mem::transmute(value) }
637     }
638 }
639 impl ::std::convert::From<&IADsTSUserEx> for ::windows::runtime::IUnknown {
from(value: &IADsTSUserEx) -> Self640     fn from(value: &IADsTSUserEx) -> Self {
641         ::std::convert::From::from(::std::clone::Clone::clone(value))
642     }
643 }
644 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IADsTSUserEx {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>645     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
646         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
647     }
648 }
649 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IADsTSUserEx {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>650     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
651         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
652     }
653 }
654 #[cfg(feature = "Win32_System_Ole_Automation")]
655 impl ::std::convert::From<IADsTSUserEx> for super::Ole::Automation::IDispatch {
from(value: IADsTSUserEx) -> Self656     fn from(value: IADsTSUserEx) -> Self {
657         unsafe { ::std::mem::transmute(value) }
658     }
659 }
660 #[cfg(feature = "Win32_System_Ole_Automation")]
661 impl ::std::convert::From<&IADsTSUserEx> for super::Ole::Automation::IDispatch {
from(value: &IADsTSUserEx) -> Self662     fn from(value: &IADsTSUserEx) -> Self {
663         ::std::convert::From::from(::std::clone::Clone::clone(value))
664     }
665 }
666 #[cfg(feature = "Win32_System_Ole_Automation")]
667 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch> for IADsTSUserEx {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch>668     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch> {
669         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IDispatch>::into(self))
670     }
671 }
672 #[cfg(feature = "Win32_System_Ole_Automation")]
673 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch> for &IADsTSUserEx {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch>674     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch> {
675         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
676     }
677 }
678 #[repr(C)]
679 #[doc(hidden)]
680 pub struct IADsTSUserEx_abi(
681     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
682     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
683     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
684     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
685     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
686     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
687     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
688     #[cfg(not(feature = "Win32_Foundation"))] usize,
689     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
690     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
691     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
692     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
693     #[cfg(not(feature = "Win32_Foundation"))] usize,
694     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnewval: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
695     #[cfg(not(feature = "Win32_Foundation"))] usize,
696     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
697     #[cfg(not(feature = "Win32_Foundation"))] usize,
698     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnewval: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
699     #[cfg(not(feature = "Win32_Foundation"))] usize,
700     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
701     #[cfg(not(feature = "Win32_Foundation"))] usize,
702     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnewval: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
703     #[cfg(not(feature = "Win32_Foundation"))] usize,
704     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
705     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i32) -> ::windows::runtime::HRESULT,
706     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
707     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i32) -> ::windows::runtime::HRESULT,
708     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
709     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i32) -> ::windows::runtime::HRESULT,
710     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
711     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i32) -> ::windows::runtime::HRESULT,
712     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
713     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i32) -> ::windows::runtime::HRESULT,
714     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnewval: *mut i32) -> ::windows::runtime::HRESULT,
715     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i32) -> ::windows::runtime::HRESULT,
716     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnewval: *mut i32) -> ::windows::runtime::HRESULT,
717     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i32) -> ::windows::runtime::HRESULT,
718     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnewval: *mut i32) -> ::windows::runtime::HRESULT,
719     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i32) -> ::windows::runtime::HRESULT,
720     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
721     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i32) -> ::windows::runtime::HRESULT,
722     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
723     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i32) -> ::windows::runtime::HRESULT,
724     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
725     #[cfg(not(feature = "Win32_Foundation"))] usize,
726     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnewval: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
727     #[cfg(not(feature = "Win32_Foundation"))] usize,
728     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
729     #[cfg(not(feature = "Win32_Foundation"))] usize,
730     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnewval: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
731     #[cfg(not(feature = "Win32_Foundation"))] usize,
732 );
733 #[repr(transparent)]
734 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
735 pub struct IAudioDeviceEndpoint(::windows::runtime::IUnknown);
736 impl IAudioDeviceEndpoint {
SetBuffer(&self, maxperiod: i64, u32latencycoefficient: u32) -> ::windows::runtime::Result<()>737     pub unsafe fn SetBuffer(&self, maxperiod: i64, u32latencycoefficient: u32) -> ::windows::runtime::Result<()> {
738         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(maxperiod), ::std::mem::transmute(u32latencycoefficient)).ok()
739     }
740     #[cfg(feature = "Win32_Foundation")]
GetRTCaps(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>741     pub unsafe fn GetRTCaps(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
742         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
743         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
744     }
745     #[cfg(feature = "Win32_Foundation")]
GetEventDrivenCapable(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>746     pub unsafe fn GetEventDrivenCapable(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
747         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
748         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
749     }
WriteExclusiveModeParametersToSharedMemory(&self, htargetprocess: usize, hnsperiod: i64, hnsbufferduration: i64, u32latencycoefficient: u32, pu32sharedmemorysize: *mut u32, phsharedmemory: *mut usize) -> ::windows::runtime::Result<()>750     pub unsafe fn WriteExclusiveModeParametersToSharedMemory(&self, htargetprocess: usize, hnsperiod: i64, hnsbufferduration: i64, u32latencycoefficient: u32, pu32sharedmemorysize: *mut u32, phsharedmemory: *mut usize) -> ::windows::runtime::Result<()> {
751         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(htargetprocess), ::std::mem::transmute(hnsperiod), ::std::mem::transmute(hnsbufferduration), ::std::mem::transmute(u32latencycoefficient), ::std::mem::transmute(pu32sharedmemorysize), ::std::mem::transmute(phsharedmemory)).ok()
752     }
753 }
754 unsafe impl ::windows::runtime::Interface for IAudioDeviceEndpoint {
755     type Vtable = IAudioDeviceEndpoint_abi;
756     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3566546778, 41138, 19652, [139, 130, 147, 88, 72, 141, 216, 172]);
757 }
758 impl ::std::convert::From<IAudioDeviceEndpoint> for ::windows::runtime::IUnknown {
from(value: IAudioDeviceEndpoint) -> Self759     fn from(value: IAudioDeviceEndpoint) -> Self {
760         unsafe { ::std::mem::transmute(value) }
761     }
762 }
763 impl ::std::convert::From<&IAudioDeviceEndpoint> for ::windows::runtime::IUnknown {
from(value: &IAudioDeviceEndpoint) -> Self764     fn from(value: &IAudioDeviceEndpoint) -> Self {
765         ::std::convert::From::from(::std::clone::Clone::clone(value))
766     }
767 }
768 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioDeviceEndpoint {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>769     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
770         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
771     }
772 }
773 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioDeviceEndpoint {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>774     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
775         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
776     }
777 }
778 #[repr(C)]
779 #[doc(hidden)]
780 pub struct IAudioDeviceEndpoint_abi(
781     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
782     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
783     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
784     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, maxperiod: i64, u32latencycoefficient: u32) -> ::windows::runtime::HRESULT,
785     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbisrtcapable: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
786     #[cfg(not(feature = "Win32_Foundation"))] usize,
787     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbiseventcapable: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
788     #[cfg(not(feature = "Win32_Foundation"))] usize,
789     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, htargetprocess: usize, hnsperiod: i64, hnsbufferduration: i64, u32latencycoefficient: u32, pu32sharedmemorysize: *mut u32, phsharedmemory: *mut usize) -> ::windows::runtime::HRESULT,
790 );
791 #[repr(transparent)]
792 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
793 pub struct IAudioEndpoint(::windows::runtime::IUnknown);
794 impl IAudioEndpoint {
795     #[cfg(feature = "Win32_Media_Multimedia")]
GetFrameFormat(&self) -> ::windows::runtime::Result<*mut super::super::Media::Multimedia::WAVEFORMATEX>796     pub unsafe fn GetFrameFormat(&self) -> ::windows::runtime::Result<*mut super::super::Media::Multimedia::WAVEFORMATEX> {
797         let mut result__: <*mut super::super::Media::Multimedia::WAVEFORMATEX as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
798         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::Media::Multimedia::WAVEFORMATEX>(result__)
799     }
GetFramesPerPacket(&self) -> ::windows::runtime::Result<u32>800     pub unsafe fn GetFramesPerPacket(&self) -> ::windows::runtime::Result<u32> {
801         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
802         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
803     }
GetLatency(&self) -> ::windows::runtime::Result<i64>804     pub unsafe fn GetLatency(&self) -> ::windows::runtime::Result<i64> {
805         let mut result__: <i64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
806         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i64>(result__)
807     }
SetStreamFlags(&self, streamflags: u32) -> ::windows::runtime::Result<()>808     pub unsafe fn SetStreamFlags(&self, streamflags: u32) -> ::windows::runtime::Result<()> {
809         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(streamflags)).ok()
810     }
811     #[cfg(feature = "Win32_Foundation")]
SetEventHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, eventhandle: Param0) -> ::windows::runtime::Result<()>812     pub unsafe fn SetEventHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, eventhandle: Param0) -> ::windows::runtime::Result<()> {
813         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), eventhandle.into_param().abi()).ok()
814     }
815 }
816 unsafe impl ::windows::runtime::Interface for IAudioEndpoint {
817     type Vtable = IAudioEndpoint_abi;
818     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(816420117, 5415, 17489, [175, 159, 0, 197, 240, 35, 77, 175]);
819 }
820 impl ::std::convert::From<IAudioEndpoint> for ::windows::runtime::IUnknown {
from(value: IAudioEndpoint) -> Self821     fn from(value: IAudioEndpoint) -> Self {
822         unsafe { ::std::mem::transmute(value) }
823     }
824 }
825 impl ::std::convert::From<&IAudioEndpoint> for ::windows::runtime::IUnknown {
from(value: &IAudioEndpoint) -> Self826     fn from(value: &IAudioEndpoint) -> Self {
827         ::std::convert::From::from(::std::clone::Clone::clone(value))
828     }
829 }
830 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioEndpoint {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>831     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
832         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
833     }
834 }
835 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioEndpoint {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>836     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
837         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
838     }
839 }
840 #[repr(C)]
841 #[doc(hidden)]
842 pub struct IAudioEndpoint_abi(
843     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
844     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
845     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
846     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppformat: *mut *mut super::super::Media::Multimedia::WAVEFORMATEX) -> ::windows::runtime::HRESULT,
847     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
848     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pframesperpacket: *mut u32) -> ::windows::runtime::HRESULT,
849     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, platency: *mut i64) -> ::windows::runtime::HRESULT,
850     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, streamflags: u32) -> ::windows::runtime::HRESULT,
851     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventhandle: super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
852     #[cfg(not(feature = "Win32_Foundation"))] usize,
853 );
854 #[repr(transparent)]
855 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
856 pub struct IAudioEndpointControl(::windows::runtime::IUnknown);
857 impl IAudioEndpointControl {
Start(&self) -> ::windows::runtime::Result<()>858     pub unsafe fn Start(&self) -> ::windows::runtime::Result<()> {
859         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
860     }
Reset(&self) -> ::windows::runtime::Result<()>861     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
862         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
863     }
Stop(&self) -> ::windows::runtime::Result<()>864     pub unsafe fn Stop(&self) -> ::windows::runtime::Result<()> {
865         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
866     }
867 }
868 unsafe impl ::windows::runtime::Interface for IAudioEndpointControl {
869     type Vtable = IAudioEndpointControl_abi;
870     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3330586410, 28148, 18292, [189, 249, 118, 183, 117, 9, 182, 83]);
871 }
872 impl ::std::convert::From<IAudioEndpointControl> for ::windows::runtime::IUnknown {
from(value: IAudioEndpointControl) -> Self873     fn from(value: IAudioEndpointControl) -> Self {
874         unsafe { ::std::mem::transmute(value) }
875     }
876 }
877 impl ::std::convert::From<&IAudioEndpointControl> for ::windows::runtime::IUnknown {
from(value: &IAudioEndpointControl) -> Self878     fn from(value: &IAudioEndpointControl) -> Self {
879         ::std::convert::From::from(::std::clone::Clone::clone(value))
880     }
881 }
882 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioEndpointControl {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>883     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
884         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
885     }
886 }
887 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioEndpointControl {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>888     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
889         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
890     }
891 }
892 #[repr(C)]
893 #[doc(hidden)]
894 pub struct IAudioEndpointControl_abi(
895     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
896     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
897     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
898     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
899     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
900     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
901 );
902 #[repr(transparent)]
903 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
904 pub struct IAudioEndpointRT(::windows::runtime::IUnknown);
905 impl IAudioEndpointRT {
GetCurrentPadding(&self, ppadding: *mut i64, paecurrentposition: *mut AE_CURRENT_POSITION)906     pub unsafe fn GetCurrentPadding(&self, ppadding: *mut i64, paecurrentposition: *mut AE_CURRENT_POSITION) {
907         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppadding), ::std::mem::transmute(paecurrentposition)))
908     }
ProcessingComplete(&self)909     pub unsafe fn ProcessingComplete(&self) {
910         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)))
911     }
SetPinInactive(&self) -> ::windows::runtime::Result<()>912     pub unsafe fn SetPinInactive(&self) -> ::windows::runtime::Result<()> {
913         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
914     }
SetPinActive(&self) -> ::windows::runtime::Result<()>915     pub unsafe fn SetPinActive(&self) -> ::windows::runtime::Result<()> {
916         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
917     }
918 }
919 unsafe impl ::windows::runtime::Interface for IAudioEndpointRT {
920     type Vtable = IAudioEndpointRT_abi;
921     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3755081823, 42725, 19769, [162, 101, 147, 154, 218, 159, 187, 77]);
922 }
923 impl ::std::convert::From<IAudioEndpointRT> for ::windows::runtime::IUnknown {
from(value: IAudioEndpointRT) -> Self924     fn from(value: IAudioEndpointRT) -> Self {
925         unsafe { ::std::mem::transmute(value) }
926     }
927 }
928 impl ::std::convert::From<&IAudioEndpointRT> for ::windows::runtime::IUnknown {
from(value: &IAudioEndpointRT) -> Self929     fn from(value: &IAudioEndpointRT) -> Self {
930         ::std::convert::From::from(::std::clone::Clone::clone(value))
931     }
932 }
933 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioEndpointRT {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>934     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
935         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
936     }
937 }
938 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioEndpointRT {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>939     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
940         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
941     }
942 }
943 #[repr(C)]
944 #[doc(hidden)]
945 pub struct IAudioEndpointRT_abi(
946     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
947     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
948     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
949     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppadding: *mut i64, paecurrentposition: *mut AE_CURRENT_POSITION),
950     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
951     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
952     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
953 );
954 #[repr(transparent)]
955 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
956 pub struct IAudioInputEndpointRT(::windows::runtime::IUnknown);
957 impl IAudioInputEndpointRT {
GetInputDataPointer(&self, pconnectionproperty: *mut APO_CONNECTION_PROPERTY, paetimestamp: *mut AE_CURRENT_POSITION)958     pub unsafe fn GetInputDataPointer(&self, pconnectionproperty: *mut APO_CONNECTION_PROPERTY, paetimestamp: *mut AE_CURRENT_POSITION) {
959         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pconnectionproperty), ::std::mem::transmute(paetimestamp)))
960     }
ReleaseInputDataPointer(&self, u32framecount: u32, pdatapointer: usize)961     pub unsafe fn ReleaseInputDataPointer(&self, u32framecount: u32, pdatapointer: usize) {
962         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(u32framecount), ::std::mem::transmute(pdatapointer)))
963     }
PulseEndpoint(&self)964     pub unsafe fn PulseEndpoint(&self) {
965         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)))
966     }
967 }
968 unsafe impl ::windows::runtime::Interface for IAudioInputEndpointRT {
969     type Vtable = IAudioInputEndpointRT_abi;
970     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2150017889, 37554, 17345, [161, 223, 92, 55, 235, 208, 141, 130]);
971 }
972 impl ::std::convert::From<IAudioInputEndpointRT> for ::windows::runtime::IUnknown {
from(value: IAudioInputEndpointRT) -> Self973     fn from(value: IAudioInputEndpointRT) -> Self {
974         unsafe { ::std::mem::transmute(value) }
975     }
976 }
977 impl ::std::convert::From<&IAudioInputEndpointRT> for ::windows::runtime::IUnknown {
from(value: &IAudioInputEndpointRT) -> Self978     fn from(value: &IAudioInputEndpointRT) -> Self {
979         ::std::convert::From::from(::std::clone::Clone::clone(value))
980     }
981 }
982 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioInputEndpointRT {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>983     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
984         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
985     }
986 }
987 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioInputEndpointRT {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>988     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
989         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
990     }
991 }
992 #[repr(C)]
993 #[doc(hidden)]
994 pub struct IAudioInputEndpointRT_abi(
995     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
996     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
997     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
998     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pconnectionproperty: *mut APO_CONNECTION_PROPERTY, paetimestamp: *mut AE_CURRENT_POSITION),
999     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, u32framecount: u32, pdatapointer: usize),
1000     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
1001 );
1002 #[repr(transparent)]
1003 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1004 pub struct IAudioOutputEndpointRT(::windows::runtime::IUnknown);
1005 impl IAudioOutputEndpointRT {
GetOutputDataPointer(&self, u32framecount: u32, paetimestamp: *const AE_CURRENT_POSITION) -> usize1006     pub unsafe fn GetOutputDataPointer(&self, u32framecount: u32, paetimestamp: *const AE_CURRENT_POSITION) -> usize {
1007         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(u32framecount), ::std::mem::transmute(paetimestamp)))
1008     }
ReleaseOutputDataPointer(&self, pconnectionproperty: *const APO_CONNECTION_PROPERTY)1009     pub unsafe fn ReleaseOutputDataPointer(&self, pconnectionproperty: *const APO_CONNECTION_PROPERTY) {
1010         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pconnectionproperty)))
1011     }
PulseEndpoint(&self)1012     pub unsafe fn PulseEndpoint(&self) {
1013         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)))
1014     }
1015 }
1016 unsafe impl ::windows::runtime::Interface for IAudioOutputEndpointRT {
1017     type Vtable = IAudioOutputEndpointRT_abi;
1018     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2410219236, 49948, 20017, [147, 46, 25, 166, 99, 133, 233, 170]);
1019 }
1020 impl ::std::convert::From<IAudioOutputEndpointRT> for ::windows::runtime::IUnknown {
from(value: IAudioOutputEndpointRT) -> Self1021     fn from(value: IAudioOutputEndpointRT) -> Self {
1022         unsafe { ::std::mem::transmute(value) }
1023     }
1024 }
1025 impl ::std::convert::From<&IAudioOutputEndpointRT> for ::windows::runtime::IUnknown {
from(value: &IAudioOutputEndpointRT) -> Self1026     fn from(value: &IAudioOutputEndpointRT) -> Self {
1027         ::std::convert::From::from(::std::clone::Clone::clone(value))
1028     }
1029 }
1030 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioOutputEndpointRT {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1031     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1032         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1033     }
1034 }
1035 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioOutputEndpointRT {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1036     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1037         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1038     }
1039 }
1040 #[repr(C)]
1041 #[doc(hidden)]
1042 pub struct IAudioOutputEndpointRT_abi(
1043     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1044     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1045     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1046     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, u32framecount: u32, paetimestamp: *const AE_CURRENT_POSITION) -> usize,
1047     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pconnectionproperty: *const APO_CONNECTION_PROPERTY),
1048     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
1049 );
1050 #[repr(transparent)]
1051 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1052 pub struct IRemoteDesktopClient(::windows::runtime::IUnknown);
1053 impl IRemoteDesktopClient {
Connect(&self) -> ::windows::runtime::Result<()>1054     pub unsafe fn Connect(&self) -> ::windows::runtime::Result<()> {
1055         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
1056     }
Disconnect(&self) -> ::windows::runtime::Result<()>1057     pub unsafe fn Disconnect(&self) -> ::windows::runtime::Result<()> {
1058         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
1059     }
Reconnect(&self, width: u32, height: u32) -> ::windows::runtime::Result<()>1060     pub unsafe fn Reconnect(&self, width: u32, height: u32) -> ::windows::runtime::Result<()> {
1061         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(width), ::std::mem::transmute(height)).ok()
1062     }
Settings(&self) -> ::windows::runtime::Result<IRemoteDesktopClientSettings>1063     pub unsafe fn Settings(&self) -> ::windows::runtime::Result<IRemoteDesktopClientSettings> {
1064         let mut result__: <IRemoteDesktopClientSettings as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1065         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IRemoteDesktopClientSettings>(result__)
1066     }
Actions(&self) -> ::windows::runtime::Result<IRemoteDesktopClientActions>1067     pub unsafe fn Actions(&self) -> ::windows::runtime::Result<IRemoteDesktopClientActions> {
1068         let mut result__: <IRemoteDesktopClientActions as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1069         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IRemoteDesktopClientActions>(result__)
1070     }
TouchPointer(&self) -> ::windows::runtime::Result<IRemoteDesktopClientTouchPointer>1071     pub unsafe fn TouchPointer(&self) -> ::windows::runtime::Result<IRemoteDesktopClientTouchPointer> {
1072         let mut result__: <IRemoteDesktopClientTouchPointer as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1073         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IRemoteDesktopClientTouchPointer>(result__)
1074     }
1075     #[cfg(feature = "Win32_Foundation")]
DeleteSavedCredentials<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, servername: Param0) -> ::windows::runtime::Result<()>1076     pub unsafe fn DeleteSavedCredentials<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, servername: Param0) -> ::windows::runtime::Result<()> {
1077         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), servername.into_param().abi()).ok()
1078     }
UpdateSessionDisplaySettings(&self, width: u32, height: u32) -> ::windows::runtime::Result<()>1079     pub unsafe fn UpdateSessionDisplaySettings(&self, width: u32, height: u32) -> ::windows::runtime::Result<()> {
1080         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(width), ::std::mem::transmute(height)).ok()
1081     }
1082     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
attachEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch>>(&self, eventname: Param0, callback: Param1) -> ::windows::runtime::Result<()>1083     pub unsafe fn attachEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch>>(&self, eventname: Param0, callback: Param1) -> ::windows::runtime::Result<()> {
1084         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), eventname.into_param().abi(), callback.into_param().abi()).ok()
1085     }
1086     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
detachEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch>>(&self, eventname: Param0, callback: Param1) -> ::windows::runtime::Result<()>1087     pub unsafe fn detachEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch>>(&self, eventname: Param0, callback: Param1) -> ::windows::runtime::Result<()> {
1088         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), eventname.into_param().abi(), callback.into_param().abi()).ok()
1089     }
1090 }
1091 unsafe impl ::windows::runtime::Interface for IRemoteDesktopClient {
1092     type Vtable = IRemoteDesktopClient_abi;
1093     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1473402472, 25178, 18693, [190, 78, 48, 76, 170, 19, 248, 156]);
1094 }
1095 impl ::std::convert::From<IRemoteDesktopClient> for ::windows::runtime::IUnknown {
from(value: IRemoteDesktopClient) -> Self1096     fn from(value: IRemoteDesktopClient) -> Self {
1097         unsafe { ::std::mem::transmute(value) }
1098     }
1099 }
1100 impl ::std::convert::From<&IRemoteDesktopClient> for ::windows::runtime::IUnknown {
from(value: &IRemoteDesktopClient) -> Self1101     fn from(value: &IRemoteDesktopClient) -> Self {
1102         ::std::convert::From::from(::std::clone::Clone::clone(value))
1103     }
1104 }
1105 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRemoteDesktopClient {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1106     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1107         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1108     }
1109 }
1110 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRemoteDesktopClient {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1111     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1112         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1113     }
1114 }
1115 #[cfg(feature = "Win32_System_Ole_Automation")]
1116 impl ::std::convert::From<IRemoteDesktopClient> for super::Ole::Automation::IDispatch {
from(value: IRemoteDesktopClient) -> Self1117     fn from(value: IRemoteDesktopClient) -> Self {
1118         unsafe { ::std::mem::transmute(value) }
1119     }
1120 }
1121 #[cfg(feature = "Win32_System_Ole_Automation")]
1122 impl ::std::convert::From<&IRemoteDesktopClient> for super::Ole::Automation::IDispatch {
from(value: &IRemoteDesktopClient) -> Self1123     fn from(value: &IRemoteDesktopClient) -> Self {
1124         ::std::convert::From::from(::std::clone::Clone::clone(value))
1125     }
1126 }
1127 #[cfg(feature = "Win32_System_Ole_Automation")]
1128 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch> for IRemoteDesktopClient {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch>1129     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch> {
1130         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IDispatch>::into(self))
1131     }
1132 }
1133 #[cfg(feature = "Win32_System_Ole_Automation")]
1134 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch> for &IRemoteDesktopClient {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch>1135     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch> {
1136         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
1137     }
1138 }
1139 #[repr(C)]
1140 #[doc(hidden)]
1141 pub struct IRemoteDesktopClient_abi(
1142     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1143     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1144     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1145     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
1146     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1147     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
1148     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
1149     #[cfg(not(feature = "Win32_Foundation"))] usize,
1150     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1151     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
1152     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1153     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1154     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1155     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, width: u32, height: u32) -> ::windows::runtime::HRESULT,
1156     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, settings: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1157     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, actions: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1158     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, touchpointer: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1159     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, servername: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1160     #[cfg(not(feature = "Win32_Foundation"))] usize,
1161     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, width: u32, height: u32) -> ::windows::runtime::HRESULT,
1162     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, callback: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1163     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation")))] usize,
1164     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, callback: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1165     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation")))] usize,
1166 );
1167 #[repr(transparent)]
1168 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1169 pub struct IRemoteDesktopClientActions(::windows::runtime::IUnknown);
1170 impl IRemoteDesktopClientActions {
SuspendScreenUpdates(&self) -> ::windows::runtime::Result<()>1171     pub unsafe fn SuspendScreenUpdates(&self) -> ::windows::runtime::Result<()> {
1172         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
1173     }
ResumeScreenUpdates(&self) -> ::windows::runtime::Result<()>1174     pub unsafe fn ResumeScreenUpdates(&self) -> ::windows::runtime::Result<()> {
1175         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
1176     }
ExecuteRemoteAction(&self, remoteaction: RemoteActionType) -> ::windows::runtime::Result<()>1177     pub unsafe fn ExecuteRemoteAction(&self, remoteaction: RemoteActionType) -> ::windows::runtime::Result<()> {
1178         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(remoteaction)).ok()
1179     }
1180     #[cfg(feature = "Win32_Foundation")]
GetSnapshot(&self, snapshotencoding: SnapshotEncodingType, snapshotformat: SnapshotFormatType, snapshotwidth: u32, snapshotheight: u32) -> ::windows::runtime::Result<super::super::Foundation::BSTR>1181     pub unsafe fn GetSnapshot(&self, snapshotencoding: SnapshotEncodingType, snapshotformat: SnapshotFormatType, snapshotwidth: u32, snapshotheight: u32) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1182         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1183         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(snapshotencoding), ::std::mem::transmute(snapshotformat), ::std::mem::transmute(snapshotwidth), ::std::mem::transmute(snapshotheight), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1184     }
1185 }
1186 unsafe impl ::windows::runtime::Interface for IRemoteDesktopClientActions {
1187     type Vtable = IRemoteDesktopClientActions_abi;
1188     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2102705230, 4136, 17876, [139, 10, 185, 182, 191, 251, 161, 118]);
1189 }
1190 impl ::std::convert::From<IRemoteDesktopClientActions> for ::windows::runtime::IUnknown {
from(value: IRemoteDesktopClientActions) -> Self1191     fn from(value: IRemoteDesktopClientActions) -> Self {
1192         unsafe { ::std::mem::transmute(value) }
1193     }
1194 }
1195 impl ::std::convert::From<&IRemoteDesktopClientActions> for ::windows::runtime::IUnknown {
from(value: &IRemoteDesktopClientActions) -> Self1196     fn from(value: &IRemoteDesktopClientActions) -> Self {
1197         ::std::convert::From::from(::std::clone::Clone::clone(value))
1198     }
1199 }
1200 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRemoteDesktopClientActions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1201     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1202         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1203     }
1204 }
1205 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRemoteDesktopClientActions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1206     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1207         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1208     }
1209 }
1210 #[cfg(feature = "Win32_System_Ole_Automation")]
1211 impl ::std::convert::From<IRemoteDesktopClientActions> for super::Ole::Automation::IDispatch {
from(value: IRemoteDesktopClientActions) -> Self1212     fn from(value: IRemoteDesktopClientActions) -> Self {
1213         unsafe { ::std::mem::transmute(value) }
1214     }
1215 }
1216 #[cfg(feature = "Win32_System_Ole_Automation")]
1217 impl ::std::convert::From<&IRemoteDesktopClientActions> for super::Ole::Automation::IDispatch {
from(value: &IRemoteDesktopClientActions) -> Self1218     fn from(value: &IRemoteDesktopClientActions) -> Self {
1219         ::std::convert::From::from(::std::clone::Clone::clone(value))
1220     }
1221 }
1222 #[cfg(feature = "Win32_System_Ole_Automation")]
1223 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch> for IRemoteDesktopClientActions {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch>1224     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch> {
1225         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IDispatch>::into(self))
1226     }
1227 }
1228 #[cfg(feature = "Win32_System_Ole_Automation")]
1229 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch> for &IRemoteDesktopClientActions {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch>1230     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch> {
1231         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
1232     }
1233 }
1234 #[repr(C)]
1235 #[doc(hidden)]
1236 pub struct IRemoteDesktopClientActions_abi(
1237     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1238     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1239     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1240     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
1241     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1242     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
1243     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
1244     #[cfg(not(feature = "Win32_Foundation"))] usize,
1245     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1246     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
1247     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1248     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1249     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1250     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, remoteaction: RemoteActionType) -> ::windows::runtime::HRESULT,
1251     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, snapshotencoding: SnapshotEncodingType, snapshotformat: SnapshotFormatType, snapshotwidth: u32, snapshotheight: u32, snapshotdata: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1252     #[cfg(not(feature = "Win32_Foundation"))] usize,
1253 );
1254 #[repr(transparent)]
1255 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1256 pub struct IRemoteDesktopClientSettings(::windows::runtime::IUnknown);
1257 impl IRemoteDesktopClientSettings {
1258     #[cfg(feature = "Win32_Foundation")]
ApplySettings<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, rdpfilecontents: Param0) -> ::windows::runtime::Result<()>1259     pub unsafe fn ApplySettings<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, rdpfilecontents: Param0) -> ::windows::runtime::Result<()> {
1260         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), rdpfilecontents.into_param().abi()).ok()
1261     }
1262     #[cfg(feature = "Win32_Foundation")]
RetrieveSettings(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>1263     pub unsafe fn RetrieveSettings(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1264         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1265         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1266     }
1267     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
GetRdpProperty<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, propertyname: Param0) -> ::windows::runtime::Result<super::Com::VARIANT>1268     pub unsafe fn GetRdpProperty<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, propertyname: Param0) -> ::windows::runtime::Result<super::Com::VARIANT> {
1269         let mut result__: <super::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1270         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), propertyname.into_param().abi(), &mut result__).from_abi::<super::Com::VARIANT>(result__)
1271     }
1272     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
SetRdpProperty<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::Com::VARIANT>>(&self, propertyname: Param0, value: Param1) -> ::windows::runtime::Result<()>1273     pub unsafe fn SetRdpProperty<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::Com::VARIANT>>(&self, propertyname: Param0, value: Param1) -> ::windows::runtime::Result<()> {
1274         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), propertyname.into_param().abi(), value.into_param().abi()).ok()
1275     }
1276 }
1277 unsafe impl ::windows::runtime::Interface for IRemoteDesktopClientSettings {
1278     type Vtable = IRemoteDesktopClientSettings_abi;
1279     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1218507431, 10003, 17183, [187, 172, 111, 69, 88, 231, 214, 77]);
1280 }
1281 impl ::std::convert::From<IRemoteDesktopClientSettings> for ::windows::runtime::IUnknown {
from(value: IRemoteDesktopClientSettings) -> Self1282     fn from(value: IRemoteDesktopClientSettings) -> Self {
1283         unsafe { ::std::mem::transmute(value) }
1284     }
1285 }
1286 impl ::std::convert::From<&IRemoteDesktopClientSettings> for ::windows::runtime::IUnknown {
from(value: &IRemoteDesktopClientSettings) -> Self1287     fn from(value: &IRemoteDesktopClientSettings) -> Self {
1288         ::std::convert::From::from(::std::clone::Clone::clone(value))
1289     }
1290 }
1291 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRemoteDesktopClientSettings {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1292     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1293         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1294     }
1295 }
1296 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRemoteDesktopClientSettings {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1297     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1298         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1299     }
1300 }
1301 #[cfg(feature = "Win32_System_Ole_Automation")]
1302 impl ::std::convert::From<IRemoteDesktopClientSettings> for super::Ole::Automation::IDispatch {
from(value: IRemoteDesktopClientSettings) -> Self1303     fn from(value: IRemoteDesktopClientSettings) -> Self {
1304         unsafe { ::std::mem::transmute(value) }
1305     }
1306 }
1307 #[cfg(feature = "Win32_System_Ole_Automation")]
1308 impl ::std::convert::From<&IRemoteDesktopClientSettings> for super::Ole::Automation::IDispatch {
from(value: &IRemoteDesktopClientSettings) -> Self1309     fn from(value: &IRemoteDesktopClientSettings) -> Self {
1310         ::std::convert::From::from(::std::clone::Clone::clone(value))
1311     }
1312 }
1313 #[cfg(feature = "Win32_System_Ole_Automation")]
1314 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch> for IRemoteDesktopClientSettings {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch>1315     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch> {
1316         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IDispatch>::into(self))
1317     }
1318 }
1319 #[cfg(feature = "Win32_System_Ole_Automation")]
1320 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch> for &IRemoteDesktopClientSettings {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch>1321     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch> {
1322         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
1323     }
1324 }
1325 #[repr(C)]
1326 #[doc(hidden)]
1327 pub struct IRemoteDesktopClientSettings_abi(
1328     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1329     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1330     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1331     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
1332     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1333     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
1334     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
1335     #[cfg(not(feature = "Win32_Foundation"))] usize,
1336     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1337     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
1338     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1339     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rdpfilecontents: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1340     #[cfg(not(feature = "Win32_Foundation"))] usize,
1341     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rdpfilecontents: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1342     #[cfg(not(feature = "Win32_Foundation"))] usize,
1343     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, value: *mut ::std::mem::ManuallyDrop<super::Com::VARIANT>) -> ::windows::runtime::HRESULT,
1344     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1345     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, value: ::std::mem::ManuallyDrop<super::Com::VARIANT>) -> ::windows::runtime::HRESULT,
1346     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1347 );
1348 #[repr(transparent)]
1349 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1350 pub struct IRemoteDesktopClientTouchPointer(::windows::runtime::IUnknown);
1351 impl IRemoteDesktopClientTouchPointer {
SetEnabled(&self, enabled: i16) -> ::windows::runtime::Result<()>1352     pub unsafe fn SetEnabled(&self, enabled: i16) -> ::windows::runtime::Result<()> {
1353         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(enabled)).ok()
1354     }
Enabled(&self) -> ::windows::runtime::Result<i16>1355     pub unsafe fn Enabled(&self) -> ::windows::runtime::Result<i16> {
1356         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1357         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
1358     }
SetEventsEnabled(&self, eventsenabled: i16) -> ::windows::runtime::Result<()>1359     pub unsafe fn SetEventsEnabled(&self, eventsenabled: i16) -> ::windows::runtime::Result<()> {
1360         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(eventsenabled)).ok()
1361     }
EventsEnabled(&self) -> ::windows::runtime::Result<i16>1362     pub unsafe fn EventsEnabled(&self) -> ::windows::runtime::Result<i16> {
1363         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1364         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
1365     }
SetPointerSpeed(&self, pointerspeed: u32) -> ::windows::runtime::Result<()>1366     pub unsafe fn SetPointerSpeed(&self, pointerspeed: u32) -> ::windows::runtime::Result<()> {
1367         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(pointerspeed)).ok()
1368     }
PointerSpeed(&self) -> ::windows::runtime::Result<u32>1369     pub unsafe fn PointerSpeed(&self) -> ::windows::runtime::Result<u32> {
1370         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1371         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
1372     }
1373 }
1374 unsafe impl ::windows::runtime::Interface for IRemoteDesktopClientTouchPointer {
1375     type Vtable = IRemoteDesktopClientTouchPointer_abi;
1376     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(638501421, 36028, 17589, [158, 136, 42, 55, 246, 201, 58, 233]);
1377 }
1378 impl ::std::convert::From<IRemoteDesktopClientTouchPointer> for ::windows::runtime::IUnknown {
from(value: IRemoteDesktopClientTouchPointer) -> Self1379     fn from(value: IRemoteDesktopClientTouchPointer) -> Self {
1380         unsafe { ::std::mem::transmute(value) }
1381     }
1382 }
1383 impl ::std::convert::From<&IRemoteDesktopClientTouchPointer> for ::windows::runtime::IUnknown {
from(value: &IRemoteDesktopClientTouchPointer) -> Self1384     fn from(value: &IRemoteDesktopClientTouchPointer) -> Self {
1385         ::std::convert::From::from(::std::clone::Clone::clone(value))
1386     }
1387 }
1388 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRemoteDesktopClientTouchPointer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1389     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1390         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1391     }
1392 }
1393 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRemoteDesktopClientTouchPointer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1394     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1395         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1396     }
1397 }
1398 #[cfg(feature = "Win32_System_Ole_Automation")]
1399 impl ::std::convert::From<IRemoteDesktopClientTouchPointer> for super::Ole::Automation::IDispatch {
from(value: IRemoteDesktopClientTouchPointer) -> Self1400     fn from(value: IRemoteDesktopClientTouchPointer) -> Self {
1401         unsafe { ::std::mem::transmute(value) }
1402     }
1403 }
1404 #[cfg(feature = "Win32_System_Ole_Automation")]
1405 impl ::std::convert::From<&IRemoteDesktopClientTouchPointer> for super::Ole::Automation::IDispatch {
from(value: &IRemoteDesktopClientTouchPointer) -> Self1406     fn from(value: &IRemoteDesktopClientTouchPointer) -> Self {
1407         ::std::convert::From::from(::std::clone::Clone::clone(value))
1408     }
1409 }
1410 #[cfg(feature = "Win32_System_Ole_Automation")]
1411 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch> for IRemoteDesktopClientTouchPointer {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch>1412     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch> {
1413         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IDispatch>::into(self))
1414     }
1415 }
1416 #[cfg(feature = "Win32_System_Ole_Automation")]
1417 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch> for &IRemoteDesktopClientTouchPointer {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch>1418     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch> {
1419         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
1420     }
1421 }
1422 #[repr(C)]
1423 #[doc(hidden)]
1424 pub struct IRemoteDesktopClientTouchPointer_abi(
1425     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1426     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1427     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1428     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
1429     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1430     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
1431     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
1432     #[cfg(not(feature = "Win32_Foundation"))] usize,
1433     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1434     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
1435     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1436     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enabled: i16) -> ::windows::runtime::HRESULT,
1437     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enabled: *mut i16) -> ::windows::runtime::HRESULT,
1438     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventsenabled: i16) -> ::windows::runtime::HRESULT,
1439     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventsenabled: *mut i16) -> ::windows::runtime::HRESULT,
1440     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pointerspeed: u32) -> ::windows::runtime::HRESULT,
1441     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pointerspeed: *mut u32) -> ::windows::runtime::HRESULT,
1442 );
1443 #[repr(transparent)]
1444 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1445 pub struct IRemoteSystemAdditionalInfoProvider(::windows::runtime::IUnknown);
1446 impl IRemoteSystemAdditionalInfoProvider {
GetAdditionalInfo<T: ::windows::runtime::Interface>(&self, deduplicationid: *mut ::windows::runtime::HSTRING) -> ::windows::runtime::Result<T>1447     pub unsafe fn GetAdditionalInfo<T: ::windows::runtime::Interface>(&self, deduplicationid: *mut ::windows::runtime::HSTRING) -> ::windows::runtime::Result<T> {
1448         let mut result__ = ::std::option::Option::None;
1449         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(deduplicationid), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
1450     }
1451 }
1452 unsafe impl ::windows::runtime::Interface for IRemoteSystemAdditionalInfoProvider {
1453     type Vtable = IRemoteSystemAdditionalInfoProvider_abi;
1454     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4004134239, 60515, 19751, [175, 56, 232, 107, 29, 114, 146, 203]);
1455 }
1456 impl ::std::convert::From<IRemoteSystemAdditionalInfoProvider> for ::windows::runtime::IUnknown {
from(value: IRemoteSystemAdditionalInfoProvider) -> Self1457     fn from(value: IRemoteSystemAdditionalInfoProvider) -> Self {
1458         unsafe { ::std::mem::transmute(value) }
1459     }
1460 }
1461 impl ::std::convert::From<&IRemoteSystemAdditionalInfoProvider> for ::windows::runtime::IUnknown {
from(value: &IRemoteSystemAdditionalInfoProvider) -> Self1462     fn from(value: &IRemoteSystemAdditionalInfoProvider) -> Self {
1463         ::std::convert::From::from(::std::clone::Clone::clone(value))
1464     }
1465 }
1466 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRemoteSystemAdditionalInfoProvider {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1467     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1468         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1469     }
1470 }
1471 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRemoteSystemAdditionalInfoProvider {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1472     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1473         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1474     }
1475 }
1476 #[repr(C)]
1477 #[doc(hidden)]
1478 pub struct IRemoteSystemAdditionalInfoProvider_abi(
1479     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1480     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1481     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1482     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, deduplicationid: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, riid: *const ::windows::runtime::GUID, mapview: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
1483 );
1484 #[repr(transparent)]
1485 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1486 pub struct ITSGAccountingEngine(::windows::runtime::IUnknown);
1487 impl ITSGAccountingEngine {
1488     #[cfg(feature = "Win32_Foundation")]
DoAccounting<'a, Param1: ::windows::runtime::IntoParam<'a, AAAccountingData>>(&self, accountingdatatype: AAAccountingDataType, accountingdata: Param1) -> ::windows::runtime::Result<()>1489     pub unsafe fn DoAccounting<'a, Param1: ::windows::runtime::IntoParam<'a, AAAccountingData>>(&self, accountingdatatype: AAAccountingDataType, accountingdata: Param1) -> ::windows::runtime::Result<()> {
1490         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(accountingdatatype), accountingdata.into_param().abi()).ok()
1491     }
1492 }
1493 unsafe impl ::windows::runtime::Interface for ITSGAccountingEngine {
1494     type Vtable = ITSGAccountingEngine_abi;
1495     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1289920713, 59508, 20250, [134, 244, 6, 187, 185, 17, 83, 56]);
1496 }
1497 impl ::std::convert::From<ITSGAccountingEngine> for ::windows::runtime::IUnknown {
from(value: ITSGAccountingEngine) -> Self1498     fn from(value: ITSGAccountingEngine) -> Self {
1499         unsafe { ::std::mem::transmute(value) }
1500     }
1501 }
1502 impl ::std::convert::From<&ITSGAccountingEngine> for ::windows::runtime::IUnknown {
from(value: &ITSGAccountingEngine) -> Self1503     fn from(value: &ITSGAccountingEngine) -> Self {
1504         ::std::convert::From::from(::std::clone::Clone::clone(value))
1505     }
1506 }
1507 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITSGAccountingEngine {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1508     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1509         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1510     }
1511 }
1512 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITSGAccountingEngine {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1513     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1514         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1515     }
1516 }
1517 #[repr(C)]
1518 #[doc(hidden)]
1519 pub struct ITSGAccountingEngine_abi(
1520     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1521     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1522     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1523     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, accountingdatatype: AAAccountingDataType, accountingdata: ::std::mem::ManuallyDrop<AAAccountingData>) -> ::windows::runtime::HRESULT,
1524     #[cfg(not(feature = "Win32_Foundation"))] usize,
1525 );
1526 #[repr(transparent)]
1527 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1528 pub struct ITSGAuthenticateUserSink(::windows::runtime::IUnknown);
1529 impl ITSGAuthenticateUserSink {
1530     #[cfg(feature = "Win32_Foundation")]
OnUserAuthenticated<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE_PTR>>(&self, username: Param0, userdomain: Param1, context: usize, usertoken: Param3) -> ::windows::runtime::Result<()>1531     pub unsafe fn OnUserAuthenticated<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE_PTR>>(&self, username: Param0, userdomain: Param1, context: usize, usertoken: Param3) -> ::windows::runtime::Result<()> {
1532         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), username.into_param().abi(), userdomain.into_param().abi(), ::std::mem::transmute(context), usertoken.into_param().abi()).ok()
1533     }
OnUserAuthenticationFailed(&self, context: usize, genericerrorcode: ::windows::runtime::HRESULT, specificerrorcode: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>1534     pub unsafe fn OnUserAuthenticationFailed(&self, context: usize, genericerrorcode: ::windows::runtime::HRESULT, specificerrorcode: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
1535         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(context), ::std::mem::transmute(genericerrorcode), ::std::mem::transmute(specificerrorcode)).ok()
1536     }
ReauthenticateUser(&self, context: usize) -> ::windows::runtime::Result<()>1537     pub unsafe fn ReauthenticateUser(&self, context: usize) -> ::windows::runtime::Result<()> {
1538         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(context)).ok()
1539     }
DisconnectUser(&self, context: usize) -> ::windows::runtime::Result<()>1540     pub unsafe fn DisconnectUser(&self, context: usize) -> ::windows::runtime::Result<()> {
1541         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(context)).ok()
1542     }
1543 }
1544 unsafe impl ::windows::runtime::Interface for ITSGAuthenticateUserSink {
1545     type Vtable = ITSGAuthenticateUserSink_abi;
1546     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(742272627, 42882, 18425, [141, 251, 119, 238, 30, 210, 122, 3]);
1547 }
1548 impl ::std::convert::From<ITSGAuthenticateUserSink> for ::windows::runtime::IUnknown {
from(value: ITSGAuthenticateUserSink) -> Self1549     fn from(value: ITSGAuthenticateUserSink) -> Self {
1550         unsafe { ::std::mem::transmute(value) }
1551     }
1552 }
1553 impl ::std::convert::From<&ITSGAuthenticateUserSink> for ::windows::runtime::IUnknown {
from(value: &ITSGAuthenticateUserSink) -> Self1554     fn from(value: &ITSGAuthenticateUserSink) -> Self {
1555         ::std::convert::From::from(::std::clone::Clone::clone(value))
1556     }
1557 }
1558 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITSGAuthenticateUserSink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1559     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1560         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1561     }
1562 }
1563 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITSGAuthenticateUserSink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1564     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1565         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1566     }
1567 }
1568 #[repr(C)]
1569 #[doc(hidden)]
1570 pub struct ITSGAuthenticateUserSink_abi(
1571     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1572     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1573     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1574     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, username: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, userdomain: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, context: usize, usertoken: super::super::Foundation::HANDLE_PTR) -> ::windows::runtime::HRESULT,
1575     #[cfg(not(feature = "Win32_Foundation"))] usize,
1576     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, context: usize, genericerrorcode: ::windows::runtime::HRESULT, specificerrorcode: ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
1577     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, context: usize) -> ::windows::runtime::HRESULT,
1578     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, context: usize) -> ::windows::runtime::HRESULT,
1579 );
1580 #[repr(transparent)]
1581 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1582 pub struct ITSGAuthenticationEngine(::windows::runtime::IUnknown);
1583 impl ITSGAuthenticationEngine {
AuthenticateUser<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param4: ::windows::runtime::IntoParam<'a, ITSGAuthenticateUserSink>>(&self, mainsessionid: Param0, cookiedata: *const u8, numcookiebytes: u32, context: usize, psink: Param4) -> ::windows::runtime::Result<()>1584     pub unsafe fn AuthenticateUser<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param4: ::windows::runtime::IntoParam<'a, ITSGAuthenticateUserSink>>(&self, mainsessionid: Param0, cookiedata: *const u8, numcookiebytes: u32, context: usize, psink: Param4) -> ::windows::runtime::Result<()> {
1585         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), mainsessionid.into_param().abi(), ::std::mem::transmute(cookiedata), ::std::mem::transmute(numcookiebytes), ::std::mem::transmute(context), psink.into_param().abi()).ok()
1586     }
CancelAuthentication<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, mainsessionid: Param0, context: usize) -> ::windows::runtime::Result<()>1587     pub unsafe fn CancelAuthentication<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, mainsessionid: Param0, context: usize) -> ::windows::runtime::Result<()> {
1588         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), mainsessionid.into_param().abi(), ::std::mem::transmute(context)).ok()
1589     }
1590 }
1591 unsafe impl ::windows::runtime::Interface for ITSGAuthenticationEngine {
1592     type Vtable = ITSGAuthenticationEngine_abi;
1593     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2665735615, 1195, 18065, [153, 140, 215, 246, 34, 50, 26, 86]);
1594 }
1595 impl ::std::convert::From<ITSGAuthenticationEngine> for ::windows::runtime::IUnknown {
from(value: ITSGAuthenticationEngine) -> Self1596     fn from(value: ITSGAuthenticationEngine) -> Self {
1597         unsafe { ::std::mem::transmute(value) }
1598     }
1599 }
1600 impl ::std::convert::From<&ITSGAuthenticationEngine> for ::windows::runtime::IUnknown {
from(value: &ITSGAuthenticationEngine) -> Self1601     fn from(value: &ITSGAuthenticationEngine) -> Self {
1602         ::std::convert::From::from(::std::clone::Clone::clone(value))
1603     }
1604 }
1605 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITSGAuthenticationEngine {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1606     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1607         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1608     }
1609 }
1610 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITSGAuthenticationEngine {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1611     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1612         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1613     }
1614 }
1615 #[repr(C)]
1616 #[doc(hidden)]
1617 pub struct ITSGAuthenticationEngine_abi(
1618     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1619     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1620     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1621     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mainsessionid: ::windows::runtime::GUID, cookiedata: *const u8, numcookiebytes: u32, context: usize, psink: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1622     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mainsessionid: ::windows::runtime::GUID, context: usize) -> ::windows::runtime::HRESULT,
1623 );
1624 #[repr(transparent)]
1625 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1626 pub struct ITSGAuthorizeConnectionSink(::windows::runtime::IUnknown);
1627 impl ITSGAuthorizeConnectionSink {
OnConnectionAuthorized<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, hrin: ::windows::runtime::HRESULT, mainsessionid: Param1, cbsohresponse: u32, pbsohresponse: *const u8, idletimeout: u32, sessiontimeout: u32, sessiontimeoutaction: SESSION_TIMEOUT_ACTION_TYPE, trustclass: AATrustClassID, policyattributes: *const u32) -> ::windows::runtime::Result<()>1628     pub unsafe fn OnConnectionAuthorized<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, hrin: ::windows::runtime::HRESULT, mainsessionid: Param1, cbsohresponse: u32, pbsohresponse: *const u8, idletimeout: u32, sessiontimeout: u32, sessiontimeoutaction: SESSION_TIMEOUT_ACTION_TYPE, trustclass: AATrustClassID, policyattributes: *const u32) -> ::windows::runtime::Result<()> {
1629         (::windows::runtime::Interface::vtable(self).3)(
1630             ::std::mem::transmute_copy(self),
1631             ::std::mem::transmute(hrin),
1632             mainsessionid.into_param().abi(),
1633             ::std::mem::transmute(cbsohresponse),
1634             ::std::mem::transmute(pbsohresponse),
1635             ::std::mem::transmute(idletimeout),
1636             ::std::mem::transmute(sessiontimeout),
1637             ::std::mem::transmute(sessiontimeoutaction),
1638             ::std::mem::transmute(trustclass),
1639             ::std::mem::transmute(policyattributes),
1640         )
1641         .ok()
1642     }
1643 }
1644 unsafe impl ::windows::runtime::Interface for ITSGAuthorizeConnectionSink {
1645     type Vtable = ITSGAuthorizeConnectionSink_abi;
1646     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3263090227, 30593, 17176, [152, 239, 28, 242, 218, 123, 112, 5]);
1647 }
1648 impl ::std::convert::From<ITSGAuthorizeConnectionSink> for ::windows::runtime::IUnknown {
from(value: ITSGAuthorizeConnectionSink) -> Self1649     fn from(value: ITSGAuthorizeConnectionSink) -> Self {
1650         unsafe { ::std::mem::transmute(value) }
1651     }
1652 }
1653 impl ::std::convert::From<&ITSGAuthorizeConnectionSink> for ::windows::runtime::IUnknown {
from(value: &ITSGAuthorizeConnectionSink) -> Self1654     fn from(value: &ITSGAuthorizeConnectionSink) -> Self {
1655         ::std::convert::From::from(::std::clone::Clone::clone(value))
1656     }
1657 }
1658 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITSGAuthorizeConnectionSink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1659     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1660         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1661     }
1662 }
1663 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITSGAuthorizeConnectionSink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1664     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1665         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1666     }
1667 }
1668 #[repr(C)]
1669 #[doc(hidden)]
1670 pub struct ITSGAuthorizeConnectionSink_abi(
1671     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1672     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1673     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1674     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hrin: ::windows::runtime::HRESULT, mainsessionid: ::windows::runtime::GUID, cbsohresponse: u32, pbsohresponse: *const u8, idletimeout: u32, sessiontimeout: u32, sessiontimeoutaction: SESSION_TIMEOUT_ACTION_TYPE, trustclass: AATrustClassID, policyattributes: *const u32) -> ::windows::runtime::HRESULT,
1675 );
1676 #[repr(transparent)]
1677 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1678 pub struct ITSGAuthorizeResourceSink(::windows::runtime::IUnknown);
1679 impl ITSGAuthorizeResourceSink {
1680     #[cfg(feature = "Win32_Foundation")]
OnChannelAuthorized<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, hrin: ::windows::runtime::HRESULT, mainsessionid: Param1, subsessionid: i32, allowedresourcenames: *const super::super::Foundation::BSTR, numallowedresourcenames: u32, failedresourcenames: *const super::super::Foundation::BSTR, numfailedresourcenames: u32) -> ::windows::runtime::Result<()>1681     pub unsafe fn OnChannelAuthorized<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, hrin: ::windows::runtime::HRESULT, mainsessionid: Param1, subsessionid: i32, allowedresourcenames: *const super::super::Foundation::BSTR, numallowedresourcenames: u32, failedresourcenames: *const super::super::Foundation::BSTR, numfailedresourcenames: u32) -> ::windows::runtime::Result<()> {
1682         (::windows::runtime::Interface::vtable(self).3)(
1683             ::std::mem::transmute_copy(self),
1684             ::std::mem::transmute(hrin),
1685             mainsessionid.into_param().abi(),
1686             ::std::mem::transmute(subsessionid),
1687             ::std::mem::transmute(allowedresourcenames),
1688             ::std::mem::transmute(numallowedresourcenames),
1689             ::std::mem::transmute(failedresourcenames),
1690             ::std::mem::transmute(numfailedresourcenames),
1691         )
1692         .ok()
1693     }
1694 }
1695 unsafe impl ::windows::runtime::Interface for ITSGAuthorizeResourceSink {
1696     type Vtable = ITSGAuthorizeResourceSink_abi;
1697     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4275961044, 64018, 17461, [174, 85, 122, 209, 169, 119, 154, 247]);
1698 }
1699 impl ::std::convert::From<ITSGAuthorizeResourceSink> for ::windows::runtime::IUnknown {
from(value: ITSGAuthorizeResourceSink) -> Self1700     fn from(value: ITSGAuthorizeResourceSink) -> Self {
1701         unsafe { ::std::mem::transmute(value) }
1702     }
1703 }
1704 impl ::std::convert::From<&ITSGAuthorizeResourceSink> for ::windows::runtime::IUnknown {
from(value: &ITSGAuthorizeResourceSink) -> Self1705     fn from(value: &ITSGAuthorizeResourceSink) -> Self {
1706         ::std::convert::From::from(::std::clone::Clone::clone(value))
1707     }
1708 }
1709 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITSGAuthorizeResourceSink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1710     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1711         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1712     }
1713 }
1714 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITSGAuthorizeResourceSink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1715     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1716         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1717     }
1718 }
1719 #[repr(C)]
1720 #[doc(hidden)]
1721 pub struct ITSGAuthorizeResourceSink_abi(
1722     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1723     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1724     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1725     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hrin: ::windows::runtime::HRESULT, mainsessionid: ::windows::runtime::GUID, subsessionid: i32, allowedresourcenames: *const ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, numallowedresourcenames: u32, failedresourcenames: *const ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, numfailedresourcenames: u32) -> ::windows::runtime::HRESULT,
1726     #[cfg(not(feature = "Win32_Foundation"))] usize,
1727 );
1728 #[repr(transparent)]
1729 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1730 pub struct ITSGPolicyEngine(::windows::runtime::IUnknown);
1731 impl ITSGPolicyEngine {
1732     #[cfg(feature = "Win32_Foundation")]
AuthorizeConnection<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param9: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE_PTR>, Param10: ::windows::runtime::IntoParam<'a, ITSGAuthorizeConnectionSink>>( &self, mainsessionid: Param0, username: Param1, authtype: AAAuthSchemes, clientmachineip: Param3, clientmachinename: Param4, sohdata: *const u8, numsohbytes: u32, cookiedata: *const u8, numcookiebytes: u32, usertoken: Param9, psink: Param10, ) -> ::windows::runtime::Result<()>1733     pub unsafe fn AuthorizeConnection<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param9: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE_PTR>, Param10: ::windows::runtime::IntoParam<'a, ITSGAuthorizeConnectionSink>>(
1734         &self,
1735         mainsessionid: Param0,
1736         username: Param1,
1737         authtype: AAAuthSchemes,
1738         clientmachineip: Param3,
1739         clientmachinename: Param4,
1740         sohdata: *const u8,
1741         numsohbytes: u32,
1742         cookiedata: *const u8,
1743         numcookiebytes: u32,
1744         usertoken: Param9,
1745         psink: Param10,
1746     ) -> ::windows::runtime::Result<()> {
1747         (::windows::runtime::Interface::vtable(self).3)(
1748             ::std::mem::transmute_copy(self),
1749             mainsessionid.into_param().abi(),
1750             username.into_param().abi(),
1751             ::std::mem::transmute(authtype),
1752             clientmachineip.into_param().abi(),
1753             clientmachinename.into_param().abi(),
1754             ::std::mem::transmute(sohdata),
1755             ::std::mem::transmute(numsohbytes),
1756             ::std::mem::transmute(cookiedata),
1757             ::std::mem::transmute(numcookiebytes),
1758             usertoken.into_param().abi(),
1759             psink.into_param().abi(),
1760         )
1761         .ok()
1762     }
1763     #[cfg(feature = "Win32_Foundation")]
AuthorizeResource<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param8: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param11: ::windows::runtime::IntoParam<'a, ITSGAuthorizeResourceSink>>( &self, mainsessionid: Param0, subsessionid: i32, username: Param2, resourcenames: *const super::super::Foundation::BSTR, numresources: u32, alternateresourcenames: *const super::super::Foundation::BSTR, numalternateresourcename: u32, portnumber: u32, operation: Param8, cookie: *const u8, numbytesincookie: u32, psink: Param11, ) -> ::windows::runtime::Result<()>1764     pub unsafe fn AuthorizeResource<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param8: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param11: ::windows::runtime::IntoParam<'a, ITSGAuthorizeResourceSink>>(
1765         &self,
1766         mainsessionid: Param0,
1767         subsessionid: i32,
1768         username: Param2,
1769         resourcenames: *const super::super::Foundation::BSTR,
1770         numresources: u32,
1771         alternateresourcenames: *const super::super::Foundation::BSTR,
1772         numalternateresourcename: u32,
1773         portnumber: u32,
1774         operation: Param8,
1775         cookie: *const u8,
1776         numbytesincookie: u32,
1777         psink: Param11,
1778     ) -> ::windows::runtime::Result<()> {
1779         (::windows::runtime::Interface::vtable(self).4)(
1780             ::std::mem::transmute_copy(self),
1781             mainsessionid.into_param().abi(),
1782             ::std::mem::transmute(subsessionid),
1783             username.into_param().abi(),
1784             ::std::mem::transmute(resourcenames),
1785             ::std::mem::transmute(numresources),
1786             ::std::mem::transmute(alternateresourcenames),
1787             ::std::mem::transmute(numalternateresourcename),
1788             ::std::mem::transmute(portnumber),
1789             operation.into_param().abi(),
1790             ::std::mem::transmute(cookie),
1791             ::std::mem::transmute(numbytesincookie),
1792             psink.into_param().abi(),
1793         )
1794         .ok()
1795     }
Refresh(&self) -> ::windows::runtime::Result<()>1796     pub unsafe fn Refresh(&self) -> ::windows::runtime::Result<()> {
1797         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
1798     }
1799     #[cfg(feature = "Win32_Foundation")]
IsQuarantineEnabled(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1800     pub unsafe fn IsQuarantineEnabled(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1801         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1802         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1803     }
1804 }
1805 unsafe impl ::windows::runtime::Interface for ITSGPolicyEngine {
1806     type Vtable = ITSGPolicyEngine_abi;
1807     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2344767240, 25123, 17140, [165, 180, 142, 55, 205, 19, 91, 189]);
1808 }
1809 impl ::std::convert::From<ITSGPolicyEngine> for ::windows::runtime::IUnknown {
from(value: ITSGPolicyEngine) -> Self1810     fn from(value: ITSGPolicyEngine) -> Self {
1811         unsafe { ::std::mem::transmute(value) }
1812     }
1813 }
1814 impl ::std::convert::From<&ITSGPolicyEngine> for ::windows::runtime::IUnknown {
from(value: &ITSGPolicyEngine) -> Self1815     fn from(value: &ITSGPolicyEngine) -> Self {
1816         ::std::convert::From::from(::std::clone::Clone::clone(value))
1817     }
1818 }
1819 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITSGPolicyEngine {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1820     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1821         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1822     }
1823 }
1824 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITSGPolicyEngine {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1825     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1826         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1827     }
1828 }
1829 #[repr(C)]
1830 #[doc(hidden)]
1831 pub struct ITSGPolicyEngine_abi(
1832     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1833     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1834     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1835     #[cfg(feature = "Win32_Foundation")]
1836     pub  unsafe extern "system" fn(
1837         this: ::windows::runtime::RawPtr,
1838         mainsessionid: ::windows::runtime::GUID,
1839         username: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
1840         authtype: AAAuthSchemes,
1841         clientmachineip: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
1842         clientmachinename: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
1843         sohdata: *const u8,
1844         numsohbytes: u32,
1845         cookiedata: *const u8,
1846         numcookiebytes: u32,
1847         usertoken: super::super::Foundation::HANDLE_PTR,
1848         psink: ::windows::runtime::RawPtr,
1849     ) -> ::windows::runtime::HRESULT,
1850     #[cfg(not(feature = "Win32_Foundation"))] usize,
1851     #[cfg(feature = "Win32_Foundation")]
1852     pub  unsafe extern "system" fn(
1853         this: ::windows::runtime::RawPtr,
1854         mainsessionid: ::windows::runtime::GUID,
1855         subsessionid: i32,
1856         username: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
1857         resourcenames: *const ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
1858         numresources: u32,
1859         alternateresourcenames: *const ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
1860         numalternateresourcename: u32,
1861         portnumber: u32,
1862         operation: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
1863         cookie: *const u8,
1864         numbytesincookie: u32,
1865         psink: ::windows::runtime::RawPtr,
1866     ) -> ::windows::runtime::HRESULT,
1867     #[cfg(not(feature = "Win32_Foundation"))] usize,
1868     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1869     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, quarantineenabled: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1870     #[cfg(not(feature = "Win32_Foundation"))] usize,
1871 );
1872 #[repr(transparent)]
1873 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1874 pub struct ITsSbBaseNotifySink(::windows::runtime::IUnknown);
1875 impl ITsSbBaseNotifySink {
OnError(&self, hrerror: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>1876     pub unsafe fn OnError(&self, hrerror: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
1877         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(hrerror)).ok()
1878     }
OnReportStatus(&self, messagetype: CLIENT_MESSAGE_TYPE, messageid: u32) -> ::windows::runtime::Result<()>1879     pub unsafe fn OnReportStatus(&self, messagetype: CLIENT_MESSAGE_TYPE, messageid: u32) -> ::windows::runtime::Result<()> {
1880         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(messagetype), ::std::mem::transmute(messageid)).ok()
1881     }
1882 }
1883 unsafe impl ::windows::runtime::Interface for ITsSbBaseNotifySink {
1884     type Vtable = ITsSbBaseNotifySink_abi;
1885     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2156553527, 4738, 18825, [158, 9, 244, 57, 56, 183, 23, 34]);
1886 }
1887 impl ::std::convert::From<ITsSbBaseNotifySink> for ::windows::runtime::IUnknown {
from(value: ITsSbBaseNotifySink) -> Self1888     fn from(value: ITsSbBaseNotifySink) -> Self {
1889         unsafe { ::std::mem::transmute(value) }
1890     }
1891 }
1892 impl ::std::convert::From<&ITsSbBaseNotifySink> for ::windows::runtime::IUnknown {
from(value: &ITsSbBaseNotifySink) -> Self1893     fn from(value: &ITsSbBaseNotifySink) -> Self {
1894         ::std::convert::From::from(::std::clone::Clone::clone(value))
1895     }
1896 }
1897 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbBaseNotifySink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1898     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1899         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1900     }
1901 }
1902 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbBaseNotifySink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1903     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1904         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1905     }
1906 }
1907 #[repr(C)]
1908 #[doc(hidden)]
1909 pub struct ITsSbBaseNotifySink_abi(
1910     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1911     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1912     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1913     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hrerror: ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
1914     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, messagetype: CLIENT_MESSAGE_TYPE, messageid: u32) -> ::windows::runtime::HRESULT,
1915 );
1916 #[repr(transparent)]
1917 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1918 pub struct ITsSbClientConnection(::windows::runtime::IUnknown);
1919 impl ITsSbClientConnection {
1920     #[cfg(feature = "Win32_Foundation")]
UserName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>1921     pub unsafe fn UserName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1922         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1923         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1924     }
1925     #[cfg(feature = "Win32_Foundation")]
Domain(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>1926     pub unsafe fn Domain(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1927         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1928         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1929     }
1930     #[cfg(feature = "Win32_Foundation")]
InitialProgram(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>1931     pub unsafe fn InitialProgram(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1932         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1933         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1934     }
LoadBalanceResult(&self) -> ::windows::runtime::Result<ITsSbLoadBalanceResult>1935     pub unsafe fn LoadBalanceResult(&self) -> ::windows::runtime::Result<ITsSbLoadBalanceResult> {
1936         let mut result__: <ITsSbLoadBalanceResult as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1937         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITsSbLoadBalanceResult>(result__)
1938     }
1939     #[cfg(feature = "Win32_Foundation")]
FarmName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>1940     pub unsafe fn FarmName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1941         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1942         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1943     }
1944     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
PutContext<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::Com::VARIANT>>(&self, contextid: Param0, context: Param1) -> ::windows::runtime::Result<super::Com::VARIANT>1945     pub unsafe fn PutContext<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::Com::VARIANT>>(&self, contextid: Param0, context: Param1) -> ::windows::runtime::Result<super::Com::VARIANT> {
1946         let mut result__: <super::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1947         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), contextid.into_param().abi(), context.into_param().abi(), &mut result__).from_abi::<super::Com::VARIANT>(result__)
1948     }
1949     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
GetContext<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, contextid: Param0) -> ::windows::runtime::Result<super::Com::VARIANT>1950     pub unsafe fn GetContext<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, contextid: Param0) -> ::windows::runtime::Result<super::Com::VARIANT> {
1951         let mut result__: <super::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1952         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), contextid.into_param().abi(), &mut result__).from_abi::<super::Com::VARIANT>(result__)
1953     }
Environment(&self) -> ::windows::runtime::Result<ITsSbEnvironment>1954     pub unsafe fn Environment(&self) -> ::windows::runtime::Result<ITsSbEnvironment> {
1955         let mut result__: <ITsSbEnvironment as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1956         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITsSbEnvironment>(result__)
1957     }
ConnectionError(&self) -> ::windows::runtime::Result<()>1958     pub unsafe fn ConnectionError(&self) -> ::windows::runtime::Result<()> {
1959         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
1960     }
1961     #[cfg(feature = "Win32_Foundation")]
SamUserAccount(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>1962     pub unsafe fn SamUserAccount(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1963         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1964         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1965     }
ClientConnectionPropertySet(&self) -> ::windows::runtime::Result<ITsSbClientConnectionPropertySet>1966     pub unsafe fn ClientConnectionPropertySet(&self) -> ::windows::runtime::Result<ITsSbClientConnectionPropertySet> {
1967         let mut result__: <ITsSbClientConnectionPropertySet as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1968         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITsSbClientConnectionPropertySet>(result__)
1969     }
1970     #[cfg(feature = "Win32_Foundation")]
IsFirstAssignment(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1971     pub unsafe fn IsFirstAssignment(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1972         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1973         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1974     }
RdFarmType(&self) -> ::windows::runtime::Result<RD_FARM_TYPE>1975     pub unsafe fn RdFarmType(&self) -> ::windows::runtime::Result<RD_FARM_TYPE> {
1976         let mut result__: <RD_FARM_TYPE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1977         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<RD_FARM_TYPE>(result__)
1978     }
UserSidString(&self) -> ::windows::runtime::Result<*mut i8>1979     pub unsafe fn UserSidString(&self) -> ::windows::runtime::Result<*mut i8> {
1980         let mut result__: <*mut i8 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1981         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut i8>(result__)
1982     }
GetDisconnectedSession(&self) -> ::windows::runtime::Result<ITsSbSession>1983     pub unsafe fn GetDisconnectedSession(&self) -> ::windows::runtime::Result<ITsSbSession> {
1984         let mut result__: <ITsSbSession as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1985         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITsSbSession>(result__)
1986     }
1987 }
1988 unsafe impl ::windows::runtime::Interface for ITsSbClientConnection {
1989     type Vtable = ITsSbClientConnection_abi;
1990     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(411399321, 44385, 19227, [183, 223, 203, 205, 65, 251, 131, 56]);
1991 }
1992 impl ::std::convert::From<ITsSbClientConnection> for ::windows::runtime::IUnknown {
from(value: ITsSbClientConnection) -> Self1993     fn from(value: ITsSbClientConnection) -> Self {
1994         unsafe { ::std::mem::transmute(value) }
1995     }
1996 }
1997 impl ::std::convert::From<&ITsSbClientConnection> for ::windows::runtime::IUnknown {
from(value: &ITsSbClientConnection) -> Self1998     fn from(value: &ITsSbClientConnection) -> Self {
1999         ::std::convert::From::from(::std::clone::Clone::clone(value))
2000     }
2001 }
2002 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbClientConnection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2003     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2004         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2005     }
2006 }
2007 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbClientConnection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2008     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2009         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2010     }
2011 }
2012 #[repr(C)]
2013 #[doc(hidden)]
2014 pub struct ITsSbClientConnection_abi(
2015     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2016     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2017     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2018     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2019     #[cfg(not(feature = "Win32_Foundation"))] usize,
2020     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2021     #[cfg(not(feature = "Win32_Foundation"))] usize,
2022     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2023     #[cfg(not(feature = "Win32_Foundation"))] usize,
2024     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2025     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2026     #[cfg(not(feature = "Win32_Foundation"))] usize,
2027     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, contextid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, context: ::std::mem::ManuallyDrop<super::Com::VARIANT>, existingcontext: *mut ::std::mem::ManuallyDrop<super::Com::VARIANT>) -> ::windows::runtime::HRESULT,
2028     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2029     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, contextid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, context: *mut ::std::mem::ManuallyDrop<super::Com::VARIANT>) -> ::windows::runtime::HRESULT,
2030     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2031     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenvironment: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2032     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2033     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2034     #[cfg(not(feature = "Win32_Foundation"))] usize,
2035     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pppropertyset: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2036     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
2037     #[cfg(not(feature = "Win32_Foundation"))] usize,
2038     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prdfarmtype: *mut RD_FARM_TYPE) -> ::windows::runtime::HRESULT,
2039     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszusersidstring: *mut *mut i8) -> ::windows::runtime::HRESULT,
2040     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppsession: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2041 );
2042 #[repr(transparent)]
2043 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2044 pub struct ITsSbClientConnectionPropertySet(::windows::runtime::IUnknown);
2045 impl ITsSbClientConnectionPropertySet {
2046     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Read<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::Ole::Automation::IErrorLog>>(&self, pszpropname: Param0, pvar: *mut super::Com::VARIANT, perrorlog: Param2) -> ::windows::runtime::Result<()>2047     pub unsafe fn Read<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::Ole::Automation::IErrorLog>>(&self, pszpropname: Param0, pvar: *mut super::Com::VARIANT, perrorlog: Param2) -> ::windows::runtime::Result<()> {
2048         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pszpropname.into_param().abi(), ::std::mem::transmute(pvar), perrorlog.into_param().abi()).ok()
2049     }
2050     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Write<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszpropname: Param0, pvar: *const super::Com::VARIANT) -> ::windows::runtime::Result<()>2051     pub unsafe fn Write<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszpropname: Param0, pvar: *const super::Com::VARIANT) -> ::windows::runtime::Result<()> {
2052         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pszpropname.into_param().abi(), ::std::mem::transmute(pvar)).ok()
2053     }
2054 }
2055 unsafe impl ::windows::runtime::Interface for ITsSbClientConnectionPropertySet {
2056     type Vtable = ITsSbClientConnectionPropertySet_abi;
2057     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3843659184, 18134, 4573, [170, 33, 206, 220, 85, 216, 149, 147]);
2058 }
2059 impl ::std::convert::From<ITsSbClientConnectionPropertySet> for ::windows::runtime::IUnknown {
from(value: ITsSbClientConnectionPropertySet) -> Self2060     fn from(value: ITsSbClientConnectionPropertySet) -> Self {
2061         unsafe { ::std::mem::transmute(value) }
2062     }
2063 }
2064 impl ::std::convert::From<&ITsSbClientConnectionPropertySet> for ::windows::runtime::IUnknown {
from(value: &ITsSbClientConnectionPropertySet) -> Self2065     fn from(value: &ITsSbClientConnectionPropertySet) -> Self {
2066         ::std::convert::From::from(::std::clone::Clone::clone(value))
2067     }
2068 }
2069 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbClientConnectionPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2070     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2071         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2072     }
2073 }
2074 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbClientConnectionPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2075     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2076         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2077     }
2078 }
2079 impl ::std::convert::From<ITsSbClientConnectionPropertySet> for ITsSbPropertySet {
from(value: ITsSbClientConnectionPropertySet) -> Self2080     fn from(value: ITsSbClientConnectionPropertySet) -> Self {
2081         unsafe { ::std::mem::transmute(value) }
2082     }
2083 }
2084 impl ::std::convert::From<&ITsSbClientConnectionPropertySet> for ITsSbPropertySet {
from(value: &ITsSbClientConnectionPropertySet) -> Self2085     fn from(value: &ITsSbClientConnectionPropertySet) -> Self {
2086         ::std::convert::From::from(::std::clone::Clone::clone(value))
2087     }
2088 }
2089 impl<'a> ::windows::runtime::IntoParam<'a, ITsSbPropertySet> for ITsSbClientConnectionPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, ITsSbPropertySet>2090     fn into_param(self) -> ::windows::runtime::Param<'a, ITsSbPropertySet> {
2091         ::windows::runtime::Param::Owned(::std::convert::Into::<ITsSbPropertySet>::into(self))
2092     }
2093 }
2094 impl<'a> ::windows::runtime::IntoParam<'a, ITsSbPropertySet> for &ITsSbClientConnectionPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, ITsSbPropertySet>2095     fn into_param(self) -> ::windows::runtime::Param<'a, ITsSbPropertySet> {
2096         ::windows::runtime::Param::Owned(::std::convert::Into::<ITsSbPropertySet>::into(::std::clone::Clone::clone(self)))
2097     }
2098 }
2099 #[cfg(feature = "Win32_System_Ole_Automation")]
2100 impl ::std::convert::From<ITsSbClientConnectionPropertySet> for super::Ole::Automation::IPropertyBag {
from(value: ITsSbClientConnectionPropertySet) -> Self2101     fn from(value: ITsSbClientConnectionPropertySet) -> Self {
2102         unsafe { ::std::mem::transmute(value) }
2103     }
2104 }
2105 #[cfg(feature = "Win32_System_Ole_Automation")]
2106 impl ::std::convert::From<&ITsSbClientConnectionPropertySet> for super::Ole::Automation::IPropertyBag {
from(value: &ITsSbClientConnectionPropertySet) -> Self2107     fn from(value: &ITsSbClientConnectionPropertySet) -> Self {
2108         ::std::convert::From::from(::std::clone::Clone::clone(value))
2109     }
2110 }
2111 #[cfg(feature = "Win32_System_Ole_Automation")]
2112 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IPropertyBag> for ITsSbClientConnectionPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IPropertyBag>2113     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IPropertyBag> {
2114         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IPropertyBag>::into(self))
2115     }
2116 }
2117 #[cfg(feature = "Win32_System_Ole_Automation")]
2118 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IPropertyBag> for &ITsSbClientConnectionPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IPropertyBag>2119     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IPropertyBag> {
2120         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IPropertyBag>::into(::std::clone::Clone::clone(self)))
2121     }
2122 }
2123 #[repr(C)]
2124 #[doc(hidden)]
2125 pub struct ITsSbClientConnectionPropertySet_abi(
2126     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2127     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2128     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2129     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszpropname: super::super::Foundation::PWSTR, pvar: *mut ::std::mem::ManuallyDrop<super::Com::VARIANT>, perrorlog: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2130     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2131     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszpropname: super::super::Foundation::PWSTR, pvar: *const ::std::mem::ManuallyDrop<super::Com::VARIANT>) -> ::windows::runtime::HRESULT,
2132     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2133 );
2134 #[repr(transparent)]
2135 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2136 pub struct ITsSbEnvironment(::windows::runtime::IUnknown);
2137 impl ITsSbEnvironment {
2138     #[cfg(feature = "Win32_Foundation")]
Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>2139     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2140         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2141         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2142     }
ServerWeight(&self) -> ::windows::runtime::Result<u32>2143     pub unsafe fn ServerWeight(&self) -> ::windows::runtime::Result<u32> {
2144         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2145         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2146     }
EnvironmentPropertySet(&self) -> ::windows::runtime::Result<ITsSbEnvironmentPropertySet>2147     pub unsafe fn EnvironmentPropertySet(&self) -> ::windows::runtime::Result<ITsSbEnvironmentPropertySet> {
2148         let mut result__: <ITsSbEnvironmentPropertySet as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2149         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITsSbEnvironmentPropertySet>(result__)
2150     }
SetEnvironmentPropertySet<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbEnvironmentPropertySet>>(&self, pval: Param0) -> ::windows::runtime::Result<()>2151     pub unsafe fn SetEnvironmentPropertySet<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbEnvironmentPropertySet>>(&self, pval: Param0) -> ::windows::runtime::Result<()> {
2152         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pval.into_param().abi()).ok()
2153     }
2154 }
2155 unsafe impl ::windows::runtime::Interface for ITsSbEnvironment {
2156     type Vtable = ITsSbEnvironment_abi;
2157     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2357721079, 48977, 19036, [135, 191, 142, 148, 251, 110, 34, 86]);
2158 }
2159 impl ::std::convert::From<ITsSbEnvironment> for ::windows::runtime::IUnknown {
from(value: ITsSbEnvironment) -> Self2160     fn from(value: ITsSbEnvironment) -> Self {
2161         unsafe { ::std::mem::transmute(value) }
2162     }
2163 }
2164 impl ::std::convert::From<&ITsSbEnvironment> for ::windows::runtime::IUnknown {
from(value: &ITsSbEnvironment) -> Self2165     fn from(value: &ITsSbEnvironment) -> Self {
2166         ::std::convert::From::from(::std::clone::Clone::clone(value))
2167     }
2168 }
2169 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbEnvironment {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2170     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2171         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2172     }
2173 }
2174 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbEnvironment {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2175     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2176         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2177     }
2178 }
2179 #[repr(C)]
2180 #[doc(hidden)]
2181 pub struct ITsSbEnvironment_abi(
2182     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2183     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2184     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2185     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2186     #[cfg(not(feature = "Win32_Foundation"))] usize,
2187     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut u32) -> ::windows::runtime::HRESULT,
2188     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pppropertyset: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2189     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2190 );
2191 #[repr(transparent)]
2192 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2193 pub struct ITsSbEnvironmentPropertySet(::windows::runtime::IUnknown);
2194 impl ITsSbEnvironmentPropertySet {
2195     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Read<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::Ole::Automation::IErrorLog>>(&self, pszpropname: Param0, pvar: *mut super::Com::VARIANT, perrorlog: Param2) -> ::windows::runtime::Result<()>2196     pub unsafe fn Read<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::Ole::Automation::IErrorLog>>(&self, pszpropname: Param0, pvar: *mut super::Com::VARIANT, perrorlog: Param2) -> ::windows::runtime::Result<()> {
2197         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pszpropname.into_param().abi(), ::std::mem::transmute(pvar), perrorlog.into_param().abi()).ok()
2198     }
2199     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Write<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszpropname: Param0, pvar: *const super::Com::VARIANT) -> ::windows::runtime::Result<()>2200     pub unsafe fn Write<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszpropname: Param0, pvar: *const super::Com::VARIANT) -> ::windows::runtime::Result<()> {
2201         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pszpropname.into_param().abi(), ::std::mem::transmute(pvar)).ok()
2202     }
2203 }
2204 unsafe impl ::windows::runtime::Interface for ITsSbEnvironmentPropertySet {
2205     type Vtable = ITsSbEnvironmentPropertySet_abi;
2206     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3503406974, 31439, 4573, [162, 67, 229, 17, 86, 216, 149, 147]);
2207 }
2208 impl ::std::convert::From<ITsSbEnvironmentPropertySet> for ::windows::runtime::IUnknown {
from(value: ITsSbEnvironmentPropertySet) -> Self2209     fn from(value: ITsSbEnvironmentPropertySet) -> Self {
2210         unsafe { ::std::mem::transmute(value) }
2211     }
2212 }
2213 impl ::std::convert::From<&ITsSbEnvironmentPropertySet> for ::windows::runtime::IUnknown {
from(value: &ITsSbEnvironmentPropertySet) -> Self2214     fn from(value: &ITsSbEnvironmentPropertySet) -> Self {
2215         ::std::convert::From::from(::std::clone::Clone::clone(value))
2216     }
2217 }
2218 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbEnvironmentPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2219     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2220         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2221     }
2222 }
2223 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbEnvironmentPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2224     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2225         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2226     }
2227 }
2228 impl ::std::convert::From<ITsSbEnvironmentPropertySet> for ITsSbPropertySet {
from(value: ITsSbEnvironmentPropertySet) -> Self2229     fn from(value: ITsSbEnvironmentPropertySet) -> Self {
2230         unsafe { ::std::mem::transmute(value) }
2231     }
2232 }
2233 impl ::std::convert::From<&ITsSbEnvironmentPropertySet> for ITsSbPropertySet {
from(value: &ITsSbEnvironmentPropertySet) -> Self2234     fn from(value: &ITsSbEnvironmentPropertySet) -> Self {
2235         ::std::convert::From::from(::std::clone::Clone::clone(value))
2236     }
2237 }
2238 impl<'a> ::windows::runtime::IntoParam<'a, ITsSbPropertySet> for ITsSbEnvironmentPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, ITsSbPropertySet>2239     fn into_param(self) -> ::windows::runtime::Param<'a, ITsSbPropertySet> {
2240         ::windows::runtime::Param::Owned(::std::convert::Into::<ITsSbPropertySet>::into(self))
2241     }
2242 }
2243 impl<'a> ::windows::runtime::IntoParam<'a, ITsSbPropertySet> for &ITsSbEnvironmentPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, ITsSbPropertySet>2244     fn into_param(self) -> ::windows::runtime::Param<'a, ITsSbPropertySet> {
2245         ::windows::runtime::Param::Owned(::std::convert::Into::<ITsSbPropertySet>::into(::std::clone::Clone::clone(self)))
2246     }
2247 }
2248 #[cfg(feature = "Win32_System_Ole_Automation")]
2249 impl ::std::convert::From<ITsSbEnvironmentPropertySet> for super::Ole::Automation::IPropertyBag {
from(value: ITsSbEnvironmentPropertySet) -> Self2250     fn from(value: ITsSbEnvironmentPropertySet) -> Self {
2251         unsafe { ::std::mem::transmute(value) }
2252     }
2253 }
2254 #[cfg(feature = "Win32_System_Ole_Automation")]
2255 impl ::std::convert::From<&ITsSbEnvironmentPropertySet> for super::Ole::Automation::IPropertyBag {
from(value: &ITsSbEnvironmentPropertySet) -> Self2256     fn from(value: &ITsSbEnvironmentPropertySet) -> Self {
2257         ::std::convert::From::from(::std::clone::Clone::clone(value))
2258     }
2259 }
2260 #[cfg(feature = "Win32_System_Ole_Automation")]
2261 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IPropertyBag> for ITsSbEnvironmentPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IPropertyBag>2262     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IPropertyBag> {
2263         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IPropertyBag>::into(self))
2264     }
2265 }
2266 #[cfg(feature = "Win32_System_Ole_Automation")]
2267 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IPropertyBag> for &ITsSbEnvironmentPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IPropertyBag>2268     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IPropertyBag> {
2269         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IPropertyBag>::into(::std::clone::Clone::clone(self)))
2270     }
2271 }
2272 #[repr(C)]
2273 #[doc(hidden)]
2274 pub struct ITsSbEnvironmentPropertySet_abi(
2275     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2276     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2277     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2278     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszpropname: super::super::Foundation::PWSTR, pvar: *mut ::std::mem::ManuallyDrop<super::Com::VARIANT>, perrorlog: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2279     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2280     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszpropname: super::super::Foundation::PWSTR, pvar: *const ::std::mem::ManuallyDrop<super::Com::VARIANT>) -> ::windows::runtime::HRESULT,
2281     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2282 );
2283 #[repr(transparent)]
2284 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2285 pub struct ITsSbFilterPluginStore(::windows::runtime::IUnknown);
2286 impl ITsSbFilterPluginStore {
SaveProperties<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbPropertySet>>(&self, ppropertyset: Param0) -> ::windows::runtime::Result<()>2287     pub unsafe fn SaveProperties<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbPropertySet>>(&self, ppropertyset: Param0) -> ::windows::runtime::Result<()> {
2288         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ppropertyset.into_param().abi()).ok()
2289     }
EnumerateProperties(&self) -> ::windows::runtime::Result<ITsSbPropertySet>2290     pub unsafe fn EnumerateProperties(&self) -> ::windows::runtime::Result<ITsSbPropertySet> {
2291         let mut result__: <ITsSbPropertySet as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2292         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITsSbPropertySet>(result__)
2293     }
2294     #[cfg(feature = "Win32_Foundation")]
DeleteProperties<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>2295     pub unsafe fn DeleteProperties<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
2296         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), propertyname.into_param().abi()).ok()
2297     }
2298 }
2299 unsafe impl ::windows::runtime::Interface for ITsSbFilterPluginStore {
2300     type Vtable = ITsSbFilterPluginStore_abi;
2301     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2243185423, 60792, 16703, [151, 2, 250, 109, 59, 94, 231, 85]);
2302 }
2303 impl ::std::convert::From<ITsSbFilterPluginStore> for ::windows::runtime::IUnknown {
from(value: ITsSbFilterPluginStore) -> Self2304     fn from(value: ITsSbFilterPluginStore) -> Self {
2305         unsafe { ::std::mem::transmute(value) }
2306     }
2307 }
2308 impl ::std::convert::From<&ITsSbFilterPluginStore> for ::windows::runtime::IUnknown {
from(value: &ITsSbFilterPluginStore) -> Self2309     fn from(value: &ITsSbFilterPluginStore) -> Self {
2310         ::std::convert::From::from(::std::clone::Clone::clone(value))
2311     }
2312 }
2313 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbFilterPluginStore {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2314     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2315         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2316     }
2317 }
2318 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbFilterPluginStore {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2319     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2320         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2321     }
2322 }
2323 #[repr(C)]
2324 #[doc(hidden)]
2325 pub struct ITsSbFilterPluginStore_abi(
2326     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2327     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2328     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2329     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppropertyset: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2330     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pppropertyset: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2331     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2332     #[cfg(not(feature = "Win32_Foundation"))] usize,
2333 );
2334 #[repr(transparent)]
2335 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2336 pub struct ITsSbGenericNotifySink(::windows::runtime::IUnknown);
2337 impl ITsSbGenericNotifySink {
OnCompleted(&self, status: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>2338     pub unsafe fn OnCompleted(&self, status: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
2339         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(status)).ok()
2340     }
2341     #[cfg(feature = "Win32_Foundation")]
GetWaitTimeout(&self) -> ::windows::runtime::Result<super::super::Foundation::FILETIME>2342     pub unsafe fn GetWaitTimeout(&self) -> ::windows::runtime::Result<super::super::Foundation::FILETIME> {
2343         let mut result__: <super::super::Foundation::FILETIME as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2344         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::FILETIME>(result__)
2345     }
2346 }
2347 unsafe impl ::windows::runtime::Interface for ITsSbGenericNotifySink {
2348     type Vtable = ITsSbGenericNotifySink_abi;
2349     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1280085071, 12299, 18093, [145, 100, 132, 104, 167, 231, 86, 140]);
2350 }
2351 impl ::std::convert::From<ITsSbGenericNotifySink> for ::windows::runtime::IUnknown {
from(value: ITsSbGenericNotifySink) -> Self2352     fn from(value: ITsSbGenericNotifySink) -> Self {
2353         unsafe { ::std::mem::transmute(value) }
2354     }
2355 }
2356 impl ::std::convert::From<&ITsSbGenericNotifySink> for ::windows::runtime::IUnknown {
from(value: &ITsSbGenericNotifySink) -> Self2357     fn from(value: &ITsSbGenericNotifySink) -> Self {
2358         ::std::convert::From::from(::std::clone::Clone::clone(value))
2359     }
2360 }
2361 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbGenericNotifySink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2362     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2363         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2364     }
2365 }
2366 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbGenericNotifySink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2367     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2368         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2369     }
2370 }
2371 #[repr(C)]
2372 #[doc(hidden)]
2373 pub struct ITsSbGenericNotifySink_abi(
2374     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2375     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2376     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2377     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, status: ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
2378     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfttimeout: *mut super::super::Foundation::FILETIME) -> ::windows::runtime::HRESULT,
2379     #[cfg(not(feature = "Win32_Foundation"))] usize,
2380 );
2381 #[repr(transparent)]
2382 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2383 pub struct ITsSbGlobalStore(::windows::runtime::IUnknown);
2384 impl ITsSbGlobalStore {
2385     #[cfg(feature = "Win32_Foundation")]
QueryTarget<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, providername: Param0, targetname: Param1, farmname: Param2) -> ::windows::runtime::Result<ITsSbTarget>2386     pub unsafe fn QueryTarget<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, providername: Param0, targetname: Param1, farmname: Param2) -> ::windows::runtime::Result<ITsSbTarget> {
2387         let mut result__: <ITsSbTarget as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2388         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), providername.into_param().abi(), targetname.into_param().abi(), farmname.into_param().abi(), &mut result__).from_abi::<ITsSbTarget>(result__)
2389     }
2390     #[cfg(feature = "Win32_Foundation")]
QuerySessionBySessionId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, providername: Param0, dwsessionid: u32, targetname: Param2) -> ::windows::runtime::Result<ITsSbSession>2391     pub unsafe fn QuerySessionBySessionId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, providername: Param0, dwsessionid: u32, targetname: Param2) -> ::windows::runtime::Result<ITsSbSession> {
2392         let mut result__: <ITsSbSession as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2393         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), providername.into_param().abi(), ::std::mem::transmute(dwsessionid), targetname.into_param().abi(), &mut result__).from_abi::<ITsSbSession>(result__)
2394     }
2395     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
EnumerateFarms<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, providername: Param0, pdwcount: *mut u32, pval: *mut *mut super::Com::SAFEARRAY) -> ::windows::runtime::Result<()>2396     pub unsafe fn EnumerateFarms<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, providername: Param0, pdwcount: *mut u32, pval: *mut *mut super::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
2397         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), providername.into_param().abi(), ::std::mem::transmute(pdwcount), ::std::mem::transmute(pval)).ok()
2398     }
2399     #[cfg(feature = "Win32_Foundation")]
EnumerateTargets<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, providername: Param0, farmname: Param1, envname: Param2, pdwcount: *mut u32, pval: *mut *mut ::std::option::Option<ITsSbTarget>) -> ::windows::runtime::Result<()>2400     pub unsafe fn EnumerateTargets<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, providername: Param0, farmname: Param1, envname: Param2, pdwcount: *mut u32, pval: *mut *mut ::std::option::Option<ITsSbTarget>) -> ::windows::runtime::Result<()> {
2401         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), providername.into_param().abi(), farmname.into_param().abi(), envname.into_param().abi(), ::std::mem::transmute(pdwcount), ::std::mem::transmute(pval)).ok()
2402     }
2403     #[cfg(feature = "Win32_Foundation")]
EnumerateEnvironmentsByProvider<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, providername: Param0, pdwcount: *mut u32, ppval: *mut *mut ::std::option::Option<ITsSbEnvironment>) -> ::windows::runtime::Result<()>2404     pub unsafe fn EnumerateEnvironmentsByProvider<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, providername: Param0, pdwcount: *mut u32, ppval: *mut *mut ::std::option::Option<ITsSbEnvironment>) -> ::windows::runtime::Result<()> {
2405         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), providername.into_param().abi(), ::std::mem::transmute(pdwcount), ::std::mem::transmute(ppval)).ok()
2406     }
2407     #[cfg(feature = "Win32_Foundation")]
EnumerateSessions<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param5: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>( &self, providername: Param0, targetname: Param1, username: Param2, userdomain: Param3, poolname: Param4, initialprogram: Param5, psessionstate: *const TSSESSION_STATE, pdwcount: *mut u32, ppval: *mut *mut ::std::option::Option<ITsSbSession>, ) -> ::windows::runtime::Result<()>2408     pub unsafe fn EnumerateSessions<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param5: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(
2409         &self,
2410         providername: Param0,
2411         targetname: Param1,
2412         username: Param2,
2413         userdomain: Param3,
2414         poolname: Param4,
2415         initialprogram: Param5,
2416         psessionstate: *const TSSESSION_STATE,
2417         pdwcount: *mut u32,
2418         ppval: *mut *mut ::std::option::Option<ITsSbSession>,
2419     ) -> ::windows::runtime::Result<()> {
2420         (::windows::runtime::Interface::vtable(self).8)(
2421             ::std::mem::transmute_copy(self),
2422             providername.into_param().abi(),
2423             targetname.into_param().abi(),
2424             username.into_param().abi(),
2425             userdomain.into_param().abi(),
2426             poolname.into_param().abi(),
2427             initialprogram.into_param().abi(),
2428             ::std::mem::transmute(psessionstate),
2429             ::std::mem::transmute(pdwcount),
2430             ::std::mem::transmute(ppval),
2431         )
2432         .ok()
2433     }
2434     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
GetFarmProperty<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, farmname: Param0, propertyname: Param1, pvarvalue: *const super::Com::VARIANT) -> ::windows::runtime::Result<()>2435     pub unsafe fn GetFarmProperty<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, farmname: Param0, propertyname: Param1, pvarvalue: *const super::Com::VARIANT) -> ::windows::runtime::Result<()> {
2436         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), farmname.into_param().abi(), propertyname.into_param().abi(), ::std::mem::transmute(pvarvalue)).ok()
2437     }
2438 }
2439 unsafe impl ::windows::runtime::Interface for ITsSbGlobalStore {
2440     type Vtable = ITsSbGlobalStore_abi;
2441     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2595622779, 48498, 19871, [138, 58, 160, 234, 85, 116, 230, 53]);
2442 }
2443 impl ::std::convert::From<ITsSbGlobalStore> for ::windows::runtime::IUnknown {
from(value: ITsSbGlobalStore) -> Self2444     fn from(value: ITsSbGlobalStore) -> Self {
2445         unsafe { ::std::mem::transmute(value) }
2446     }
2447 }
2448 impl ::std::convert::From<&ITsSbGlobalStore> for ::windows::runtime::IUnknown {
from(value: &ITsSbGlobalStore) -> Self2449     fn from(value: &ITsSbGlobalStore) -> Self {
2450         ::std::convert::From::from(::std::clone::Clone::clone(value))
2451     }
2452 }
2453 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbGlobalStore {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2454     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2455         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2456     }
2457 }
2458 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbGlobalStore {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2459     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2460         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2461     }
2462 }
2463 #[repr(C)]
2464 #[doc(hidden)]
2465 pub struct ITsSbGlobalStore_abi(
2466     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2467     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2468     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2469     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, providername: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, targetname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, farmname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pptarget: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2470     #[cfg(not(feature = "Win32_Foundation"))] usize,
2471     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, providername: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, dwsessionid: u32, targetname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, ppsession: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2472     #[cfg(not(feature = "Win32_Foundation"))] usize,
2473     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, providername: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pdwcount: *mut u32, pval: *mut *mut super::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
2474     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
2475     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, providername: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, farmname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, envname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pdwcount: *mut u32, pval: *mut *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2476     #[cfg(not(feature = "Win32_Foundation"))] usize,
2477     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, providername: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pdwcount: *mut u32, ppval: *mut *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2478     #[cfg(not(feature = "Win32_Foundation"))] usize,
2479     #[cfg(feature = "Win32_Foundation")]
2480     pub  unsafe extern "system" fn(
2481         this: ::windows::runtime::RawPtr,
2482         providername: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
2483         targetname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
2484         username: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
2485         userdomain: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
2486         poolname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
2487         initialprogram: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
2488         psessionstate: *const TSSESSION_STATE,
2489         pdwcount: *mut u32,
2490         ppval: *mut *mut ::windows::runtime::RawPtr,
2491     ) -> ::windows::runtime::HRESULT,
2492     #[cfg(not(feature = "Win32_Foundation"))] usize,
2493     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, farmname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, propertyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pvarvalue: *const ::std::mem::ManuallyDrop<super::Com::VARIANT>) -> ::windows::runtime::HRESULT,
2494     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2495 );
2496 #[repr(transparent)]
2497 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2498 pub struct ITsSbLoadBalanceResult(::windows::runtime::IUnknown);
2499 impl ITsSbLoadBalanceResult {
2500     #[cfg(feature = "Win32_Foundation")]
TargetName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>2501     pub unsafe fn TargetName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2502         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2503         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2504     }
2505 }
2506 unsafe impl ::windows::runtime::Interface for ITsSbLoadBalanceResult {
2507     type Vtable = ITsSbLoadBalanceResult_abi;
2508     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(620607404, 65190, 4572, [150, 114, 154, 137, 86, 216, 149, 147]);
2509 }
2510 impl ::std::convert::From<ITsSbLoadBalanceResult> for ::windows::runtime::IUnknown {
from(value: ITsSbLoadBalanceResult) -> Self2511     fn from(value: ITsSbLoadBalanceResult) -> Self {
2512         unsafe { ::std::mem::transmute(value) }
2513     }
2514 }
2515 impl ::std::convert::From<&ITsSbLoadBalanceResult> for ::windows::runtime::IUnknown {
from(value: &ITsSbLoadBalanceResult) -> Self2516     fn from(value: &ITsSbLoadBalanceResult) -> Self {
2517         ::std::convert::From::from(::std::clone::Clone::clone(value))
2518     }
2519 }
2520 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbLoadBalanceResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2521     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2522         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2523     }
2524 }
2525 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbLoadBalanceResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2526     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2527         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2528     }
2529 }
2530 #[repr(C)]
2531 #[doc(hidden)]
2532 pub struct ITsSbLoadBalanceResult_abi(
2533     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2534     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2535     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2536     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2537     #[cfg(not(feature = "Win32_Foundation"))] usize,
2538 );
2539 #[repr(transparent)]
2540 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2541 pub struct ITsSbLoadBalancing(::windows::runtime::IUnknown);
2542 impl ITsSbLoadBalancing {
Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbProvider>, Param1: ::windows::runtime::IntoParam<'a, ITsSbPluginNotifySink>, Param2: ::windows::runtime::IntoParam<'a, ITsSbPluginPropertySet>>(&self, pprovider: Param0, pnotifysink: Param1, ppropertyset: Param2) -> ::windows::runtime::Result<()>2543     pub unsafe fn Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbProvider>, Param1: ::windows::runtime::IntoParam<'a, ITsSbPluginNotifySink>, Param2: ::windows::runtime::IntoParam<'a, ITsSbPluginPropertySet>>(&self, pprovider: Param0, pnotifysink: Param1, ppropertyset: Param2) -> ::windows::runtime::Result<()> {
2544         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pprovider.into_param().abi(), pnotifysink.into_param().abi(), ppropertyset.into_param().abi()).ok()
2545     }
Terminate(&self, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>2546     pub unsafe fn Terminate(&self, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
2547         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(hr)).ok()
2548     }
GetMostSuitableTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbClientConnection>, Param1: ::windows::runtime::IntoParam<'a, ITsSbLoadBalancingNotifySink>>(&self, pconnection: Param0, plbsink: Param1) -> ::windows::runtime::Result<()>2549     pub unsafe fn GetMostSuitableTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbClientConnection>, Param1: ::windows::runtime::IntoParam<'a, ITsSbLoadBalancingNotifySink>>(&self, pconnection: Param0, plbsink: Param1) -> ::windows::runtime::Result<()> {
2550         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pconnection.into_param().abi(), plbsink.into_param().abi()).ok()
2551     }
2552 }
2553 unsafe impl ::windows::runtime::Interface for ITsSbLoadBalancing {
2554     type Vtable = ITsSbLoadBalancing_abi;
2555     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(607294068, 40631, 4572, [174, 152, 242, 180, 86, 216, 149, 147]);
2556 }
2557 impl ::std::convert::From<ITsSbLoadBalancing> for ::windows::runtime::IUnknown {
from(value: ITsSbLoadBalancing) -> Self2558     fn from(value: ITsSbLoadBalancing) -> Self {
2559         unsafe { ::std::mem::transmute(value) }
2560     }
2561 }
2562 impl ::std::convert::From<&ITsSbLoadBalancing> for ::windows::runtime::IUnknown {
from(value: &ITsSbLoadBalancing) -> Self2563     fn from(value: &ITsSbLoadBalancing) -> Self {
2564         ::std::convert::From::from(::std::clone::Clone::clone(value))
2565     }
2566 }
2567 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbLoadBalancing {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2568     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2569         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2570     }
2571 }
2572 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbLoadBalancing {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2573     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2574         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2575     }
2576 }
2577 impl ::std::convert::From<ITsSbLoadBalancing> for ITsSbPlugin {
from(value: ITsSbLoadBalancing) -> Self2578     fn from(value: ITsSbLoadBalancing) -> Self {
2579         unsafe { ::std::mem::transmute(value) }
2580     }
2581 }
2582 impl ::std::convert::From<&ITsSbLoadBalancing> for ITsSbPlugin {
from(value: &ITsSbLoadBalancing) -> Self2583     fn from(value: &ITsSbLoadBalancing) -> Self {
2584         ::std::convert::From::from(::std::clone::Clone::clone(value))
2585     }
2586 }
2587 impl<'a> ::windows::runtime::IntoParam<'a, ITsSbPlugin> for ITsSbLoadBalancing {
into_param(self) -> ::windows::runtime::Param<'a, ITsSbPlugin>2588     fn into_param(self) -> ::windows::runtime::Param<'a, ITsSbPlugin> {
2589         ::windows::runtime::Param::Owned(::std::convert::Into::<ITsSbPlugin>::into(self))
2590     }
2591 }
2592 impl<'a> ::windows::runtime::IntoParam<'a, ITsSbPlugin> for &ITsSbLoadBalancing {
into_param(self) -> ::windows::runtime::Param<'a, ITsSbPlugin>2593     fn into_param(self) -> ::windows::runtime::Param<'a, ITsSbPlugin> {
2594         ::windows::runtime::Param::Owned(::std::convert::Into::<ITsSbPlugin>::into(::std::clone::Clone::clone(self)))
2595     }
2596 }
2597 #[repr(C)]
2598 #[doc(hidden)]
2599 pub struct ITsSbLoadBalancing_abi(
2600     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2601     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2602     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2603     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprovider: ::windows::runtime::RawPtr, pnotifysink: ::windows::runtime::RawPtr, ppropertyset: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2604     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
2605     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pconnection: ::windows::runtime::RawPtr, plbsink: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2606 );
2607 #[repr(transparent)]
2608 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2609 pub struct ITsSbLoadBalancingNotifySink(::windows::runtime::IUnknown);
2610 impl ITsSbLoadBalancingNotifySink {
OnError(&self, hrerror: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>2611     pub unsafe fn OnError(&self, hrerror: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
2612         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(hrerror)).ok()
2613     }
OnReportStatus(&self, messagetype: CLIENT_MESSAGE_TYPE, messageid: u32) -> ::windows::runtime::Result<()>2614     pub unsafe fn OnReportStatus(&self, messagetype: CLIENT_MESSAGE_TYPE, messageid: u32) -> ::windows::runtime::Result<()> {
2615         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(messagetype), ::std::mem::transmute(messageid)).ok()
2616     }
2617     #[cfg(feature = "Win32_Foundation")]
OnGetMostSuitableTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbLoadBalanceResult>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, plbresult: Param0, fisnewconnection: Param1) -> ::windows::runtime::Result<()>2618     pub unsafe fn OnGetMostSuitableTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbLoadBalanceResult>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, plbresult: Param0, fisnewconnection: Param1) -> ::windows::runtime::Result<()> {
2619         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), plbresult.into_param().abi(), fisnewconnection.into_param().abi()).ok()
2620     }
2621 }
2622 unsafe impl ::windows::runtime::Interface for ITsSbLoadBalancingNotifySink {
2623     type Vtable = ITsSbLoadBalancingNotifySink_abi;
2624     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1602912919, 12868, 20074, [149, 138, 39, 200, 34, 193, 225, 65]);
2625 }
2626 impl ::std::convert::From<ITsSbLoadBalancingNotifySink> for ::windows::runtime::IUnknown {
from(value: ITsSbLoadBalancingNotifySink) -> Self2627     fn from(value: ITsSbLoadBalancingNotifySink) -> Self {
2628         unsafe { ::std::mem::transmute(value) }
2629     }
2630 }
2631 impl ::std::convert::From<&ITsSbLoadBalancingNotifySink> for ::windows::runtime::IUnknown {
from(value: &ITsSbLoadBalancingNotifySink) -> Self2632     fn from(value: &ITsSbLoadBalancingNotifySink) -> Self {
2633         ::std::convert::From::from(::std::clone::Clone::clone(value))
2634     }
2635 }
2636 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbLoadBalancingNotifySink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2637     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2638         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2639     }
2640 }
2641 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbLoadBalancingNotifySink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2642     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2643         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2644     }
2645 }
2646 impl ::std::convert::From<ITsSbLoadBalancingNotifySink> for ITsSbBaseNotifySink {
from(value: ITsSbLoadBalancingNotifySink) -> Self2647     fn from(value: ITsSbLoadBalancingNotifySink) -> Self {
2648         unsafe { ::std::mem::transmute(value) }
2649     }
2650 }
2651 impl ::std::convert::From<&ITsSbLoadBalancingNotifySink> for ITsSbBaseNotifySink {
from(value: &ITsSbLoadBalancingNotifySink) -> Self2652     fn from(value: &ITsSbLoadBalancingNotifySink) -> Self {
2653         ::std::convert::From::from(::std::clone::Clone::clone(value))
2654     }
2655 }
2656 impl<'a> ::windows::runtime::IntoParam<'a, ITsSbBaseNotifySink> for ITsSbLoadBalancingNotifySink {
into_param(self) -> ::windows::runtime::Param<'a, ITsSbBaseNotifySink>2657     fn into_param(self) -> ::windows::runtime::Param<'a, ITsSbBaseNotifySink> {
2658         ::windows::runtime::Param::Owned(::std::convert::Into::<ITsSbBaseNotifySink>::into(self))
2659     }
2660 }
2661 impl<'a> ::windows::runtime::IntoParam<'a, ITsSbBaseNotifySink> for &ITsSbLoadBalancingNotifySink {
into_param(self) -> ::windows::runtime::Param<'a, ITsSbBaseNotifySink>2662     fn into_param(self) -> ::windows::runtime::Param<'a, ITsSbBaseNotifySink> {
2663         ::windows::runtime::Param::Owned(::std::convert::Into::<ITsSbBaseNotifySink>::into(::std::clone::Clone::clone(self)))
2664     }
2665 }
2666 #[repr(C)]
2667 #[doc(hidden)]
2668 pub struct ITsSbLoadBalancingNotifySink_abi(
2669     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2670     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2671     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2672     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hrerror: ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
2673     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, messagetype: CLIENT_MESSAGE_TYPE, messageid: u32) -> ::windows::runtime::HRESULT,
2674     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plbresult: ::windows::runtime::RawPtr, fisnewconnection: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
2675     #[cfg(not(feature = "Win32_Foundation"))] usize,
2676 );
2677 #[repr(transparent)]
2678 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2679 pub struct ITsSbOrchestration(::windows::runtime::IUnknown);
2680 impl ITsSbOrchestration {
Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbProvider>, Param1: ::windows::runtime::IntoParam<'a, ITsSbPluginNotifySink>, Param2: ::windows::runtime::IntoParam<'a, ITsSbPluginPropertySet>>(&self, pprovider: Param0, pnotifysink: Param1, ppropertyset: Param2) -> ::windows::runtime::Result<()>2681     pub unsafe fn Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbProvider>, Param1: ::windows::runtime::IntoParam<'a, ITsSbPluginNotifySink>, Param2: ::windows::runtime::IntoParam<'a, ITsSbPluginPropertySet>>(&self, pprovider: Param0, pnotifysink: Param1, ppropertyset: Param2) -> ::windows::runtime::Result<()> {
2682         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pprovider.into_param().abi(), pnotifysink.into_param().abi(), ppropertyset.into_param().abi()).ok()
2683     }
Terminate(&self, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>2684     pub unsafe fn Terminate(&self, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
2685         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(hr)).ok()
2686     }
PrepareTargetForConnect<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbClientConnection>, Param1: ::windows::runtime::IntoParam<'a, ITsSbOrchestrationNotifySink>>(&self, pconnection: Param0, porchestrationnotifysink: Param1) -> ::windows::runtime::Result<()>2687     pub unsafe fn PrepareTargetForConnect<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbClientConnection>, Param1: ::windows::runtime::IntoParam<'a, ITsSbOrchestrationNotifySink>>(&self, pconnection: Param0, porchestrationnotifysink: Param1) -> ::windows::runtime::Result<()> {
2688         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pconnection.into_param().abi(), porchestrationnotifysink.into_param().abi()).ok()
2689     }
2690 }
2691 unsafe impl ::windows::runtime::Interface for ITsSbOrchestration {
2692     type Vtable = ITsSbOrchestration_abi;
2693     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1694241138, 40631, 4572, [139, 0, 58, 186, 86, 216, 149, 147]);
2694 }
2695 impl ::std::convert::From<ITsSbOrchestration> for ::windows::runtime::IUnknown {
from(value: ITsSbOrchestration) -> Self2696     fn from(value: ITsSbOrchestration) -> Self {
2697         unsafe { ::std::mem::transmute(value) }
2698     }
2699 }
2700 impl ::std::convert::From<&ITsSbOrchestration> for ::windows::runtime::IUnknown {
from(value: &ITsSbOrchestration) -> Self2701     fn from(value: &ITsSbOrchestration) -> Self {
2702         ::std::convert::From::from(::std::clone::Clone::clone(value))
2703     }
2704 }
2705 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbOrchestration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2706     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2707         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2708     }
2709 }
2710 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbOrchestration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2711     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2712         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2713     }
2714 }
2715 impl ::std::convert::From<ITsSbOrchestration> for ITsSbPlugin {
from(value: ITsSbOrchestration) -> Self2716     fn from(value: ITsSbOrchestration) -> Self {
2717         unsafe { ::std::mem::transmute(value) }
2718     }
2719 }
2720 impl ::std::convert::From<&ITsSbOrchestration> for ITsSbPlugin {
from(value: &ITsSbOrchestration) -> Self2721     fn from(value: &ITsSbOrchestration) -> Self {
2722         ::std::convert::From::from(::std::clone::Clone::clone(value))
2723     }
2724 }
2725 impl<'a> ::windows::runtime::IntoParam<'a, ITsSbPlugin> for ITsSbOrchestration {
into_param(self) -> ::windows::runtime::Param<'a, ITsSbPlugin>2726     fn into_param(self) -> ::windows::runtime::Param<'a, ITsSbPlugin> {
2727         ::windows::runtime::Param::Owned(::std::convert::Into::<ITsSbPlugin>::into(self))
2728     }
2729 }
2730 impl<'a> ::windows::runtime::IntoParam<'a, ITsSbPlugin> for &ITsSbOrchestration {
into_param(self) -> ::windows::runtime::Param<'a, ITsSbPlugin>2731     fn into_param(self) -> ::windows::runtime::Param<'a, ITsSbPlugin> {
2732         ::windows::runtime::Param::Owned(::std::convert::Into::<ITsSbPlugin>::into(::std::clone::Clone::clone(self)))
2733     }
2734 }
2735 #[repr(C)]
2736 #[doc(hidden)]
2737 pub struct ITsSbOrchestration_abi(
2738     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2739     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2740     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2741     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprovider: ::windows::runtime::RawPtr, pnotifysink: ::windows::runtime::RawPtr, ppropertyset: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2742     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
2743     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pconnection: ::windows::runtime::RawPtr, porchestrationnotifysink: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2744 );
2745 #[repr(transparent)]
2746 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2747 pub struct ITsSbOrchestrationNotifySink(::windows::runtime::IUnknown);
2748 impl ITsSbOrchestrationNotifySink {
OnError(&self, hrerror: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>2749     pub unsafe fn OnError(&self, hrerror: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
2750         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(hrerror)).ok()
2751     }
OnReportStatus(&self, messagetype: CLIENT_MESSAGE_TYPE, messageid: u32) -> ::windows::runtime::Result<()>2752     pub unsafe fn OnReportStatus(&self, messagetype: CLIENT_MESSAGE_TYPE, messageid: u32) -> ::windows::runtime::Result<()> {
2753         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(messagetype), ::std::mem::transmute(messageid)).ok()
2754     }
OnReadyToConnect<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbTarget>>(&self, ptarget: Param0) -> ::windows::runtime::Result<()>2755     pub unsafe fn OnReadyToConnect<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbTarget>>(&self, ptarget: Param0) -> ::windows::runtime::Result<()> {
2756         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ptarget.into_param().abi()).ok()
2757     }
2758 }
2759 unsafe impl ::windows::runtime::Interface for ITsSbOrchestrationNotifySink {
2760     type Vtable = ITsSbOrchestrationNotifySink_abi;
2761     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(918781281, 37483, 17455, [188, 165, 17, 140, 109, 80, 220, 242]);
2762 }
2763 impl ::std::convert::From<ITsSbOrchestrationNotifySink> for ::windows::runtime::IUnknown {
from(value: ITsSbOrchestrationNotifySink) -> Self2764     fn from(value: ITsSbOrchestrationNotifySink) -> Self {
2765         unsafe { ::std::mem::transmute(value) }
2766     }
2767 }
2768 impl ::std::convert::From<&ITsSbOrchestrationNotifySink> for ::windows::runtime::IUnknown {
from(value: &ITsSbOrchestrationNotifySink) -> Self2769     fn from(value: &ITsSbOrchestrationNotifySink) -> Self {
2770         ::std::convert::From::from(::std::clone::Clone::clone(value))
2771     }
2772 }
2773 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbOrchestrationNotifySink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2774     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2775         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2776     }
2777 }
2778 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbOrchestrationNotifySink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2779     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2780         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2781     }
2782 }
2783 impl ::std::convert::From<ITsSbOrchestrationNotifySink> for ITsSbBaseNotifySink {
from(value: ITsSbOrchestrationNotifySink) -> Self2784     fn from(value: ITsSbOrchestrationNotifySink) -> Self {
2785         unsafe { ::std::mem::transmute(value) }
2786     }
2787 }
2788 impl ::std::convert::From<&ITsSbOrchestrationNotifySink> for ITsSbBaseNotifySink {
from(value: &ITsSbOrchestrationNotifySink) -> Self2789     fn from(value: &ITsSbOrchestrationNotifySink) -> Self {
2790         ::std::convert::From::from(::std::clone::Clone::clone(value))
2791     }
2792 }
2793 impl<'a> ::windows::runtime::IntoParam<'a, ITsSbBaseNotifySink> for ITsSbOrchestrationNotifySink {
into_param(self) -> ::windows::runtime::Param<'a, ITsSbBaseNotifySink>2794     fn into_param(self) -> ::windows::runtime::Param<'a, ITsSbBaseNotifySink> {
2795         ::windows::runtime::Param::Owned(::std::convert::Into::<ITsSbBaseNotifySink>::into(self))
2796     }
2797 }
2798 impl<'a> ::windows::runtime::IntoParam<'a, ITsSbBaseNotifySink> for &ITsSbOrchestrationNotifySink {
into_param(self) -> ::windows::runtime::Param<'a, ITsSbBaseNotifySink>2799     fn into_param(self) -> ::windows::runtime::Param<'a, ITsSbBaseNotifySink> {
2800         ::windows::runtime::Param::Owned(::std::convert::Into::<ITsSbBaseNotifySink>::into(::std::clone::Clone::clone(self)))
2801     }
2802 }
2803 #[repr(C)]
2804 #[doc(hidden)]
2805 pub struct ITsSbOrchestrationNotifySink_abi(
2806     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2807     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2808     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2809     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hrerror: ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
2810     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, messagetype: CLIENT_MESSAGE_TYPE, messageid: u32) -> ::windows::runtime::HRESULT,
2811     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptarget: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2812 );
2813 #[repr(transparent)]
2814 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2815 pub struct ITsSbPlacement(::windows::runtime::IUnknown);
2816 impl ITsSbPlacement {
Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbProvider>, Param1: ::windows::runtime::IntoParam<'a, ITsSbPluginNotifySink>, Param2: ::windows::runtime::IntoParam<'a, ITsSbPluginPropertySet>>(&self, pprovider: Param0, pnotifysink: Param1, ppropertyset: Param2) -> ::windows::runtime::Result<()>2817     pub unsafe fn Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbProvider>, Param1: ::windows::runtime::IntoParam<'a, ITsSbPluginNotifySink>, Param2: ::windows::runtime::IntoParam<'a, ITsSbPluginPropertySet>>(&self, pprovider: Param0, pnotifysink: Param1, ppropertyset: Param2) -> ::windows::runtime::Result<()> {
2818         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pprovider.into_param().abi(), pnotifysink.into_param().abi(), ppropertyset.into_param().abi()).ok()
2819     }
Terminate(&self, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>2820     pub unsafe fn Terminate(&self, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
2821         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(hr)).ok()
2822     }
QueryEnvironmentForTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbClientConnection>, Param1: ::windows::runtime::IntoParam<'a, ITsSbPlacementNotifySink>>(&self, pconnection: Param0, pplacementsink: Param1) -> ::windows::runtime::Result<()>2823     pub unsafe fn QueryEnvironmentForTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbClientConnection>, Param1: ::windows::runtime::IntoParam<'a, ITsSbPlacementNotifySink>>(&self, pconnection: Param0, pplacementsink: Param1) -> ::windows::runtime::Result<()> {
2824         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pconnection.into_param().abi(), pplacementsink.into_param().abi()).ok()
2825     }
2826 }
2827 unsafe impl ::windows::runtime::Interface for ITsSbPlacement {
2828     type Vtable = ITsSbPlacement_abi;
2829     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3668831839, 27954, 18446, [158, 54, 221, 171, 35, 41, 240, 109]);
2830 }
2831 impl ::std::convert::From<ITsSbPlacement> for ::windows::runtime::IUnknown {
from(value: ITsSbPlacement) -> Self2832     fn from(value: ITsSbPlacement) -> Self {
2833         unsafe { ::std::mem::transmute(value) }
2834     }
2835 }
2836 impl ::std::convert::From<&ITsSbPlacement> for ::windows::runtime::IUnknown {
from(value: &ITsSbPlacement) -> Self2837     fn from(value: &ITsSbPlacement) -> Self {
2838         ::std::convert::From::from(::std::clone::Clone::clone(value))
2839     }
2840 }
2841 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbPlacement {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2842     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2843         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2844     }
2845 }
2846 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbPlacement {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2847     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2848         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2849     }
2850 }
2851 impl ::std::convert::From<ITsSbPlacement> for ITsSbPlugin {
from(value: ITsSbPlacement) -> Self2852     fn from(value: ITsSbPlacement) -> Self {
2853         unsafe { ::std::mem::transmute(value) }
2854     }
2855 }
2856 impl ::std::convert::From<&ITsSbPlacement> for ITsSbPlugin {
from(value: &ITsSbPlacement) -> Self2857     fn from(value: &ITsSbPlacement) -> Self {
2858         ::std::convert::From::from(::std::clone::Clone::clone(value))
2859     }
2860 }
2861 impl<'a> ::windows::runtime::IntoParam<'a, ITsSbPlugin> for ITsSbPlacement {
into_param(self) -> ::windows::runtime::Param<'a, ITsSbPlugin>2862     fn into_param(self) -> ::windows::runtime::Param<'a, ITsSbPlugin> {
2863         ::windows::runtime::Param::Owned(::std::convert::Into::<ITsSbPlugin>::into(self))
2864     }
2865 }
2866 impl<'a> ::windows::runtime::IntoParam<'a, ITsSbPlugin> for &ITsSbPlacement {
into_param(self) -> ::windows::runtime::Param<'a, ITsSbPlugin>2867     fn into_param(self) -> ::windows::runtime::Param<'a, ITsSbPlugin> {
2868         ::windows::runtime::Param::Owned(::std::convert::Into::<ITsSbPlugin>::into(::std::clone::Clone::clone(self)))
2869     }
2870 }
2871 #[repr(C)]
2872 #[doc(hidden)]
2873 pub struct ITsSbPlacement_abi(
2874     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2875     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2876     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2877     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprovider: ::windows::runtime::RawPtr, pnotifysink: ::windows::runtime::RawPtr, ppropertyset: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2878     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
2879     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pconnection: ::windows::runtime::RawPtr, pplacementsink: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2880 );
2881 #[repr(transparent)]
2882 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2883 pub struct ITsSbPlacementNotifySink(::windows::runtime::IUnknown);
2884 impl ITsSbPlacementNotifySink {
OnError(&self, hrerror: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>2885     pub unsafe fn OnError(&self, hrerror: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
2886         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(hrerror)).ok()
2887     }
OnReportStatus(&self, messagetype: CLIENT_MESSAGE_TYPE, messageid: u32) -> ::windows::runtime::Result<()>2888     pub unsafe fn OnReportStatus(&self, messagetype: CLIENT_MESSAGE_TYPE, messageid: u32) -> ::windows::runtime::Result<()> {
2889         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(messagetype), ::std::mem::transmute(messageid)).ok()
2890     }
OnQueryEnvironmentCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbEnvironment>>(&self, penvironment: Param0) -> ::windows::runtime::Result<()>2891     pub unsafe fn OnQueryEnvironmentCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbEnvironment>>(&self, penvironment: Param0) -> ::windows::runtime::Result<()> {
2892         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), penvironment.into_param().abi()).ok()
2893     }
2894 }
2895 unsafe impl ::windows::runtime::Interface for ITsSbPlacementNotifySink {
2896     type Vtable = ITsSbPlacementNotifySink_abi;
2897     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1755366535, 11087, 18114, [148, 161, 108, 230, 133, 24, 54, 52]);
2898 }
2899 impl ::std::convert::From<ITsSbPlacementNotifySink> for ::windows::runtime::IUnknown {
from(value: ITsSbPlacementNotifySink) -> Self2900     fn from(value: ITsSbPlacementNotifySink) -> Self {
2901         unsafe { ::std::mem::transmute(value) }
2902     }
2903 }
2904 impl ::std::convert::From<&ITsSbPlacementNotifySink> for ::windows::runtime::IUnknown {
from(value: &ITsSbPlacementNotifySink) -> Self2905     fn from(value: &ITsSbPlacementNotifySink) -> Self {
2906         ::std::convert::From::from(::std::clone::Clone::clone(value))
2907     }
2908 }
2909 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbPlacementNotifySink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2910     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2911         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2912     }
2913 }
2914 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbPlacementNotifySink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2915     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2916         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2917     }
2918 }
2919 impl ::std::convert::From<ITsSbPlacementNotifySink> for ITsSbBaseNotifySink {
from(value: ITsSbPlacementNotifySink) -> Self2920     fn from(value: ITsSbPlacementNotifySink) -> Self {
2921         unsafe { ::std::mem::transmute(value) }
2922     }
2923 }
2924 impl ::std::convert::From<&ITsSbPlacementNotifySink> for ITsSbBaseNotifySink {
from(value: &ITsSbPlacementNotifySink) -> Self2925     fn from(value: &ITsSbPlacementNotifySink) -> Self {
2926         ::std::convert::From::from(::std::clone::Clone::clone(value))
2927     }
2928 }
2929 impl<'a> ::windows::runtime::IntoParam<'a, ITsSbBaseNotifySink> for ITsSbPlacementNotifySink {
into_param(self) -> ::windows::runtime::Param<'a, ITsSbBaseNotifySink>2930     fn into_param(self) -> ::windows::runtime::Param<'a, ITsSbBaseNotifySink> {
2931         ::windows::runtime::Param::Owned(::std::convert::Into::<ITsSbBaseNotifySink>::into(self))
2932     }
2933 }
2934 impl<'a> ::windows::runtime::IntoParam<'a, ITsSbBaseNotifySink> for &ITsSbPlacementNotifySink {
into_param(self) -> ::windows::runtime::Param<'a, ITsSbBaseNotifySink>2935     fn into_param(self) -> ::windows::runtime::Param<'a, ITsSbBaseNotifySink> {
2936         ::windows::runtime::Param::Owned(::std::convert::Into::<ITsSbBaseNotifySink>::into(::std::clone::Clone::clone(self)))
2937     }
2938 }
2939 #[repr(C)]
2940 #[doc(hidden)]
2941 pub struct ITsSbPlacementNotifySink_abi(
2942     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2943     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2944     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2945     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hrerror: ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
2946     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, messagetype: CLIENT_MESSAGE_TYPE, messageid: u32) -> ::windows::runtime::HRESULT,
2947     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, penvironment: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2948 );
2949 #[repr(transparent)]
2950 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2951 pub struct ITsSbPlugin(::windows::runtime::IUnknown);
2952 impl ITsSbPlugin {
Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbProvider>, Param1: ::windows::runtime::IntoParam<'a, ITsSbPluginNotifySink>, Param2: ::windows::runtime::IntoParam<'a, ITsSbPluginPropertySet>>(&self, pprovider: Param0, pnotifysink: Param1, ppropertyset: Param2) -> ::windows::runtime::Result<()>2953     pub unsafe fn Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbProvider>, Param1: ::windows::runtime::IntoParam<'a, ITsSbPluginNotifySink>, Param2: ::windows::runtime::IntoParam<'a, ITsSbPluginPropertySet>>(&self, pprovider: Param0, pnotifysink: Param1, ppropertyset: Param2) -> ::windows::runtime::Result<()> {
2954         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pprovider.into_param().abi(), pnotifysink.into_param().abi(), ppropertyset.into_param().abi()).ok()
2955     }
Terminate(&self, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>2956     pub unsafe fn Terminate(&self, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
2957         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(hr)).ok()
2958     }
2959 }
2960 unsafe impl ::windows::runtime::Interface for ITsSbPlugin {
2961     type Vtable = ITsSbPlugin_abi;
2962     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1221424134, 51883, 18015, [165, 214, 186, 168, 99, 185, 234, 79]);
2963 }
2964 impl ::std::convert::From<ITsSbPlugin> for ::windows::runtime::IUnknown {
from(value: ITsSbPlugin) -> Self2965     fn from(value: ITsSbPlugin) -> Self {
2966         unsafe { ::std::mem::transmute(value) }
2967     }
2968 }
2969 impl ::std::convert::From<&ITsSbPlugin> for ::windows::runtime::IUnknown {
from(value: &ITsSbPlugin) -> Self2970     fn from(value: &ITsSbPlugin) -> Self {
2971         ::std::convert::From::from(::std::clone::Clone::clone(value))
2972     }
2973 }
2974 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbPlugin {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2975     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2976         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2977     }
2978 }
2979 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbPlugin {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2980     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2981         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2982     }
2983 }
2984 #[repr(C)]
2985 #[doc(hidden)]
2986 pub struct ITsSbPlugin_abi(
2987     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2988     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2989     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2990     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprovider: ::windows::runtime::RawPtr, pnotifysink: ::windows::runtime::RawPtr, ppropertyset: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2991     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
2992 );
2993 #[repr(transparent)]
2994 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2995 pub struct ITsSbPluginNotifySink(::windows::runtime::IUnknown);
2996 impl ITsSbPluginNotifySink {
OnError(&self, hrerror: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>2997     pub unsafe fn OnError(&self, hrerror: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
2998         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(hrerror)).ok()
2999     }
OnReportStatus(&self, messagetype: CLIENT_MESSAGE_TYPE, messageid: u32) -> ::windows::runtime::Result<()>3000     pub unsafe fn OnReportStatus(&self, messagetype: CLIENT_MESSAGE_TYPE, messageid: u32) -> ::windows::runtime::Result<()> {
3001         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(messagetype), ::std::mem::transmute(messageid)).ok()
3002     }
OnInitialized(&self, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>3003     pub unsafe fn OnInitialized(&self, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
3004         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(hr)).ok()
3005     }
OnTerminated(&self) -> ::windows::runtime::Result<()>3006     pub unsafe fn OnTerminated(&self) -> ::windows::runtime::Result<()> {
3007         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
3008     }
3009 }
3010 unsafe impl ::windows::runtime::Interface for ITsSbPluginNotifySink {
3011     type Vtable = ITsSbPluginNotifySink_abi;
3012     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1155523339, 50110, 16629, [191, 130, 122, 149, 187, 121, 90, 223]);
3013 }
3014 impl ::std::convert::From<ITsSbPluginNotifySink> for ::windows::runtime::IUnknown {
from(value: ITsSbPluginNotifySink) -> Self3015     fn from(value: ITsSbPluginNotifySink) -> Self {
3016         unsafe { ::std::mem::transmute(value) }
3017     }
3018 }
3019 impl ::std::convert::From<&ITsSbPluginNotifySink> for ::windows::runtime::IUnknown {
from(value: &ITsSbPluginNotifySink) -> Self3020     fn from(value: &ITsSbPluginNotifySink) -> Self {
3021         ::std::convert::From::from(::std::clone::Clone::clone(value))
3022     }
3023 }
3024 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbPluginNotifySink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3025     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3026         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3027     }
3028 }
3029 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbPluginNotifySink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3030     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3031         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3032     }
3033 }
3034 impl ::std::convert::From<ITsSbPluginNotifySink> for ITsSbBaseNotifySink {
from(value: ITsSbPluginNotifySink) -> Self3035     fn from(value: ITsSbPluginNotifySink) -> Self {
3036         unsafe { ::std::mem::transmute(value) }
3037     }
3038 }
3039 impl ::std::convert::From<&ITsSbPluginNotifySink> for ITsSbBaseNotifySink {
from(value: &ITsSbPluginNotifySink) -> Self3040     fn from(value: &ITsSbPluginNotifySink) -> Self {
3041         ::std::convert::From::from(::std::clone::Clone::clone(value))
3042     }
3043 }
3044 impl<'a> ::windows::runtime::IntoParam<'a, ITsSbBaseNotifySink> for ITsSbPluginNotifySink {
into_param(self) -> ::windows::runtime::Param<'a, ITsSbBaseNotifySink>3045     fn into_param(self) -> ::windows::runtime::Param<'a, ITsSbBaseNotifySink> {
3046         ::windows::runtime::Param::Owned(::std::convert::Into::<ITsSbBaseNotifySink>::into(self))
3047     }
3048 }
3049 impl<'a> ::windows::runtime::IntoParam<'a, ITsSbBaseNotifySink> for &ITsSbPluginNotifySink {
into_param(self) -> ::windows::runtime::Param<'a, ITsSbBaseNotifySink>3050     fn into_param(self) -> ::windows::runtime::Param<'a, ITsSbBaseNotifySink> {
3051         ::windows::runtime::Param::Owned(::std::convert::Into::<ITsSbBaseNotifySink>::into(::std::clone::Clone::clone(self)))
3052     }
3053 }
3054 #[repr(C)]
3055 #[doc(hidden)]
3056 pub struct ITsSbPluginNotifySink_abi(
3057     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3058     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3059     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3060     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hrerror: ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
3061     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, messagetype: CLIENT_MESSAGE_TYPE, messageid: u32) -> ::windows::runtime::HRESULT,
3062     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
3063     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3064 );
3065 #[repr(transparent)]
3066 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3067 pub struct ITsSbPluginPropertySet(::windows::runtime::IUnknown);
3068 impl ITsSbPluginPropertySet {
3069     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Read<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::Ole::Automation::IErrorLog>>(&self, pszpropname: Param0, pvar: *mut super::Com::VARIANT, perrorlog: Param2) -> ::windows::runtime::Result<()>3070     pub unsafe fn Read<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::Ole::Automation::IErrorLog>>(&self, pszpropname: Param0, pvar: *mut super::Com::VARIANT, perrorlog: Param2) -> ::windows::runtime::Result<()> {
3071         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pszpropname.into_param().abi(), ::std::mem::transmute(pvar), perrorlog.into_param().abi()).ok()
3072     }
3073     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Write<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszpropname: Param0, pvar: *const super::Com::VARIANT) -> ::windows::runtime::Result<()>3074     pub unsafe fn Write<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszpropname: Param0, pvar: *const super::Com::VARIANT) -> ::windows::runtime::Result<()> {
3075         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pszpropname.into_param().abi(), ::std::mem::transmute(pvar)).ok()
3076     }
3077 }
3078 unsafe impl ::windows::runtime::Interface for ITsSbPluginPropertySet {
3079     type Vtable = ITsSbPluginPropertySet_abi;
3080     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2499833396, 32511, 19308, [187, 64, 73, 164, 253, 167, 206, 166]);
3081 }
3082 impl ::std::convert::From<ITsSbPluginPropertySet> for ::windows::runtime::IUnknown {
from(value: ITsSbPluginPropertySet) -> Self3083     fn from(value: ITsSbPluginPropertySet) -> Self {
3084         unsafe { ::std::mem::transmute(value) }
3085     }
3086 }
3087 impl ::std::convert::From<&ITsSbPluginPropertySet> for ::windows::runtime::IUnknown {
from(value: &ITsSbPluginPropertySet) -> Self3088     fn from(value: &ITsSbPluginPropertySet) -> Self {
3089         ::std::convert::From::from(::std::clone::Clone::clone(value))
3090     }
3091 }
3092 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbPluginPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3093     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3094         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3095     }
3096 }
3097 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbPluginPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3098     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3099         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3100     }
3101 }
3102 impl ::std::convert::From<ITsSbPluginPropertySet> for ITsSbPropertySet {
from(value: ITsSbPluginPropertySet) -> Self3103     fn from(value: ITsSbPluginPropertySet) -> Self {
3104         unsafe { ::std::mem::transmute(value) }
3105     }
3106 }
3107 impl ::std::convert::From<&ITsSbPluginPropertySet> for ITsSbPropertySet {
from(value: &ITsSbPluginPropertySet) -> Self3108     fn from(value: &ITsSbPluginPropertySet) -> Self {
3109         ::std::convert::From::from(::std::clone::Clone::clone(value))
3110     }
3111 }
3112 impl<'a> ::windows::runtime::IntoParam<'a, ITsSbPropertySet> for ITsSbPluginPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, ITsSbPropertySet>3113     fn into_param(self) -> ::windows::runtime::Param<'a, ITsSbPropertySet> {
3114         ::windows::runtime::Param::Owned(::std::convert::Into::<ITsSbPropertySet>::into(self))
3115     }
3116 }
3117 impl<'a> ::windows::runtime::IntoParam<'a, ITsSbPropertySet> for &ITsSbPluginPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, ITsSbPropertySet>3118     fn into_param(self) -> ::windows::runtime::Param<'a, ITsSbPropertySet> {
3119         ::windows::runtime::Param::Owned(::std::convert::Into::<ITsSbPropertySet>::into(::std::clone::Clone::clone(self)))
3120     }
3121 }
3122 #[cfg(feature = "Win32_System_Ole_Automation")]
3123 impl ::std::convert::From<ITsSbPluginPropertySet> for super::Ole::Automation::IPropertyBag {
from(value: ITsSbPluginPropertySet) -> Self3124     fn from(value: ITsSbPluginPropertySet) -> Self {
3125         unsafe { ::std::mem::transmute(value) }
3126     }
3127 }
3128 #[cfg(feature = "Win32_System_Ole_Automation")]
3129 impl ::std::convert::From<&ITsSbPluginPropertySet> for super::Ole::Automation::IPropertyBag {
from(value: &ITsSbPluginPropertySet) -> Self3130     fn from(value: &ITsSbPluginPropertySet) -> Self {
3131         ::std::convert::From::from(::std::clone::Clone::clone(value))
3132     }
3133 }
3134 #[cfg(feature = "Win32_System_Ole_Automation")]
3135 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IPropertyBag> for ITsSbPluginPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IPropertyBag>3136     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IPropertyBag> {
3137         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IPropertyBag>::into(self))
3138     }
3139 }
3140 #[cfg(feature = "Win32_System_Ole_Automation")]
3141 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IPropertyBag> for &ITsSbPluginPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IPropertyBag>3142     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IPropertyBag> {
3143         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IPropertyBag>::into(::std::clone::Clone::clone(self)))
3144     }
3145 }
3146 #[repr(C)]
3147 #[doc(hidden)]
3148 pub struct ITsSbPluginPropertySet_abi(
3149     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3150     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3151     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3152     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszpropname: super::super::Foundation::PWSTR, pvar: *mut ::std::mem::ManuallyDrop<super::Com::VARIANT>, perrorlog: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3153     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3154     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszpropname: super::super::Foundation::PWSTR, pvar: *const ::std::mem::ManuallyDrop<super::Com::VARIANT>) -> ::windows::runtime::HRESULT,
3155     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3156 );
3157 #[repr(transparent)]
3158 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3159 pub struct ITsSbPropertySet(::windows::runtime::IUnknown);
3160 impl ITsSbPropertySet {
3161     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Read<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::Ole::Automation::IErrorLog>>(&self, pszpropname: Param0, pvar: *mut super::Com::VARIANT, perrorlog: Param2) -> ::windows::runtime::Result<()>3162     pub unsafe fn Read<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::Ole::Automation::IErrorLog>>(&self, pszpropname: Param0, pvar: *mut super::Com::VARIANT, perrorlog: Param2) -> ::windows::runtime::Result<()> {
3163         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pszpropname.into_param().abi(), ::std::mem::transmute(pvar), perrorlog.into_param().abi()).ok()
3164     }
3165     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Write<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszpropname: Param0, pvar: *const super::Com::VARIANT) -> ::windows::runtime::Result<()>3166     pub unsafe fn Write<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszpropname: Param0, pvar: *const super::Com::VARIANT) -> ::windows::runtime::Result<()> {
3167         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pszpropname.into_param().abi(), ::std::mem::transmute(pvar)).ok()
3168     }
3169 }
3170 unsafe impl ::windows::runtime::Interface for ITsSbPropertySet {
3171     type Vtable = ITsSbPropertySet_abi;
3172     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1543655793, 47902, 19375, [162, 18, 109, 94, 151, 116, 179, 59]);
3173 }
3174 impl ::std::convert::From<ITsSbPropertySet> for ::windows::runtime::IUnknown {
from(value: ITsSbPropertySet) -> Self3175     fn from(value: ITsSbPropertySet) -> Self {
3176         unsafe { ::std::mem::transmute(value) }
3177     }
3178 }
3179 impl ::std::convert::From<&ITsSbPropertySet> for ::windows::runtime::IUnknown {
from(value: &ITsSbPropertySet) -> Self3180     fn from(value: &ITsSbPropertySet) -> Self {
3181         ::std::convert::From::from(::std::clone::Clone::clone(value))
3182     }
3183 }
3184 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3185     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3186         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3187     }
3188 }
3189 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3190     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3191         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3192     }
3193 }
3194 #[cfg(feature = "Win32_System_Ole_Automation")]
3195 impl ::std::convert::From<ITsSbPropertySet> for super::Ole::Automation::IPropertyBag {
from(value: ITsSbPropertySet) -> Self3196     fn from(value: ITsSbPropertySet) -> Self {
3197         unsafe { ::std::mem::transmute(value) }
3198     }
3199 }
3200 #[cfg(feature = "Win32_System_Ole_Automation")]
3201 impl ::std::convert::From<&ITsSbPropertySet> for super::Ole::Automation::IPropertyBag {
from(value: &ITsSbPropertySet) -> Self3202     fn from(value: &ITsSbPropertySet) -> Self {
3203         ::std::convert::From::from(::std::clone::Clone::clone(value))
3204     }
3205 }
3206 #[cfg(feature = "Win32_System_Ole_Automation")]
3207 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IPropertyBag> for ITsSbPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IPropertyBag>3208     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IPropertyBag> {
3209         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IPropertyBag>::into(self))
3210     }
3211 }
3212 #[cfg(feature = "Win32_System_Ole_Automation")]
3213 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IPropertyBag> for &ITsSbPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IPropertyBag>3214     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IPropertyBag> {
3215         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IPropertyBag>::into(::std::clone::Clone::clone(self)))
3216     }
3217 }
3218 #[repr(C)]
3219 #[doc(hidden)]
3220 pub struct ITsSbPropertySet_abi(
3221     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3222     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3223     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3224     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszpropname: super::super::Foundation::PWSTR, pvar: *mut ::std::mem::ManuallyDrop<super::Com::VARIANT>, perrorlog: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3225     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3226     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszpropname: super::super::Foundation::PWSTR, pvar: *const ::std::mem::ManuallyDrop<super::Com::VARIANT>) -> ::windows::runtime::HRESULT,
3227     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3228 );
3229 #[repr(transparent)]
3230 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3231 pub struct ITsSbProvider(::windows::runtime::IUnknown);
3232 impl ITsSbProvider {
3233     #[cfg(feature = "Win32_Foundation")]
CreateTargetObject<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, targetname: Param0, environmentname: Param1) -> ::windows::runtime::Result<ITsSbTarget>3234     pub unsafe fn CreateTargetObject<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, targetname: Param0, environmentname: Param1) -> ::windows::runtime::Result<ITsSbTarget> {
3235         let mut result__: <ITsSbTarget as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3236         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), targetname.into_param().abi(), environmentname.into_param().abi(), &mut result__).from_abi::<ITsSbTarget>(result__)
3237     }
3238     #[cfg(feature = "Win32_Foundation")]
CreateLoadBalanceResultObject<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, targetname: Param0) -> ::windows::runtime::Result<ITsSbLoadBalanceResult>3239     pub unsafe fn CreateLoadBalanceResultObject<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, targetname: Param0) -> ::windows::runtime::Result<ITsSbLoadBalanceResult> {
3240         let mut result__: <ITsSbLoadBalanceResult as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3241         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), targetname.into_param().abi(), &mut result__).from_abi::<ITsSbLoadBalanceResult>(result__)
3242     }
3243     #[cfg(feature = "Win32_Foundation")]
CreateSessionObject<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, targetname: Param0, username: Param1, domain: Param2, sessionid: u32) -> ::windows::runtime::Result<ITsSbSession>3244     pub unsafe fn CreateSessionObject<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, targetname: Param0, username: Param1, domain: Param2, sessionid: u32) -> ::windows::runtime::Result<ITsSbSession> {
3245         let mut result__: <ITsSbSession as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3246         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), targetname.into_param().abi(), username.into_param().abi(), domain.into_param().abi(), ::std::mem::transmute(sessionid), &mut result__).from_abi::<ITsSbSession>(result__)
3247     }
CreatePluginPropertySet(&self) -> ::windows::runtime::Result<ITsSbPluginPropertySet>3248     pub unsafe fn CreatePluginPropertySet(&self) -> ::windows::runtime::Result<ITsSbPluginPropertySet> {
3249         let mut result__: <ITsSbPluginPropertySet as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3250         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITsSbPluginPropertySet>(result__)
3251     }
CreateTargetPropertySetObject(&self) -> ::windows::runtime::Result<ITsSbTargetPropertySet>3252     pub unsafe fn CreateTargetPropertySetObject(&self) -> ::windows::runtime::Result<ITsSbTargetPropertySet> {
3253         let mut result__: <ITsSbTargetPropertySet as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3254         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITsSbTargetPropertySet>(result__)
3255     }
3256     #[cfg(feature = "Win32_Foundation")]
CreateEnvironmentObject<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0, serverweight: u32) -> ::windows::runtime::Result<ITsSbEnvironment>3257     pub unsafe fn CreateEnvironmentObject<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0, serverweight: u32) -> ::windows::runtime::Result<ITsSbEnvironment> {
3258         let mut result__: <ITsSbEnvironment as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3259         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), name.into_param().abi(), ::std::mem::transmute(serverweight), &mut result__).from_abi::<ITsSbEnvironment>(result__)
3260     }
GetResourcePluginStore(&self) -> ::windows::runtime::Result<ITsSbResourcePluginStore>3261     pub unsafe fn GetResourcePluginStore(&self) -> ::windows::runtime::Result<ITsSbResourcePluginStore> {
3262         let mut result__: <ITsSbResourcePluginStore as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3263         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITsSbResourcePluginStore>(result__)
3264     }
GetFilterPluginStore(&self) -> ::windows::runtime::Result<ITsSbFilterPluginStore>3265     pub unsafe fn GetFilterPluginStore(&self) -> ::windows::runtime::Result<ITsSbFilterPluginStore> {
3266         let mut result__: <ITsSbFilterPluginStore as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3267         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITsSbFilterPluginStore>(result__)
3268     }
3269     #[cfg(feature = "Win32_Foundation")]
RegisterForNotification<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, ITsSbResourceNotification>>(&self, notificationtype: u32, resourcetomonitor: Param1, ppluginnotification: Param2) -> ::windows::runtime::Result<()>3270     pub unsafe fn RegisterForNotification<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, ITsSbResourceNotification>>(&self, notificationtype: u32, resourcetomonitor: Param1, ppluginnotification: Param2) -> ::windows::runtime::Result<()> {
3271         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(notificationtype), resourcetomonitor.into_param().abi(), ppluginnotification.into_param().abi()).ok()
3272     }
3273     #[cfg(feature = "Win32_Foundation")]
UnRegisterForNotification<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, notificationtype: u32, resourcetomonitor: Param1) -> ::windows::runtime::Result<()>3274     pub unsafe fn UnRegisterForNotification<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, notificationtype: u32, resourcetomonitor: Param1) -> ::windows::runtime::Result<()> {
3275         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(notificationtype), resourcetomonitor.into_param().abi()).ok()
3276     }
GetInstanceOfGlobalStore(&self) -> ::windows::runtime::Result<ITsSbGlobalStore>3277     pub unsafe fn GetInstanceOfGlobalStore(&self) -> ::windows::runtime::Result<ITsSbGlobalStore> {
3278         let mut result__: <ITsSbGlobalStore as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3279         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITsSbGlobalStore>(result__)
3280     }
CreateEnvironmentPropertySetObject(&self) -> ::windows::runtime::Result<ITsSbEnvironmentPropertySet>3281     pub unsafe fn CreateEnvironmentPropertySetObject(&self) -> ::windows::runtime::Result<ITsSbEnvironmentPropertySet> {
3282         let mut result__: <ITsSbEnvironmentPropertySet as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3283         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITsSbEnvironmentPropertySet>(result__)
3284     }
3285 }
3286 unsafe impl ::windows::runtime::Interface for ITsSbProvider {
3287     type Vtable = ITsSbProvider_abi;
3288     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2275674511, 28027, 17629, [188, 23, 140, 228, 78, 55, 13, 82]);
3289 }
3290 impl ::std::convert::From<ITsSbProvider> for ::windows::runtime::IUnknown {
from(value: ITsSbProvider) -> Self3291     fn from(value: ITsSbProvider) -> Self {
3292         unsafe { ::std::mem::transmute(value) }
3293     }
3294 }
3295 impl ::std::convert::From<&ITsSbProvider> for ::windows::runtime::IUnknown {
from(value: &ITsSbProvider) -> Self3296     fn from(value: &ITsSbProvider) -> Self {
3297         ::std::convert::From::from(::std::clone::Clone::clone(value))
3298     }
3299 }
3300 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbProvider {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3301     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3302         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3303     }
3304 }
3305 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbProvider {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3306     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3307         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3308     }
3309 }
3310 #[repr(C)]
3311 #[doc(hidden)]
3312 pub struct ITsSbProvider_abi(
3313     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3314     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3315     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3316     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, targetname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, environmentname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pptarget: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3317     #[cfg(not(feature = "Win32_Foundation"))] usize,
3318     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, targetname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pplbresult: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3319     #[cfg(not(feature = "Win32_Foundation"))] usize,
3320     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, targetname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, username: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, domain: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, sessionid: u32, ppsession: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3321     #[cfg(not(feature = "Win32_Foundation"))] usize,
3322     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pppropertyset: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3323     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pppropertyset: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3324     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, serverweight: u32, ppenvironment: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3325     #[cfg(not(feature = "Win32_Foundation"))] usize,
3326     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppstore: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3327     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppstore: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3328     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, notificationtype: u32, resourcetomonitor: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, ppluginnotification: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3329     #[cfg(not(feature = "Win32_Foundation"))] usize,
3330     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, notificationtype: u32, resourcetomonitor: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3331     #[cfg(not(feature = "Win32_Foundation"))] usize,
3332     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppglobalstore: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3333     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pppropertyset: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3334 );
3335 #[repr(transparent)]
3336 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3337 pub struct ITsSbProvisioning(::windows::runtime::IUnknown);
3338 impl ITsSbProvisioning {
Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbProvider>, Param1: ::windows::runtime::IntoParam<'a, ITsSbPluginNotifySink>, Param2: ::windows::runtime::IntoParam<'a, ITsSbPluginPropertySet>>(&self, pprovider: Param0, pnotifysink: Param1, ppropertyset: Param2) -> ::windows::runtime::Result<()>3339     pub unsafe fn Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbProvider>, Param1: ::windows::runtime::IntoParam<'a, ITsSbPluginNotifySink>, Param2: ::windows::runtime::IntoParam<'a, ITsSbPluginPropertySet>>(&self, pprovider: Param0, pnotifysink: Param1, ppropertyset: Param2) -> ::windows::runtime::Result<()> {
3340         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pprovider.into_param().abi(), pnotifysink.into_param().abi(), ppropertyset.into_param().abi()).ok()
3341     }
Terminate(&self, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>3342     pub unsafe fn Terminate(&self, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
3343         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(hr)).ok()
3344     }
3345     #[cfg(feature = "Win32_Foundation")]
CreateVirtualMachines<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, ITsSbProvisioningPluginNotifySink>>(&self, jobxmlstring: Param0, jobguid: Param1, psink: Param2) -> ::windows::runtime::Result<()>3346     pub unsafe fn CreateVirtualMachines<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, ITsSbProvisioningPluginNotifySink>>(&self, jobxmlstring: Param0, jobguid: Param1, psink: Param2) -> ::windows::runtime::Result<()> {
3347         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), jobxmlstring.into_param().abi(), jobguid.into_param().abi(), psink.into_param().abi()).ok()
3348     }
3349     #[cfg(feature = "Win32_Foundation")]
PatchVirtualMachines<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, ITsSbProvisioningPluginNotifySink>>(&self, jobxmlstring: Param0, jobguid: Param1, psink: Param2, pvmpatchinfo: *const VM_PATCH_INFO) -> ::windows::runtime::Result<()>3350     pub unsafe fn PatchVirtualMachines<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, ITsSbProvisioningPluginNotifySink>>(&self, jobxmlstring: Param0, jobguid: Param1, psink: Param2, pvmpatchinfo: *const VM_PATCH_INFO) -> ::windows::runtime::Result<()> {
3351         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), jobxmlstring.into_param().abi(), jobguid.into_param().abi(), psink.into_param().abi(), ::std::mem::transmute(pvmpatchinfo)).ok()
3352     }
3353     #[cfg(feature = "Win32_Foundation")]
DeleteVirtualMachines<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, ITsSbProvisioningPluginNotifySink>>(&self, jobxmlstring: Param0, jobguid: Param1, psink: Param2) -> ::windows::runtime::Result<()>3354     pub unsafe fn DeleteVirtualMachines<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, ITsSbProvisioningPluginNotifySink>>(&self, jobxmlstring: Param0, jobguid: Param1, psink: Param2) -> ::windows::runtime::Result<()> {
3355         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), jobxmlstring.into_param().abi(), jobguid.into_param().abi(), psink.into_param().abi()).ok()
3356     }
3357     #[cfg(feature = "Win32_Foundation")]
CancelJob<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, jobguid: Param0) -> ::windows::runtime::Result<()>3358     pub unsafe fn CancelJob<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, jobguid: Param0) -> ::windows::runtime::Result<()> {
3359         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), jobguid.into_param().abi()).ok()
3360     }
3361 }
3362 unsafe impl ::windows::runtime::Interface for ITsSbProvisioning {
3363     type Vtable = ITsSbProvisioning_abi;
3364     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(795807163, 40527, 17963, [156, 63, 252, 204, 61, 203, 98, 50]);
3365 }
3366 impl ::std::convert::From<ITsSbProvisioning> for ::windows::runtime::IUnknown {
from(value: ITsSbProvisioning) -> Self3367     fn from(value: ITsSbProvisioning) -> Self {
3368         unsafe { ::std::mem::transmute(value) }
3369     }
3370 }
3371 impl ::std::convert::From<&ITsSbProvisioning> for ::windows::runtime::IUnknown {
from(value: &ITsSbProvisioning) -> Self3372     fn from(value: &ITsSbProvisioning) -> Self {
3373         ::std::convert::From::from(::std::clone::Clone::clone(value))
3374     }
3375 }
3376 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbProvisioning {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3377     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3378         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3379     }
3380 }
3381 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbProvisioning {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3382     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3383         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3384     }
3385 }
3386 impl ::std::convert::From<ITsSbProvisioning> for ITsSbPlugin {
from(value: ITsSbProvisioning) -> Self3387     fn from(value: ITsSbProvisioning) -> Self {
3388         unsafe { ::std::mem::transmute(value) }
3389     }
3390 }
3391 impl ::std::convert::From<&ITsSbProvisioning> for ITsSbPlugin {
from(value: &ITsSbProvisioning) -> Self3392     fn from(value: &ITsSbProvisioning) -> Self {
3393         ::std::convert::From::from(::std::clone::Clone::clone(value))
3394     }
3395 }
3396 impl<'a> ::windows::runtime::IntoParam<'a, ITsSbPlugin> for ITsSbProvisioning {
into_param(self) -> ::windows::runtime::Param<'a, ITsSbPlugin>3397     fn into_param(self) -> ::windows::runtime::Param<'a, ITsSbPlugin> {
3398         ::windows::runtime::Param::Owned(::std::convert::Into::<ITsSbPlugin>::into(self))
3399     }
3400 }
3401 impl<'a> ::windows::runtime::IntoParam<'a, ITsSbPlugin> for &ITsSbProvisioning {
into_param(self) -> ::windows::runtime::Param<'a, ITsSbPlugin>3402     fn into_param(self) -> ::windows::runtime::Param<'a, ITsSbPlugin> {
3403         ::windows::runtime::Param::Owned(::std::convert::Into::<ITsSbPlugin>::into(::std::clone::Clone::clone(self)))
3404     }
3405 }
3406 #[repr(C)]
3407 #[doc(hidden)]
3408 pub struct ITsSbProvisioning_abi(
3409     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3410     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3411     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3412     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprovider: ::windows::runtime::RawPtr, pnotifysink: ::windows::runtime::RawPtr, ppropertyset: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3413     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
3414     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, jobxmlstring: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, jobguid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, psink: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3415     #[cfg(not(feature = "Win32_Foundation"))] usize,
3416     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, jobxmlstring: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, jobguid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, psink: ::windows::runtime::RawPtr, pvmpatchinfo: *const VM_PATCH_INFO) -> ::windows::runtime::HRESULT,
3417     #[cfg(not(feature = "Win32_Foundation"))] usize,
3418     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, jobxmlstring: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, jobguid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, psink: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3419     #[cfg(not(feature = "Win32_Foundation"))] usize,
3420     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, jobguid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3421     #[cfg(not(feature = "Win32_Foundation"))] usize,
3422 );
3423 #[repr(transparent)]
3424 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3425 pub struct ITsSbProvisioningPluginNotifySink(::windows::runtime::IUnknown);
3426 impl ITsSbProvisioningPluginNotifySink {
OnJobCreated(&self, pvmnotifyinfo: *const VM_NOTIFY_INFO) -> ::windows::runtime::Result<()>3427     pub unsafe fn OnJobCreated(&self, pvmnotifyinfo: *const VM_NOTIFY_INFO) -> ::windows::runtime::Result<()> {
3428         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pvmnotifyinfo)).ok()
3429     }
3430     #[cfg(feature = "Win32_Foundation")]
OnVirtualMachineStatusChanged<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pvmnotifyentry: *const VM_NOTIFY_ENTRY, vmnotifystatus: VM_NOTIFY_STATUS, errorcode: ::windows::runtime::HRESULT, errordescr: Param3) -> ::windows::runtime::Result<()>3431     pub unsafe fn OnVirtualMachineStatusChanged<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pvmnotifyentry: *const VM_NOTIFY_ENTRY, vmnotifystatus: VM_NOTIFY_STATUS, errorcode: ::windows::runtime::HRESULT, errordescr: Param3) -> ::windows::runtime::Result<()> {
3432         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pvmnotifyentry), ::std::mem::transmute(vmnotifystatus), ::std::mem::transmute(errorcode), errordescr.into_param().abi()).ok()
3433     }
3434     #[cfg(feature = "Win32_Foundation")]
OnJobCompleted<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, resultcode: ::windows::runtime::HRESULT, resultdescription: Param1) -> ::windows::runtime::Result<()>3435     pub unsafe fn OnJobCompleted<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, resultcode: ::windows::runtime::HRESULT, resultdescription: Param1) -> ::windows::runtime::Result<()> {
3436         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(resultcode), resultdescription.into_param().abi()).ok()
3437     }
OnJobCancelled(&self) -> ::windows::runtime::Result<()>3438     pub unsafe fn OnJobCancelled(&self) -> ::windows::runtime::Result<()> {
3439         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
3440     }
LockVirtualMachine(&self, pvmnotifyentry: *const VM_NOTIFY_ENTRY) -> ::windows::runtime::Result<()>3441     pub unsafe fn LockVirtualMachine(&self, pvmnotifyentry: *const VM_NOTIFY_ENTRY) -> ::windows::runtime::Result<()> {
3442         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(pvmnotifyentry)).ok()
3443     }
3444     #[cfg(feature = "Win32_Foundation")]
OnVirtualMachineHostStatusChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, vmhost: Param0, vmhostnotifystatus: VM_HOST_NOTIFY_STATUS, errorcode: ::windows::runtime::HRESULT, errordescr: Param3) -> ::windows::runtime::Result<()>3445     pub unsafe fn OnVirtualMachineHostStatusChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, vmhost: Param0, vmhostnotifystatus: VM_HOST_NOTIFY_STATUS, errorcode: ::windows::runtime::HRESULT, errordescr: Param3) -> ::windows::runtime::Result<()> {
3446         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), vmhost.into_param().abi(), ::std::mem::transmute(vmhostnotifystatus), ::std::mem::transmute(errorcode), errordescr.into_param().abi()).ok()
3447     }
3448 }
3449 unsafe impl ::windows::runtime::Interface for ITsSbProvisioningPluginNotifySink {
3450     type Vtable = ITsSbProvisioningPluginNotifySink_abi;
3451     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2896722574, 33163, 17793, [160, 50, 73, 195, 223, 185, 199, 1]);
3452 }
3453 impl ::std::convert::From<ITsSbProvisioningPluginNotifySink> for ::windows::runtime::IUnknown {
from(value: ITsSbProvisioningPluginNotifySink) -> Self3454     fn from(value: ITsSbProvisioningPluginNotifySink) -> Self {
3455         unsafe { ::std::mem::transmute(value) }
3456     }
3457 }
3458 impl ::std::convert::From<&ITsSbProvisioningPluginNotifySink> for ::windows::runtime::IUnknown {
from(value: &ITsSbProvisioningPluginNotifySink) -> Self3459     fn from(value: &ITsSbProvisioningPluginNotifySink) -> Self {
3460         ::std::convert::From::from(::std::clone::Clone::clone(value))
3461     }
3462 }
3463 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbProvisioningPluginNotifySink {
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 &ITsSbProvisioningPluginNotifySink {
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 #[repr(C)]
3474 #[doc(hidden)]
3475 pub struct ITsSbProvisioningPluginNotifySink_abi(
3476     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3477     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3478     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3479     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvmnotifyinfo: *const VM_NOTIFY_INFO) -> ::windows::runtime::HRESULT,
3480     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvmnotifyentry: *const VM_NOTIFY_ENTRY, vmnotifystatus: VM_NOTIFY_STATUS, errorcode: ::windows::runtime::HRESULT, errordescr: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3481     #[cfg(not(feature = "Win32_Foundation"))] usize,
3482     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, resultcode: ::windows::runtime::HRESULT, resultdescription: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3483     #[cfg(not(feature = "Win32_Foundation"))] usize,
3484     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3485     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvmnotifyentry: *const VM_NOTIFY_ENTRY) -> ::windows::runtime::HRESULT,
3486     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, vmhost: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, vmhostnotifystatus: VM_HOST_NOTIFY_STATUS, errorcode: ::windows::runtime::HRESULT, errordescr: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3487     #[cfg(not(feature = "Win32_Foundation"))] usize,
3488 );
3489 #[repr(transparent)]
3490 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3491 pub struct ITsSbResourceNotification(::windows::runtime::IUnknown);
3492 impl ITsSbResourceNotification {
NotifySessionChange<'a, Param1: ::windows::runtime::IntoParam<'a, ITsSbSession>>(&self, changetype: TSSESSION_STATE, psession: Param1) -> ::windows::runtime::Result<()>3493     pub unsafe fn NotifySessionChange<'a, Param1: ::windows::runtime::IntoParam<'a, ITsSbSession>>(&self, changetype: TSSESSION_STATE, psession: Param1) -> ::windows::runtime::Result<()> {
3494         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(changetype), psession.into_param().abi()).ok()
3495     }
NotifyTargetChange<'a, Param1: ::windows::runtime::IntoParam<'a, ITsSbTarget>>(&self, targetchangetype: u32, ptarget: Param1) -> ::windows::runtime::Result<()>3496     pub unsafe fn NotifyTargetChange<'a, Param1: ::windows::runtime::IntoParam<'a, ITsSbTarget>>(&self, targetchangetype: u32, ptarget: Param1) -> ::windows::runtime::Result<()> {
3497         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(targetchangetype), ptarget.into_param().abi()).ok()
3498     }
NotifyClientConnectionStateChange<'a, Param1: ::windows::runtime::IntoParam<'a, ITsSbClientConnection>>(&self, changetype: CONNECTION_CHANGE_NOTIFICATION, pconnection: Param1) -> ::windows::runtime::Result<()>3499     pub unsafe fn NotifyClientConnectionStateChange<'a, Param1: ::windows::runtime::IntoParam<'a, ITsSbClientConnection>>(&self, changetype: CONNECTION_CHANGE_NOTIFICATION, pconnection: Param1) -> ::windows::runtime::Result<()> {
3500         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(changetype), pconnection.into_param().abi()).ok()
3501     }
3502 }
3503 unsafe impl ::windows::runtime::Interface for ITsSbResourceNotification {
3504     type Vtable = ITsSbResourceNotification_abi;
3505     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1708386394, 50075, 4572, [185, 45, 60, 210, 85, 216, 149, 147]);
3506 }
3507 impl ::std::convert::From<ITsSbResourceNotification> for ::windows::runtime::IUnknown {
from(value: ITsSbResourceNotification) -> Self3508     fn from(value: ITsSbResourceNotification) -> Self {
3509         unsafe { ::std::mem::transmute(value) }
3510     }
3511 }
3512 impl ::std::convert::From<&ITsSbResourceNotification> for ::windows::runtime::IUnknown {
from(value: &ITsSbResourceNotification) -> Self3513     fn from(value: &ITsSbResourceNotification) -> Self {
3514         ::std::convert::From::from(::std::clone::Clone::clone(value))
3515     }
3516 }
3517 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbResourceNotification {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3518     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3519         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3520     }
3521 }
3522 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbResourceNotification {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3523     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3524         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3525     }
3526 }
3527 #[repr(C)]
3528 #[doc(hidden)]
3529 pub struct ITsSbResourceNotification_abi(
3530     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3531     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3532     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3533     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, changetype: TSSESSION_STATE, psession: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3534     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, targetchangetype: u32, ptarget: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3535     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, changetype: CONNECTION_CHANGE_NOTIFICATION, pconnection: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3536 );
3537 #[repr(transparent)]
3538 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3539 pub struct ITsSbResourceNotificationEx(::windows::runtime::IUnknown);
3540 impl ITsSbResourceNotificationEx {
3541     #[cfg(feature = "Win32_Foundation")]
NotifySessionChangeEx<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, targetname: Param0, username: Param1, domain: Param2, sessionid: u32, sessionstate: TSSESSION_STATE) -> ::windows::runtime::Result<()>3542     pub unsafe fn NotifySessionChangeEx<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, targetname: Param0, username: Param1, domain: Param2, sessionid: u32, sessionstate: TSSESSION_STATE) -> ::windows::runtime::Result<()> {
3543         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), targetname.into_param().abi(), username.into_param().abi(), domain.into_param().abi(), ::std::mem::transmute(sessionid), ::std::mem::transmute(sessionstate)).ok()
3544     }
3545     #[cfg(feature = "Win32_Foundation")]
NotifyTargetChangeEx<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, targetname: Param0, targetchangetype: u32) -> ::windows::runtime::Result<()>3546     pub unsafe fn NotifyTargetChangeEx<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, targetname: Param0, targetchangetype: u32) -> ::windows::runtime::Result<()> {
3547         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), targetname.into_param().abi(), ::std::mem::transmute(targetchangetype)).ok()
3548     }
3549     #[cfg(feature = "Win32_Foundation")]
NotifyClientConnectionStateChangeEx<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>( &self, username: Param0, domain: Param1, initialprogram: Param2, poolname: Param3, targetname: Param4, connectionchangetype: CONNECTION_CHANGE_NOTIFICATION, ) -> ::windows::runtime::Result<()>3550     pub unsafe fn NotifyClientConnectionStateChangeEx<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(
3551         &self,
3552         username: Param0,
3553         domain: Param1,
3554         initialprogram: Param2,
3555         poolname: Param3,
3556         targetname: Param4,
3557         connectionchangetype: CONNECTION_CHANGE_NOTIFICATION,
3558     ) -> ::windows::runtime::Result<()> {
3559         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), username.into_param().abi(), domain.into_param().abi(), initialprogram.into_param().abi(), poolname.into_param().abi(), targetname.into_param().abi(), ::std::mem::transmute(connectionchangetype)).ok()
3560     }
3561 }
3562 unsafe impl ::windows::runtime::Interface for ITsSbResourceNotificationEx {
3563     type Vtable = ITsSbResourceNotificationEx_abi;
3564     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2829352926, 51857, 17618, [184, 151, 58, 162, 138, 67, 178, 183]);
3565 }
3566 impl ::std::convert::From<ITsSbResourceNotificationEx> for ::windows::runtime::IUnknown {
from(value: ITsSbResourceNotificationEx) -> Self3567     fn from(value: ITsSbResourceNotificationEx) -> Self {
3568         unsafe { ::std::mem::transmute(value) }
3569     }
3570 }
3571 impl ::std::convert::From<&ITsSbResourceNotificationEx> for ::windows::runtime::IUnknown {
from(value: &ITsSbResourceNotificationEx) -> Self3572     fn from(value: &ITsSbResourceNotificationEx) -> Self {
3573         ::std::convert::From::from(::std::clone::Clone::clone(value))
3574     }
3575 }
3576 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbResourceNotificationEx {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3577     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3578         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3579     }
3580 }
3581 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbResourceNotificationEx {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3582     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3583         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3584     }
3585 }
3586 #[repr(C)]
3587 #[doc(hidden)]
3588 pub struct ITsSbResourceNotificationEx_abi(
3589     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3590     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3591     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3592     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, targetname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, username: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, domain: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, sessionid: u32, sessionstate: TSSESSION_STATE) -> ::windows::runtime::HRESULT,
3593     #[cfg(not(feature = "Win32_Foundation"))] usize,
3594     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, targetname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, targetchangetype: u32) -> ::windows::runtime::HRESULT,
3595     #[cfg(not(feature = "Win32_Foundation"))] usize,
3596     #[cfg(feature = "Win32_Foundation")]
3597     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, username: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, domain: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, initialprogram: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, poolname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, targetname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, connectionchangetype: CONNECTION_CHANGE_NOTIFICATION) -> ::windows::runtime::HRESULT,
3598     #[cfg(not(feature = "Win32_Foundation"))] usize,
3599 );
3600 #[repr(transparent)]
3601 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3602 pub struct ITsSbResourcePlugin(::windows::runtime::IUnknown);
3603 impl ITsSbResourcePlugin {
Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbProvider>, Param1: ::windows::runtime::IntoParam<'a, ITsSbPluginNotifySink>, Param2: ::windows::runtime::IntoParam<'a, ITsSbPluginPropertySet>>(&self, pprovider: Param0, pnotifysink: Param1, ppropertyset: Param2) -> ::windows::runtime::Result<()>3604     pub unsafe fn Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbProvider>, Param1: ::windows::runtime::IntoParam<'a, ITsSbPluginNotifySink>, Param2: ::windows::runtime::IntoParam<'a, ITsSbPluginPropertySet>>(&self, pprovider: Param0, pnotifysink: Param1, ppropertyset: Param2) -> ::windows::runtime::Result<()> {
3605         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pprovider.into_param().abi(), pnotifysink.into_param().abi(), ppropertyset.into_param().abi()).ok()
3606     }
Terminate(&self, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>3607     pub unsafe fn Terminate(&self, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
3608         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(hr)).ok()
3609     }
3610 }
3611 unsafe impl ::windows::runtime::Interface for ITsSbResourcePlugin {
3612     type Vtable = ITsSbResourcePlugin_abi;
3613     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3935155244, 39149, 17717, [168, 139, 42, 22, 79, 53, 73, 15]);
3614 }
3615 impl ::std::convert::From<ITsSbResourcePlugin> for ::windows::runtime::IUnknown {
from(value: ITsSbResourcePlugin) -> Self3616     fn from(value: ITsSbResourcePlugin) -> Self {
3617         unsafe { ::std::mem::transmute(value) }
3618     }
3619 }
3620 impl ::std::convert::From<&ITsSbResourcePlugin> for ::windows::runtime::IUnknown {
from(value: &ITsSbResourcePlugin) -> Self3621     fn from(value: &ITsSbResourcePlugin) -> Self {
3622         ::std::convert::From::from(::std::clone::Clone::clone(value))
3623     }
3624 }
3625 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbResourcePlugin {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3626     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3627         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3628     }
3629 }
3630 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbResourcePlugin {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3631     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3632         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3633     }
3634 }
3635 impl ::std::convert::From<ITsSbResourcePlugin> for ITsSbPlugin {
from(value: ITsSbResourcePlugin) -> Self3636     fn from(value: ITsSbResourcePlugin) -> Self {
3637         unsafe { ::std::mem::transmute(value) }
3638     }
3639 }
3640 impl ::std::convert::From<&ITsSbResourcePlugin> for ITsSbPlugin {
from(value: &ITsSbResourcePlugin) -> Self3641     fn from(value: &ITsSbResourcePlugin) -> Self {
3642         ::std::convert::From::from(::std::clone::Clone::clone(value))
3643     }
3644 }
3645 impl<'a> ::windows::runtime::IntoParam<'a, ITsSbPlugin> for ITsSbResourcePlugin {
into_param(self) -> ::windows::runtime::Param<'a, ITsSbPlugin>3646     fn into_param(self) -> ::windows::runtime::Param<'a, ITsSbPlugin> {
3647         ::windows::runtime::Param::Owned(::std::convert::Into::<ITsSbPlugin>::into(self))
3648     }
3649 }
3650 impl<'a> ::windows::runtime::IntoParam<'a, ITsSbPlugin> for &ITsSbResourcePlugin {
into_param(self) -> ::windows::runtime::Param<'a, ITsSbPlugin>3651     fn into_param(self) -> ::windows::runtime::Param<'a, ITsSbPlugin> {
3652         ::windows::runtime::Param::Owned(::std::convert::Into::<ITsSbPlugin>::into(::std::clone::Clone::clone(self)))
3653     }
3654 }
3655 #[repr(C)]
3656 #[doc(hidden)]
3657 pub struct ITsSbResourcePlugin_abi(
3658     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3659     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3660     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3661     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprovider: ::windows::runtime::RawPtr, pnotifysink: ::windows::runtime::RawPtr, ppropertyset: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3662     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
3663 );
3664 #[repr(transparent)]
3665 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3666 pub struct ITsSbResourcePluginStore(::windows::runtime::IUnknown);
3667 impl ITsSbResourcePluginStore {
3668     #[cfg(feature = "Win32_Foundation")]
QueryTarget<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, targetname: Param0, farmname: Param1) -> ::windows::runtime::Result<ITsSbTarget>3669     pub unsafe fn QueryTarget<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, targetname: Param0, farmname: Param1) -> ::windows::runtime::Result<ITsSbTarget> {
3670         let mut result__: <ITsSbTarget as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3671         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), targetname.into_param().abi(), farmname.into_param().abi(), &mut result__).from_abi::<ITsSbTarget>(result__)
3672     }
3673     #[cfg(feature = "Win32_Foundation")]
QuerySessionBySessionId<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, dwsessionid: u32, targetname: Param1) -> ::windows::runtime::Result<ITsSbSession>3674     pub unsafe fn QuerySessionBySessionId<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, dwsessionid: u32, targetname: Param1) -> ::windows::runtime::Result<ITsSbSession> {
3675         let mut result__: <ITsSbSession as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3676         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwsessionid), targetname.into_param().abi(), &mut result__).from_abi::<ITsSbSession>(result__)
3677     }
AddTargetToStore<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbTarget>>(&self, ptarget: Param0) -> ::windows::runtime::Result<()>3678     pub unsafe fn AddTargetToStore<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbTarget>>(&self, ptarget: Param0) -> ::windows::runtime::Result<()> {
3679         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ptarget.into_param().abi()).ok()
3680     }
AddSessionToStore<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbSession>>(&self, psession: Param0) -> ::windows::runtime::Result<()>3681     pub unsafe fn AddSessionToStore<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbSession>>(&self, psession: Param0) -> ::windows::runtime::Result<()> {
3682         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), psession.into_param().abi()).ok()
3683     }
AddEnvironmentToStore<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbEnvironment>>(&self, penvironment: Param0) -> ::windows::runtime::Result<()>3684     pub unsafe fn AddEnvironmentToStore<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbEnvironment>>(&self, penvironment: Param0) -> ::windows::runtime::Result<()> {
3685         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), penvironment.into_param().abi()).ok()
3686     }
3687     #[cfg(feature = "Win32_Foundation")]
RemoveEnvironmentFromStore<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, environmentname: Param0, bignoreowner: Param1) -> ::windows::runtime::Result<()>3688     pub unsafe fn RemoveEnvironmentFromStore<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, environmentname: Param0, bignoreowner: Param1) -> ::windows::runtime::Result<()> {
3689         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), environmentname.into_param().abi(), bignoreowner.into_param().abi()).ok()
3690     }
3691     #[cfg(feature = "Win32_System_Com")]
EnumerateFarms(&self, pdwcount: *mut u32, pval: *mut *mut super::Com::SAFEARRAY) -> ::windows::runtime::Result<()>3692     pub unsafe fn EnumerateFarms(&self, pdwcount: *mut u32, pval: *mut *mut super::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
3693         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdwcount), ::std::mem::transmute(pval)).ok()
3694     }
3695     #[cfg(feature = "Win32_Foundation")]
QueryEnvironment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, environmentname: Param0) -> ::windows::runtime::Result<ITsSbEnvironment>3696     pub unsafe fn QueryEnvironment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, environmentname: Param0) -> ::windows::runtime::Result<ITsSbEnvironment> {
3697         let mut result__: <ITsSbEnvironment as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3698         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), environmentname.into_param().abi(), &mut result__).from_abi::<ITsSbEnvironment>(result__)
3699     }
EnumerateEnvironments(&self, pdwcount: *mut u32, pval: *mut *mut ::std::option::Option<ITsSbEnvironment>) -> ::windows::runtime::Result<()>3700     pub unsafe fn EnumerateEnvironments(&self, pdwcount: *mut u32, pval: *mut *mut ::std::option::Option<ITsSbEnvironment>) -> ::windows::runtime::Result<()> {
3701         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdwcount), ::std::mem::transmute(pval)).ok()
3702     }
3703     #[cfg(feature = "Win32_Foundation")]
SaveTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbTarget>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, ptarget: Param0, bforcewrite: Param1) -> ::windows::runtime::Result<()>3704     pub unsafe fn SaveTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbTarget>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, ptarget: Param0, bforcewrite: Param1) -> ::windows::runtime::Result<()> {
3705         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ptarget.into_param().abi(), bforcewrite.into_param().abi()).ok()
3706     }
3707     #[cfg(feature = "Win32_Foundation")]
SaveEnvironment<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbEnvironment>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, penvironment: Param0, bforcewrite: Param1) -> ::windows::runtime::Result<()>3708     pub unsafe fn SaveEnvironment<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbEnvironment>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, penvironment: Param0, bforcewrite: Param1) -> ::windows::runtime::Result<()> {
3709         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), penvironment.into_param().abi(), bforcewrite.into_param().abi()).ok()
3710     }
SaveSession<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbSession>>(&self, psession: Param0) -> ::windows::runtime::Result<()>3711     pub unsafe fn SaveSession<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbSession>>(&self, psession: Param0) -> ::windows::runtime::Result<()> {
3712         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), psession.into_param().abi()).ok()
3713     }
3714     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
SetTargetProperty<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, targetname: Param0, propertyname: Param1, pproperty: *const super::Com::VARIANT) -> ::windows::runtime::Result<()>3715     pub unsafe fn SetTargetProperty<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, targetname: Param0, propertyname: Param1, pproperty: *const super::Com::VARIANT) -> ::windows::runtime::Result<()> {
3716         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), targetname.into_param().abi(), propertyname.into_param().abi(), ::std::mem::transmute(pproperty)).ok()
3717     }
3718     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
SetEnvironmentProperty<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, environmentname: Param0, propertyname: Param1, pproperty: *const super::Com::VARIANT) -> ::windows::runtime::Result<()>3719     pub unsafe fn SetEnvironmentProperty<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, environmentname: Param0, propertyname: Param1, pproperty: *const super::Com::VARIANT) -> ::windows::runtime::Result<()> {
3720         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), environmentname.into_param().abi(), propertyname.into_param().abi(), ::std::mem::transmute(pproperty)).ok()
3721     }
3722     #[cfg(feature = "Win32_Foundation")]
SetTargetState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, targetname: Param0, newstate: TARGET_STATE) -> ::windows::runtime::Result<TARGET_STATE>3723     pub unsafe fn SetTargetState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, targetname: Param0, newstate: TARGET_STATE) -> ::windows::runtime::Result<TARGET_STATE> {
3724         let mut result__: <TARGET_STATE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3725         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), targetname.into_param().abi(), ::std::mem::transmute(newstate), &mut result__).from_abi::<TARGET_STATE>(result__)
3726     }
SetSessionState<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbSession>>(&self, sbsession: Param0) -> ::windows::runtime::Result<()>3727     pub unsafe fn SetSessionState<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbSession>>(&self, sbsession: Param0) -> ::windows::runtime::Result<()> {
3728         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), sbsession.into_param().abi()).ok()
3729     }
3730     #[cfg(feature = "Win32_Foundation")]
EnumerateTargets<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, farmname: Param0, envname: Param1, sortbyfieldid: TS_SB_SORT_BY, sortybypropname: Param3, pdwcount: *mut u32, pval: *mut *mut ::std::option::Option<ITsSbTarget>) -> ::windows::runtime::Result<()>3731     pub unsafe fn EnumerateTargets<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, farmname: Param0, envname: Param1, sortbyfieldid: TS_SB_SORT_BY, sortybypropname: Param3, pdwcount: *mut u32, pval: *mut *mut ::std::option::Option<ITsSbTarget>) -> ::windows::runtime::Result<()> {
3732         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), farmname.into_param().abi(), envname.into_param().abi(), ::std::mem::transmute(sortbyfieldid), sortybypropname.into_param().abi(), ::std::mem::transmute(pdwcount), ::std::mem::transmute(pval)).ok()
3733     }
3734     #[cfg(feature = "Win32_Foundation")]
EnumerateSessions<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>( &self, targetname: Param0, username: Param1, userdomain: Param2, poolname: Param3, initialprogram: Param4, psessionstate: *const TSSESSION_STATE, pdwcount: *mut u32, ppval: *mut *mut ::std::option::Option<ITsSbSession>, ) -> ::windows::runtime::Result<()>3735     pub unsafe fn EnumerateSessions<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(
3736         &self,
3737         targetname: Param0,
3738         username: Param1,
3739         userdomain: Param2,
3740         poolname: Param3,
3741         initialprogram: Param4,
3742         psessionstate: *const TSSESSION_STATE,
3743         pdwcount: *mut u32,
3744         ppval: *mut *mut ::std::option::Option<ITsSbSession>,
3745     ) -> ::windows::runtime::Result<()> {
3746         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), targetname.into_param().abi(), username.into_param().abi(), userdomain.into_param().abi(), poolname.into_param().abi(), initialprogram.into_param().abi(), ::std::mem::transmute(psessionstate), ::std::mem::transmute(pdwcount), ::std::mem::transmute(ppval)).ok()
3747     }
3748     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
GetFarmProperty<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, farmname: Param0, propertyname: Param1, pvarvalue: *const super::Com::VARIANT) -> ::windows::runtime::Result<()>3749     pub unsafe fn GetFarmProperty<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, farmname: Param0, propertyname: Param1, pvarvalue: *const super::Com::VARIANT) -> ::windows::runtime::Result<()> {
3750         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), farmname.into_param().abi(), propertyname.into_param().abi(), ::std::mem::transmute(pvarvalue)).ok()
3751     }
3752     #[cfg(feature = "Win32_Foundation")]
DeleteTarget<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, targetname: Param0, hostname: Param1) -> ::windows::runtime::Result<()>3753     pub unsafe fn DeleteTarget<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, targetname: Param0, hostname: Param1) -> ::windows::runtime::Result<()> {
3754         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), targetname.into_param().abi(), hostname.into_param().abi()).ok()
3755     }
3756     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
SetTargetPropertyWithVersionCheck<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbTarget>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, ptarget: Param0, propertyname: Param1, pproperty: *const super::Com::VARIANT) -> ::windows::runtime::Result<()>3757     pub unsafe fn SetTargetPropertyWithVersionCheck<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbTarget>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, ptarget: Param0, propertyname: Param1, pproperty: *const super::Com::VARIANT) -> ::windows::runtime::Result<()> {
3758         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ptarget.into_param().abi(), propertyname.into_param().abi(), ::std::mem::transmute(pproperty)).ok()
3759     }
3760     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
SetEnvironmentPropertyWithVersionCheck<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbEnvironment>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, penvironment: Param0, propertyname: Param1, pproperty: *const super::Com::VARIANT) -> ::windows::runtime::Result<()>3761     pub unsafe fn SetEnvironmentPropertyWithVersionCheck<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbEnvironment>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, penvironment: Param0, propertyname: Param1, pproperty: *const super::Com::VARIANT) -> ::windows::runtime::Result<()> {
3762         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), penvironment.into_param().abi(), propertyname.into_param().abi(), ::std::mem::transmute(pproperty)).ok()
3763     }
3764     #[cfg(feature = "Win32_Foundation")]
AcquireTargetLock<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, targetname: Param0, dwtimeout: u32) -> ::windows::runtime::Result<::windows::runtime::IUnknown>3765     pub unsafe fn AcquireTargetLock<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, targetname: Param0, dwtimeout: u32) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
3766         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3767         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), targetname.into_param().abi(), ::std::mem::transmute(dwtimeout), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
3768     }
ReleaseTargetLock<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pcontext: Param0) -> ::windows::runtime::Result<()>3769     pub unsafe fn ReleaseTargetLock<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pcontext: Param0) -> ::windows::runtime::Result<()> {
3770         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), pcontext.into_param().abi()).ok()
3771     }
3772     #[cfg(feature = "Win32_Foundation")]
TestAndSetServerState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, poolname: Param0, serverfqdn: Param1, newstate: TARGET_STATE, teststate: TARGET_STATE) -> ::windows::runtime::Result<TARGET_STATE>3773     pub unsafe fn TestAndSetServerState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, poolname: Param0, serverfqdn: Param1, newstate: TARGET_STATE, teststate: TARGET_STATE) -> ::windows::runtime::Result<TARGET_STATE> {
3774         let mut result__: <TARGET_STATE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3775         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), poolname.into_param().abi(), serverfqdn.into_param().abi(), ::std::mem::transmute(newstate), ::std::mem::transmute(teststate), &mut result__).from_abi::<TARGET_STATE>(result__)
3776     }
3777     #[cfg(feature = "Win32_Foundation")]
SetServerWaitingToStart<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, poolname: Param0, servername: Param1) -> ::windows::runtime::Result<()>3778     pub unsafe fn SetServerWaitingToStart<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, poolname: Param0, servername: Param1) -> ::windows::runtime::Result<()> {
3779         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), poolname.into_param().abi(), servername.into_param().abi()).ok()
3780     }
3781     #[cfg(feature = "Win32_Foundation")]
GetServerState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, poolname: Param0, serverfqdn: Param1) -> ::windows::runtime::Result<TARGET_STATE>3782     pub unsafe fn GetServerState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, poolname: Param0, serverfqdn: Param1) -> ::windows::runtime::Result<TARGET_STATE> {
3783         let mut result__: <TARGET_STATE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3784         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), poolname.into_param().abi(), serverfqdn.into_param().abi(), &mut result__).from_abi::<TARGET_STATE>(result__)
3785     }
3786     #[cfg(feature = "Win32_Foundation")]
SetServerDrainMode<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, serverfqdn: Param0, drainmode: u32) -> ::windows::runtime::Result<()>3787     pub unsafe fn SetServerDrainMode<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, serverfqdn: Param0, drainmode: u32) -> ::windows::runtime::Result<()> {
3788         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), serverfqdn.into_param().abi(), ::std::mem::transmute(drainmode)).ok()
3789     }
3790 }
3791 unsafe impl ::windows::runtime::Interface for ITsSbResourcePluginStore {
3792     type Vtable = ITsSbResourcePluginStore_abi;
3793     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1547236959, 48369, 16438, [166, 191, 158, 60, 204, 174, 11, 99]);
3794 }
3795 impl ::std::convert::From<ITsSbResourcePluginStore> for ::windows::runtime::IUnknown {
from(value: ITsSbResourcePluginStore) -> Self3796     fn from(value: ITsSbResourcePluginStore) -> Self {
3797         unsafe { ::std::mem::transmute(value) }
3798     }
3799 }
3800 impl ::std::convert::From<&ITsSbResourcePluginStore> for ::windows::runtime::IUnknown {
from(value: &ITsSbResourcePluginStore) -> Self3801     fn from(value: &ITsSbResourcePluginStore) -> Self {
3802         ::std::convert::From::from(::std::clone::Clone::clone(value))
3803     }
3804 }
3805 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbResourcePluginStore {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3806     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3807         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3808     }
3809 }
3810 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbResourcePluginStore {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3811     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3812         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3813     }
3814 }
3815 #[repr(C)]
3816 #[doc(hidden)]
3817 pub struct ITsSbResourcePluginStore_abi(
3818     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3819     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3820     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3821     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, targetname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, farmname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pptarget: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3822     #[cfg(not(feature = "Win32_Foundation"))] usize,
3823     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwsessionid: u32, targetname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, ppsession: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3824     #[cfg(not(feature = "Win32_Foundation"))] usize,
3825     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptarget: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3826     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psession: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3827     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, penvironment: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3828     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, environmentname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, bignoreowner: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3829     #[cfg(not(feature = "Win32_Foundation"))] usize,
3830     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwcount: *mut u32, pval: *mut *mut super::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3831     #[cfg(not(feature = "Win32_System_Com"))] usize,
3832     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, environmentname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, ppenvironment: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3833     #[cfg(not(feature = "Win32_Foundation"))] usize,
3834     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwcount: *mut u32, pval: *mut *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3835     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptarget: ::windows::runtime::RawPtr, bforcewrite: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3836     #[cfg(not(feature = "Win32_Foundation"))] usize,
3837     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, penvironment: ::windows::runtime::RawPtr, bforcewrite: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3838     #[cfg(not(feature = "Win32_Foundation"))] usize,
3839     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psession: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3840     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, targetname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, propertyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pproperty: *const ::std::mem::ManuallyDrop<super::Com::VARIANT>) -> ::windows::runtime::HRESULT,
3841     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3842     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, environmentname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, propertyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pproperty: *const ::std::mem::ManuallyDrop<super::Com::VARIANT>) -> ::windows::runtime::HRESULT,
3843     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3844     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, targetname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, newstate: TARGET_STATE, poldstate: *mut TARGET_STATE) -> ::windows::runtime::HRESULT,
3845     #[cfg(not(feature = "Win32_Foundation"))] usize,
3846     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sbsession: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3847     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, farmname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, envname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, sortbyfieldid: TS_SB_SORT_BY, sortybypropname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pdwcount: *mut u32, pval: *mut *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3848     #[cfg(not(feature = "Win32_Foundation"))] usize,
3849     #[cfg(feature = "Win32_Foundation")]
3850     pub  unsafe extern "system" fn(
3851         this: ::windows::runtime::RawPtr,
3852         targetname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
3853         username: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
3854         userdomain: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
3855         poolname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
3856         initialprogram: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
3857         psessionstate: *const TSSESSION_STATE,
3858         pdwcount: *mut u32,
3859         ppval: *mut *mut ::windows::runtime::RawPtr,
3860     ) -> ::windows::runtime::HRESULT,
3861     #[cfg(not(feature = "Win32_Foundation"))] usize,
3862     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, farmname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, propertyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pvarvalue: *const ::std::mem::ManuallyDrop<super::Com::VARIANT>) -> ::windows::runtime::HRESULT,
3863     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3864     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, targetname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, hostname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3865     #[cfg(not(feature = "Win32_Foundation"))] usize,
3866     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptarget: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pproperty: *const ::std::mem::ManuallyDrop<super::Com::VARIANT>) -> ::windows::runtime::HRESULT,
3867     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3868     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, penvironment: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pproperty: *const ::std::mem::ManuallyDrop<super::Com::VARIANT>) -> ::windows::runtime::HRESULT,
3869     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3870     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, targetname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, dwtimeout: u32, ppcontext: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3871     #[cfg(not(feature = "Win32_Foundation"))] usize,
3872     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcontext: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3873     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, poolname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, serverfqdn: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, newstate: TARGET_STATE, teststate: TARGET_STATE, pinitstate: *mut TARGET_STATE) -> ::windows::runtime::HRESULT,
3874     #[cfg(not(feature = "Win32_Foundation"))] usize,
3875     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, poolname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, servername: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3876     #[cfg(not(feature = "Win32_Foundation"))] usize,
3877     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, poolname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, serverfqdn: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pstate: *mut TARGET_STATE) -> ::windows::runtime::HRESULT,
3878     #[cfg(not(feature = "Win32_Foundation"))] usize,
3879     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, serverfqdn: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, drainmode: u32) -> ::windows::runtime::HRESULT,
3880     #[cfg(not(feature = "Win32_Foundation"))] usize,
3881 );
3882 #[repr(transparent)]
3883 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3884 pub struct ITsSbServiceNotification(::windows::runtime::IUnknown);
3885 impl ITsSbServiceNotification {
NotifyServiceFailure(&self) -> ::windows::runtime::Result<()>3886     pub unsafe fn NotifyServiceFailure(&self) -> ::windows::runtime::Result<()> {
3887         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
3888     }
NotifyServiceSuccess(&self) -> ::windows::runtime::Result<()>3889     pub unsafe fn NotifyServiceSuccess(&self) -> ::windows::runtime::Result<()> {
3890         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
3891     }
3892 }
3893 unsafe impl ::windows::runtime::Interface for ITsSbServiceNotification {
3894     type Vtable = ITsSbServiceNotification_abi;
3895     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2261477550, 34528, 20311, [138, 100, 187, 116, 6, 188, 85, 80]);
3896 }
3897 impl ::std::convert::From<ITsSbServiceNotification> for ::windows::runtime::IUnknown {
from(value: ITsSbServiceNotification) -> Self3898     fn from(value: ITsSbServiceNotification) -> Self {
3899         unsafe { ::std::mem::transmute(value) }
3900     }
3901 }
3902 impl ::std::convert::From<&ITsSbServiceNotification> for ::windows::runtime::IUnknown {
from(value: &ITsSbServiceNotification) -> Self3903     fn from(value: &ITsSbServiceNotification) -> Self {
3904         ::std::convert::From::from(::std::clone::Clone::clone(value))
3905     }
3906 }
3907 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbServiceNotification {
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 &ITsSbServiceNotification {
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 #[repr(C)]
3918 #[doc(hidden)]
3919 pub struct ITsSbServiceNotification_abi(
3920     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3921     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3922     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3923     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3924     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3925 );
3926 #[repr(transparent)]
3927 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3928 pub struct ITsSbSession(::windows::runtime::IUnknown);
3929 impl ITsSbSession {
SessionId(&self) -> ::windows::runtime::Result<u32>3930     pub unsafe fn SessionId(&self) -> ::windows::runtime::Result<u32> {
3931         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3932         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3933     }
3934     #[cfg(feature = "Win32_Foundation")]
TargetName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>3935     pub unsafe fn TargetName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3936         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3937         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3938     }
3939     #[cfg(feature = "Win32_Foundation")]
SetTargetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, targetname: Param0) -> ::windows::runtime::Result<()>3940     pub unsafe fn SetTargetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, targetname: Param0) -> ::windows::runtime::Result<()> {
3941         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), targetname.into_param().abi()).ok()
3942     }
3943     #[cfg(feature = "Win32_Foundation")]
Username(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>3944     pub unsafe fn Username(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3945         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3946         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3947     }
3948     #[cfg(feature = "Win32_Foundation")]
Domain(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>3949     pub unsafe fn Domain(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3950         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3951         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3952     }
State(&self) -> ::windows::runtime::Result<TSSESSION_STATE>3953     pub unsafe fn State(&self) -> ::windows::runtime::Result<TSSESSION_STATE> {
3954         let mut result__: <TSSESSION_STATE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3955         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<TSSESSION_STATE>(result__)
3956     }
SetState(&self, state: TSSESSION_STATE) -> ::windows::runtime::Result<()>3957     pub unsafe fn SetState(&self, state: TSSESSION_STATE) -> ::windows::runtime::Result<()> {
3958         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(state)).ok()
3959     }
3960     #[cfg(feature = "Win32_Foundation")]
CreateTime(&self) -> ::windows::runtime::Result<super::super::Foundation::FILETIME>3961     pub unsafe fn CreateTime(&self) -> ::windows::runtime::Result<super::super::Foundation::FILETIME> {
3962         let mut result__: <super::super::Foundation::FILETIME as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3963         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::FILETIME>(result__)
3964     }
3965     #[cfg(feature = "Win32_Foundation")]
SetCreateTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::FILETIME>>(&self, time: Param0) -> ::windows::runtime::Result<()>3966     pub unsafe fn SetCreateTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::FILETIME>>(&self, time: Param0) -> ::windows::runtime::Result<()> {
3967         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), time.into_param().abi()).ok()
3968     }
3969     #[cfg(feature = "Win32_Foundation")]
DisconnectTime(&self) -> ::windows::runtime::Result<super::super::Foundation::FILETIME>3970     pub unsafe fn DisconnectTime(&self) -> ::windows::runtime::Result<super::super::Foundation::FILETIME> {
3971         let mut result__: <super::super::Foundation::FILETIME as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3972         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::FILETIME>(result__)
3973     }
3974     #[cfg(feature = "Win32_Foundation")]
SetDisconnectTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::FILETIME>>(&self, time: Param0) -> ::windows::runtime::Result<()>3975     pub unsafe fn SetDisconnectTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::FILETIME>>(&self, time: Param0) -> ::windows::runtime::Result<()> {
3976         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), time.into_param().abi()).ok()
3977     }
3978     #[cfg(feature = "Win32_Foundation")]
InitialProgram(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>3979     pub unsafe fn InitialProgram(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3980         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3981         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3982     }
3983     #[cfg(feature = "Win32_Foundation")]
SetInitialProgram<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, application: Param0) -> ::windows::runtime::Result<()>3984     pub unsafe fn SetInitialProgram<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, application: Param0) -> ::windows::runtime::Result<()> {
3985         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), application.into_param().abi()).ok()
3986     }
ClientDisplay(&self) -> ::windows::runtime::Result<CLIENT_DISPLAY>3987     pub unsafe fn ClientDisplay(&self) -> ::windows::runtime::Result<CLIENT_DISPLAY> {
3988         let mut result__: <CLIENT_DISPLAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3989         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<CLIENT_DISPLAY>(result__)
3990     }
SetClientDisplay<'a, Param0: ::windows::runtime::IntoParam<'a, CLIENT_DISPLAY>>(&self, pclientdisplay: Param0) -> ::windows::runtime::Result<()>3991     pub unsafe fn SetClientDisplay<'a, Param0: ::windows::runtime::IntoParam<'a, CLIENT_DISPLAY>>(&self, pclientdisplay: Param0) -> ::windows::runtime::Result<()> {
3992         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), pclientdisplay.into_param().abi()).ok()
3993     }
ProtocolType(&self) -> ::windows::runtime::Result<u32>3994     pub unsafe fn ProtocolType(&self) -> ::windows::runtime::Result<u32> {
3995         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3996         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3997     }
SetProtocolType(&self, val: u32) -> ::windows::runtime::Result<()>3998     pub unsafe fn SetProtocolType(&self, val: u32) -> ::windows::runtime::Result<()> {
3999         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(val)).ok()
4000     }
4001 }
4002 unsafe impl ::windows::runtime::Interface for ITsSbSession {
4003     type Vtable = ITsSbSession_abi;
4004     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3562252999, 45528, 19550, [186, 52, 154, 251, 76, 140, 85, 16]);
4005 }
4006 impl ::std::convert::From<ITsSbSession> for ::windows::runtime::IUnknown {
from(value: ITsSbSession) -> Self4007     fn from(value: ITsSbSession) -> Self {
4008         unsafe { ::std::mem::transmute(value) }
4009     }
4010 }
4011 impl ::std::convert::From<&ITsSbSession> for ::windows::runtime::IUnknown {
from(value: &ITsSbSession) -> Self4012     fn from(value: &ITsSbSession) -> Self {
4013         ::std::convert::From::from(::std::clone::Clone::clone(value))
4014     }
4015 }
4016 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbSession {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4017     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4018         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4019     }
4020 }
4021 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbSession {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4022     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4023         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4024     }
4025 }
4026 #[repr(C)]
4027 #[doc(hidden)]
4028 pub struct ITsSbSession_abi(
4029     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4030     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4031     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4032     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut u32) -> ::windows::runtime::HRESULT,
4033     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, targetname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4034     #[cfg(not(feature = "Win32_Foundation"))] usize,
4035     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, targetname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4036     #[cfg(not(feature = "Win32_Foundation"))] usize,
4037     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, username: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4038     #[cfg(not(feature = "Win32_Foundation"))] usize,
4039     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, domain: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4040     #[cfg(not(feature = "Win32_Foundation"))] usize,
4041     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstate: *mut TSSESSION_STATE) -> ::windows::runtime::HRESULT,
4042     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, state: TSSESSION_STATE) -> ::windows::runtime::HRESULT,
4043     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptime: *mut super::super::Foundation::FILETIME) -> ::windows::runtime::HRESULT,
4044     #[cfg(not(feature = "Win32_Foundation"))] usize,
4045     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, time: super::super::Foundation::FILETIME) -> ::windows::runtime::HRESULT,
4046     #[cfg(not(feature = "Win32_Foundation"))] usize,
4047     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptime: *mut super::super::Foundation::FILETIME) -> ::windows::runtime::HRESULT,
4048     #[cfg(not(feature = "Win32_Foundation"))] usize,
4049     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, time: super::super::Foundation::FILETIME) -> ::windows::runtime::HRESULT,
4050     #[cfg(not(feature = "Win32_Foundation"))] usize,
4051     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, app: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4052     #[cfg(not(feature = "Win32_Foundation"))] usize,
4053     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, application: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4054     #[cfg(not(feature = "Win32_Foundation"))] usize,
4055     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclientdisplay: *mut CLIENT_DISPLAY) -> ::windows::runtime::HRESULT,
4056     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclientdisplay: CLIENT_DISPLAY) -> ::windows::runtime::HRESULT,
4057     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut u32) -> ::windows::runtime::HRESULT,
4058     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: u32) -> ::windows::runtime::HRESULT,
4059 );
4060 #[repr(transparent)]
4061 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4062 pub struct ITsSbTarget(::windows::runtime::IUnknown);
4063 impl ITsSbTarget {
4064     #[cfg(feature = "Win32_Foundation")]
TargetName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>4065     pub unsafe fn TargetName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4066         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4067         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4068     }
4069     #[cfg(feature = "Win32_Foundation")]
SetTargetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()>4070     pub unsafe fn SetTargetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()> {
4071         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), val.into_param().abi()).ok()
4072     }
4073     #[cfg(feature = "Win32_Foundation")]
FarmName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>4074     pub unsafe fn FarmName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4075         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4076         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4077     }
4078     #[cfg(feature = "Win32_Foundation")]
SetFarmName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()>4079     pub unsafe fn SetFarmName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()> {
4080         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), val.into_param().abi()).ok()
4081     }
4082     #[cfg(feature = "Win32_Foundation")]
TargetFQDN(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>4083     pub unsafe fn TargetFQDN(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4084         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4085         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4086     }
4087     #[cfg(feature = "Win32_Foundation")]
SetTargetFQDN<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()>4088     pub unsafe fn SetTargetFQDN<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()> {
4089         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), val.into_param().abi()).ok()
4090     }
4091     #[cfg(feature = "Win32_Foundation")]
TargetNetbios(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>4092     pub unsafe fn TargetNetbios(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4093         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4094         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4095     }
4096     #[cfg(feature = "Win32_Foundation")]
SetTargetNetbios<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()>4097     pub unsafe fn SetTargetNetbios<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()> {
4098         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), val.into_param().abi()).ok()
4099     }
IpAddresses(&self, sockaddr: *mut TSSD_ConnectionPoint, numaddresses: *mut u32) -> ::windows::runtime::Result<()>4100     pub unsafe fn IpAddresses(&self, sockaddr: *mut TSSD_ConnectionPoint, numaddresses: *mut u32) -> ::windows::runtime::Result<()> {
4101         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(sockaddr), ::std::mem::transmute(numaddresses)).ok()
4102     }
SetIpAddresses(&self, sockaddr: *const TSSD_ConnectionPoint, numaddresses: u32) -> ::windows::runtime::Result<()>4103     pub unsafe fn SetIpAddresses(&self, sockaddr: *const TSSD_ConnectionPoint, numaddresses: u32) -> ::windows::runtime::Result<()> {
4104         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(sockaddr), ::std::mem::transmute(numaddresses)).ok()
4105     }
TargetState(&self) -> ::windows::runtime::Result<TARGET_STATE>4106     pub unsafe fn TargetState(&self) -> ::windows::runtime::Result<TARGET_STATE> {
4107         let mut result__: <TARGET_STATE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4108         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<TARGET_STATE>(result__)
4109     }
SetTargetState(&self, state: TARGET_STATE) -> ::windows::runtime::Result<()>4110     pub unsafe fn SetTargetState(&self, state: TARGET_STATE) -> ::windows::runtime::Result<()> {
4111         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(state)).ok()
4112     }
TargetPropertySet(&self) -> ::windows::runtime::Result<ITsSbTargetPropertySet>4113     pub unsafe fn TargetPropertySet(&self) -> ::windows::runtime::Result<ITsSbTargetPropertySet> {
4114         let mut result__: <ITsSbTargetPropertySet as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4115         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITsSbTargetPropertySet>(result__)
4116     }
SetTargetPropertySet<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbTargetPropertySet>>(&self, pval: Param0) -> ::windows::runtime::Result<()>4117     pub unsafe fn SetTargetPropertySet<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbTargetPropertySet>>(&self, pval: Param0) -> ::windows::runtime::Result<()> {
4118         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), pval.into_param().abi()).ok()
4119     }
4120     #[cfg(feature = "Win32_Foundation")]
EnvironmentName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>4121     pub unsafe fn EnvironmentName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4122         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4123         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4124     }
4125     #[cfg(feature = "Win32_Foundation")]
SetEnvironmentName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()>4126     pub unsafe fn SetEnvironmentName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()> {
4127         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), val.into_param().abi()).ok()
4128     }
NumSessions(&self) -> ::windows::runtime::Result<u32>4129     pub unsafe fn NumSessions(&self) -> ::windows::runtime::Result<u32> {
4130         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4131         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4132     }
NumPendingConnections(&self) -> ::windows::runtime::Result<u32>4133     pub unsafe fn NumPendingConnections(&self) -> ::windows::runtime::Result<u32> {
4134         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4135         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4136     }
TargetLoad(&self) -> ::windows::runtime::Result<u32>4137     pub unsafe fn TargetLoad(&self) -> ::windows::runtime::Result<u32> {
4138         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4139         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4140     }
4141 }
4142 unsafe impl ::windows::runtime::Interface for ITsSbTarget {
4143     type Vtable = ITsSbTarget_abi;
4144     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(375484108, 10029, 16669, [179, 36, 18, 104, 147, 3, 56, 86]);
4145 }
4146 impl ::std::convert::From<ITsSbTarget> for ::windows::runtime::IUnknown {
from(value: ITsSbTarget) -> Self4147     fn from(value: ITsSbTarget) -> Self {
4148         unsafe { ::std::mem::transmute(value) }
4149     }
4150 }
4151 impl ::std::convert::From<&ITsSbTarget> for ::windows::runtime::IUnknown {
from(value: &ITsSbTarget) -> Self4152     fn from(value: &ITsSbTarget) -> Self {
4153         ::std::convert::From::from(::std::clone::Clone::clone(value))
4154     }
4155 }
4156 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbTarget {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4157     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4158         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4159     }
4160 }
4161 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbTarget {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4162     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4163         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4164     }
4165 }
4166 #[repr(C)]
4167 #[doc(hidden)]
4168 pub struct ITsSbTarget_abi(
4169     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4170     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4171     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4172     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4173     #[cfg(not(feature = "Win32_Foundation"))] usize,
4174     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4175     #[cfg(not(feature = "Win32_Foundation"))] usize,
4176     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4177     #[cfg(not(feature = "Win32_Foundation"))] usize,
4178     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4179     #[cfg(not(feature = "Win32_Foundation"))] usize,
4180     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, targetfqdnname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4181     #[cfg(not(feature = "Win32_Foundation"))] usize,
4182     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4183     #[cfg(not(feature = "Win32_Foundation"))] usize,
4184     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, targetnetbiosname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4185     #[cfg(not(feature = "Win32_Foundation"))] usize,
4186     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4187     #[cfg(not(feature = "Win32_Foundation"))] usize,
4188     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sockaddr: *mut TSSD_ConnectionPoint, numaddresses: *mut u32) -> ::windows::runtime::HRESULT,
4189     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sockaddr: *const TSSD_ConnectionPoint, numaddresses: u32) -> ::windows::runtime::HRESULT,
4190     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstate: *mut TARGET_STATE) -> ::windows::runtime::HRESULT,
4191     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, state: TARGET_STATE) -> ::windows::runtime::HRESULT,
4192     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pppropertyset: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4193     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4194     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4195     #[cfg(not(feature = "Win32_Foundation"))] usize,
4196     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4197     #[cfg(not(feature = "Win32_Foundation"))] usize,
4198     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnumsessions: *mut u32) -> ::windows::runtime::HRESULT,
4199     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnumpendingconnections: *mut u32) -> ::windows::runtime::HRESULT,
4200     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptargetload: *mut u32) -> ::windows::runtime::HRESULT,
4201 );
4202 #[repr(transparent)]
4203 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4204 pub struct ITsSbTargetPropertySet(::windows::runtime::IUnknown);
4205 impl ITsSbTargetPropertySet {
4206     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Read<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::Ole::Automation::IErrorLog>>(&self, pszpropname: Param0, pvar: *mut super::Com::VARIANT, perrorlog: Param2) -> ::windows::runtime::Result<()>4207     pub unsafe fn Read<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::Ole::Automation::IErrorLog>>(&self, pszpropname: Param0, pvar: *mut super::Com::VARIANT, perrorlog: Param2) -> ::windows::runtime::Result<()> {
4208         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pszpropname.into_param().abi(), ::std::mem::transmute(pvar), perrorlog.into_param().abi()).ok()
4209     }
4210     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Write<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszpropname: Param0, pvar: *const super::Com::VARIANT) -> ::windows::runtime::Result<()>4211     pub unsafe fn Write<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszpropname: Param0, pvar: *const super::Com::VARIANT) -> ::windows::runtime::Result<()> {
4212         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pszpropname.into_param().abi(), ::std::mem::transmute(pvar)).ok()
4213     }
4214 }
4215 unsafe impl ::windows::runtime::Interface for ITsSbTargetPropertySet {
4216     type Vtable = ITsSbTargetPropertySet_abi;
4217     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4156401110, 39244, 19985, [160, 121, 39, 99, 182, 24, 48, 172]);
4218 }
4219 impl ::std::convert::From<ITsSbTargetPropertySet> for ::windows::runtime::IUnknown {
from(value: ITsSbTargetPropertySet) -> Self4220     fn from(value: ITsSbTargetPropertySet) -> Self {
4221         unsafe { ::std::mem::transmute(value) }
4222     }
4223 }
4224 impl ::std::convert::From<&ITsSbTargetPropertySet> for ::windows::runtime::IUnknown {
from(value: &ITsSbTargetPropertySet) -> Self4225     fn from(value: &ITsSbTargetPropertySet) -> Self {
4226         ::std::convert::From::from(::std::clone::Clone::clone(value))
4227     }
4228 }
4229 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbTargetPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4230     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4231         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4232     }
4233 }
4234 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbTargetPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4235     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4236         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4237     }
4238 }
4239 impl ::std::convert::From<ITsSbTargetPropertySet> for ITsSbPropertySet {
from(value: ITsSbTargetPropertySet) -> Self4240     fn from(value: ITsSbTargetPropertySet) -> Self {
4241         unsafe { ::std::mem::transmute(value) }
4242     }
4243 }
4244 impl ::std::convert::From<&ITsSbTargetPropertySet> for ITsSbPropertySet {
from(value: &ITsSbTargetPropertySet) -> Self4245     fn from(value: &ITsSbTargetPropertySet) -> Self {
4246         ::std::convert::From::from(::std::clone::Clone::clone(value))
4247     }
4248 }
4249 impl<'a> ::windows::runtime::IntoParam<'a, ITsSbPropertySet> for ITsSbTargetPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, ITsSbPropertySet>4250     fn into_param(self) -> ::windows::runtime::Param<'a, ITsSbPropertySet> {
4251         ::windows::runtime::Param::Owned(::std::convert::Into::<ITsSbPropertySet>::into(self))
4252     }
4253 }
4254 impl<'a> ::windows::runtime::IntoParam<'a, ITsSbPropertySet> for &ITsSbTargetPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, ITsSbPropertySet>4255     fn into_param(self) -> ::windows::runtime::Param<'a, ITsSbPropertySet> {
4256         ::windows::runtime::Param::Owned(::std::convert::Into::<ITsSbPropertySet>::into(::std::clone::Clone::clone(self)))
4257     }
4258 }
4259 #[cfg(feature = "Win32_System_Ole_Automation")]
4260 impl ::std::convert::From<ITsSbTargetPropertySet> for super::Ole::Automation::IPropertyBag {
from(value: ITsSbTargetPropertySet) -> Self4261     fn from(value: ITsSbTargetPropertySet) -> Self {
4262         unsafe { ::std::mem::transmute(value) }
4263     }
4264 }
4265 #[cfg(feature = "Win32_System_Ole_Automation")]
4266 impl ::std::convert::From<&ITsSbTargetPropertySet> for super::Ole::Automation::IPropertyBag {
from(value: &ITsSbTargetPropertySet) -> Self4267     fn from(value: &ITsSbTargetPropertySet) -> Self {
4268         ::std::convert::From::from(::std::clone::Clone::clone(value))
4269     }
4270 }
4271 #[cfg(feature = "Win32_System_Ole_Automation")]
4272 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IPropertyBag> for ITsSbTargetPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IPropertyBag>4273     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IPropertyBag> {
4274         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IPropertyBag>::into(self))
4275     }
4276 }
4277 #[cfg(feature = "Win32_System_Ole_Automation")]
4278 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IPropertyBag> for &ITsSbTargetPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IPropertyBag>4279     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IPropertyBag> {
4280         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IPropertyBag>::into(::std::clone::Clone::clone(self)))
4281     }
4282 }
4283 #[repr(C)]
4284 #[doc(hidden)]
4285 pub struct ITsSbTargetPropertySet_abi(
4286     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4287     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4288     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4289     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszpropname: super::super::Foundation::PWSTR, pvar: *mut ::std::mem::ManuallyDrop<super::Com::VARIANT>, perrorlog: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4290     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4291     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszpropname: super::super::Foundation::PWSTR, pvar: *const ::std::mem::ManuallyDrop<super::Com::VARIANT>) -> ::windows::runtime::HRESULT,
4292     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4293 );
4294 #[repr(transparent)]
4295 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4296 pub struct ITsSbTaskInfo(::windows::runtime::IUnknown);
4297 impl ITsSbTaskInfo {
4298     #[cfg(feature = "Win32_Foundation")]
TargetId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>4299     pub unsafe fn TargetId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4300         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4301         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4302     }
4303     #[cfg(feature = "Win32_Foundation")]
StartTime(&self) -> ::windows::runtime::Result<super::super::Foundation::FILETIME>4304     pub unsafe fn StartTime(&self) -> ::windows::runtime::Result<super::super::Foundation::FILETIME> {
4305         let mut result__: <super::super::Foundation::FILETIME as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4306         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::FILETIME>(result__)
4307     }
4308     #[cfg(feature = "Win32_Foundation")]
EndTime(&self) -> ::windows::runtime::Result<super::super::Foundation::FILETIME>4309     pub unsafe fn EndTime(&self) -> ::windows::runtime::Result<super::super::Foundation::FILETIME> {
4310         let mut result__: <super::super::Foundation::FILETIME as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4311         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::FILETIME>(result__)
4312     }
4313     #[cfg(feature = "Win32_Foundation")]
Deadline(&self) -> ::windows::runtime::Result<super::super::Foundation::FILETIME>4314     pub unsafe fn Deadline(&self) -> ::windows::runtime::Result<super::super::Foundation::FILETIME> {
4315         let mut result__: <super::super::Foundation::FILETIME as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4316         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::FILETIME>(result__)
4317     }
4318     #[cfg(feature = "Win32_Foundation")]
Identifier(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>4319     pub unsafe fn Identifier(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4320         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4321         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4322     }
4323     #[cfg(feature = "Win32_Foundation")]
Label(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>4324     pub unsafe fn Label(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4325         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4326         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4327     }
4328     #[cfg(feature = "Win32_System_Com")]
Context(&self) -> ::windows::runtime::Result<*mut super::Com::SAFEARRAY>4329     pub unsafe fn Context(&self) -> ::windows::runtime::Result<*mut super::Com::SAFEARRAY> {
4330         let mut result__: <*mut super::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4331         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::Com::SAFEARRAY>(result__)
4332     }
4333     #[cfg(feature = "Win32_Foundation")]
Plugin(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>4334     pub unsafe fn Plugin(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4335         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4336         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4337     }
Status(&self) -> ::windows::runtime::Result<RDV_TASK_STATUS>4338     pub unsafe fn Status(&self) -> ::windows::runtime::Result<RDV_TASK_STATUS> {
4339         let mut result__: <RDV_TASK_STATUS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4340         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<RDV_TASK_STATUS>(result__)
4341     }
4342 }
4343 unsafe impl ::windows::runtime::Interface for ITsSbTaskInfo {
4344     type Vtable = ITsSbTaskInfo_abi;
4345     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1379733635, 35262, 18653, [153, 234, 4, 232, 47, 250, 114, 101]);
4346 }
4347 impl ::std::convert::From<ITsSbTaskInfo> for ::windows::runtime::IUnknown {
from(value: ITsSbTaskInfo) -> Self4348     fn from(value: ITsSbTaskInfo) -> Self {
4349         unsafe { ::std::mem::transmute(value) }
4350     }
4351 }
4352 impl ::std::convert::From<&ITsSbTaskInfo> for ::windows::runtime::IUnknown {
from(value: &ITsSbTaskInfo) -> Self4353     fn from(value: &ITsSbTaskInfo) -> Self {
4354         ::std::convert::From::from(::std::clone::Clone::clone(value))
4355     }
4356 }
4357 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbTaskInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4358     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4359         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4360     }
4361 }
4362 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbTaskInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4363     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4364         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4365     }
4366 }
4367 #[repr(C)]
4368 #[doc(hidden)]
4369 pub struct ITsSbTaskInfo_abi(
4370     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4371     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4372     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4373     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4374     #[cfg(not(feature = "Win32_Foundation"))] usize,
4375     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstarttime: *mut super::super::Foundation::FILETIME) -> ::windows::runtime::HRESULT,
4376     #[cfg(not(feature = "Win32_Foundation"))] usize,
4377     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pendtime: *mut super::super::Foundation::FILETIME) -> ::windows::runtime::HRESULT,
4378     #[cfg(not(feature = "Win32_Foundation"))] usize,
4379     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdeadline: *mut super::super::Foundation::FILETIME) -> ::windows::runtime::HRESULT,
4380     #[cfg(not(feature = "Win32_Foundation"))] usize,
4381     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pidentifier: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4382     #[cfg(not(feature = "Win32_Foundation"))] usize,
4383     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plabel: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4384     #[cfg(not(feature = "Win32_Foundation"))] usize,
4385     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcontext: *mut *mut super::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
4386     #[cfg(not(feature = "Win32_System_Com"))] usize,
4387     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pplugin: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4388     #[cfg(not(feature = "Win32_Foundation"))] usize,
4389     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstatus: *mut RDV_TASK_STATUS) -> ::windows::runtime::HRESULT,
4390 );
4391 #[repr(transparent)]
4392 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4393 pub struct ITsSbTaskPlugin(::windows::runtime::IUnknown);
4394 impl ITsSbTaskPlugin {
Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbProvider>, Param1: ::windows::runtime::IntoParam<'a, ITsSbPluginNotifySink>, Param2: ::windows::runtime::IntoParam<'a, ITsSbPluginPropertySet>>(&self, pprovider: Param0, pnotifysink: Param1, ppropertyset: Param2) -> ::windows::runtime::Result<()>4395     pub unsafe fn Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbProvider>, Param1: ::windows::runtime::IntoParam<'a, ITsSbPluginNotifySink>, Param2: ::windows::runtime::IntoParam<'a, ITsSbPluginPropertySet>>(&self, pprovider: Param0, pnotifysink: Param1, ppropertyset: Param2) -> ::windows::runtime::Result<()> {
4396         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pprovider.into_param().abi(), pnotifysink.into_param().abi(), ppropertyset.into_param().abi()).ok()
4397     }
Terminate(&self, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>4398     pub unsafe fn Terminate(&self, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
4399         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(hr)).ok()
4400     }
InitializeTaskPlugin<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbTaskPluginNotifySink>>(&self, pitssbtaskpluginnotifysink: Param0) -> ::windows::runtime::Result<()>4401     pub unsafe fn InitializeTaskPlugin<'a, Param0: ::windows::runtime::IntoParam<'a, ITsSbTaskPluginNotifySink>>(&self, pitssbtaskpluginnotifysink: Param0) -> ::windows::runtime::Result<()> {
4402         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pitssbtaskpluginnotifysink.into_param().abi()).ok()
4403     }
4404     #[cfg(feature = "Win32_Foundation")]
SetTaskQueue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pszhostname: Param0, sbtaskinfosize: u32, pitssbtaskinfo: *const ::std::option::Option<ITsSbTaskInfo>) -> ::windows::runtime::Result<()>4405     pub unsafe fn SetTaskQueue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pszhostname: Param0, sbtaskinfosize: u32, pitssbtaskinfo: *const ::std::option::Option<ITsSbTaskInfo>) -> ::windows::runtime::Result<()> {
4406         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pszhostname.into_param().abi(), ::std::mem::transmute(sbtaskinfosize), ::std::mem::transmute(pitssbtaskinfo)).ok()
4407     }
4408 }
4409 unsafe impl ::windows::runtime::Interface for ITsSbTaskPlugin {
4410     type Vtable = ITsSbTaskPlugin_abi;
4411     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4196593423, 34565, 16830, [147, 188, 68, 189, 188, 241, 201, 196]);
4412 }
4413 impl ::std::convert::From<ITsSbTaskPlugin> for ::windows::runtime::IUnknown {
from(value: ITsSbTaskPlugin) -> Self4414     fn from(value: ITsSbTaskPlugin) -> Self {
4415         unsafe { ::std::mem::transmute(value) }
4416     }
4417 }
4418 impl ::std::convert::From<&ITsSbTaskPlugin> for ::windows::runtime::IUnknown {
from(value: &ITsSbTaskPlugin) -> Self4419     fn from(value: &ITsSbTaskPlugin) -> Self {
4420         ::std::convert::From::from(::std::clone::Clone::clone(value))
4421     }
4422 }
4423 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbTaskPlugin {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4424     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4425         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4426     }
4427 }
4428 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbTaskPlugin {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4429     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4430         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4431     }
4432 }
4433 impl ::std::convert::From<ITsSbTaskPlugin> for ITsSbPlugin {
from(value: ITsSbTaskPlugin) -> Self4434     fn from(value: ITsSbTaskPlugin) -> Self {
4435         unsafe { ::std::mem::transmute(value) }
4436     }
4437 }
4438 impl ::std::convert::From<&ITsSbTaskPlugin> for ITsSbPlugin {
from(value: &ITsSbTaskPlugin) -> Self4439     fn from(value: &ITsSbTaskPlugin) -> Self {
4440         ::std::convert::From::from(::std::clone::Clone::clone(value))
4441     }
4442 }
4443 impl<'a> ::windows::runtime::IntoParam<'a, ITsSbPlugin> for ITsSbTaskPlugin {
into_param(self) -> ::windows::runtime::Param<'a, ITsSbPlugin>4444     fn into_param(self) -> ::windows::runtime::Param<'a, ITsSbPlugin> {
4445         ::windows::runtime::Param::Owned(::std::convert::Into::<ITsSbPlugin>::into(self))
4446     }
4447 }
4448 impl<'a> ::windows::runtime::IntoParam<'a, ITsSbPlugin> for &ITsSbTaskPlugin {
into_param(self) -> ::windows::runtime::Param<'a, ITsSbPlugin>4449     fn into_param(self) -> ::windows::runtime::Param<'a, ITsSbPlugin> {
4450         ::windows::runtime::Param::Owned(::std::convert::Into::<ITsSbPlugin>::into(::std::clone::Clone::clone(self)))
4451     }
4452 }
4453 #[repr(C)]
4454 #[doc(hidden)]
4455 pub struct ITsSbTaskPlugin_abi(
4456     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4457     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4458     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4459     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprovider: ::windows::runtime::RawPtr, pnotifysink: ::windows::runtime::RawPtr, ppropertyset: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4460     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
4461     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pitssbtaskpluginnotifysink: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4462     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszhostname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, sbtaskinfosize: u32, pitssbtaskinfo: *const ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4463     #[cfg(not(feature = "Win32_Foundation"))] usize,
4464 );
4465 #[repr(transparent)]
4466 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4467 pub struct ITsSbTaskPluginNotifySink(::windows::runtime::IUnknown);
4468 impl ITsSbTaskPluginNotifySink {
OnError(&self, hrerror: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>4469     pub unsafe fn OnError(&self, hrerror: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
4470         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(hrerror)).ok()
4471     }
OnReportStatus(&self, messagetype: CLIENT_MESSAGE_TYPE, messageid: u32) -> ::windows::runtime::Result<()>4472     pub unsafe fn OnReportStatus(&self, messagetype: CLIENT_MESSAGE_TYPE, messageid: u32) -> ::windows::runtime::Result<()> {
4473         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(messagetype), ::std::mem::transmute(messageid)).ok()
4474     }
4475     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
OnSetTaskTime< 'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::FILETIME>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::FILETIME>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::FILETIME>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param5: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param6: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, >( &self, sztargetname: Param0, taskstarttime: Param1, taskendtime: Param2, taskdeadline: Param3, sztasklabel: Param4, sztaskidentifier: Param5, sztaskplugin: Param6, dwtaskstatus: u32, sacontext: *const super::Com::SAFEARRAY, ) -> ::windows::runtime::Result<()>4476     pub unsafe fn OnSetTaskTime<
4477         'a,
4478         Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>,
4479         Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::FILETIME>,
4480         Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::FILETIME>,
4481         Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::FILETIME>,
4482         Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>,
4483         Param5: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>,
4484         Param6: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>,
4485     >(
4486         &self,
4487         sztargetname: Param0,
4488         taskstarttime: Param1,
4489         taskendtime: Param2,
4490         taskdeadline: Param3,
4491         sztasklabel: Param4,
4492         sztaskidentifier: Param5,
4493         sztaskplugin: Param6,
4494         dwtaskstatus: u32,
4495         sacontext: *const super::Com::SAFEARRAY,
4496     ) -> ::windows::runtime::Result<()> {
4497         (::windows::runtime::Interface::vtable(self).5)(
4498             ::std::mem::transmute_copy(self),
4499             sztargetname.into_param().abi(),
4500             taskstarttime.into_param().abi(),
4501             taskendtime.into_param().abi(),
4502             taskdeadline.into_param().abi(),
4503             sztasklabel.into_param().abi(),
4504             sztaskidentifier.into_param().abi(),
4505             sztaskplugin.into_param().abi(),
4506             ::std::mem::transmute(dwtaskstatus),
4507             ::std::mem::transmute(sacontext),
4508         )
4509         .ok()
4510     }
4511     #[cfg(feature = "Win32_Foundation")]
OnDeleteTaskTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, sztargetname: Param0, sztaskidentifier: Param1) -> ::windows::runtime::Result<()>4512     pub unsafe fn OnDeleteTaskTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, sztargetname: Param0, sztaskidentifier: Param1) -> ::windows::runtime::Result<()> {
4513         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), sztargetname.into_param().abi(), sztaskidentifier.into_param().abi()).ok()
4514     }
4515     #[cfg(feature = "Win32_Foundation")]
OnUpdateTaskStatus<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, sztargetname: Param0, taskidentifier: Param1, taskstatus: RDV_TASK_STATUS) -> ::windows::runtime::Result<()>4516     pub unsafe fn OnUpdateTaskStatus<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, sztargetname: Param0, taskidentifier: Param1, taskstatus: RDV_TASK_STATUS) -> ::windows::runtime::Result<()> {
4517         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), sztargetname.into_param().abi(), taskidentifier.into_param().abi(), ::std::mem::transmute(taskstatus)).ok()
4518     }
4519     #[cfg(feature = "Win32_Foundation")]
OnReportTasks<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, szhostname: Param0) -> ::windows::runtime::Result<()>4520     pub unsafe fn OnReportTasks<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, szhostname: Param0) -> ::windows::runtime::Result<()> {
4521         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), szhostname.into_param().abi()).ok()
4522     }
4523 }
4524 unsafe impl ::windows::runtime::Interface for ITsSbTaskPluginNotifySink {
4525     type Vtable = ITsSbTaskPluginNotifySink_abi;
4526     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1789888926, 49900, 17902, [170, 55, 69, 230, 8, 149, 38, 26]);
4527 }
4528 impl ::std::convert::From<ITsSbTaskPluginNotifySink> for ::windows::runtime::IUnknown {
from(value: ITsSbTaskPluginNotifySink) -> Self4529     fn from(value: ITsSbTaskPluginNotifySink) -> Self {
4530         unsafe { ::std::mem::transmute(value) }
4531     }
4532 }
4533 impl ::std::convert::From<&ITsSbTaskPluginNotifySink> for ::windows::runtime::IUnknown {
from(value: &ITsSbTaskPluginNotifySink) -> Self4534     fn from(value: &ITsSbTaskPluginNotifySink) -> Self {
4535         ::std::convert::From::from(::std::clone::Clone::clone(value))
4536     }
4537 }
4538 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITsSbTaskPluginNotifySink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4539     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4540         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4541     }
4542 }
4543 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITsSbTaskPluginNotifySink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4544     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4545         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4546     }
4547 }
4548 impl ::std::convert::From<ITsSbTaskPluginNotifySink> for ITsSbBaseNotifySink {
from(value: ITsSbTaskPluginNotifySink) -> Self4549     fn from(value: ITsSbTaskPluginNotifySink) -> Self {
4550         unsafe { ::std::mem::transmute(value) }
4551     }
4552 }
4553 impl ::std::convert::From<&ITsSbTaskPluginNotifySink> for ITsSbBaseNotifySink {
from(value: &ITsSbTaskPluginNotifySink) -> Self4554     fn from(value: &ITsSbTaskPluginNotifySink) -> Self {
4555         ::std::convert::From::from(::std::clone::Clone::clone(value))
4556     }
4557 }
4558 impl<'a> ::windows::runtime::IntoParam<'a, ITsSbBaseNotifySink> for ITsSbTaskPluginNotifySink {
into_param(self) -> ::windows::runtime::Param<'a, ITsSbBaseNotifySink>4559     fn into_param(self) -> ::windows::runtime::Param<'a, ITsSbBaseNotifySink> {
4560         ::windows::runtime::Param::Owned(::std::convert::Into::<ITsSbBaseNotifySink>::into(self))
4561     }
4562 }
4563 impl<'a> ::windows::runtime::IntoParam<'a, ITsSbBaseNotifySink> for &ITsSbTaskPluginNotifySink {
into_param(self) -> ::windows::runtime::Param<'a, ITsSbBaseNotifySink>4564     fn into_param(self) -> ::windows::runtime::Param<'a, ITsSbBaseNotifySink> {
4565         ::windows::runtime::Param::Owned(::std::convert::Into::<ITsSbBaseNotifySink>::into(::std::clone::Clone::clone(self)))
4566     }
4567 }
4568 #[repr(C)]
4569 #[doc(hidden)]
4570 pub struct ITsSbTaskPluginNotifySink_abi(
4571     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4572     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4573     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4574     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hrerror: ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
4575     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, messagetype: CLIENT_MESSAGE_TYPE, messageid: u32) -> ::windows::runtime::HRESULT,
4576     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4577     pub  unsafe extern "system" fn(
4578         this: ::windows::runtime::RawPtr,
4579         sztargetname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
4580         taskstarttime: super::super::Foundation::FILETIME,
4581         taskendtime: super::super::Foundation::FILETIME,
4582         taskdeadline: super::super::Foundation::FILETIME,
4583         sztasklabel: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
4584         sztaskidentifier: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
4585         sztaskplugin: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
4586         dwtaskstatus: u32,
4587         sacontext: *const super::Com::SAFEARRAY,
4588     ) -> ::windows::runtime::HRESULT,
4589     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
4590     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sztargetname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, sztaskidentifier: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4591     #[cfg(not(feature = "Win32_Foundation"))] usize,
4592     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sztargetname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, taskidentifier: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, taskstatus: RDV_TASK_STATUS) -> ::windows::runtime::HRESULT,
4593     #[cfg(not(feature = "Win32_Foundation"))] usize,
4594     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, szhostname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4595     #[cfg(not(feature = "Win32_Foundation"))] usize,
4596 );
4597 #[repr(transparent)]
4598 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4599 pub struct IWRdsEnhancedFastReconnectArbitrator(::windows::runtime::IUnknown);
4600 impl IWRdsEnhancedFastReconnectArbitrator {
GetSessionForEnhancedFastReconnect(&self, psessionidarray: *const i32, dwsessioncount: u32) -> ::windows::runtime::Result<i32>4601     pub unsafe fn GetSessionForEnhancedFastReconnect(&self, psessionidarray: *const i32, dwsessioncount: u32) -> ::windows::runtime::Result<i32> {
4602         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4603         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(psessionidarray), ::std::mem::transmute(dwsessioncount), &mut result__).from_abi::<i32>(result__)
4604     }
4605 }
4606 unsafe impl ::windows::runtime::Interface for IWRdsEnhancedFastReconnectArbitrator {
4607     type Vtable = IWRdsEnhancedFastReconnectArbitrator_abi;
4608     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1461235355, 18418, 18847, [182, 52, 216, 23, 91, 213, 17, 49]);
4609 }
4610 impl ::std::convert::From<IWRdsEnhancedFastReconnectArbitrator> for ::windows::runtime::IUnknown {
from(value: IWRdsEnhancedFastReconnectArbitrator) -> Self4611     fn from(value: IWRdsEnhancedFastReconnectArbitrator) -> Self {
4612         unsafe { ::std::mem::transmute(value) }
4613     }
4614 }
4615 impl ::std::convert::From<&IWRdsEnhancedFastReconnectArbitrator> for ::windows::runtime::IUnknown {
from(value: &IWRdsEnhancedFastReconnectArbitrator) -> Self4616     fn from(value: &IWRdsEnhancedFastReconnectArbitrator) -> Self {
4617         ::std::convert::From::from(::std::clone::Clone::clone(value))
4618     }
4619 }
4620 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWRdsEnhancedFastReconnectArbitrator {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4621     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4622         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4623     }
4624 }
4625 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWRdsEnhancedFastReconnectArbitrator {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4626     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4627         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4628     }
4629 }
4630 #[repr(C)]
4631 #[doc(hidden)]
4632 pub struct IWRdsEnhancedFastReconnectArbitrator_abi(
4633     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4634     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4635     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4636     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psessionidarray: *const i32, dwsessioncount: u32, presultsessionid: *mut i32) -> ::windows::runtime::HRESULT,
4637 );
4638 #[repr(transparent)]
4639 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4640 pub struct IWRdsGraphicsChannel(::windows::runtime::IUnknown);
4641 impl IWRdsGraphicsChannel {
Write<'a, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, cbsize: u32, pbuffer: *const u8, pcontext: Param2) -> ::windows::runtime::Result<()>4642     pub unsafe fn Write<'a, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, cbsize: u32, pbuffer: *const u8, pcontext: Param2) -> ::windows::runtime::Result<()> {
4643         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbsize), ::std::mem::transmute(pbuffer), pcontext.into_param().abi()).ok()
4644     }
Close(&self) -> ::windows::runtime::Result<()>4645     pub unsafe fn Close(&self) -> ::windows::runtime::Result<()> {
4646         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
4647     }
Open<'a, Param0: ::windows::runtime::IntoParam<'a, IWRdsGraphicsChannelEvents>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pchannelevents: Param0, popencontext: Param1) -> ::windows::runtime::Result<()>4648     pub unsafe fn Open<'a, Param0: ::windows::runtime::IntoParam<'a, IWRdsGraphicsChannelEvents>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pchannelevents: Param0, popencontext: Param1) -> ::windows::runtime::Result<()> {
4649         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pchannelevents.into_param().abi(), popencontext.into_param().abi()).ok()
4650     }
4651 }
4652 unsafe impl ::windows::runtime::Interface for IWRdsGraphicsChannel {
4653     type Vtable = IWRdsGraphicsChannel_abi;
4654     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1749776907, 60927, 17325, [213, 162, 74, 141, 83, 136, 244, 1]);
4655 }
4656 impl ::std::convert::From<IWRdsGraphicsChannel> for ::windows::runtime::IUnknown {
from(value: IWRdsGraphicsChannel) -> Self4657     fn from(value: IWRdsGraphicsChannel) -> Self {
4658         unsafe { ::std::mem::transmute(value) }
4659     }
4660 }
4661 impl ::std::convert::From<&IWRdsGraphicsChannel> for ::windows::runtime::IUnknown {
from(value: &IWRdsGraphicsChannel) -> Self4662     fn from(value: &IWRdsGraphicsChannel) -> Self {
4663         ::std::convert::From::from(::std::clone::Clone::clone(value))
4664     }
4665 }
4666 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWRdsGraphicsChannel {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4667     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4668         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4669     }
4670 }
4671 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWRdsGraphicsChannel {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4672     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4673         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4674     }
4675 }
4676 #[repr(C)]
4677 #[doc(hidden)]
4678 pub struct IWRdsGraphicsChannel_abi(
4679     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4680     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4681     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4682     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbsize: u32, pbuffer: *const u8, pcontext: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4683     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4684     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pchannelevents: ::windows::runtime::RawPtr, popencontext: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4685 );
4686 #[repr(transparent)]
4687 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4688 pub struct IWRdsGraphicsChannelEvents(::windows::runtime::IUnknown);
4689 impl IWRdsGraphicsChannelEvents {
OnDataReceived(&self, cbsize: u32, pbuffer: *const u8) -> ::windows::runtime::Result<()>4690     pub unsafe fn OnDataReceived(&self, cbsize: u32, pbuffer: *const u8) -> ::windows::runtime::Result<()> {
4691         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbsize), ::std::mem::transmute(pbuffer)).ok()
4692     }
OnClose(&self) -> ::windows::runtime::Result<()>4693     pub unsafe fn OnClose(&self) -> ::windows::runtime::Result<()> {
4694         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
4695     }
OnChannelOpened<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, openresult: ::windows::runtime::HRESULT, popencontext: Param1) -> ::windows::runtime::Result<()>4696     pub unsafe fn OnChannelOpened<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, openresult: ::windows::runtime::HRESULT, popencontext: Param1) -> ::windows::runtime::Result<()> {
4697         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(openresult), popencontext.into_param().abi()).ok()
4698     }
4699     #[cfg(feature = "Win32_Foundation")]
OnDataSent<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pwritecontext: Param0, bcancelled: Param1, pbuffer: *const u8, cbbuffer: u32) -> ::windows::runtime::Result<()>4700     pub unsafe fn OnDataSent<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pwritecontext: Param0, bcancelled: Param1, pbuffer: *const u8, cbbuffer: u32) -> ::windows::runtime::Result<()> {
4701         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pwritecontext.into_param().abi(), bcancelled.into_param().abi(), ::std::mem::transmute(pbuffer), ::std::mem::transmute(cbbuffer)).ok()
4702     }
OnMetricsUpdate(&self, bandwidth: u32, rtt: u32, lastsentbyteindex: u64) -> ::windows::runtime::Result<()>4703     pub unsafe fn OnMetricsUpdate(&self, bandwidth: u32, rtt: u32, lastsentbyteindex: u64) -> ::windows::runtime::Result<()> {
4704         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(bandwidth), ::std::mem::transmute(rtt), ::std::mem::transmute(lastsentbyteindex)).ok()
4705     }
4706 }
4707 unsafe impl ::windows::runtime::Interface for IWRdsGraphicsChannelEvents {
4708     type Vtable = IWRdsGraphicsChannelEvents_abi;
4709     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1743926924, 54900, 20398, [102, 165, 210, 6, 40, 166, 64, 210]);
4710 }
4711 impl ::std::convert::From<IWRdsGraphicsChannelEvents> for ::windows::runtime::IUnknown {
from(value: IWRdsGraphicsChannelEvents) -> Self4712     fn from(value: IWRdsGraphicsChannelEvents) -> Self {
4713         unsafe { ::std::mem::transmute(value) }
4714     }
4715 }
4716 impl ::std::convert::From<&IWRdsGraphicsChannelEvents> for ::windows::runtime::IUnknown {
from(value: &IWRdsGraphicsChannelEvents) -> Self4717     fn from(value: &IWRdsGraphicsChannelEvents) -> Self {
4718         ::std::convert::From::from(::std::clone::Clone::clone(value))
4719     }
4720 }
4721 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWRdsGraphicsChannelEvents {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4722     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4723         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4724     }
4725 }
4726 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWRdsGraphicsChannelEvents {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4727     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4728         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4729     }
4730 }
4731 #[repr(C)]
4732 #[doc(hidden)]
4733 pub struct IWRdsGraphicsChannelEvents_abi(
4734     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4735     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4736     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4737     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbsize: u32, pbuffer: *const u8) -> ::windows::runtime::HRESULT,
4738     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4739     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, openresult: ::windows::runtime::HRESULT, popencontext: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4740     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwritecontext: ::windows::runtime::RawPtr, bcancelled: super::super::Foundation::BOOL, pbuffer: *const u8, cbbuffer: u32) -> ::windows::runtime::HRESULT,
4741     #[cfg(not(feature = "Win32_Foundation"))] usize,
4742     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bandwidth: u32, rtt: u32, lastsentbyteindex: u64) -> ::windows::runtime::HRESULT,
4743 );
4744 #[repr(transparent)]
4745 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4746 pub struct IWRdsGraphicsChannelManager(::windows::runtime::IUnknown);
4747 impl IWRdsGraphicsChannelManager {
CreateChannel(&self, pszchannelname: *const u8, channeltype: WRdsGraphicsChannelType) -> ::windows::runtime::Result<IWRdsGraphicsChannel>4748     pub unsafe fn CreateChannel(&self, pszchannelname: *const u8, channeltype: WRdsGraphicsChannelType) -> ::windows::runtime::Result<IWRdsGraphicsChannel> {
4749         let mut result__: <IWRdsGraphicsChannel as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4750         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pszchannelname), ::std::mem::transmute(channeltype), &mut result__).from_abi::<IWRdsGraphicsChannel>(result__)
4751     }
4752 }
4753 unsafe impl ::windows::runtime::Interface for IWRdsGraphicsChannelManager {
4754     type Vtable = IWRdsGraphicsChannelManager_abi;
4755     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(265646425, 59454, 18282, [168, 185, 74, 121, 118, 231, 30, 24]);
4756 }
4757 impl ::std::convert::From<IWRdsGraphicsChannelManager> for ::windows::runtime::IUnknown {
from(value: IWRdsGraphicsChannelManager) -> Self4758     fn from(value: IWRdsGraphicsChannelManager) -> Self {
4759         unsafe { ::std::mem::transmute(value) }
4760     }
4761 }
4762 impl ::std::convert::From<&IWRdsGraphicsChannelManager> for ::windows::runtime::IUnknown {
from(value: &IWRdsGraphicsChannelManager) -> Self4763     fn from(value: &IWRdsGraphicsChannelManager) -> Self {
4764         ::std::convert::From::from(::std::clone::Clone::clone(value))
4765     }
4766 }
4767 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWRdsGraphicsChannelManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4768     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4769         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4770     }
4771 }
4772 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWRdsGraphicsChannelManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4773     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4774         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4775     }
4776 }
4777 #[repr(C)]
4778 #[doc(hidden)]
4779 pub struct IWRdsGraphicsChannelManager_abi(
4780     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4781     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4782     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4783     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszchannelname: *const u8, channeltype: WRdsGraphicsChannelType, ppvirtualchannel: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4784 );
4785 #[repr(transparent)]
4786 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4787 pub struct IWRdsProtocolConnection(::windows::runtime::IUnknown);
4788 impl IWRdsProtocolConnection {
GetLogonErrorRedirector(&self) -> ::windows::runtime::Result<IWRdsProtocolLogonErrorRedirector>4789     pub unsafe fn GetLogonErrorRedirector(&self) -> ::windows::runtime::Result<IWRdsProtocolLogonErrorRedirector> {
4790         let mut result__: <IWRdsProtocolLogonErrorRedirector as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4791         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWRdsProtocolLogonErrorRedirector>(result__)
4792     }
AcceptConnection(&self) -> ::windows::runtime::Result<()>4793     pub unsafe fn AcceptConnection(&self) -> ::windows::runtime::Result<()> {
4794         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
4795     }
4796     #[cfg(feature = "Win32_Foundation")]
GetClientData(&self) -> ::windows::runtime::Result<WTS_CLIENT_DATA>4797     pub unsafe fn GetClientData(&self) -> ::windows::runtime::Result<WTS_CLIENT_DATA> {
4798         let mut result__: <WTS_CLIENT_DATA as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4799         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WTS_CLIENT_DATA>(result__)
4800     }
GetClientMonitorData(&self, pnummonitors: *mut u32, pprimarymonitor: *mut u32) -> ::windows::runtime::Result<()>4801     pub unsafe fn GetClientMonitorData(&self, pnummonitors: *mut u32, pprimarymonitor: *mut u32) -> ::windows::runtime::Result<()> {
4802         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(pnummonitors), ::std::mem::transmute(pprimarymonitor)).ok()
4803     }
GetUserCredentials(&self) -> ::windows::runtime::Result<WTS_USER_CREDENTIAL>4804     pub unsafe fn GetUserCredentials(&self) -> ::windows::runtime::Result<WTS_USER_CREDENTIAL> {
4805         let mut result__: <WTS_USER_CREDENTIAL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4806         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WTS_USER_CREDENTIAL>(result__)
4807     }
GetLicenseConnection(&self) -> ::windows::runtime::Result<IWRdsProtocolLicenseConnection>4808     pub unsafe fn GetLicenseConnection(&self) -> ::windows::runtime::Result<IWRdsProtocolLicenseConnection> {
4809         let mut result__: <IWRdsProtocolLicenseConnection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4810         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWRdsProtocolLicenseConnection>(result__)
4811     }
AuthenticateClientToSession(&self) -> ::windows::runtime::Result<WTS_SESSION_ID>4812     pub unsafe fn AuthenticateClientToSession(&self) -> ::windows::runtime::Result<WTS_SESSION_ID> {
4813         let mut result__: <WTS_SESSION_ID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4814         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WTS_SESSION_ID>(result__)
4815     }
4816     #[cfg(feature = "Win32_Foundation")]
NotifySessionId<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE_PTR>>(&self, sessionid: *const WTS_SESSION_ID, sessionhandle: Param1) -> ::windows::runtime::Result<()>4817     pub unsafe fn NotifySessionId<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE_PTR>>(&self, sessionid: *const WTS_SESSION_ID, sessionhandle: Param1) -> ::windows::runtime::Result<()> {
4818         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(sessionid), sessionhandle.into_param().abi()).ok()
4819     }
4820     #[cfg(feature = "Win32_Foundation")]
GetInputHandles(&self, pkeyboardhandle: *mut super::super::Foundation::HANDLE_PTR, pmousehandle: *mut super::super::Foundation::HANDLE_PTR, pbeephandle: *mut super::super::Foundation::HANDLE_PTR) -> ::windows::runtime::Result<()>4821     pub unsafe fn GetInputHandles(&self, pkeyboardhandle: *mut super::super::Foundation::HANDLE_PTR, pmousehandle: *mut super::super::Foundation::HANDLE_PTR, pbeephandle: *mut super::super::Foundation::HANDLE_PTR) -> ::windows::runtime::Result<()> {
4822         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(pkeyboardhandle), ::std::mem::transmute(pmousehandle), ::std::mem::transmute(pbeephandle)).ok()
4823     }
4824     #[cfg(feature = "Win32_Foundation")]
GetVideoHandle(&self) -> ::windows::runtime::Result<super::super::Foundation::HANDLE_PTR>4825     pub unsafe fn GetVideoHandle(&self) -> ::windows::runtime::Result<super::super::Foundation::HANDLE_PTR> {
4826         let mut result__: <super::super::Foundation::HANDLE_PTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4827         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::HANDLE_PTR>(result__)
4828     }
ConnectNotify(&self, sessionid: u32) -> ::windows::runtime::Result<()>4829     pub unsafe fn ConnectNotify(&self, sessionid: u32) -> ::windows::runtime::Result<()> {
4830         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(sessionid)).ok()
4831     }
4832     #[cfg(feature = "Win32_Foundation")]
IsUserAllowedToLogon<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE_PTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, sessionid: u32, usertoken: Param1, pdomainname: Param2, pusername: Param3) -> ::windows::runtime::Result<()>4833     pub unsafe fn IsUserAllowedToLogon<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE_PTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, sessionid: u32, usertoken: Param1, pdomainname: Param2, pusername: Param3) -> ::windows::runtime::Result<()> {
4834         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(sessionid), usertoken.into_param().abi(), pdomainname.into_param().abi(), pusername.into_param().abi()).ok()
4835     }
4836     #[cfg(feature = "Win32_Foundation")]
SessionArbitrationEnumeration<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE_PTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, husertoken: Param0, bsinglesessionperuserenabled: Param1, psessionidarray: *mut u32, pdwsessionidentifiercount: *mut u32) -> ::windows::runtime::Result<()>4837     pub unsafe fn SessionArbitrationEnumeration<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE_PTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, husertoken: Param0, bsinglesessionperuserenabled: Param1, psessionidarray: *mut u32, pdwsessionidentifiercount: *mut u32) -> ::windows::runtime::Result<()> {
4838         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), husertoken.into_param().abi(), bsinglesessionperuserenabled.into_param().abi(), ::std::mem::transmute(psessionidarray), ::std::mem::transmute(pdwsessionidentifiercount)).ok()
4839     }
4840     #[cfg(feature = "Win32_Foundation")]
LogonNotify<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE_PTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, hclienttoken: Param0, wszusername: Param1, wszdomainname: Param2, sessionid: *const WTS_SESSION_ID, pwrdsconnectionsettings: *mut WRDS_CONNECTION_SETTINGS) -> ::windows::runtime::Result<()>4841     pub unsafe fn LogonNotify<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE_PTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, hclienttoken: Param0, wszusername: Param1, wszdomainname: Param2, sessionid: *const WTS_SESSION_ID, pwrdsconnectionsettings: *mut WRDS_CONNECTION_SETTINGS) -> ::windows::runtime::Result<()> {
4842         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), hclienttoken.into_param().abi(), wszusername.into_param().abi(), wszdomainname.into_param().abi(), ::std::mem::transmute(sessionid), ::std::mem::transmute(pwrdsconnectionsettings)).ok()
4843     }
PreDisconnect(&self, disconnectreason: u32) -> ::windows::runtime::Result<()>4844     pub unsafe fn PreDisconnect(&self, disconnectreason: u32) -> ::windows::runtime::Result<()> {
4845         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(disconnectreason)).ok()
4846     }
DisconnectNotify(&self) -> ::windows::runtime::Result<()>4847     pub unsafe fn DisconnectNotify(&self) -> ::windows::runtime::Result<()> {
4848         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self)).ok()
4849     }
Close(&self) -> ::windows::runtime::Result<()>4850     pub unsafe fn Close(&self) -> ::windows::runtime::Result<()> {
4851         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self)).ok()
4852     }
GetProtocolStatus(&self) -> ::windows::runtime::Result<WTS_PROTOCOL_STATUS>4853     pub unsafe fn GetProtocolStatus(&self) -> ::windows::runtime::Result<WTS_PROTOCOL_STATUS> {
4854         let mut result__: <WTS_PROTOCOL_STATUS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4855         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WTS_PROTOCOL_STATUS>(result__)
4856     }
GetLastInputTime(&self) -> ::windows::runtime::Result<u64>4857     pub unsafe fn GetLastInputTime(&self) -> ::windows::runtime::Result<u64> {
4858         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4859         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u64>(result__)
4860     }
SetErrorInfo(&self, ulerror: u32) -> ::windows::runtime::Result<()>4861     pub unsafe fn SetErrorInfo(&self, ulerror: u32) -> ::windows::runtime::Result<()> {
4862         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulerror)).ok()
4863     }
4864     #[cfg(feature = "Win32_Foundation")]
CreateVirtualChannel<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, szendpointname: Param0, bstatic: Param1, requestedpriority: u32) -> ::windows::runtime::Result<usize>4865     pub unsafe fn CreateVirtualChannel<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, szendpointname: Param0, bstatic: Param1, requestedpriority: u32) -> ::windows::runtime::Result<usize> {
4866         let mut result__: <usize as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4867         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), szendpointname.into_param().abi(), bstatic.into_param().abi(), ::std::mem::transmute(requestedpriority), &mut result__).from_abi::<usize>(result__)
4868     }
4869     #[cfg(feature = "Win32_Foundation")]
QueryProperty<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, querytype: Param0, ulnumentriesin: u32, ulnumentriesout: u32, ppropertyentriesin: *const WTS_PROPERTY_VALUE, ppropertyentriesout: *mut WTS_PROPERTY_VALUE) -> ::windows::runtime::Result<()>4870     pub unsafe fn QueryProperty<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, querytype: Param0, ulnumentriesin: u32, ulnumentriesout: u32, ppropertyentriesin: *const WTS_PROPERTY_VALUE, ppropertyentriesout: *mut WTS_PROPERTY_VALUE) -> ::windows::runtime::Result<()> {
4871         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), querytype.into_param().abi(), ::std::mem::transmute(ulnumentriesin), ::std::mem::transmute(ulnumentriesout), ::std::mem::transmute(ppropertyentriesin), ::std::mem::transmute(ppropertyentriesout)).ok()
4872     }
GetShadowConnection(&self) -> ::windows::runtime::Result<IWRdsProtocolShadowConnection>4873     pub unsafe fn GetShadowConnection(&self) -> ::windows::runtime::Result<IWRdsProtocolShadowConnection> {
4874         let mut result__: <IWRdsProtocolShadowConnection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4875         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWRdsProtocolShadowConnection>(result__)
4876     }
NotifyCommandProcessCreated(&self, sessionid: u32) -> ::windows::runtime::Result<()>4877     pub unsafe fn NotifyCommandProcessCreated(&self, sessionid: u32) -> ::windows::runtime::Result<()> {
4878         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(sessionid)).ok()
4879     }
4880 }
4881 unsafe impl ::windows::runtime::Interface for IWRdsProtocolConnection {
4882     type Vtable = IWRdsProtocolConnection_abi;
4883     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(844028239, 64943, 20470, [129, 168, 66, 171, 231, 85, 131, 11]);
4884 }
4885 impl ::std::convert::From<IWRdsProtocolConnection> for ::windows::runtime::IUnknown {
from(value: IWRdsProtocolConnection) -> Self4886     fn from(value: IWRdsProtocolConnection) -> Self {
4887         unsafe { ::std::mem::transmute(value) }
4888     }
4889 }
4890 impl ::std::convert::From<&IWRdsProtocolConnection> for ::windows::runtime::IUnknown {
from(value: &IWRdsProtocolConnection) -> Self4891     fn from(value: &IWRdsProtocolConnection) -> Self {
4892         ::std::convert::From::from(::std::clone::Clone::clone(value))
4893     }
4894 }
4895 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWRdsProtocolConnection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4896     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4897         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4898     }
4899 }
4900 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWRdsProtocolConnection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4901     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4902         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4903     }
4904 }
4905 #[repr(C)]
4906 #[doc(hidden)]
4907 pub struct IWRdsProtocolConnection_abi(
4908     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4909     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4910     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4911     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pplogonerrorredir: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4912     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4913     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclientdata: *mut WTS_CLIENT_DATA) -> ::windows::runtime::HRESULT,
4914     #[cfg(not(feature = "Win32_Foundation"))] usize,
4915     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnummonitors: *mut u32, pprimarymonitor: *mut u32) -> ::windows::runtime::HRESULT,
4916     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pusercreds: *mut WTS_USER_CREDENTIAL) -> ::windows::runtime::HRESULT,
4917     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pplicenseconnection: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4918     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sessionid: *mut WTS_SESSION_ID) -> ::windows::runtime::HRESULT,
4919     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sessionid: *const WTS_SESSION_ID, sessionhandle: super::super::Foundation::HANDLE_PTR) -> ::windows::runtime::HRESULT,
4920     #[cfg(not(feature = "Win32_Foundation"))] usize,
4921     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pkeyboardhandle: *mut super::super::Foundation::HANDLE_PTR, pmousehandle: *mut super::super::Foundation::HANDLE_PTR, pbeephandle: *mut super::super::Foundation::HANDLE_PTR) -> ::windows::runtime::HRESULT,
4922     #[cfg(not(feature = "Win32_Foundation"))] usize,
4923     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvideohandle: *mut super::super::Foundation::HANDLE_PTR) -> ::windows::runtime::HRESULT,
4924     #[cfg(not(feature = "Win32_Foundation"))] usize,
4925     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sessionid: u32) -> ::windows::runtime::HRESULT,
4926     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sessionid: u32, usertoken: super::super::Foundation::HANDLE_PTR, pdomainname: super::super::Foundation::PWSTR, pusername: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4927     #[cfg(not(feature = "Win32_Foundation"))] usize,
4928     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, husertoken: super::super::Foundation::HANDLE_PTR, bsinglesessionperuserenabled: super::super::Foundation::BOOL, psessionidarray: *mut u32, pdwsessionidentifiercount: *mut u32) -> ::windows::runtime::HRESULT,
4929     #[cfg(not(feature = "Win32_Foundation"))] usize,
4930     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hclienttoken: super::super::Foundation::HANDLE_PTR, wszusername: super::super::Foundation::PWSTR, wszdomainname: super::super::Foundation::PWSTR, sessionid: *const WTS_SESSION_ID, pwrdsconnectionsettings: *mut WRDS_CONNECTION_SETTINGS) -> ::windows::runtime::HRESULT,
4931     #[cfg(not(feature = "Win32_Foundation"))] usize,
4932     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, disconnectreason: u32) -> ::windows::runtime::HRESULT,
4933     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4934     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4935     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprotocolstatus: *mut WTS_PROTOCOL_STATUS) -> ::windows::runtime::HRESULT,
4936     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plastinputtime: *mut u64) -> ::windows::runtime::HRESULT,
4937     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulerror: u32) -> ::windows::runtime::HRESULT,
4938     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, szendpointname: super::super::Foundation::PSTR, bstatic: super::super::Foundation::BOOL, requestedpriority: u32, phchannel: *mut usize) -> ::windows::runtime::HRESULT,
4939     #[cfg(not(feature = "Win32_Foundation"))] usize,
4940     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, querytype: ::windows::runtime::GUID, ulnumentriesin: u32, ulnumentriesout: u32, ppropertyentriesin: *const WTS_PROPERTY_VALUE, ppropertyentriesout: *mut WTS_PROPERTY_VALUE) -> ::windows::runtime::HRESULT,
4941     #[cfg(not(feature = "Win32_Foundation"))] usize,
4942     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppshadowconnection: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4943     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sessionid: u32) -> ::windows::runtime::HRESULT,
4944 );
4945 #[repr(transparent)]
4946 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4947 pub struct IWRdsProtocolConnectionCallback(::windows::runtime::IUnknown);
4948 impl IWRdsProtocolConnectionCallback {
OnReady(&self) -> ::windows::runtime::Result<()>4949     pub unsafe fn OnReady(&self) -> ::windows::runtime::Result<()> {
4950         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
4951     }
BrokenConnection(&self, reason: u32, source: u32) -> ::windows::runtime::Result<()>4952     pub unsafe fn BrokenConnection(&self, reason: u32, source: u32) -> ::windows::runtime::Result<()> {
4953         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(reason), ::std::mem::transmute(source)).ok()
4954     }
StopScreenUpdates(&self) -> ::windows::runtime::Result<()>4955     pub unsafe fn StopScreenUpdates(&self) -> ::windows::runtime::Result<()> {
4956         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
4957     }
RedrawWindow(&self, rect: *const WTS_SMALL_RECT) -> ::windows::runtime::Result<()>4958     pub unsafe fn RedrawWindow(&self, rect: *const WTS_SMALL_RECT) -> ::windows::runtime::Result<()> {
4959         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(rect)).ok()
4960     }
GetConnectionId(&self) -> ::windows::runtime::Result<u32>4961     pub unsafe fn GetConnectionId(&self) -> ::windows::runtime::Result<u32> {
4962         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4963         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4964     }
4965 }
4966 unsafe impl ::windows::runtime::Interface for IWRdsProtocolConnectionCallback {
4967     type Vtable = IWRdsProtocolConnectionCallback_abi;
4968     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4057400114, 53360, 20209, [160, 136, 120, 49, 53, 54, 194, 214]);
4969 }
4970 impl ::std::convert::From<IWRdsProtocolConnectionCallback> for ::windows::runtime::IUnknown {
from(value: IWRdsProtocolConnectionCallback) -> Self4971     fn from(value: IWRdsProtocolConnectionCallback) -> Self {
4972         unsafe { ::std::mem::transmute(value) }
4973     }
4974 }
4975 impl ::std::convert::From<&IWRdsProtocolConnectionCallback> for ::windows::runtime::IUnknown {
from(value: &IWRdsProtocolConnectionCallback) -> Self4976     fn from(value: &IWRdsProtocolConnectionCallback) -> Self {
4977         ::std::convert::From::from(::std::clone::Clone::clone(value))
4978     }
4979 }
4980 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWRdsProtocolConnectionCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4981     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4982         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4983     }
4984 }
4985 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWRdsProtocolConnectionCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4986     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4987         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4988     }
4989 }
4990 #[repr(C)]
4991 #[doc(hidden)]
4992 pub struct IWRdsProtocolConnectionCallback_abi(
4993     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4994     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4995     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4996     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4997     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, reason: u32, source: u32) -> ::windows::runtime::HRESULT,
4998     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4999     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rect: *const WTS_SMALL_RECT) -> ::windows::runtime::HRESULT,
5000     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pconnectionid: *mut u32) -> ::windows::runtime::HRESULT,
5001 );
5002 #[repr(transparent)]
5003 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5004 pub struct IWRdsProtocolConnectionSettings(::windows::runtime::IUnknown);
5005 impl IWRdsProtocolConnectionSettings {
5006     #[cfg(feature = "Win32_Foundation")]
SetConnectionSetting<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, propertyid: Param0, ppropertyentriesin: *const WTS_PROPERTY_VALUE) -> ::windows::runtime::Result<()>5007     pub unsafe fn SetConnectionSetting<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, propertyid: Param0, ppropertyentriesin: *const WTS_PROPERTY_VALUE) -> ::windows::runtime::Result<()> {
5008         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), propertyid.into_param().abi(), ::std::mem::transmute(ppropertyentriesin)).ok()
5009     }
5010     #[cfg(feature = "Win32_Foundation")]
GetConnectionSetting<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, propertyid: Param0) -> ::windows::runtime::Result<WTS_PROPERTY_VALUE>5011     pub unsafe fn GetConnectionSetting<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, propertyid: Param0) -> ::windows::runtime::Result<WTS_PROPERTY_VALUE> {
5012         let mut result__: <WTS_PROPERTY_VALUE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5013         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), propertyid.into_param().abi(), &mut result__).from_abi::<WTS_PROPERTY_VALUE>(result__)
5014     }
5015 }
5016 unsafe impl ::windows::runtime::Interface for IWRdsProtocolConnectionSettings {
5017     type Vtable = IWRdsProtocolConnectionSettings_abi;
5018     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2214393299, 63220, 60052, [156, 210, 50, 242, 128, 225, 229, 16]);
5019 }
5020 impl ::std::convert::From<IWRdsProtocolConnectionSettings> for ::windows::runtime::IUnknown {
from(value: IWRdsProtocolConnectionSettings) -> Self5021     fn from(value: IWRdsProtocolConnectionSettings) -> Self {
5022         unsafe { ::std::mem::transmute(value) }
5023     }
5024 }
5025 impl ::std::convert::From<&IWRdsProtocolConnectionSettings> for ::windows::runtime::IUnknown {
from(value: &IWRdsProtocolConnectionSettings) -> Self5026     fn from(value: &IWRdsProtocolConnectionSettings) -> Self {
5027         ::std::convert::From::from(::std::clone::Clone::clone(value))
5028     }
5029 }
5030 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWRdsProtocolConnectionSettings {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5031     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5032         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5033     }
5034 }
5035 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWRdsProtocolConnectionSettings {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5036     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5037         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5038     }
5039 }
5040 #[repr(C)]
5041 #[doc(hidden)]
5042 pub struct IWRdsProtocolConnectionSettings_abi(
5043     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5044     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5045     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5046     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: ::windows::runtime::GUID, ppropertyentriesin: *const WTS_PROPERTY_VALUE) -> ::windows::runtime::HRESULT,
5047     #[cfg(not(feature = "Win32_Foundation"))] usize,
5048     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: ::windows::runtime::GUID, ppropertyentriesout: *mut WTS_PROPERTY_VALUE) -> ::windows::runtime::HRESULT,
5049     #[cfg(not(feature = "Win32_Foundation"))] usize,
5050 );
5051 #[repr(transparent)]
5052 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5053 pub struct IWRdsProtocolLicenseConnection(::windows::runtime::IUnknown);
5054 impl IWRdsProtocolLicenseConnection {
5055     #[cfg(feature = "Win32_Foundation")]
RequestLicensingCapabilities(&self, pplicensecapabilities: *mut WTS_LICENSE_CAPABILITIES, pcblicensecapabilities: *mut u32) -> ::windows::runtime::Result<()>5056     pub unsafe fn RequestLicensingCapabilities(&self, pplicensecapabilities: *mut WTS_LICENSE_CAPABILITIES, pcblicensecapabilities: *mut u32) -> ::windows::runtime::Result<()> {
5057         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pplicensecapabilities), ::std::mem::transmute(pcblicensecapabilities)).ok()
5058     }
SendClientLicense(&self, pclientlicense: *const u8, cbclientlicense: u32) -> ::windows::runtime::Result<()>5059     pub unsafe fn SendClientLicense(&self, pclientlicense: *const u8, cbclientlicense: u32) -> ::windows::runtime::Result<()> {
5060         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pclientlicense), ::std::mem::transmute(cbclientlicense)).ok()
5061     }
RequestClientLicense(&self, reserve1: *const u8, reserve2: u32, ppclientlicense: *mut u8, pcbclientlicense: *mut u32) -> ::windows::runtime::Result<()>5062     pub unsafe fn RequestClientLicense(&self, reserve1: *const u8, reserve2: u32, ppclientlicense: *mut u8, pcbclientlicense: *mut u32) -> ::windows::runtime::Result<()> {
5063         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(reserve1), ::std::mem::transmute(reserve2), ::std::mem::transmute(ppclientlicense), ::std::mem::transmute(pcbclientlicense)).ok()
5064     }
ProtocolComplete(&self, ulcomplete: u32) -> ::windows::runtime::Result<()>5065     pub unsafe fn ProtocolComplete(&self, ulcomplete: u32) -> ::windows::runtime::Result<()> {
5066         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulcomplete)).ok()
5067     }
5068 }
5069 unsafe impl ::windows::runtime::Interface for IWRdsProtocolLicenseConnection {
5070     type Vtable = IWRdsProtocolLicenseConnection_abi;
5071     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(493491295, 53397, 17444, [149, 122, 64, 127, 174, 130, 45, 132]);
5072 }
5073 impl ::std::convert::From<IWRdsProtocolLicenseConnection> for ::windows::runtime::IUnknown {
from(value: IWRdsProtocolLicenseConnection) -> Self5074     fn from(value: IWRdsProtocolLicenseConnection) -> Self {
5075         unsafe { ::std::mem::transmute(value) }
5076     }
5077 }
5078 impl ::std::convert::From<&IWRdsProtocolLicenseConnection> for ::windows::runtime::IUnknown {
from(value: &IWRdsProtocolLicenseConnection) -> Self5079     fn from(value: &IWRdsProtocolLicenseConnection) -> Self {
5080         ::std::convert::From::from(::std::clone::Clone::clone(value))
5081     }
5082 }
5083 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWRdsProtocolLicenseConnection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5084     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5085         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5086     }
5087 }
5088 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWRdsProtocolLicenseConnection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5089     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5090         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5091     }
5092 }
5093 #[repr(C)]
5094 #[doc(hidden)]
5095 pub struct IWRdsProtocolLicenseConnection_abi(
5096     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5097     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5098     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5099     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pplicensecapabilities: *mut WTS_LICENSE_CAPABILITIES, pcblicensecapabilities: *mut u32) -> ::windows::runtime::HRESULT,
5100     #[cfg(not(feature = "Win32_Foundation"))] usize,
5101     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclientlicense: *const u8, cbclientlicense: u32) -> ::windows::runtime::HRESULT,
5102     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, reserve1: *const u8, reserve2: u32, ppclientlicense: *mut u8, pcbclientlicense: *mut u32) -> ::windows::runtime::HRESULT,
5103     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulcomplete: u32) -> ::windows::runtime::HRESULT,
5104 );
5105 #[repr(transparent)]
5106 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5107 pub struct IWRdsProtocolListener(::windows::runtime::IUnknown);
5108 impl IWRdsProtocolListener {
GetSettings(&self, wrdslistenersettinglevel: WRDS_LISTENER_SETTING_LEVEL) -> ::windows::runtime::Result<WRDS_LISTENER_SETTINGS>5109     pub unsafe fn GetSettings(&self, wrdslistenersettinglevel: WRDS_LISTENER_SETTING_LEVEL) -> ::windows::runtime::Result<WRDS_LISTENER_SETTINGS> {
5110         let mut result__: <WRDS_LISTENER_SETTINGS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5111         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(wrdslistenersettinglevel), &mut result__).from_abi::<WRDS_LISTENER_SETTINGS>(result__)
5112     }
StartListen<'a, Param0: ::windows::runtime::IntoParam<'a, IWRdsProtocolListenerCallback>>(&self, pcallback: Param0) -> ::windows::runtime::Result<()>5113     pub unsafe fn StartListen<'a, Param0: ::windows::runtime::IntoParam<'a, IWRdsProtocolListenerCallback>>(&self, pcallback: Param0) -> ::windows::runtime::Result<()> {
5114         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pcallback.into_param().abi()).ok()
5115     }
StopListen(&self) -> ::windows::runtime::Result<()>5116     pub unsafe fn StopListen(&self) -> ::windows::runtime::Result<()> {
5117         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
5118     }
5119 }
5120 unsafe impl ::windows::runtime::Interface for IWRdsProtocolListener {
5121     type Vtable = IWRdsProtocolListener_abi;
5122     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4240184091, 50822, 17693, [167, 115, 226, 121, 226, 48, 245, 64]);
5123 }
5124 impl ::std::convert::From<IWRdsProtocolListener> for ::windows::runtime::IUnknown {
from(value: IWRdsProtocolListener) -> Self5125     fn from(value: IWRdsProtocolListener) -> Self {
5126         unsafe { ::std::mem::transmute(value) }
5127     }
5128 }
5129 impl ::std::convert::From<&IWRdsProtocolListener> for ::windows::runtime::IUnknown {
from(value: &IWRdsProtocolListener) -> Self5130     fn from(value: &IWRdsProtocolListener) -> Self {
5131         ::std::convert::From::from(::std::clone::Clone::clone(value))
5132     }
5133 }
5134 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWRdsProtocolListener {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5135     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5136         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5137     }
5138 }
5139 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWRdsProtocolListener {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5140     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5141         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5142     }
5143 }
5144 #[repr(C)]
5145 #[doc(hidden)]
5146 pub struct IWRdsProtocolListener_abi(
5147     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5148     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5149     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5150     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, wrdslistenersettinglevel: WRDS_LISTENER_SETTING_LEVEL, pwrdslistenersettings: *mut WRDS_LISTENER_SETTINGS) -> ::windows::runtime::HRESULT,
5151     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcallback: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5152     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5153 );
5154 #[repr(transparent)]
5155 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5156 pub struct IWRdsProtocolListenerCallback(::windows::runtime::IUnknown);
5157 impl IWRdsProtocolListenerCallback {
5158     #[cfg(feature = "Win32_Foundation")]
OnConnected<'a, Param0: ::windows::runtime::IntoParam<'a, IWRdsProtocolConnection>>(&self, pconnection: Param0, pwrdsconnectionsettings: *const WRDS_CONNECTION_SETTINGS) -> ::windows::runtime::Result<IWRdsProtocolConnectionCallback>5159     pub unsafe fn OnConnected<'a, Param0: ::windows::runtime::IntoParam<'a, IWRdsProtocolConnection>>(&self, pconnection: Param0, pwrdsconnectionsettings: *const WRDS_CONNECTION_SETTINGS) -> ::windows::runtime::Result<IWRdsProtocolConnectionCallback> {
5160         let mut result__: <IWRdsProtocolConnectionCallback as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5161         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pconnection.into_param().abi(), ::std::mem::transmute(pwrdsconnectionsettings), &mut result__).from_abi::<IWRdsProtocolConnectionCallback>(result__)
5162     }
5163 }
5164 unsafe impl ::windows::runtime::Interface for IWRdsProtocolListenerCallback {
5165     type Vtable = IWRdsProtocolListenerCallback_abi;
5166     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(984776283, 17481, 19905, [183, 74, 145, 98, 29, 79, 233, 132]);
5167 }
5168 impl ::std::convert::From<IWRdsProtocolListenerCallback> for ::windows::runtime::IUnknown {
from(value: IWRdsProtocolListenerCallback) -> Self5169     fn from(value: IWRdsProtocolListenerCallback) -> Self {
5170         unsafe { ::std::mem::transmute(value) }
5171     }
5172 }
5173 impl ::std::convert::From<&IWRdsProtocolListenerCallback> for ::windows::runtime::IUnknown {
from(value: &IWRdsProtocolListenerCallback) -> Self5174     fn from(value: &IWRdsProtocolListenerCallback) -> Self {
5175         ::std::convert::From::from(::std::clone::Clone::clone(value))
5176     }
5177 }
5178 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWRdsProtocolListenerCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5179     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5180         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5181     }
5182 }
5183 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWRdsProtocolListenerCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5184     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5185         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5186     }
5187 }
5188 #[repr(C)]
5189 #[doc(hidden)]
5190 pub struct IWRdsProtocolListenerCallback_abi(
5191     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5192     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5193     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5194     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pconnection: ::windows::runtime::RawPtr, pwrdsconnectionsettings: *const WRDS_CONNECTION_SETTINGS, pcallback: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5195     #[cfg(not(feature = "Win32_Foundation"))] usize,
5196 );
5197 #[repr(transparent)]
5198 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5199 pub struct IWRdsProtocolLogonErrorRedirector(::windows::runtime::IUnknown);
5200 impl IWRdsProtocolLogonErrorRedirector {
OnBeginPainting(&self) -> ::windows::runtime::Result<()>5201     pub unsafe fn OnBeginPainting(&self) -> ::windows::runtime::Result<()> {
5202         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
5203     }
5204     #[cfg(feature = "Win32_Foundation")]
RedirectStatus<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszmessage: Param0) -> ::windows::runtime::Result<WTS_LOGON_ERROR_REDIRECTOR_RESPONSE>5205     pub unsafe fn RedirectStatus<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszmessage: Param0) -> ::windows::runtime::Result<WTS_LOGON_ERROR_REDIRECTOR_RESPONSE> {
5206         let mut result__: <WTS_LOGON_ERROR_REDIRECTOR_RESPONSE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5207         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pszmessage.into_param().abi(), &mut result__).from_abi::<WTS_LOGON_ERROR_REDIRECTOR_RESPONSE>(result__)
5208     }
5209     #[cfg(feature = "Win32_Foundation")]
RedirectMessage<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszcaption: Param0, pszmessage: Param1, utype: u32) -> ::windows::runtime::Result<WTS_LOGON_ERROR_REDIRECTOR_RESPONSE>5210     pub unsafe fn RedirectMessage<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszcaption: Param0, pszmessage: Param1, utype: u32) -> ::windows::runtime::Result<WTS_LOGON_ERROR_REDIRECTOR_RESPONSE> {
5211         let mut result__: <WTS_LOGON_ERROR_REDIRECTOR_RESPONSE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5212         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pszcaption.into_param().abi(), pszmessage.into_param().abi(), ::std::mem::transmute(utype), &mut result__).from_abi::<WTS_LOGON_ERROR_REDIRECTOR_RESPONSE>(result__)
5213     }
5214     #[cfg(feature = "Win32_Foundation")]
RedirectLogonError<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, ntsstatus: i32, ntssubstatus: i32, pszcaption: Param2, pszmessage: Param3, utype: u32) -> ::windows::runtime::Result<WTS_LOGON_ERROR_REDIRECTOR_RESPONSE>5215     pub unsafe fn RedirectLogonError<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, ntsstatus: i32, ntssubstatus: i32, pszcaption: Param2, pszmessage: Param3, utype: u32) -> ::windows::runtime::Result<WTS_LOGON_ERROR_REDIRECTOR_RESPONSE> {
5216         let mut result__: <WTS_LOGON_ERROR_REDIRECTOR_RESPONSE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5217         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(ntsstatus), ::std::mem::transmute(ntssubstatus), pszcaption.into_param().abi(), pszmessage.into_param().abi(), ::std::mem::transmute(utype), &mut result__).from_abi::<WTS_LOGON_ERROR_REDIRECTOR_RESPONSE>(result__)
5218     }
5219 }
5220 unsafe impl ::windows::runtime::Interface for IWRdsProtocolLogonErrorRedirector {
5221     type Vtable = IWRdsProtocolLogonErrorRedirector_abi;
5222     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1369434171, 5162, 16672, [163, 213, 164, 5, 211, 21, 40, 26]);
5223 }
5224 impl ::std::convert::From<IWRdsProtocolLogonErrorRedirector> for ::windows::runtime::IUnknown {
from(value: IWRdsProtocolLogonErrorRedirector) -> Self5225     fn from(value: IWRdsProtocolLogonErrorRedirector) -> Self {
5226         unsafe { ::std::mem::transmute(value) }
5227     }
5228 }
5229 impl ::std::convert::From<&IWRdsProtocolLogonErrorRedirector> for ::windows::runtime::IUnknown {
from(value: &IWRdsProtocolLogonErrorRedirector) -> Self5230     fn from(value: &IWRdsProtocolLogonErrorRedirector) -> Self {
5231         ::std::convert::From::from(::std::clone::Clone::clone(value))
5232     }
5233 }
5234 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWRdsProtocolLogonErrorRedirector {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5235     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5236         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5237     }
5238 }
5239 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWRdsProtocolLogonErrorRedirector {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5240     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5241         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5242     }
5243 }
5244 #[repr(C)]
5245 #[doc(hidden)]
5246 pub struct IWRdsProtocolLogonErrorRedirector_abi(
5247     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5248     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5249     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5250     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5251     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszmessage: super::super::Foundation::PWSTR, presponse: *mut WTS_LOGON_ERROR_REDIRECTOR_RESPONSE) -> ::windows::runtime::HRESULT,
5252     #[cfg(not(feature = "Win32_Foundation"))] usize,
5253     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszcaption: super::super::Foundation::PWSTR, pszmessage: super::super::Foundation::PWSTR, utype: u32, presponse: *mut WTS_LOGON_ERROR_REDIRECTOR_RESPONSE) -> ::windows::runtime::HRESULT,
5254     #[cfg(not(feature = "Win32_Foundation"))] usize,
5255     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ntsstatus: i32, ntssubstatus: i32, pszcaption: super::super::Foundation::PWSTR, pszmessage: super::super::Foundation::PWSTR, utype: u32, presponse: *mut WTS_LOGON_ERROR_REDIRECTOR_RESPONSE) -> ::windows::runtime::HRESULT,
5256     #[cfg(not(feature = "Win32_Foundation"))] usize,
5257 );
5258 #[repr(transparent)]
5259 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5260 pub struct IWRdsProtocolManager(::windows::runtime::IUnknown);
5261 impl IWRdsProtocolManager {
5262     #[cfg(feature = "Win32_Foundation")]
Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, IWRdsProtocolSettings>>(&self, piwrdssettings: Param0, pwrdssettings: *const WRDS_SETTINGS) -> ::windows::runtime::Result<()>5263     pub unsafe fn Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, IWRdsProtocolSettings>>(&self, piwrdssettings: Param0, pwrdssettings: *const WRDS_SETTINGS) -> ::windows::runtime::Result<()> {
5264         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), piwrdssettings.into_param().abi(), ::std::mem::transmute(pwrdssettings)).ok()
5265     }
5266     #[cfg(feature = "Win32_Foundation")]
CreateListener<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, wszlistenername: Param0) -> ::windows::runtime::Result<IWRdsProtocolListener>5267     pub unsafe fn CreateListener<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, wszlistenername: Param0) -> ::windows::runtime::Result<IWRdsProtocolListener> {
5268         let mut result__: <IWRdsProtocolListener as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5269         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), wszlistenername.into_param().abi(), &mut result__).from_abi::<IWRdsProtocolListener>(result__)
5270     }
NotifyServiceStateChange(&self, ptsservicestatechange: *const WTS_SERVICE_STATE) -> ::windows::runtime::Result<()>5271     pub unsafe fn NotifyServiceStateChange(&self, ptsservicestatechange: *const WTS_SERVICE_STATE) -> ::windows::runtime::Result<()> {
5272         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(ptsservicestatechange)).ok()
5273     }
NotifySessionOfServiceStart(&self, sessionid: *const WTS_SESSION_ID) -> ::windows::runtime::Result<()>5274     pub unsafe fn NotifySessionOfServiceStart(&self, sessionid: *const WTS_SESSION_ID) -> ::windows::runtime::Result<()> {
5275         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(sessionid)).ok()
5276     }
NotifySessionOfServiceStop(&self, sessionid: *const WTS_SESSION_ID) -> ::windows::runtime::Result<()>5277     pub unsafe fn NotifySessionOfServiceStop(&self, sessionid: *const WTS_SESSION_ID) -> ::windows::runtime::Result<()> {
5278         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(sessionid)).ok()
5279     }
NotifySessionStateChange(&self, sessionid: *const WTS_SESSION_ID, eventid: u32) -> ::windows::runtime::Result<()>5280     pub unsafe fn NotifySessionStateChange(&self, sessionid: *const WTS_SESSION_ID, eventid: u32) -> ::windows::runtime::Result<()> {
5281         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(sessionid), ::std::mem::transmute(eventid)).ok()
5282     }
5283     #[cfg(feature = "Win32_Foundation")]
NotifySettingsChange(&self, pwrdssettings: *const WRDS_SETTINGS) -> ::windows::runtime::Result<()>5284     pub unsafe fn NotifySettingsChange(&self, pwrdssettings: *const WRDS_SETTINGS) -> ::windows::runtime::Result<()> {
5285         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(pwrdssettings)).ok()
5286     }
Uninitialize(&self) -> ::windows::runtime::Result<()>5287     pub unsafe fn Uninitialize(&self) -> ::windows::runtime::Result<()> {
5288         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
5289     }
5290 }
5291 unsafe impl ::windows::runtime::Interface for IWRdsProtocolManager {
5292     type Vtable = IWRdsProtocolManager_abi;
5293     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3698944359, 15035, 16589, [164, 70, 16, 82, 118, 181, 137, 80]);
5294 }
5295 impl ::std::convert::From<IWRdsProtocolManager> for ::windows::runtime::IUnknown {
from(value: IWRdsProtocolManager) -> Self5296     fn from(value: IWRdsProtocolManager) -> Self {
5297         unsafe { ::std::mem::transmute(value) }
5298     }
5299 }
5300 impl ::std::convert::From<&IWRdsProtocolManager> for ::windows::runtime::IUnknown {
from(value: &IWRdsProtocolManager) -> Self5301     fn from(value: &IWRdsProtocolManager) -> Self {
5302         ::std::convert::From::from(::std::clone::Clone::clone(value))
5303     }
5304 }
5305 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWRdsProtocolManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5306     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5307         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5308     }
5309 }
5310 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWRdsProtocolManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5311     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5312         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5313     }
5314 }
5315 #[repr(C)]
5316 #[doc(hidden)]
5317 pub struct IWRdsProtocolManager_abi(
5318     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5319     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5320     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5321     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, piwrdssettings: ::windows::runtime::RawPtr, pwrdssettings: *const WRDS_SETTINGS) -> ::windows::runtime::HRESULT,
5322     #[cfg(not(feature = "Win32_Foundation"))] usize,
5323     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, wszlistenername: super::super::Foundation::PWSTR, pprotocollistener: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5324     #[cfg(not(feature = "Win32_Foundation"))] usize,
5325     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptsservicestatechange: *const WTS_SERVICE_STATE) -> ::windows::runtime::HRESULT,
5326     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sessionid: *const WTS_SESSION_ID) -> ::windows::runtime::HRESULT,
5327     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sessionid: *const WTS_SESSION_ID) -> ::windows::runtime::HRESULT,
5328     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sessionid: *const WTS_SESSION_ID, eventid: u32) -> ::windows::runtime::HRESULT,
5329     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwrdssettings: *const WRDS_SETTINGS) -> ::windows::runtime::HRESULT,
5330     #[cfg(not(feature = "Win32_Foundation"))] usize,
5331     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5332 );
5333 #[repr(transparent)]
5334 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5335 pub struct IWRdsProtocolSettings(::windows::runtime::IUnknown);
5336 impl IWRdsProtocolSettings {
5337     #[cfg(feature = "Win32_Foundation")]
GetSettings(&self, wrdssettingtype: WRDS_SETTING_TYPE, wrdssettinglevel: WRDS_SETTING_LEVEL) -> ::windows::runtime::Result<WRDS_SETTINGS>5338     pub unsafe fn GetSettings(&self, wrdssettingtype: WRDS_SETTING_TYPE, wrdssettinglevel: WRDS_SETTING_LEVEL) -> ::windows::runtime::Result<WRDS_SETTINGS> {
5339         let mut result__: <WRDS_SETTINGS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5340         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(wrdssettingtype), ::std::mem::transmute(wrdssettinglevel), &mut result__).from_abi::<WRDS_SETTINGS>(result__)
5341     }
5342     #[cfg(feature = "Win32_Foundation")]
MergeSettings(&self, pwrdssettings: *const WRDS_SETTINGS, wrdsconnectionsettinglevel: WRDS_CONNECTION_SETTING_LEVEL, pwrdsconnectionsettings: *mut WRDS_CONNECTION_SETTINGS) -> ::windows::runtime::Result<()>5343     pub unsafe fn MergeSettings(&self, pwrdssettings: *const WRDS_SETTINGS, wrdsconnectionsettinglevel: WRDS_CONNECTION_SETTING_LEVEL, pwrdsconnectionsettings: *mut WRDS_CONNECTION_SETTINGS) -> ::windows::runtime::Result<()> {
5344         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pwrdssettings), ::std::mem::transmute(wrdsconnectionsettinglevel), ::std::mem::transmute(pwrdsconnectionsettings)).ok()
5345     }
5346 }
5347 unsafe impl ::windows::runtime::Interface for IWRdsProtocolSettings {
5348     type Vtable = IWRdsProtocolSettings_abi;
5349     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1699371626, 9552, 18411, [182, 247, 235, 214, 55, 71, 82, 101]);
5350 }
5351 impl ::std::convert::From<IWRdsProtocolSettings> for ::windows::runtime::IUnknown {
from(value: IWRdsProtocolSettings) -> Self5352     fn from(value: IWRdsProtocolSettings) -> Self {
5353         unsafe { ::std::mem::transmute(value) }
5354     }
5355 }
5356 impl ::std::convert::From<&IWRdsProtocolSettings> for ::windows::runtime::IUnknown {
from(value: &IWRdsProtocolSettings) -> Self5357     fn from(value: &IWRdsProtocolSettings) -> Self {
5358         ::std::convert::From::from(::std::clone::Clone::clone(value))
5359     }
5360 }
5361 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWRdsProtocolSettings {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5362     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5363         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5364     }
5365 }
5366 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWRdsProtocolSettings {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5367     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5368         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5369     }
5370 }
5371 #[repr(C)]
5372 #[doc(hidden)]
5373 pub struct IWRdsProtocolSettings_abi(
5374     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5375     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5376     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5377     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, wrdssettingtype: WRDS_SETTING_TYPE, wrdssettinglevel: WRDS_SETTING_LEVEL, pwrdssettings: *mut WRDS_SETTINGS) -> ::windows::runtime::HRESULT,
5378     #[cfg(not(feature = "Win32_Foundation"))] usize,
5379     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwrdssettings: *const WRDS_SETTINGS, wrdsconnectionsettinglevel: WRDS_CONNECTION_SETTING_LEVEL, pwrdsconnectionsettings: *mut WRDS_CONNECTION_SETTINGS) -> ::windows::runtime::HRESULT,
5380     #[cfg(not(feature = "Win32_Foundation"))] usize,
5381 );
5382 #[repr(transparent)]
5383 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5384 pub struct IWRdsProtocolShadowCallback(::windows::runtime::IUnknown);
5385 impl IWRdsProtocolShadowCallback {
StopShadow(&self) -> ::windows::runtime::Result<()>5386     pub unsafe fn StopShadow(&self) -> ::windows::runtime::Result<()> {
5387         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
5388     }
5389     #[cfg(feature = "Win32_Foundation")]
InvokeTargetShadow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param10: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, ptargetservername: Param0, targetsessionid: u32, pparam1: *const u8, param1size: u32, pparam2: *const u8, param2size: u32, pparam3: *const u8, param3size: u32, pparam4: *const u8, param4size: u32, pclientname: Param10) -> ::windows::runtime::Result<()>5390     pub unsafe fn InvokeTargetShadow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param10: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, ptargetservername: Param0, targetsessionid: u32, pparam1: *const u8, param1size: u32, pparam2: *const u8, param2size: u32, pparam3: *const u8, param3size: u32, pparam4: *const u8, param4size: u32, pclientname: Param10) -> ::windows::runtime::Result<()> {
5391         (::windows::runtime::Interface::vtable(self).4)(
5392             ::std::mem::transmute_copy(self),
5393             ptargetservername.into_param().abi(),
5394             ::std::mem::transmute(targetsessionid),
5395             ::std::mem::transmute(pparam1),
5396             ::std::mem::transmute(param1size),
5397             ::std::mem::transmute(pparam2),
5398             ::std::mem::transmute(param2size),
5399             ::std::mem::transmute(pparam3),
5400             ::std::mem::transmute(param3size),
5401             ::std::mem::transmute(pparam4),
5402             ::std::mem::transmute(param4size),
5403             pclientname.into_param().abi(),
5404         )
5405         .ok()
5406     }
5407 }
5408 unsafe impl ::windows::runtime::Interface for IWRdsProtocolShadowCallback {
5409     type Vtable = IWRdsProtocolShadowCallback_abi;
5410     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3764813024, 882, 16598, [173, 178, 160, 243, 50, 38, 116, 214]);
5411 }
5412 impl ::std::convert::From<IWRdsProtocolShadowCallback> for ::windows::runtime::IUnknown {
from(value: IWRdsProtocolShadowCallback) -> Self5413     fn from(value: IWRdsProtocolShadowCallback) -> Self {
5414         unsafe { ::std::mem::transmute(value) }
5415     }
5416 }
5417 impl ::std::convert::From<&IWRdsProtocolShadowCallback> for ::windows::runtime::IUnknown {
from(value: &IWRdsProtocolShadowCallback) -> Self5418     fn from(value: &IWRdsProtocolShadowCallback) -> Self {
5419         ::std::convert::From::from(::std::clone::Clone::clone(value))
5420     }
5421 }
5422 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWRdsProtocolShadowCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5423     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5424         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5425     }
5426 }
5427 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWRdsProtocolShadowCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5428     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5429         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5430     }
5431 }
5432 #[repr(C)]
5433 #[doc(hidden)]
5434 pub struct IWRdsProtocolShadowCallback_abi(
5435     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5436     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5437     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5438     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5439     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptargetservername: super::super::Foundation::PWSTR, targetsessionid: u32, pparam1: *const u8, param1size: u32, pparam2: *const u8, param2size: u32, pparam3: *const u8, param3size: u32, pparam4: *const u8, param4size: u32, pclientname: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
5440     #[cfg(not(feature = "Win32_Foundation"))] usize,
5441 );
5442 #[repr(transparent)]
5443 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5444 pub struct IWRdsProtocolShadowConnection(::windows::runtime::IUnknown);
5445 impl IWRdsProtocolShadowConnection {
5446     #[cfg(feature = "Win32_Foundation")]
Start<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param4: ::windows::runtime::IntoParam<'a, IWRdsProtocolShadowCallback>>(&self, ptargetservername: Param0, targetsessionid: u32, hotkeyvk: u8, hotkeymodifiers: u16, pshadowcallback: Param4) -> ::windows::runtime::Result<()>5447     pub unsafe fn Start<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param4: ::windows::runtime::IntoParam<'a, IWRdsProtocolShadowCallback>>(&self, ptargetservername: Param0, targetsessionid: u32, hotkeyvk: u8, hotkeymodifiers: u16, pshadowcallback: Param4) -> ::windows::runtime::Result<()> {
5448         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ptargetservername.into_param().abi(), ::std::mem::transmute(targetsessionid), ::std::mem::transmute(hotkeyvk), ::std::mem::transmute(hotkeymodifiers), pshadowcallback.into_param().abi()).ok()
5449     }
Stop(&self) -> ::windows::runtime::Result<()>5450     pub unsafe fn Stop(&self) -> ::windows::runtime::Result<()> {
5451         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
5452     }
5453     #[cfg(feature = "Win32_Foundation")]
DoTarget<'a, Param8: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pparam1: *const u8, param1size: u32, pparam2: *const u8, param2size: u32, pparam3: *const u8, param3size: u32, pparam4: *const u8, param4size: u32, pclientname: Param8) -> ::windows::runtime::Result<()>5454     pub unsafe fn DoTarget<'a, Param8: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pparam1: *const u8, param1size: u32, pparam2: *const u8, param2size: u32, pparam3: *const u8, param3size: u32, pparam4: *const u8, param4size: u32, pclientname: Param8) -> ::windows::runtime::Result<()> {
5455         (::windows::runtime::Interface::vtable(self).5)(
5456             ::std::mem::transmute_copy(self),
5457             ::std::mem::transmute(pparam1),
5458             ::std::mem::transmute(param1size),
5459             ::std::mem::transmute(pparam2),
5460             ::std::mem::transmute(param2size),
5461             ::std::mem::transmute(pparam3),
5462             ::std::mem::transmute(param3size),
5463             ::std::mem::transmute(pparam4),
5464             ::std::mem::transmute(param4size),
5465             pclientname.into_param().abi(),
5466         )
5467         .ok()
5468     }
5469 }
5470 unsafe impl ::windows::runtime::Interface for IWRdsProtocolShadowConnection {
5471     type Vtable = IWRdsProtocolShadowConnection_abi;
5472     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2598919398, 51934, 17736, [143, 235, 153, 1, 101, 151, 246, 10]);
5473 }
5474 impl ::std::convert::From<IWRdsProtocolShadowConnection> for ::windows::runtime::IUnknown {
from(value: IWRdsProtocolShadowConnection) -> Self5475     fn from(value: IWRdsProtocolShadowConnection) -> Self {
5476         unsafe { ::std::mem::transmute(value) }
5477     }
5478 }
5479 impl ::std::convert::From<&IWRdsProtocolShadowConnection> for ::windows::runtime::IUnknown {
from(value: &IWRdsProtocolShadowConnection) -> Self5480     fn from(value: &IWRdsProtocolShadowConnection) -> Self {
5481         ::std::convert::From::from(::std::clone::Clone::clone(value))
5482     }
5483 }
5484 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWRdsProtocolShadowConnection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5485     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5486         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5487     }
5488 }
5489 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWRdsProtocolShadowConnection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5490     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5491         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5492     }
5493 }
5494 #[repr(C)]
5495 #[doc(hidden)]
5496 pub struct IWRdsProtocolShadowConnection_abi(
5497     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5498     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5499     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5500     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptargetservername: super::super::Foundation::PWSTR, targetsessionid: u32, hotkeyvk: u8, hotkeymodifiers: u16, pshadowcallback: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5501     #[cfg(not(feature = "Win32_Foundation"))] usize,
5502     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5503     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pparam1: *const u8, param1size: u32, pparam2: *const u8, param2size: u32, pparam3: *const u8, param3size: u32, pparam4: *const u8, param4size: u32, pclientname: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
5504     #[cfg(not(feature = "Win32_Foundation"))] usize,
5505 );
5506 #[repr(transparent)]
5507 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5508 pub struct IWRdsWddmIddProps(::windows::runtime::IUnknown);
5509 impl IWRdsWddmIddProps {
5510     #[cfg(feature = "Win32_Foundation")]
GetHardwareId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pdisplaydriverhardwareid: Param0, count: u32) -> ::windows::runtime::Result<()>5511     pub unsafe fn GetHardwareId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pdisplaydriverhardwareid: Param0, count: u32) -> ::windows::runtime::Result<()> {
5512         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pdisplaydriverhardwareid.into_param().abi(), ::std::mem::transmute(count)).ok()
5513     }
5514     #[cfg(feature = "Win32_Foundation")]
OnDriverLoad<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE_PTR>>(&self, sessionid: u32, driverhandle: Param1) -> ::windows::runtime::Result<()>5515     pub unsafe fn OnDriverLoad<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE_PTR>>(&self, sessionid: u32, driverhandle: Param1) -> ::windows::runtime::Result<()> {
5516         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(sessionid), driverhandle.into_param().abi()).ok()
5517     }
OnDriverUnload(&self, sessionid: u32) -> ::windows::runtime::Result<()>5518     pub unsafe fn OnDriverUnload(&self, sessionid: u32) -> ::windows::runtime::Result<()> {
5519         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(sessionid)).ok()
5520     }
5521     #[cfg(feature = "Win32_Foundation")]
EnableWddmIdd<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enabled: Param0) -> ::windows::runtime::Result<()>5522     pub unsafe fn EnableWddmIdd<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enabled: Param0) -> ::windows::runtime::Result<()> {
5523         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), enabled.into_param().abi()).ok()
5524     }
5525 }
5526 unsafe impl ::windows::runtime::Interface for IWRdsWddmIddProps {
5527     type Vtable = IWRdsWddmIddProps_abi;
5528     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(327343949, 41609, 17361, [161, 132, 20, 71, 38, 249, 175, 144]);
5529 }
5530 impl ::std::convert::From<IWRdsWddmIddProps> for ::windows::runtime::IUnknown {
from(value: IWRdsWddmIddProps) -> Self5531     fn from(value: IWRdsWddmIddProps) -> Self {
5532         unsafe { ::std::mem::transmute(value) }
5533     }
5534 }
5535 impl ::std::convert::From<&IWRdsWddmIddProps> for ::windows::runtime::IUnknown {
from(value: &IWRdsWddmIddProps) -> Self5536     fn from(value: &IWRdsWddmIddProps) -> Self {
5537         ::std::convert::From::from(::std::clone::Clone::clone(value))
5538     }
5539 }
5540 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWRdsWddmIddProps {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5541     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5542         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5543     }
5544 }
5545 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWRdsWddmIddProps {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5546     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5547         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5548     }
5549 }
5550 #[repr(C)]
5551 #[doc(hidden)]
5552 pub struct IWRdsWddmIddProps_abi(
5553     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5554     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5555     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5556     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdisplaydriverhardwareid: super::super::Foundation::PWSTR, count: u32) -> ::windows::runtime::HRESULT,
5557     #[cfg(not(feature = "Win32_Foundation"))] usize,
5558     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sessionid: u32, driverhandle: super::super::Foundation::HANDLE_PTR) -> ::windows::runtime::HRESULT,
5559     #[cfg(not(feature = "Win32_Foundation"))] usize,
5560     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sessionid: u32) -> ::windows::runtime::HRESULT,
5561     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enabled: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
5562     #[cfg(not(feature = "Win32_Foundation"))] usize,
5563 );
5564 #[repr(transparent)]
5565 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5566 pub struct IWTSBitmapRenderService(::windows::runtime::IUnknown);
5567 impl IWTSBitmapRenderService {
GetMappedRenderer<'a, Param1: ::windows::runtime::IntoParam<'a, IWTSBitmapRendererCallback>>(&self, mappingid: u64, pmappedrenderercallback: Param1) -> ::windows::runtime::Result<IWTSBitmapRenderer>5568     pub unsafe fn GetMappedRenderer<'a, Param1: ::windows::runtime::IntoParam<'a, IWTSBitmapRendererCallback>>(&self, mappingid: u64, pmappedrenderercallback: Param1) -> ::windows::runtime::Result<IWTSBitmapRenderer> {
5569         let mut result__: <IWTSBitmapRenderer as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5570         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(mappingid), pmappedrenderercallback.into_param().abi(), &mut result__).from_abi::<IWTSBitmapRenderer>(result__)
5571     }
5572 }
5573 unsafe impl ::windows::runtime::Interface for IWTSBitmapRenderService {
5574     type Vtable = IWTSBitmapRenderService_abi;
5575     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3929170065, 1534, 16577, [180, 156, 61, 46, 244, 98, 106, 14]);
5576 }
5577 impl ::std::convert::From<IWTSBitmapRenderService> for ::windows::runtime::IUnknown {
from(value: IWTSBitmapRenderService) -> Self5578     fn from(value: IWTSBitmapRenderService) -> Self {
5579         unsafe { ::std::mem::transmute(value) }
5580     }
5581 }
5582 impl ::std::convert::From<&IWTSBitmapRenderService> for ::windows::runtime::IUnknown {
from(value: &IWTSBitmapRenderService) -> Self5583     fn from(value: &IWTSBitmapRenderService) -> Self {
5584         ::std::convert::From::from(::std::clone::Clone::clone(value))
5585     }
5586 }
5587 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWTSBitmapRenderService {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5588     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5589         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5590     }
5591 }
5592 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWTSBitmapRenderService {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5593     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5594         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5595     }
5596 }
5597 #[repr(C)]
5598 #[doc(hidden)]
5599 pub struct IWTSBitmapRenderService_abi(
5600     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5601     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5602     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5603     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mappingid: u64, pmappedrenderercallback: ::windows::runtime::RawPtr, ppmappedrenderer: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5604 );
5605 #[repr(transparent)]
5606 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5607 pub struct IWTSBitmapRenderer(::windows::runtime::IUnknown);
5608 impl IWTSBitmapRenderer {
Render<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, imageformat: Param0, dwwidth: u32, dwheight: u32, cbstride: i32, cbimagebuffer: u32, pimagebuffer: *const u8) -> ::windows::runtime::Result<()>5609     pub unsafe fn Render<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, imageformat: Param0, dwwidth: u32, dwheight: u32, cbstride: i32, cbimagebuffer: u32, pimagebuffer: *const u8) -> ::windows::runtime::Result<()> {
5610         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), imageformat.into_param().abi(), ::std::mem::transmute(dwwidth), ::std::mem::transmute(dwheight), ::std::mem::transmute(cbstride), ::std::mem::transmute(cbimagebuffer), ::std::mem::transmute(pimagebuffer)).ok()
5611     }
GetRendererStatistics(&self) -> ::windows::runtime::Result<BITMAP_RENDERER_STATISTICS>5612     pub unsafe fn GetRendererStatistics(&self) -> ::windows::runtime::Result<BITMAP_RENDERER_STATISTICS> {
5613         let mut result__: <BITMAP_RENDERER_STATISTICS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5614         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BITMAP_RENDERER_STATISTICS>(result__)
5615     }
RemoveMapping(&self) -> ::windows::runtime::Result<()>5616     pub unsafe fn RemoveMapping(&self) -> ::windows::runtime::Result<()> {
5617         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
5618     }
5619 }
5620 unsafe impl ::windows::runtime::Interface for IWTSBitmapRenderer {
5621     type Vtable = IWTSBitmapRenderer_abi;
5622     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1534774423, 62409, 18167, [140, 91, 250, 104, 93, 52, 65, 177]);
5623 }
5624 impl ::std::convert::From<IWTSBitmapRenderer> for ::windows::runtime::IUnknown {
from(value: IWTSBitmapRenderer) -> Self5625     fn from(value: IWTSBitmapRenderer) -> Self {
5626         unsafe { ::std::mem::transmute(value) }
5627     }
5628 }
5629 impl ::std::convert::From<&IWTSBitmapRenderer> for ::windows::runtime::IUnknown {
from(value: &IWTSBitmapRenderer) -> Self5630     fn from(value: &IWTSBitmapRenderer) -> Self {
5631         ::std::convert::From::from(::std::clone::Clone::clone(value))
5632     }
5633 }
5634 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWTSBitmapRenderer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5635     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5636         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5637     }
5638 }
5639 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWTSBitmapRenderer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5640     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5641         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5642     }
5643 }
5644 #[repr(C)]
5645 #[doc(hidden)]
5646 pub struct IWTSBitmapRenderer_abi(
5647     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5648     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5649     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5650     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, imageformat: ::windows::runtime::GUID, dwwidth: u32, dwheight: u32, cbstride: i32, cbimagebuffer: u32, pimagebuffer: *const u8) -> ::windows::runtime::HRESULT,
5651     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstatistics: *mut BITMAP_RENDERER_STATISTICS) -> ::windows::runtime::HRESULT,
5652     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5653 );
5654 #[repr(transparent)]
5655 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5656 pub struct IWTSBitmapRendererCallback(::windows::runtime::IUnknown);
5657 impl IWTSBitmapRendererCallback {
5658     #[cfg(feature = "Win32_Foundation")]
OnTargetSizeChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::RECT>>(&self, rcnewsize: Param0) -> ::windows::runtime::Result<()>5659     pub unsafe fn OnTargetSizeChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::RECT>>(&self, rcnewsize: Param0) -> ::windows::runtime::Result<()> {
5660         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), rcnewsize.into_param().abi()).ok()
5661     }
5662 }
5663 unsafe impl ::windows::runtime::Interface for IWTSBitmapRendererCallback {
5664     type Vtable = IWTSBitmapRendererCallback_abi;
5665     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3615658638, 65102, 20087, [174, 144, 156, 208, 179, 227, 179, 83]);
5666 }
5667 impl ::std::convert::From<IWTSBitmapRendererCallback> for ::windows::runtime::IUnknown {
from(value: IWTSBitmapRendererCallback) -> Self5668     fn from(value: IWTSBitmapRendererCallback) -> Self {
5669         unsafe { ::std::mem::transmute(value) }
5670     }
5671 }
5672 impl ::std::convert::From<&IWTSBitmapRendererCallback> for ::windows::runtime::IUnknown {
from(value: &IWTSBitmapRendererCallback) -> Self5673     fn from(value: &IWTSBitmapRendererCallback) -> Self {
5674         ::std::convert::From::from(::std::clone::Clone::clone(value))
5675     }
5676 }
5677 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWTSBitmapRendererCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5678     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5679         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5680     }
5681 }
5682 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWTSBitmapRendererCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5683     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5684         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5685     }
5686 }
5687 #[repr(C)]
5688 #[doc(hidden)]
5689 pub struct IWTSBitmapRendererCallback_abi(
5690     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5691     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5692     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5693     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rcnewsize: super::super::Foundation::RECT) -> ::windows::runtime::HRESULT,
5694     #[cfg(not(feature = "Win32_Foundation"))] usize,
5695 );
5696 #[repr(transparent)]
5697 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5698 pub struct IWTSListener(::windows::runtime::IUnknown);
5699 impl IWTSListener {
5700     #[cfg(feature = "Win32_System_Ole_Automation")]
GetConfiguration(&self) -> ::windows::runtime::Result<super::Ole::Automation::IPropertyBag>5701     pub unsafe fn GetConfiguration(&self) -> ::windows::runtime::Result<super::Ole::Automation::IPropertyBag> {
5702         let mut result__: <super::Ole::Automation::IPropertyBag as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5703         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::Ole::Automation::IPropertyBag>(result__)
5704     }
5705 }
5706 unsafe impl ::windows::runtime::Interface for IWTSListener {
5707     type Vtable = IWTSListener_abi;
5708     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2703426054, 39481, 19800, [134, 116, 205, 180, 223, 244, 231, 59]);
5709 }
5710 impl ::std::convert::From<IWTSListener> for ::windows::runtime::IUnknown {
from(value: IWTSListener) -> Self5711     fn from(value: IWTSListener) -> Self {
5712         unsafe { ::std::mem::transmute(value) }
5713     }
5714 }
5715 impl ::std::convert::From<&IWTSListener> for ::windows::runtime::IUnknown {
from(value: &IWTSListener) -> Self5716     fn from(value: &IWTSListener) -> Self {
5717         ::std::convert::From::from(::std::clone::Clone::clone(value))
5718     }
5719 }
5720 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWTSListener {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5721     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5722         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5723     }
5724 }
5725 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWTSListener {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5726     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5727         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5728     }
5729 }
5730 #[repr(C)]
5731 #[doc(hidden)]
5732 pub struct IWTSListener_abi(
5733     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5734     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5735     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5736     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pppropertybag: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5737     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
5738 );
5739 #[repr(transparent)]
5740 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5741 pub struct IWTSListenerCallback(::windows::runtime::IUnknown);
5742 impl IWTSListenerCallback {
5743     #[cfg(feature = "Win32_Foundation")]
OnNewChannelConnection<'a, Param0: ::windows::runtime::IntoParam<'a, IWTSVirtualChannel>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pchannel: Param0, data: Param1, pbaccept: *mut super::super::Foundation::BOOL, ppcallback: *mut ::std::option::Option<IWTSVirtualChannelCallback>) -> ::windows::runtime::Result<()>5744     pub unsafe fn OnNewChannelConnection<'a, Param0: ::windows::runtime::IntoParam<'a, IWTSVirtualChannel>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, pchannel: Param0, data: Param1, pbaccept: *mut super::super::Foundation::BOOL, ppcallback: *mut ::std::option::Option<IWTSVirtualChannelCallback>) -> ::windows::runtime::Result<()> {
5745         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pchannel.into_param().abi(), data.into_param().abi(), ::std::mem::transmute(pbaccept), ::std::mem::transmute(ppcallback)).ok()
5746     }
5747 }
5748 unsafe impl ::windows::runtime::Interface for IWTSListenerCallback {
5749     type Vtable = IWTSListenerCallback_abi;
5750     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2703426051, 54951, 4568, [185, 253, 0, 11, 219, 209, 241, 152]);
5751 }
5752 impl ::std::convert::From<IWTSListenerCallback> for ::windows::runtime::IUnknown {
from(value: IWTSListenerCallback) -> Self5753     fn from(value: IWTSListenerCallback) -> Self {
5754         unsafe { ::std::mem::transmute(value) }
5755     }
5756 }
5757 impl ::std::convert::From<&IWTSListenerCallback> for ::windows::runtime::IUnknown {
from(value: &IWTSListenerCallback) -> Self5758     fn from(value: &IWTSListenerCallback) -> Self {
5759         ::std::convert::From::from(::std::clone::Clone::clone(value))
5760     }
5761 }
5762 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWTSListenerCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5763     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5764         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5765     }
5766 }
5767 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWTSListenerCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5768     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5769         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5770     }
5771 }
5772 #[repr(C)]
5773 #[doc(hidden)]
5774 pub struct IWTSListenerCallback_abi(
5775     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5776     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5777     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5778     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pchannel: ::windows::runtime::RawPtr, data: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pbaccept: *mut super::super::Foundation::BOOL, ppcallback: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5779     #[cfg(not(feature = "Win32_Foundation"))] usize,
5780 );
5781 #[repr(transparent)]
5782 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5783 pub struct IWTSPlugin(::windows::runtime::IUnknown);
5784 impl IWTSPlugin {
Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, IWTSVirtualChannelManager>>(&self, pchannelmgr: Param0) -> ::windows::runtime::Result<()>5785     pub unsafe fn Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, IWTSVirtualChannelManager>>(&self, pchannelmgr: Param0) -> ::windows::runtime::Result<()> {
5786         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pchannelmgr.into_param().abi()).ok()
5787     }
Connected(&self) -> ::windows::runtime::Result<()>5788     pub unsafe fn Connected(&self) -> ::windows::runtime::Result<()> {
5789         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
5790     }
Disconnected(&self, dwdisconnectcode: u32) -> ::windows::runtime::Result<()>5791     pub unsafe fn Disconnected(&self, dwdisconnectcode: u32) -> ::windows::runtime::Result<()> {
5792         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwdisconnectcode)).ok()
5793     }
Terminated(&self) -> ::windows::runtime::Result<()>5794     pub unsafe fn Terminated(&self) -> ::windows::runtime::Result<()> {
5795         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
5796     }
5797 }
5798 unsafe impl ::windows::runtime::Interface for IWTSPlugin {
5799     type Vtable = IWTSPlugin_abi;
5800     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2703426049, 5177, 20066, [164, 20, 25, 13, 10, 195, 212, 14]);
5801 }
5802 impl ::std::convert::From<IWTSPlugin> for ::windows::runtime::IUnknown {
from(value: IWTSPlugin) -> Self5803     fn from(value: IWTSPlugin) -> Self {
5804         unsafe { ::std::mem::transmute(value) }
5805     }
5806 }
5807 impl ::std::convert::From<&IWTSPlugin> for ::windows::runtime::IUnknown {
from(value: &IWTSPlugin) -> Self5808     fn from(value: &IWTSPlugin) -> Self {
5809         ::std::convert::From::from(::std::clone::Clone::clone(value))
5810     }
5811 }
5812 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWTSPlugin {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5813     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5814         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5815     }
5816 }
5817 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWTSPlugin {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5818     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5819         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5820     }
5821 }
5822 #[repr(C)]
5823 #[doc(hidden)]
5824 pub struct IWTSPlugin_abi(
5825     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5826     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5827     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5828     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pchannelmgr: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5829     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5830     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwdisconnectcode: u32) -> ::windows::runtime::HRESULT,
5831     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5832 );
5833 #[repr(transparent)]
5834 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5835 pub struct IWTSPluginServiceProvider(::windows::runtime::IUnknown);
5836 impl IWTSPluginServiceProvider {
GetService<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, serviceid: Param0) -> ::windows::runtime::Result<::windows::runtime::IUnknown>5837     pub unsafe fn GetService<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, serviceid: Param0) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
5838         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5839         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), serviceid.into_param().abi(), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
5840     }
5841 }
5842 unsafe impl ::windows::runtime::Interface for IWTSPluginServiceProvider {
5843     type Vtable = IWTSPluginServiceProvider_abi;
5844     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3554702179, 2172, 18284, [134, 167, 219, 177, 95, 70, 221, 180]);
5845 }
5846 impl ::std::convert::From<IWTSPluginServiceProvider> for ::windows::runtime::IUnknown {
from(value: IWTSPluginServiceProvider) -> Self5847     fn from(value: IWTSPluginServiceProvider) -> Self {
5848         unsafe { ::std::mem::transmute(value) }
5849     }
5850 }
5851 impl ::std::convert::From<&IWTSPluginServiceProvider> for ::windows::runtime::IUnknown {
from(value: &IWTSPluginServiceProvider) -> Self5852     fn from(value: &IWTSPluginServiceProvider) -> Self {
5853         ::std::convert::From::from(::std::clone::Clone::clone(value))
5854     }
5855 }
5856 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWTSPluginServiceProvider {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5857     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5858         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5859     }
5860 }
5861 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWTSPluginServiceProvider {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5862     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5863         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5864     }
5865 }
5866 #[repr(C)]
5867 #[doc(hidden)]
5868 pub struct IWTSPluginServiceProvider_abi(
5869     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5870     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5871     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5872     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, serviceid: ::windows::runtime::GUID, ppunkobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5873 );
5874 #[repr(transparent)]
5875 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5876 pub struct IWTSProtocolConnection(::windows::runtime::IUnknown);
5877 impl IWTSProtocolConnection {
GetLogonErrorRedirector(&self) -> ::windows::runtime::Result<IWTSProtocolLogonErrorRedirector>5878     pub unsafe fn GetLogonErrorRedirector(&self) -> ::windows::runtime::Result<IWTSProtocolLogonErrorRedirector> {
5879         let mut result__: <IWTSProtocolLogonErrorRedirector as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5880         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWTSProtocolLogonErrorRedirector>(result__)
5881     }
5882     #[cfg(feature = "Win32_Foundation")]
SendPolicyData(&self, ppolicydata: *const WTS_POLICY_DATA) -> ::windows::runtime::Result<()>5883     pub unsafe fn SendPolicyData(&self, ppolicydata: *const WTS_POLICY_DATA) -> ::windows::runtime::Result<()> {
5884         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppolicydata)).ok()
5885     }
AcceptConnection(&self) -> ::windows::runtime::Result<()>5886     pub unsafe fn AcceptConnection(&self) -> ::windows::runtime::Result<()> {
5887         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
5888     }
5889     #[cfg(feature = "Win32_Foundation")]
GetClientData(&self) -> ::windows::runtime::Result<WTS_CLIENT_DATA>5890     pub unsafe fn GetClientData(&self) -> ::windows::runtime::Result<WTS_CLIENT_DATA> {
5891         let mut result__: <WTS_CLIENT_DATA as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5892         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WTS_CLIENT_DATA>(result__)
5893     }
GetUserCredentials(&self) -> ::windows::runtime::Result<WTS_USER_CREDENTIAL>5894     pub unsafe fn GetUserCredentials(&self) -> ::windows::runtime::Result<WTS_USER_CREDENTIAL> {
5895         let mut result__: <WTS_USER_CREDENTIAL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5896         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WTS_USER_CREDENTIAL>(result__)
5897     }
GetLicenseConnection(&self) -> ::windows::runtime::Result<IWTSProtocolLicenseConnection>5898     pub unsafe fn GetLicenseConnection(&self) -> ::windows::runtime::Result<IWTSProtocolLicenseConnection> {
5899         let mut result__: <IWTSProtocolLicenseConnection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5900         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWTSProtocolLicenseConnection>(result__)
5901     }
AuthenticateClientToSession(&self) -> ::windows::runtime::Result<WTS_SESSION_ID>5902     pub unsafe fn AuthenticateClientToSession(&self) -> ::windows::runtime::Result<WTS_SESSION_ID> {
5903         let mut result__: <WTS_SESSION_ID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5904         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WTS_SESSION_ID>(result__)
5905     }
NotifySessionId(&self, sessionid: *const WTS_SESSION_ID) -> ::windows::runtime::Result<()>5906     pub unsafe fn NotifySessionId(&self, sessionid: *const WTS_SESSION_ID) -> ::windows::runtime::Result<()> {
5907         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(sessionid)).ok()
5908     }
5909     #[cfg(feature = "Win32_Foundation")]
GetProtocolHandles(&self, pkeyboardhandle: *mut super::super::Foundation::HANDLE_PTR, pmousehandle: *mut super::super::Foundation::HANDLE_PTR, pbeephandle: *mut super::super::Foundation::HANDLE_PTR, pvideohandle: *mut super::super::Foundation::HANDLE_PTR) -> ::windows::runtime::Result<()>5910     pub unsafe fn GetProtocolHandles(&self, pkeyboardhandle: *mut super::super::Foundation::HANDLE_PTR, pmousehandle: *mut super::super::Foundation::HANDLE_PTR, pbeephandle: *mut super::super::Foundation::HANDLE_PTR, pvideohandle: *mut super::super::Foundation::HANDLE_PTR) -> ::windows::runtime::Result<()> {
5911         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(pkeyboardhandle), ::std::mem::transmute(pmousehandle), ::std::mem::transmute(pbeephandle), ::std::mem::transmute(pvideohandle)).ok()
5912     }
ConnectNotify(&self, sessionid: u32) -> ::windows::runtime::Result<()>5913     pub unsafe fn ConnectNotify(&self, sessionid: u32) -> ::windows::runtime::Result<()> {
5914         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(sessionid)).ok()
5915     }
5916     #[cfg(feature = "Win32_Foundation")]
IsUserAllowedToLogon<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE_PTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, sessionid: u32, usertoken: Param1, pdomainname: Param2, pusername: Param3) -> ::windows::runtime::Result<()>5917     pub unsafe fn IsUserAllowedToLogon<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE_PTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, sessionid: u32, usertoken: Param1, pdomainname: Param2, pusername: Param3) -> ::windows::runtime::Result<()> {
5918         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(sessionid), usertoken.into_param().abi(), pdomainname.into_param().abi(), pusername.into_param().abi()).ok()
5919     }
5920     #[cfg(feature = "Win32_Foundation")]
SessionArbitrationEnumeration<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE_PTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, husertoken: Param0, bsinglesessionperuserenabled: Param1, psessionidarray: *mut u32, pdwsessionidentifiercount: *mut u32) -> ::windows::runtime::Result<()>5921     pub unsafe fn SessionArbitrationEnumeration<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE_PTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, husertoken: Param0, bsinglesessionperuserenabled: Param1, psessionidarray: *mut u32, pdwsessionidentifiercount: *mut u32) -> ::windows::runtime::Result<()> {
5922         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), husertoken.into_param().abi(), bsinglesessionperuserenabled.into_param().abi(), ::std::mem::transmute(psessionidarray), ::std::mem::transmute(pdwsessionidentifiercount)).ok()
5923     }
5924     #[cfg(feature = "Win32_Foundation")]
LogonNotify<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE_PTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, hclienttoken: Param0, wszusername: Param1, wszdomainname: Param2, sessionid: *const WTS_SESSION_ID) -> ::windows::runtime::Result<()>5925     pub unsafe fn LogonNotify<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE_PTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, hclienttoken: Param0, wszusername: Param1, wszdomainname: Param2, sessionid: *const WTS_SESSION_ID) -> ::windows::runtime::Result<()> {
5926         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), hclienttoken.into_param().abi(), wszusername.into_param().abi(), wszdomainname.into_param().abi(), ::std::mem::transmute(sessionid)).ok()
5927     }
5928     #[cfg(feature = "Win32_Foundation")]
GetUserData(&self, ppolicydata: *const WTS_POLICY_DATA, pclientdata: *mut WTS_USER_DATA) -> ::windows::runtime::Result<()>5929     pub unsafe fn GetUserData(&self, ppolicydata: *const WTS_POLICY_DATA, pclientdata: *mut WTS_USER_DATA) -> ::windows::runtime::Result<()> {
5930         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppolicydata), ::std::mem::transmute(pclientdata)).ok()
5931     }
DisconnectNotify(&self) -> ::windows::runtime::Result<()>5932     pub unsafe fn DisconnectNotify(&self) -> ::windows::runtime::Result<()> {
5933         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self)).ok()
5934     }
Close(&self) -> ::windows::runtime::Result<()>5935     pub unsafe fn Close(&self) -> ::windows::runtime::Result<()> {
5936         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self)).ok()
5937     }
GetProtocolStatus(&self) -> ::windows::runtime::Result<WTS_PROTOCOL_STATUS>5938     pub unsafe fn GetProtocolStatus(&self) -> ::windows::runtime::Result<WTS_PROTOCOL_STATUS> {
5939         let mut result__: <WTS_PROTOCOL_STATUS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5940         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WTS_PROTOCOL_STATUS>(result__)
5941     }
GetLastInputTime(&self) -> ::windows::runtime::Result<u64>5942     pub unsafe fn GetLastInputTime(&self) -> ::windows::runtime::Result<u64> {
5943         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5944         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u64>(result__)
5945     }
SetErrorInfo(&self, ulerror: u32) -> ::windows::runtime::Result<()>5946     pub unsafe fn SetErrorInfo(&self, ulerror: u32) -> ::windows::runtime::Result<()> {
5947         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulerror)).ok()
5948     }
SendBeep(&self, frequency: u32, duration: u32) -> ::windows::runtime::Result<()>5949     pub unsafe fn SendBeep(&self, frequency: u32, duration: u32) -> ::windows::runtime::Result<()> {
5950         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(frequency), ::std::mem::transmute(duration)).ok()
5951     }
5952     #[cfg(feature = "Win32_Foundation")]
CreateVirtualChannel<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, szendpointname: Param0, bstatic: Param1, requestedpriority: u32) -> ::windows::runtime::Result<usize>5953     pub unsafe fn CreateVirtualChannel<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, szendpointname: Param0, bstatic: Param1, requestedpriority: u32) -> ::windows::runtime::Result<usize> {
5954         let mut result__: <usize as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5955         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), szendpointname.into_param().abi(), bstatic.into_param().abi(), ::std::mem::transmute(requestedpriority), &mut result__).from_abi::<usize>(result__)
5956     }
5957     #[cfg(feature = "Win32_Foundation")]
QueryProperty<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, querytype: Param0, ulnumentriesin: u32, ulnumentriesout: u32, ppropertyentriesin: *const WTS_PROPERTY_VALUE, ppropertyentriesout: *mut WTS_PROPERTY_VALUE) -> ::windows::runtime::Result<()>5958     pub unsafe fn QueryProperty<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, querytype: Param0, ulnumentriesin: u32, ulnumentriesout: u32, ppropertyentriesin: *const WTS_PROPERTY_VALUE, ppropertyentriesout: *mut WTS_PROPERTY_VALUE) -> ::windows::runtime::Result<()> {
5959         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), querytype.into_param().abi(), ::std::mem::transmute(ulnumentriesin), ::std::mem::transmute(ulnumentriesout), ::std::mem::transmute(ppropertyentriesin), ::std::mem::transmute(ppropertyentriesout)).ok()
5960     }
GetShadowConnection(&self) -> ::windows::runtime::Result<IWTSProtocolShadowConnection>5961     pub unsafe fn GetShadowConnection(&self) -> ::windows::runtime::Result<IWTSProtocolShadowConnection> {
5962         let mut result__: <IWTSProtocolShadowConnection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5963         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IWTSProtocolShadowConnection>(result__)
5964     }
5965 }
5966 unsafe impl ::windows::runtime::Interface for IWTSProtocolConnection {
5967     type Vtable = IWTSProtocolConnection_abi;
5968     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(587741029, 37013, 17992, [152, 191, 239, 129, 201, 20, 3, 45]);
5969 }
5970 impl ::std::convert::From<IWTSProtocolConnection> for ::windows::runtime::IUnknown {
from(value: IWTSProtocolConnection) -> Self5971     fn from(value: IWTSProtocolConnection) -> Self {
5972         unsafe { ::std::mem::transmute(value) }
5973     }
5974 }
5975 impl ::std::convert::From<&IWTSProtocolConnection> for ::windows::runtime::IUnknown {
from(value: &IWTSProtocolConnection) -> Self5976     fn from(value: &IWTSProtocolConnection) -> Self {
5977         ::std::convert::From::from(::std::clone::Clone::clone(value))
5978     }
5979 }
5980 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWTSProtocolConnection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5981     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5982         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5983     }
5984 }
5985 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWTSProtocolConnection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5986     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5987         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5988     }
5989 }
5990 #[repr(C)]
5991 #[doc(hidden)]
5992 pub struct IWTSProtocolConnection_abi(
5993     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5994     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5995     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5996     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pplogonerrorredir: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5997     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppolicydata: *const WTS_POLICY_DATA) -> ::windows::runtime::HRESULT,
5998     #[cfg(not(feature = "Win32_Foundation"))] usize,
5999     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6000     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclientdata: *mut WTS_CLIENT_DATA) -> ::windows::runtime::HRESULT,
6001     #[cfg(not(feature = "Win32_Foundation"))] usize,
6002     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pusercreds: *mut WTS_USER_CREDENTIAL) -> ::windows::runtime::HRESULT,
6003     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pplicenseconnection: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6004     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sessionid: *mut WTS_SESSION_ID) -> ::windows::runtime::HRESULT,
6005     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sessionid: *const WTS_SESSION_ID) -> ::windows::runtime::HRESULT,
6006     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pkeyboardhandle: *mut super::super::Foundation::HANDLE_PTR, pmousehandle: *mut super::super::Foundation::HANDLE_PTR, pbeephandle: *mut super::super::Foundation::HANDLE_PTR, pvideohandle: *mut super::super::Foundation::HANDLE_PTR) -> ::windows::runtime::HRESULT,
6007     #[cfg(not(feature = "Win32_Foundation"))] usize,
6008     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sessionid: u32) -> ::windows::runtime::HRESULT,
6009     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sessionid: u32, usertoken: super::super::Foundation::HANDLE_PTR, pdomainname: super::super::Foundation::PWSTR, pusername: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
6010     #[cfg(not(feature = "Win32_Foundation"))] usize,
6011     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, husertoken: super::super::Foundation::HANDLE_PTR, bsinglesessionperuserenabled: super::super::Foundation::BOOL, psessionidarray: *mut u32, pdwsessionidentifiercount: *mut u32) -> ::windows::runtime::HRESULT,
6012     #[cfg(not(feature = "Win32_Foundation"))] usize,
6013     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hclienttoken: super::super::Foundation::HANDLE_PTR, wszusername: super::super::Foundation::PWSTR, wszdomainname: super::super::Foundation::PWSTR, sessionid: *const WTS_SESSION_ID) -> ::windows::runtime::HRESULT,
6014     #[cfg(not(feature = "Win32_Foundation"))] usize,
6015     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppolicydata: *const WTS_POLICY_DATA, pclientdata: *mut WTS_USER_DATA) -> ::windows::runtime::HRESULT,
6016     #[cfg(not(feature = "Win32_Foundation"))] usize,
6017     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6018     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6019     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprotocolstatus: *mut WTS_PROTOCOL_STATUS) -> ::windows::runtime::HRESULT,
6020     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plastinputtime: *mut u64) -> ::windows::runtime::HRESULT,
6021     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulerror: u32) -> ::windows::runtime::HRESULT,
6022     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, frequency: u32, duration: u32) -> ::windows::runtime::HRESULT,
6023     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, szendpointname: super::super::Foundation::PSTR, bstatic: super::super::Foundation::BOOL, requestedpriority: u32, phchannel: *mut usize) -> ::windows::runtime::HRESULT,
6024     #[cfg(not(feature = "Win32_Foundation"))] usize,
6025     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, querytype: ::windows::runtime::GUID, ulnumentriesin: u32, ulnumentriesout: u32, ppropertyentriesin: *const WTS_PROPERTY_VALUE, ppropertyentriesout: *mut WTS_PROPERTY_VALUE) -> ::windows::runtime::HRESULT,
6026     #[cfg(not(feature = "Win32_Foundation"))] usize,
6027     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppshadowconnection: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6028 );
6029 #[repr(transparent)]
6030 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6031 pub struct IWTSProtocolConnectionCallback(::windows::runtime::IUnknown);
6032 impl IWTSProtocolConnectionCallback {
OnReady(&self) -> ::windows::runtime::Result<()>6033     pub unsafe fn OnReady(&self) -> ::windows::runtime::Result<()> {
6034         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
6035     }
BrokenConnection(&self, reason: u32, source: u32) -> ::windows::runtime::Result<()>6036     pub unsafe fn BrokenConnection(&self, reason: u32, source: u32) -> ::windows::runtime::Result<()> {
6037         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(reason), ::std::mem::transmute(source)).ok()
6038     }
StopScreenUpdates(&self) -> ::windows::runtime::Result<()>6039     pub unsafe fn StopScreenUpdates(&self) -> ::windows::runtime::Result<()> {
6040         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
6041     }
RedrawWindow(&self, rect: *const WTS_SMALL_RECT) -> ::windows::runtime::Result<()>6042     pub unsafe fn RedrawWindow(&self, rect: *const WTS_SMALL_RECT) -> ::windows::runtime::Result<()> {
6043         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(rect)).ok()
6044     }
DisplayIOCtl(&self, displayioctl: *const WTS_DISPLAY_IOCTL) -> ::windows::runtime::Result<()>6045     pub unsafe fn DisplayIOCtl(&self, displayioctl: *const WTS_DISPLAY_IOCTL) -> ::windows::runtime::Result<()> {
6046         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(displayioctl)).ok()
6047     }
6048 }
6049 unsafe impl ::windows::runtime::Interface for IWTSProtocolConnectionCallback {
6050     type Vtable = IWTSProtocolConnectionCallback_abi;
6051     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(587741029, 30187, 16894, [180, 251, 224, 134, 36, 42, 250, 15]);
6052 }
6053 impl ::std::convert::From<IWTSProtocolConnectionCallback> for ::windows::runtime::IUnknown {
from(value: IWTSProtocolConnectionCallback) -> Self6054     fn from(value: IWTSProtocolConnectionCallback) -> Self {
6055         unsafe { ::std::mem::transmute(value) }
6056     }
6057 }
6058 impl ::std::convert::From<&IWTSProtocolConnectionCallback> for ::windows::runtime::IUnknown {
from(value: &IWTSProtocolConnectionCallback) -> Self6059     fn from(value: &IWTSProtocolConnectionCallback) -> Self {
6060         ::std::convert::From::from(::std::clone::Clone::clone(value))
6061     }
6062 }
6063 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWTSProtocolConnectionCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6064     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6065         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6066     }
6067 }
6068 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWTSProtocolConnectionCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6069     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6070         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6071     }
6072 }
6073 #[repr(C)]
6074 #[doc(hidden)]
6075 pub struct IWTSProtocolConnectionCallback_abi(
6076     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6077     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6078     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6079     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6080     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, reason: u32, source: u32) -> ::windows::runtime::HRESULT,
6081     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6082     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rect: *const WTS_SMALL_RECT) -> ::windows::runtime::HRESULT,
6083     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, displayioctl: *const WTS_DISPLAY_IOCTL) -> ::windows::runtime::HRESULT,
6084 );
6085 #[repr(transparent)]
6086 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6087 pub struct IWTSProtocolLicenseConnection(::windows::runtime::IUnknown);
6088 impl IWTSProtocolLicenseConnection {
6089     #[cfg(feature = "Win32_Foundation")]
RequestLicensingCapabilities(&self, pplicensecapabilities: *mut WTS_LICENSE_CAPABILITIES, pcblicensecapabilities: *mut u32) -> ::windows::runtime::Result<()>6090     pub unsafe fn RequestLicensingCapabilities(&self, pplicensecapabilities: *mut WTS_LICENSE_CAPABILITIES, pcblicensecapabilities: *mut u32) -> ::windows::runtime::Result<()> {
6091         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pplicensecapabilities), ::std::mem::transmute(pcblicensecapabilities)).ok()
6092     }
SendClientLicense(&self, pclientlicense: *const u8, cbclientlicense: u32) -> ::windows::runtime::Result<()>6093     pub unsafe fn SendClientLicense(&self, pclientlicense: *const u8, cbclientlicense: u32) -> ::windows::runtime::Result<()> {
6094         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pclientlicense), ::std::mem::transmute(cbclientlicense)).ok()
6095     }
RequestClientLicense(&self, reserve1: *const u8, reserve2: u32, ppclientlicense: *mut u8, pcbclientlicense: *mut u32) -> ::windows::runtime::Result<()>6096     pub unsafe fn RequestClientLicense(&self, reserve1: *const u8, reserve2: u32, ppclientlicense: *mut u8, pcbclientlicense: *mut u32) -> ::windows::runtime::Result<()> {
6097         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(reserve1), ::std::mem::transmute(reserve2), ::std::mem::transmute(ppclientlicense), ::std::mem::transmute(pcbclientlicense)).ok()
6098     }
ProtocolComplete(&self, ulcomplete: u32) -> ::windows::runtime::Result<()>6099     pub unsafe fn ProtocolComplete(&self, ulcomplete: u32) -> ::windows::runtime::Result<()> {
6100         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulcomplete)).ok()
6101     }
6102 }
6103 unsafe impl ::windows::runtime::Interface for IWTSProtocolLicenseConnection {
6104     type Vtable = IWTSProtocolLicenseConnection_abi;
6105     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(587741029, 6028, 16505, [142, 74, 254, 166, 73, 106, 77, 112]);
6106 }
6107 impl ::std::convert::From<IWTSProtocolLicenseConnection> for ::windows::runtime::IUnknown {
from(value: IWTSProtocolLicenseConnection) -> Self6108     fn from(value: IWTSProtocolLicenseConnection) -> Self {
6109         unsafe { ::std::mem::transmute(value) }
6110     }
6111 }
6112 impl ::std::convert::From<&IWTSProtocolLicenseConnection> for ::windows::runtime::IUnknown {
from(value: &IWTSProtocolLicenseConnection) -> Self6113     fn from(value: &IWTSProtocolLicenseConnection) -> Self {
6114         ::std::convert::From::from(::std::clone::Clone::clone(value))
6115     }
6116 }
6117 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWTSProtocolLicenseConnection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6118     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6119         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6120     }
6121 }
6122 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWTSProtocolLicenseConnection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6123     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6124         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6125     }
6126 }
6127 #[repr(C)]
6128 #[doc(hidden)]
6129 pub struct IWTSProtocolLicenseConnection_abi(
6130     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6131     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6132     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6133     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pplicensecapabilities: *mut WTS_LICENSE_CAPABILITIES, pcblicensecapabilities: *mut u32) -> ::windows::runtime::HRESULT,
6134     #[cfg(not(feature = "Win32_Foundation"))] usize,
6135     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclientlicense: *const u8, cbclientlicense: u32) -> ::windows::runtime::HRESULT,
6136     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, reserve1: *const u8, reserve2: u32, ppclientlicense: *mut u8, pcbclientlicense: *mut u32) -> ::windows::runtime::HRESULT,
6137     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulcomplete: u32) -> ::windows::runtime::HRESULT,
6138 );
6139 #[repr(transparent)]
6140 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6141 pub struct IWTSProtocolListener(::windows::runtime::IUnknown);
6142 impl IWTSProtocolListener {
StartListen<'a, Param0: ::windows::runtime::IntoParam<'a, IWTSProtocolListenerCallback>>(&self, pcallback: Param0) -> ::windows::runtime::Result<()>6143     pub unsafe fn StartListen<'a, Param0: ::windows::runtime::IntoParam<'a, IWTSProtocolListenerCallback>>(&self, pcallback: Param0) -> ::windows::runtime::Result<()> {
6144         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pcallback.into_param().abi()).ok()
6145     }
StopListen(&self) -> ::windows::runtime::Result<()>6146     pub unsafe fn StopListen(&self) -> ::windows::runtime::Result<()> {
6147         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
6148     }
6149 }
6150 unsafe impl ::windows::runtime::Interface for IWTSProtocolListener {
6151     type Vtable = IWTSProtocolListener_abi;
6152     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(587741029, 17904, 17300, [143, 105, 50, 178, 188, 14, 244, 202]);
6153 }
6154 impl ::std::convert::From<IWTSProtocolListener> for ::windows::runtime::IUnknown {
from(value: IWTSProtocolListener) -> Self6155     fn from(value: IWTSProtocolListener) -> Self {
6156         unsafe { ::std::mem::transmute(value) }
6157     }
6158 }
6159 impl ::std::convert::From<&IWTSProtocolListener> for ::windows::runtime::IUnknown {
from(value: &IWTSProtocolListener) -> Self6160     fn from(value: &IWTSProtocolListener) -> Self {
6161         ::std::convert::From::from(::std::clone::Clone::clone(value))
6162     }
6163 }
6164 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWTSProtocolListener {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6165     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6166         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6167     }
6168 }
6169 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWTSProtocolListener {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6170     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6171         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6172     }
6173 }
6174 #[repr(C)]
6175 #[doc(hidden)]
6176 pub struct IWTSProtocolListener_abi(
6177     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6178     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6179     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6180     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcallback: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6181     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6182 );
6183 #[repr(transparent)]
6184 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6185 pub struct IWTSProtocolListenerCallback(::windows::runtime::IUnknown);
6186 impl IWTSProtocolListenerCallback {
OnConnected<'a, Param0: ::windows::runtime::IntoParam<'a, IWTSProtocolConnection>>(&self, pconnection: Param0) -> ::windows::runtime::Result<IWTSProtocolConnectionCallback>6187     pub unsafe fn OnConnected<'a, Param0: ::windows::runtime::IntoParam<'a, IWTSProtocolConnection>>(&self, pconnection: Param0) -> ::windows::runtime::Result<IWTSProtocolConnectionCallback> {
6188         let mut result__: <IWTSProtocolConnectionCallback as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6189         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pconnection.into_param().abi(), &mut result__).from_abi::<IWTSProtocolConnectionCallback>(result__)
6190     }
6191 }
6192 unsafe impl ::windows::runtime::Interface for IWTSProtocolListenerCallback {
6193     type Vtable = IWTSProtocolListenerCallback_abi;
6194     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(587741029, 6701, 19938, [151, 222, 74, 53, 242, 96, 240, 179]);
6195 }
6196 impl ::std::convert::From<IWTSProtocolListenerCallback> for ::windows::runtime::IUnknown {
from(value: IWTSProtocolListenerCallback) -> Self6197     fn from(value: IWTSProtocolListenerCallback) -> Self {
6198         unsafe { ::std::mem::transmute(value) }
6199     }
6200 }
6201 impl ::std::convert::From<&IWTSProtocolListenerCallback> for ::windows::runtime::IUnknown {
from(value: &IWTSProtocolListenerCallback) -> Self6202     fn from(value: &IWTSProtocolListenerCallback) -> Self {
6203         ::std::convert::From::from(::std::clone::Clone::clone(value))
6204     }
6205 }
6206 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWTSProtocolListenerCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6207     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6208         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6209     }
6210 }
6211 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWTSProtocolListenerCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6212     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6213         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6214     }
6215 }
6216 #[repr(C)]
6217 #[doc(hidden)]
6218 pub struct IWTSProtocolListenerCallback_abi(
6219     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6220     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6221     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6222     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pconnection: ::windows::runtime::RawPtr, pcallback: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6223 );
6224 #[repr(transparent)]
6225 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6226 pub struct IWTSProtocolLogonErrorRedirector(::windows::runtime::IUnknown);
6227 impl IWTSProtocolLogonErrorRedirector {
OnBeginPainting(&self) -> ::windows::runtime::Result<()>6228     pub unsafe fn OnBeginPainting(&self) -> ::windows::runtime::Result<()> {
6229         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
6230     }
6231     #[cfg(feature = "Win32_Foundation")]
RedirectStatus<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszmessage: Param0) -> ::windows::runtime::Result<WTS_LOGON_ERROR_REDIRECTOR_RESPONSE>6232     pub unsafe fn RedirectStatus<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszmessage: Param0) -> ::windows::runtime::Result<WTS_LOGON_ERROR_REDIRECTOR_RESPONSE> {
6233         let mut result__: <WTS_LOGON_ERROR_REDIRECTOR_RESPONSE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6234         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pszmessage.into_param().abi(), &mut result__).from_abi::<WTS_LOGON_ERROR_REDIRECTOR_RESPONSE>(result__)
6235     }
6236     #[cfg(feature = "Win32_Foundation")]
RedirectMessage<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszcaption: Param0, pszmessage: Param1, utype: u32) -> ::windows::runtime::Result<WTS_LOGON_ERROR_REDIRECTOR_RESPONSE>6237     pub unsafe fn RedirectMessage<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszcaption: Param0, pszmessage: Param1, utype: u32) -> ::windows::runtime::Result<WTS_LOGON_ERROR_REDIRECTOR_RESPONSE> {
6238         let mut result__: <WTS_LOGON_ERROR_REDIRECTOR_RESPONSE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6239         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pszcaption.into_param().abi(), pszmessage.into_param().abi(), ::std::mem::transmute(utype), &mut result__).from_abi::<WTS_LOGON_ERROR_REDIRECTOR_RESPONSE>(result__)
6240     }
6241     #[cfg(feature = "Win32_Foundation")]
RedirectLogonError<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, ntsstatus: i32, ntssubstatus: i32, pszcaption: Param2, pszmessage: Param3, utype: u32) -> ::windows::runtime::Result<WTS_LOGON_ERROR_REDIRECTOR_RESPONSE>6242     pub unsafe fn RedirectLogonError<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, ntsstatus: i32, ntssubstatus: i32, pszcaption: Param2, pszmessage: Param3, utype: u32) -> ::windows::runtime::Result<WTS_LOGON_ERROR_REDIRECTOR_RESPONSE> {
6243         let mut result__: <WTS_LOGON_ERROR_REDIRECTOR_RESPONSE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6244         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(ntsstatus), ::std::mem::transmute(ntssubstatus), pszcaption.into_param().abi(), pszmessage.into_param().abi(), ::std::mem::transmute(utype), &mut result__).from_abi::<WTS_LOGON_ERROR_REDIRECTOR_RESPONSE>(result__)
6245     }
6246 }
6247 unsafe impl ::windows::runtime::Interface for IWTSProtocolLogonErrorRedirector {
6248     type Vtable = IWTSProtocolLogonErrorRedirector_abi;
6249     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4254818727, 10518, 17959, [141, 238, 67, 40, 113, 26, 214, 203]);
6250 }
6251 impl ::std::convert::From<IWTSProtocolLogonErrorRedirector> for ::windows::runtime::IUnknown {
from(value: IWTSProtocolLogonErrorRedirector) -> Self6252     fn from(value: IWTSProtocolLogonErrorRedirector) -> Self {
6253         unsafe { ::std::mem::transmute(value) }
6254     }
6255 }
6256 impl ::std::convert::From<&IWTSProtocolLogonErrorRedirector> for ::windows::runtime::IUnknown {
from(value: &IWTSProtocolLogonErrorRedirector) -> Self6257     fn from(value: &IWTSProtocolLogonErrorRedirector) -> Self {
6258         ::std::convert::From::from(::std::clone::Clone::clone(value))
6259     }
6260 }
6261 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWTSProtocolLogonErrorRedirector {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6262     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6263         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6264     }
6265 }
6266 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWTSProtocolLogonErrorRedirector {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6267     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6268         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6269     }
6270 }
6271 #[repr(C)]
6272 #[doc(hidden)]
6273 pub struct IWTSProtocolLogonErrorRedirector_abi(
6274     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6275     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6276     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6277     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6278     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszmessage: super::super::Foundation::PWSTR, presponse: *mut WTS_LOGON_ERROR_REDIRECTOR_RESPONSE) -> ::windows::runtime::HRESULT,
6279     #[cfg(not(feature = "Win32_Foundation"))] usize,
6280     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszcaption: super::super::Foundation::PWSTR, pszmessage: super::super::Foundation::PWSTR, utype: u32, presponse: *mut WTS_LOGON_ERROR_REDIRECTOR_RESPONSE) -> ::windows::runtime::HRESULT,
6281     #[cfg(not(feature = "Win32_Foundation"))] usize,
6282     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ntsstatus: i32, ntssubstatus: i32, pszcaption: super::super::Foundation::PWSTR, pszmessage: super::super::Foundation::PWSTR, utype: u32, presponse: *mut WTS_LOGON_ERROR_REDIRECTOR_RESPONSE) -> ::windows::runtime::HRESULT,
6283     #[cfg(not(feature = "Win32_Foundation"))] usize,
6284 );
6285 #[repr(transparent)]
6286 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6287 pub struct IWTSProtocolManager(::windows::runtime::IUnknown);
6288 impl IWTSProtocolManager {
6289     #[cfg(feature = "Win32_Foundation")]
CreateListener<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, wszlistenername: Param0) -> ::windows::runtime::Result<IWTSProtocolListener>6290     pub unsafe fn CreateListener<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, wszlistenername: Param0) -> ::windows::runtime::Result<IWTSProtocolListener> {
6291         let mut result__: <IWTSProtocolListener as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6292         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), wszlistenername.into_param().abi(), &mut result__).from_abi::<IWTSProtocolListener>(result__)
6293     }
NotifyServiceStateChange(&self, ptsservicestatechange: *const WTS_SERVICE_STATE) -> ::windows::runtime::Result<()>6294     pub unsafe fn NotifyServiceStateChange(&self, ptsservicestatechange: *const WTS_SERVICE_STATE) -> ::windows::runtime::Result<()> {
6295         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(ptsservicestatechange)).ok()
6296     }
NotifySessionOfServiceStart(&self, sessionid: *const WTS_SESSION_ID) -> ::windows::runtime::Result<()>6297     pub unsafe fn NotifySessionOfServiceStart(&self, sessionid: *const WTS_SESSION_ID) -> ::windows::runtime::Result<()> {
6298         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(sessionid)).ok()
6299     }
NotifySessionOfServiceStop(&self, sessionid: *const WTS_SESSION_ID) -> ::windows::runtime::Result<()>6300     pub unsafe fn NotifySessionOfServiceStop(&self, sessionid: *const WTS_SESSION_ID) -> ::windows::runtime::Result<()> {
6301         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(sessionid)).ok()
6302     }
NotifySessionStateChange(&self, sessionid: *const WTS_SESSION_ID, eventid: u32) -> ::windows::runtime::Result<()>6303     pub unsafe fn NotifySessionStateChange(&self, sessionid: *const WTS_SESSION_ID, eventid: u32) -> ::windows::runtime::Result<()> {
6304         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(sessionid), ::std::mem::transmute(eventid)).ok()
6305     }
6306 }
6307 unsafe impl ::windows::runtime::Interface for IWTSProtocolManager {
6308     type Vtable = IWTSProtocolManager_abi;
6309     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4192925388, 60793, 20225, [130, 29, 31, 136, 27, 159, 102, 204]);
6310 }
6311 impl ::std::convert::From<IWTSProtocolManager> for ::windows::runtime::IUnknown {
from(value: IWTSProtocolManager) -> Self6312     fn from(value: IWTSProtocolManager) -> Self {
6313         unsafe { ::std::mem::transmute(value) }
6314     }
6315 }
6316 impl ::std::convert::From<&IWTSProtocolManager> for ::windows::runtime::IUnknown {
from(value: &IWTSProtocolManager) -> Self6317     fn from(value: &IWTSProtocolManager) -> Self {
6318         ::std::convert::From::from(::std::clone::Clone::clone(value))
6319     }
6320 }
6321 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWTSProtocolManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6322     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6323         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6324     }
6325 }
6326 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWTSProtocolManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6327     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6328         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6329     }
6330 }
6331 #[repr(C)]
6332 #[doc(hidden)]
6333 pub struct IWTSProtocolManager_abi(
6334     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6335     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6336     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6337     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, wszlistenername: super::super::Foundation::PWSTR, pprotocollistener: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6338     #[cfg(not(feature = "Win32_Foundation"))] usize,
6339     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptsservicestatechange: *const WTS_SERVICE_STATE) -> ::windows::runtime::HRESULT,
6340     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sessionid: *const WTS_SESSION_ID) -> ::windows::runtime::HRESULT,
6341     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sessionid: *const WTS_SESSION_ID) -> ::windows::runtime::HRESULT,
6342     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sessionid: *const WTS_SESSION_ID, eventid: u32) -> ::windows::runtime::HRESULT,
6343 );
6344 #[repr(transparent)]
6345 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6346 pub struct IWTSProtocolShadowCallback(::windows::runtime::IUnknown);
6347 impl IWTSProtocolShadowCallback {
StopShadow(&self) -> ::windows::runtime::Result<()>6348     pub unsafe fn StopShadow(&self) -> ::windows::runtime::Result<()> {
6349         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
6350     }
6351     #[cfg(feature = "Win32_Foundation")]
InvokeTargetShadow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param10: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, ptargetservername: Param0, targetsessionid: u32, pparam1: *const u8, param1size: u32, pparam2: *const u8, param2size: u32, pparam3: *const u8, param3size: u32, pparam4: *const u8, param4size: u32, pclientname: Param10) -> ::windows::runtime::Result<()>6352     pub unsafe fn InvokeTargetShadow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param10: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, ptargetservername: Param0, targetsessionid: u32, pparam1: *const u8, param1size: u32, pparam2: *const u8, param2size: u32, pparam3: *const u8, param3size: u32, pparam4: *const u8, param4size: u32, pclientname: Param10) -> ::windows::runtime::Result<()> {
6353         (::windows::runtime::Interface::vtable(self).4)(
6354             ::std::mem::transmute_copy(self),
6355             ptargetservername.into_param().abi(),
6356             ::std::mem::transmute(targetsessionid),
6357             ::std::mem::transmute(pparam1),
6358             ::std::mem::transmute(param1size),
6359             ::std::mem::transmute(pparam2),
6360             ::std::mem::transmute(param2size),
6361             ::std::mem::transmute(pparam3),
6362             ::std::mem::transmute(param3size),
6363             ::std::mem::transmute(pparam4),
6364             ::std::mem::transmute(param4size),
6365             pclientname.into_param().abi(),
6366         )
6367         .ok()
6368     }
6369 }
6370 unsafe impl ::windows::runtime::Interface for IWTSProtocolShadowCallback {
6371     type Vtable = IWTSProtocolShadowCallback_abi;
6372     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1345987844, 43749, 19121, [147, 224, 109, 28, 75, 198, 247, 26]);
6373 }
6374 impl ::std::convert::From<IWTSProtocolShadowCallback> for ::windows::runtime::IUnknown {
from(value: IWTSProtocolShadowCallback) -> Self6375     fn from(value: IWTSProtocolShadowCallback) -> Self {
6376         unsafe { ::std::mem::transmute(value) }
6377     }
6378 }
6379 impl ::std::convert::From<&IWTSProtocolShadowCallback> for ::windows::runtime::IUnknown {
from(value: &IWTSProtocolShadowCallback) -> Self6380     fn from(value: &IWTSProtocolShadowCallback) -> Self {
6381         ::std::convert::From::from(::std::clone::Clone::clone(value))
6382     }
6383 }
6384 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWTSProtocolShadowCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6385     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6386         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6387     }
6388 }
6389 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWTSProtocolShadowCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6390     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6391         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6392     }
6393 }
6394 #[repr(C)]
6395 #[doc(hidden)]
6396 pub struct IWTSProtocolShadowCallback_abi(
6397     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6398     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6399     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6400     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6401     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptargetservername: super::super::Foundation::PWSTR, targetsessionid: u32, pparam1: *const u8, param1size: u32, pparam2: *const u8, param2size: u32, pparam3: *const u8, param3size: u32, pparam4: *const u8, param4size: u32, pclientname: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
6402     #[cfg(not(feature = "Win32_Foundation"))] usize,
6403 );
6404 #[repr(transparent)]
6405 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6406 pub struct IWTSProtocolShadowConnection(::windows::runtime::IUnknown);
6407 impl IWTSProtocolShadowConnection {
6408     #[cfg(feature = "Win32_Foundation")]
Start<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param4: ::windows::runtime::IntoParam<'a, IWTSProtocolShadowCallback>>(&self, ptargetservername: Param0, targetsessionid: u32, hotkeyvk: u8, hotkeymodifiers: u16, pshadowcallback: Param4) -> ::windows::runtime::Result<()>6409     pub unsafe fn Start<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param4: ::windows::runtime::IntoParam<'a, IWTSProtocolShadowCallback>>(&self, ptargetservername: Param0, targetsessionid: u32, hotkeyvk: u8, hotkeymodifiers: u16, pshadowcallback: Param4) -> ::windows::runtime::Result<()> {
6410         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ptargetservername.into_param().abi(), ::std::mem::transmute(targetsessionid), ::std::mem::transmute(hotkeyvk), ::std::mem::transmute(hotkeymodifiers), pshadowcallback.into_param().abi()).ok()
6411     }
Stop(&self) -> ::windows::runtime::Result<()>6412     pub unsafe fn Stop(&self) -> ::windows::runtime::Result<()> {
6413         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
6414     }
6415     #[cfg(feature = "Win32_Foundation")]
DoTarget<'a, Param8: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pparam1: *const u8, param1size: u32, pparam2: *const u8, param2size: u32, pparam3: *const u8, param3size: u32, pparam4: *const u8, param4size: u32, pclientname: Param8) -> ::windows::runtime::Result<()>6416     pub unsafe fn DoTarget<'a, Param8: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pparam1: *const u8, param1size: u32, pparam2: *const u8, param2size: u32, pparam3: *const u8, param3size: u32, pparam4: *const u8, param4size: u32, pclientname: Param8) -> ::windows::runtime::Result<()> {
6417         (::windows::runtime::Interface::vtable(self).5)(
6418             ::std::mem::transmute_copy(self),
6419             ::std::mem::transmute(pparam1),
6420             ::std::mem::transmute(param1size),
6421             ::std::mem::transmute(pparam2),
6422             ::std::mem::transmute(param2size),
6423             ::std::mem::transmute(pparam3),
6424             ::std::mem::transmute(param3size),
6425             ::std::mem::transmute(pparam4),
6426             ::std::mem::transmute(param4size),
6427             pclientname.into_param().abi(),
6428         )
6429         .ok()
6430     }
6431 }
6432 unsafe impl ::windows::runtime::Interface for IWTSProtocolShadowConnection {
6433     type Vtable = IWTSProtocolShadowConnection_abi;
6434     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3996847124, 14331, 17771, [186, 179, 109, 108, 213, 30, 19, 191]);
6435 }
6436 impl ::std::convert::From<IWTSProtocolShadowConnection> for ::windows::runtime::IUnknown {
from(value: IWTSProtocolShadowConnection) -> Self6437     fn from(value: IWTSProtocolShadowConnection) -> Self {
6438         unsafe { ::std::mem::transmute(value) }
6439     }
6440 }
6441 impl ::std::convert::From<&IWTSProtocolShadowConnection> for ::windows::runtime::IUnknown {
from(value: &IWTSProtocolShadowConnection) -> Self6442     fn from(value: &IWTSProtocolShadowConnection) -> Self {
6443         ::std::convert::From::from(::std::clone::Clone::clone(value))
6444     }
6445 }
6446 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWTSProtocolShadowConnection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6447     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6448         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6449     }
6450 }
6451 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWTSProtocolShadowConnection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6452     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6453         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6454     }
6455 }
6456 #[repr(C)]
6457 #[doc(hidden)]
6458 pub struct IWTSProtocolShadowConnection_abi(
6459     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6460     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6461     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6462     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptargetservername: super::super::Foundation::PWSTR, targetsessionid: u32, hotkeyvk: u8, hotkeymodifiers: u16, pshadowcallback: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6463     #[cfg(not(feature = "Win32_Foundation"))] usize,
6464     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6465     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pparam1: *const u8, param1size: u32, pparam2: *const u8, param2size: u32, pparam3: *const u8, param3size: u32, pparam4: *const u8, param4size: u32, pclientname: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
6466     #[cfg(not(feature = "Win32_Foundation"))] usize,
6467 );
6468 #[repr(transparent)]
6469 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6470 pub struct IWTSSBPlugin(::windows::runtime::IUnknown);
6471 impl IWTSSBPlugin {
Initialize(&self) -> ::windows::runtime::Result<u32>6472     pub unsafe fn Initialize(&self) -> ::windows::runtime::Result<u32> {
6473         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6474         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
6475     }
WTSSBX_MachineChangeNotification(&self, notificationtype: WTSSBX_NOTIFICATION_TYPE, machineid: i32, pmachineinfo: *const WTSSBX_MACHINE_INFO) -> ::windows::runtime::Result<()>6476     pub unsafe fn WTSSBX_MachineChangeNotification(&self, notificationtype: WTSSBX_NOTIFICATION_TYPE, machineid: i32, pmachineinfo: *const WTSSBX_MACHINE_INFO) -> ::windows::runtime::Result<()> {
6477         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(notificationtype), ::std::mem::transmute(machineid), ::std::mem::transmute(pmachineinfo)).ok()
6478     }
6479     #[cfg(feature = "Win32_Foundation")]
WTSSBX_SessionChangeNotification(&self, notificationtype: WTSSBX_NOTIFICATION_TYPE, machineid: i32, numofsessions: u32, sessioninfo: *const WTSSBX_SESSION_INFO) -> ::windows::runtime::Result<()>6480     pub unsafe fn WTSSBX_SessionChangeNotification(&self, notificationtype: WTSSBX_NOTIFICATION_TYPE, machineid: i32, numofsessions: u32, sessioninfo: *const WTSSBX_SESSION_INFO) -> ::windows::runtime::Result<()> {
6481         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(notificationtype), ::std::mem::transmute(machineid), ::std::mem::transmute(numofsessions), ::std::mem::transmute(sessioninfo)).ok()
6482     }
6483     #[cfg(feature = "Win32_Foundation")]
WTSSBX_GetMostSuitableServer<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, username: Param0, domainname: Param1, applicationtype: Param2, farmname: Param3, pmachineid: *mut i32) -> ::windows::runtime::Result<()>6484     pub unsafe fn WTSSBX_GetMostSuitableServer<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, username: Param0, domainname: Param1, applicationtype: Param2, farmname: Param3, pmachineid: *mut i32) -> ::windows::runtime::Result<()> {
6485         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), username.into_param().abi(), domainname.into_param().abi(), applicationtype.into_param().abi(), farmname.into_param().abi(), ::std::mem::transmute(pmachineid)).ok()
6486     }
Terminated(&self) -> ::windows::runtime::Result<()>6487     pub unsafe fn Terminated(&self) -> ::windows::runtime::Result<()> {
6488         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
6489     }
6490     #[cfg(feature = "Win32_Foundation")]
WTSSBX_GetUserExternalSession<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>( &self, username: Param0, domainname: Param1, applicationtype: Param2, redirectorinternalip: *const WTSSBX_IP_ADDRESS, psessionid: *mut u32, pmachineconnectinfo: *mut WTSSBX_MACHINE_CONNECT_INFO, ) -> ::windows::runtime::Result<()>6491     pub unsafe fn WTSSBX_GetUserExternalSession<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(
6492         &self,
6493         username: Param0,
6494         domainname: Param1,
6495         applicationtype: Param2,
6496         redirectorinternalip: *const WTSSBX_IP_ADDRESS,
6497         psessionid: *mut u32,
6498         pmachineconnectinfo: *mut WTSSBX_MACHINE_CONNECT_INFO,
6499     ) -> ::windows::runtime::Result<()> {
6500         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), username.into_param().abi(), domainname.into_param().abi(), applicationtype.into_param().abi(), ::std::mem::transmute(redirectorinternalip), ::std::mem::transmute(psessionid), ::std::mem::transmute(pmachineconnectinfo)).ok()
6501     }
6502 }
6503 unsafe impl ::windows::runtime::Interface for IWTSSBPlugin {
6504     type Vtable = IWTSSBPlugin_abi;
6505     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3695492728, 45453, 17305, [178, 16, 100, 27, 246, 122, 0, 44]);
6506 }
6507 impl ::std::convert::From<IWTSSBPlugin> for ::windows::runtime::IUnknown {
from(value: IWTSSBPlugin) -> Self6508     fn from(value: IWTSSBPlugin) -> Self {
6509         unsafe { ::std::mem::transmute(value) }
6510     }
6511 }
6512 impl ::std::convert::From<&IWTSSBPlugin> for ::windows::runtime::IUnknown {
from(value: &IWTSSBPlugin) -> Self6513     fn from(value: &IWTSSBPlugin) -> Self {
6514         ::std::convert::From::from(::std::clone::Clone::clone(value))
6515     }
6516 }
6517 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWTSSBPlugin {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6518     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6519         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6520     }
6521 }
6522 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWTSSBPlugin {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6523     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6524         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6525     }
6526 }
6527 #[repr(C)]
6528 #[doc(hidden)]
6529 pub struct IWTSSBPlugin_abi(
6530     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6531     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6532     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6533     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plugincapabilities: *mut u32) -> ::windows::runtime::HRESULT,
6534     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, notificationtype: WTSSBX_NOTIFICATION_TYPE, machineid: i32, pmachineinfo: *const WTSSBX_MACHINE_INFO) -> ::windows::runtime::HRESULT,
6535     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, notificationtype: WTSSBX_NOTIFICATION_TYPE, machineid: i32, numofsessions: u32, sessioninfo: *const WTSSBX_SESSION_INFO) -> ::windows::runtime::HRESULT,
6536     #[cfg(not(feature = "Win32_Foundation"))] usize,
6537     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, username: super::super::Foundation::PWSTR, domainname: super::super::Foundation::PWSTR, applicationtype: super::super::Foundation::PWSTR, farmname: super::super::Foundation::PWSTR, pmachineid: *mut i32) -> ::windows::runtime::HRESULT,
6538     #[cfg(not(feature = "Win32_Foundation"))] usize,
6539     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6540     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, username: super::super::Foundation::PWSTR, domainname: super::super::Foundation::PWSTR, applicationtype: super::super::Foundation::PWSTR, redirectorinternalip: *const WTSSBX_IP_ADDRESS, psessionid: *mut u32, pmachineconnectinfo: *mut WTSSBX_MACHINE_CONNECT_INFO) -> ::windows::runtime::HRESULT,
6541     #[cfg(not(feature = "Win32_Foundation"))] usize,
6542 );
6543 #[repr(transparent)]
6544 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6545 pub struct IWTSVirtualChannel(::windows::runtime::IUnknown);
6546 impl IWTSVirtualChannel {
Write<'a, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, cbsize: u32, pbuffer: *const u8, preserved: Param2) -> ::windows::runtime::Result<()>6547     pub unsafe fn Write<'a, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, cbsize: u32, pbuffer: *const u8, preserved: Param2) -> ::windows::runtime::Result<()> {
6548         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbsize), ::std::mem::transmute(pbuffer), preserved.into_param().abi()).ok()
6549     }
Close(&self) -> ::windows::runtime::Result<()>6550     pub unsafe fn Close(&self) -> ::windows::runtime::Result<()> {
6551         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
6552     }
6553 }
6554 unsafe impl ::windows::runtime::Interface for IWTSVirtualChannel {
6555     type Vtable = IWTSVirtualChannel_abi;
6556     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2703426055, 54951, 4568, [185, 253, 0, 11, 219, 209, 241, 152]);
6557 }
6558 impl ::std::convert::From<IWTSVirtualChannel> for ::windows::runtime::IUnknown {
from(value: IWTSVirtualChannel) -> Self6559     fn from(value: IWTSVirtualChannel) -> Self {
6560         unsafe { ::std::mem::transmute(value) }
6561     }
6562 }
6563 impl ::std::convert::From<&IWTSVirtualChannel> for ::windows::runtime::IUnknown {
from(value: &IWTSVirtualChannel) -> Self6564     fn from(value: &IWTSVirtualChannel) -> Self {
6565         ::std::convert::From::from(::std::clone::Clone::clone(value))
6566     }
6567 }
6568 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWTSVirtualChannel {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6569     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6570         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6571     }
6572 }
6573 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWTSVirtualChannel {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6574     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6575         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6576     }
6577 }
6578 #[repr(C)]
6579 #[doc(hidden)]
6580 pub struct IWTSVirtualChannel_abi(
6581     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6582     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6583     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6584     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbsize: u32, pbuffer: *const u8, preserved: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6585     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6586 );
6587 #[repr(transparent)]
6588 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6589 pub struct IWTSVirtualChannelCallback(::windows::runtime::IUnknown);
6590 impl IWTSVirtualChannelCallback {
OnDataReceived(&self, cbsize: u32, pbuffer: *const u8) -> ::windows::runtime::Result<()>6591     pub unsafe fn OnDataReceived(&self, cbsize: u32, pbuffer: *const u8) -> ::windows::runtime::Result<()> {
6592         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbsize), ::std::mem::transmute(pbuffer)).ok()
6593     }
OnClose(&self) -> ::windows::runtime::Result<()>6594     pub unsafe fn OnClose(&self) -> ::windows::runtime::Result<()> {
6595         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
6596     }
6597 }
6598 unsafe impl ::windows::runtime::Interface for IWTSVirtualChannelCallback {
6599     type Vtable = IWTSVirtualChannelCallback_abi;
6600     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2703426052, 54951, 4568, [185, 253, 0, 11, 219, 209, 241, 152]);
6601 }
6602 impl ::std::convert::From<IWTSVirtualChannelCallback> for ::windows::runtime::IUnknown {
from(value: IWTSVirtualChannelCallback) -> Self6603     fn from(value: IWTSVirtualChannelCallback) -> Self {
6604         unsafe { ::std::mem::transmute(value) }
6605     }
6606 }
6607 impl ::std::convert::From<&IWTSVirtualChannelCallback> for ::windows::runtime::IUnknown {
from(value: &IWTSVirtualChannelCallback) -> Self6608     fn from(value: &IWTSVirtualChannelCallback) -> Self {
6609         ::std::convert::From::from(::std::clone::Clone::clone(value))
6610     }
6611 }
6612 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWTSVirtualChannelCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6613     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6614         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6615     }
6616 }
6617 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWTSVirtualChannelCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6618     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6619         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6620     }
6621 }
6622 #[repr(C)]
6623 #[doc(hidden)]
6624 pub struct IWTSVirtualChannelCallback_abi(
6625     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6626     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6627     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6628     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbsize: u32, pbuffer: *const u8) -> ::windows::runtime::HRESULT,
6629     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6630 );
6631 #[repr(transparent)]
6632 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6633 pub struct IWTSVirtualChannelManager(::windows::runtime::IUnknown);
6634 impl IWTSVirtualChannelManager {
CreateListener<'a, Param2: ::windows::runtime::IntoParam<'a, IWTSListenerCallback>>(&self, pszchannelname: *const u8, uflags: u32, plistenercallback: Param2) -> ::windows::runtime::Result<IWTSListener>6635     pub unsafe fn CreateListener<'a, Param2: ::windows::runtime::IntoParam<'a, IWTSListenerCallback>>(&self, pszchannelname: *const u8, uflags: u32, plistenercallback: Param2) -> ::windows::runtime::Result<IWTSListener> {
6636         let mut result__: <IWTSListener as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6637         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pszchannelname), ::std::mem::transmute(uflags), plistenercallback.into_param().abi(), &mut result__).from_abi::<IWTSListener>(result__)
6638     }
6639 }
6640 unsafe impl ::windows::runtime::Interface for IWTSVirtualChannelManager {
6641     type Vtable = IWTSVirtualChannelManager_abi;
6642     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2703426053, 54951, 4568, [185, 253, 0, 11, 219, 209, 241, 152]);
6643 }
6644 impl ::std::convert::From<IWTSVirtualChannelManager> for ::windows::runtime::IUnknown {
from(value: IWTSVirtualChannelManager) -> Self6645     fn from(value: IWTSVirtualChannelManager) -> Self {
6646         unsafe { ::std::mem::transmute(value) }
6647     }
6648 }
6649 impl ::std::convert::From<&IWTSVirtualChannelManager> for ::windows::runtime::IUnknown {
from(value: &IWTSVirtualChannelManager) -> Self6650     fn from(value: &IWTSVirtualChannelManager) -> Self {
6651         ::std::convert::From::from(::std::clone::Clone::clone(value))
6652     }
6653 }
6654 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWTSVirtualChannelManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6655     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6656         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6657     }
6658 }
6659 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWTSVirtualChannelManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6660     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6661         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6662     }
6663 }
6664 #[repr(C)]
6665 #[doc(hidden)]
6666 pub struct IWTSVirtualChannelManager_abi(
6667     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6668     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6669     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6670     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszchannelname: *const u8, uflags: u32, plistenercallback: ::windows::runtime::RawPtr, pplistener: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6671 );
6672 #[repr(transparent)]
6673 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6674 pub struct IWorkspace(::windows::runtime::IUnknown);
6675 impl IWorkspace {
6676     #[cfg(feature = "Win32_System_Com")]
GetWorkspaceNames(&self) -> ::windows::runtime::Result<*mut super::Com::SAFEARRAY>6677     pub unsafe fn GetWorkspaceNames(&self) -> ::windows::runtime::Result<*mut super::Com::SAFEARRAY> {
6678         let mut result__: <*mut super::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6679         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::Com::SAFEARRAY>(result__)
6680     }
6681     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
StartRemoteApplication<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0, psaparams: *const super::Com::SAFEARRAY) -> ::windows::runtime::Result<()>6682     pub unsafe fn StartRemoteApplication<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0, psaparams: *const super::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
6683         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), bstrworkspaceid.into_param().abi(), ::std::mem::transmute(psaparams)).ok()
6684     }
GetProcessId(&self) -> ::windows::runtime::Result<u32>6685     pub unsafe fn GetProcessId(&self) -> ::windows::runtime::Result<u32> {
6686         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6687         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
6688     }
6689 }
6690 unsafe impl ::windows::runtime::Interface for IWorkspace {
6691     type Vtable = IWorkspace_abi;
6692     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3106061240, 19541, 20458, [132, 150, 190, 176, 180, 66, 133, 229]);
6693 }
6694 impl ::std::convert::From<IWorkspace> for ::windows::runtime::IUnknown {
from(value: IWorkspace) -> Self6695     fn from(value: IWorkspace) -> Self {
6696         unsafe { ::std::mem::transmute(value) }
6697     }
6698 }
6699 impl ::std::convert::From<&IWorkspace> for ::windows::runtime::IUnknown {
from(value: &IWorkspace) -> Self6700     fn from(value: &IWorkspace) -> Self {
6701         ::std::convert::From::from(::std::clone::Clone::clone(value))
6702     }
6703 }
6704 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWorkspace {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6705     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6706         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6707     }
6708 }
6709 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWorkspace {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6710     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6711         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6712     }
6713 }
6714 #[repr(C)]
6715 #[doc(hidden)]
6716 pub struct IWorkspace_abi(
6717     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6718     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6719     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6720     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psawkspnames: *mut *mut super::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
6721     #[cfg(not(feature = "Win32_System_Com"))] usize,
6722     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrworkspaceid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, psaparams: *const super::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
6723     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
6724     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pulprocessid: *mut u32) -> ::windows::runtime::HRESULT,
6725 );
6726 #[repr(transparent)]
6727 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6728 pub struct IWorkspace2(::windows::runtime::IUnknown);
6729 impl IWorkspace2 {
6730     #[cfg(feature = "Win32_System_Com")]
GetWorkspaceNames(&self) -> ::windows::runtime::Result<*mut super::Com::SAFEARRAY>6731     pub unsafe fn GetWorkspaceNames(&self) -> ::windows::runtime::Result<*mut super::Com::SAFEARRAY> {
6732         let mut result__: <*mut super::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6733         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::Com::SAFEARRAY>(result__)
6734     }
6735     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
StartRemoteApplication<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0, psaparams: *const super::Com::SAFEARRAY) -> ::windows::runtime::Result<()>6736     pub unsafe fn StartRemoteApplication<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0, psaparams: *const super::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
6737         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), bstrworkspaceid.into_param().abi(), ::std::mem::transmute(psaparams)).ok()
6738     }
GetProcessId(&self) -> ::windows::runtime::Result<u32>6739     pub unsafe fn GetProcessId(&self) -> ::windows::runtime::Result<u32> {
6740         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6741         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
6742     }
6743     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
StartRemoteApplicationEx<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>( &self, bstrworkspaceid: Param0, bstrrequestingappid: Param1, bstrrequestingappfamilyname: Param2, blaunchintoimmersiveclient: i16, bstrimmersiveclientactivationcontext: Param4, psaparams: *const super::Com::SAFEARRAY, ) -> ::windows::runtime::Result<()>6744     pub unsafe fn StartRemoteApplicationEx<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(
6745         &self,
6746         bstrworkspaceid: Param0,
6747         bstrrequestingappid: Param1,
6748         bstrrequestingappfamilyname: Param2,
6749         blaunchintoimmersiveclient: i16,
6750         bstrimmersiveclientactivationcontext: Param4,
6751         psaparams: *const super::Com::SAFEARRAY,
6752     ) -> ::windows::runtime::Result<()> {
6753         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), bstrworkspaceid.into_param().abi(), bstrrequestingappid.into_param().abi(), bstrrequestingappfamilyname.into_param().abi(), ::std::mem::transmute(blaunchintoimmersiveclient), bstrimmersiveclientactivationcontext.into_param().abi(), ::std::mem::transmute(psaparams)).ok()
6754     }
6755 }
6756 unsafe impl ::windows::runtime::Interface for IWorkspace2 {
6757     type Vtable = IWorkspace2_abi;
6758     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2530793423, 30782, 17030, [131, 76, 235, 192, 233, 95, 120, 60]);
6759 }
6760 impl ::std::convert::From<IWorkspace2> for ::windows::runtime::IUnknown {
from(value: IWorkspace2) -> Self6761     fn from(value: IWorkspace2) -> Self {
6762         unsafe { ::std::mem::transmute(value) }
6763     }
6764 }
6765 impl ::std::convert::From<&IWorkspace2> for ::windows::runtime::IUnknown {
from(value: &IWorkspace2) -> Self6766     fn from(value: &IWorkspace2) -> Self {
6767         ::std::convert::From::from(::std::clone::Clone::clone(value))
6768     }
6769 }
6770 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWorkspace2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6771     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6772         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6773     }
6774 }
6775 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWorkspace2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6776     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6777         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6778     }
6779 }
6780 impl ::std::convert::From<IWorkspace2> for IWorkspace {
from(value: IWorkspace2) -> Self6781     fn from(value: IWorkspace2) -> Self {
6782         unsafe { ::std::mem::transmute(value) }
6783     }
6784 }
6785 impl ::std::convert::From<&IWorkspace2> for IWorkspace {
from(value: &IWorkspace2) -> Self6786     fn from(value: &IWorkspace2) -> Self {
6787         ::std::convert::From::from(::std::clone::Clone::clone(value))
6788     }
6789 }
6790 impl<'a> ::windows::runtime::IntoParam<'a, IWorkspace> for IWorkspace2 {
into_param(self) -> ::windows::runtime::Param<'a, IWorkspace>6791     fn into_param(self) -> ::windows::runtime::Param<'a, IWorkspace> {
6792         ::windows::runtime::Param::Owned(::std::convert::Into::<IWorkspace>::into(self))
6793     }
6794 }
6795 impl<'a> ::windows::runtime::IntoParam<'a, IWorkspace> for &IWorkspace2 {
into_param(self) -> ::windows::runtime::Param<'a, IWorkspace>6796     fn into_param(self) -> ::windows::runtime::Param<'a, IWorkspace> {
6797         ::windows::runtime::Param::Owned(::std::convert::Into::<IWorkspace>::into(::std::clone::Clone::clone(self)))
6798     }
6799 }
6800 #[repr(C)]
6801 #[doc(hidden)]
6802 pub struct IWorkspace2_abi(
6803     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6804     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6805     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6806     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psawkspnames: *mut *mut super::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
6807     #[cfg(not(feature = "Win32_System_Com"))] usize,
6808     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrworkspaceid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, psaparams: *const super::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
6809     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
6810     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pulprocessid: *mut u32) -> ::windows::runtime::HRESULT,
6811     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
6812     pub  unsafe extern "system" fn(
6813         this: ::windows::runtime::RawPtr,
6814         bstrworkspaceid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
6815         bstrrequestingappid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
6816         bstrrequestingappfamilyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
6817         blaunchintoimmersiveclient: i16,
6818         bstrimmersiveclientactivationcontext: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
6819         psaparams: *const super::Com::SAFEARRAY,
6820     ) -> ::windows::runtime::HRESULT,
6821     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
6822 );
6823 #[repr(transparent)]
6824 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6825 pub struct IWorkspace3(::windows::runtime::IUnknown);
6826 impl IWorkspace3 {
6827     #[cfg(feature = "Win32_System_Com")]
GetWorkspaceNames(&self) -> ::windows::runtime::Result<*mut super::Com::SAFEARRAY>6828     pub unsafe fn GetWorkspaceNames(&self) -> ::windows::runtime::Result<*mut super::Com::SAFEARRAY> {
6829         let mut result__: <*mut super::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6830         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::Com::SAFEARRAY>(result__)
6831     }
6832     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
StartRemoteApplication<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0, psaparams: *const super::Com::SAFEARRAY) -> ::windows::runtime::Result<()>6833     pub unsafe fn StartRemoteApplication<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0, psaparams: *const super::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
6834         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), bstrworkspaceid.into_param().abi(), ::std::mem::transmute(psaparams)).ok()
6835     }
GetProcessId(&self) -> ::windows::runtime::Result<u32>6836     pub unsafe fn GetProcessId(&self) -> ::windows::runtime::Result<u32> {
6837         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6838         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
6839     }
6840     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
StartRemoteApplicationEx<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>( &self, bstrworkspaceid: Param0, bstrrequestingappid: Param1, bstrrequestingappfamilyname: Param2, blaunchintoimmersiveclient: i16, bstrimmersiveclientactivationcontext: Param4, psaparams: *const super::Com::SAFEARRAY, ) -> ::windows::runtime::Result<()>6841     pub unsafe fn StartRemoteApplicationEx<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(
6842         &self,
6843         bstrworkspaceid: Param0,
6844         bstrrequestingappid: Param1,
6845         bstrrequestingappfamilyname: Param2,
6846         blaunchintoimmersiveclient: i16,
6847         bstrimmersiveclientactivationcontext: Param4,
6848         psaparams: *const super::Com::SAFEARRAY,
6849     ) -> ::windows::runtime::Result<()> {
6850         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), bstrworkspaceid.into_param().abi(), bstrrequestingappid.into_param().abi(), bstrrequestingappfamilyname.into_param().abi(), ::std::mem::transmute(blaunchintoimmersiveclient), bstrimmersiveclientactivationcontext.into_param().abi(), ::std::mem::transmute(psaparams)).ok()
6851     }
6852     #[cfg(feature = "Win32_Foundation")]
GetClaimsToken2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::RECT>>(&self, bstrclaimshint: Param0, bstruserhint: Param1, claimcookie: u32, hwndcreduiparent: u32, rectcreduiparent: Param4) -> ::windows::runtime::Result<super::super::Foundation::BSTR>6853     pub unsafe fn GetClaimsToken2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::RECT>>(&self, bstrclaimshint: Param0, bstruserhint: Param1, claimcookie: u32, hwndcreduiparent: u32, rectcreduiparent: Param4) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6854         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6855         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), bstrclaimshint.into_param().abi(), bstruserhint.into_param().abi(), ::std::mem::transmute(claimcookie), ::std::mem::transmute(hwndcreduiparent), rectcreduiparent.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6856     }
6857     #[cfg(feature = "Win32_Foundation")]
SetClaimsToken<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstraccesstoken: Param0, ullaccesstokenexpiration: u64, bstrrefreshtoken: Param2) -> ::windows::runtime::Result<()>6858     pub unsafe fn SetClaimsToken<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstraccesstoken: Param0, ullaccesstokenexpiration: u64, bstrrefreshtoken: Param2) -> ::windows::runtime::Result<()> {
6859         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), bstraccesstoken.into_param().abi(), ::std::mem::transmute(ullaccesstokenexpiration), bstrrefreshtoken.into_param().abi()).ok()
6860     }
6861 }
6862 unsafe impl ::windows::runtime::Interface for IWorkspace3 {
6863     type Vtable = IWorkspace3_abi;
6864     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(468500042, 54868, 16955, [175, 235, 190, 141, 83, 44, 19, 198]);
6865 }
6866 impl ::std::convert::From<IWorkspace3> for ::windows::runtime::IUnknown {
from(value: IWorkspace3) -> Self6867     fn from(value: IWorkspace3) -> Self {
6868         unsafe { ::std::mem::transmute(value) }
6869     }
6870 }
6871 impl ::std::convert::From<&IWorkspace3> for ::windows::runtime::IUnknown {
from(value: &IWorkspace3) -> Self6872     fn from(value: &IWorkspace3) -> Self {
6873         ::std::convert::From::from(::std::clone::Clone::clone(value))
6874     }
6875 }
6876 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWorkspace3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6877     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6878         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6879     }
6880 }
6881 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWorkspace3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6882     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6883         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6884     }
6885 }
6886 impl ::std::convert::From<IWorkspace3> for IWorkspace2 {
from(value: IWorkspace3) -> Self6887     fn from(value: IWorkspace3) -> Self {
6888         unsafe { ::std::mem::transmute(value) }
6889     }
6890 }
6891 impl ::std::convert::From<&IWorkspace3> for IWorkspace2 {
from(value: &IWorkspace3) -> Self6892     fn from(value: &IWorkspace3) -> Self {
6893         ::std::convert::From::from(::std::clone::Clone::clone(value))
6894     }
6895 }
6896 impl<'a> ::windows::runtime::IntoParam<'a, IWorkspace2> for IWorkspace3 {
into_param(self) -> ::windows::runtime::Param<'a, IWorkspace2>6897     fn into_param(self) -> ::windows::runtime::Param<'a, IWorkspace2> {
6898         ::windows::runtime::Param::Owned(::std::convert::Into::<IWorkspace2>::into(self))
6899     }
6900 }
6901 impl<'a> ::windows::runtime::IntoParam<'a, IWorkspace2> for &IWorkspace3 {
into_param(self) -> ::windows::runtime::Param<'a, IWorkspace2>6902     fn into_param(self) -> ::windows::runtime::Param<'a, IWorkspace2> {
6903         ::windows::runtime::Param::Owned(::std::convert::Into::<IWorkspace2>::into(::std::clone::Clone::clone(self)))
6904     }
6905 }
6906 impl ::std::convert::From<IWorkspace3> for IWorkspace {
from(value: IWorkspace3) -> Self6907     fn from(value: IWorkspace3) -> Self {
6908         unsafe { ::std::mem::transmute(value) }
6909     }
6910 }
6911 impl ::std::convert::From<&IWorkspace3> for IWorkspace {
from(value: &IWorkspace3) -> Self6912     fn from(value: &IWorkspace3) -> Self {
6913         ::std::convert::From::from(::std::clone::Clone::clone(value))
6914     }
6915 }
6916 impl<'a> ::windows::runtime::IntoParam<'a, IWorkspace> for IWorkspace3 {
into_param(self) -> ::windows::runtime::Param<'a, IWorkspace>6917     fn into_param(self) -> ::windows::runtime::Param<'a, IWorkspace> {
6918         ::windows::runtime::Param::Owned(::std::convert::Into::<IWorkspace>::into(self))
6919     }
6920 }
6921 impl<'a> ::windows::runtime::IntoParam<'a, IWorkspace> for &IWorkspace3 {
into_param(self) -> ::windows::runtime::Param<'a, IWorkspace>6922     fn into_param(self) -> ::windows::runtime::Param<'a, IWorkspace> {
6923         ::windows::runtime::Param::Owned(::std::convert::Into::<IWorkspace>::into(::std::clone::Clone::clone(self)))
6924     }
6925 }
6926 #[repr(C)]
6927 #[doc(hidden)]
6928 pub struct IWorkspace3_abi(
6929     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6930     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6931     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6932     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psawkspnames: *mut *mut super::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
6933     #[cfg(not(feature = "Win32_System_Com"))] usize,
6934     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrworkspaceid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, psaparams: *const super::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
6935     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
6936     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pulprocessid: *mut u32) -> ::windows::runtime::HRESULT,
6937     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
6938     pub  unsafe extern "system" fn(
6939         this: ::windows::runtime::RawPtr,
6940         bstrworkspaceid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
6941         bstrrequestingappid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
6942         bstrrequestingappfamilyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
6943         blaunchintoimmersiveclient: i16,
6944         bstrimmersiveclientactivationcontext: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
6945         psaparams: *const super::Com::SAFEARRAY,
6946     ) -> ::windows::runtime::HRESULT,
6947     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
6948     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrclaimshint: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, bstruserhint: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, claimcookie: u32, hwndcreduiparent: u32, rectcreduiparent: super::super::Foundation::RECT, pbstraccesstoken: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6949     #[cfg(not(feature = "Win32_Foundation"))] usize,
6950     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstraccesstoken: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, ullaccesstokenexpiration: u64, bstrrefreshtoken: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6951     #[cfg(not(feature = "Win32_Foundation"))] usize,
6952 );
6953 #[repr(transparent)]
6954 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6955 pub struct IWorkspaceClientExt(::windows::runtime::IUnknown);
6956 impl IWorkspaceClientExt {
6957     #[cfg(feature = "Win32_Foundation")]
GetResourceId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>6958     pub unsafe fn GetResourceId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6959         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6960         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6961     }
6962     #[cfg(feature = "Win32_Foundation")]
GetResourceDisplayName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>6963     pub unsafe fn GetResourceDisplayName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6964         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6965         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6966     }
IssueDisconnect(&self) -> ::windows::runtime::Result<()>6967     pub unsafe fn IssueDisconnect(&self) -> ::windows::runtime::Result<()> {
6968         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
6969     }
6970 }
6971 unsafe impl ::windows::runtime::Interface for IWorkspaceClientExt {
6972     type Vtable = IWorkspaceClientExt_abi;
6973     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(314135284, 16842, 20257, [168, 41, 166, 208, 125, 154, 22, 229]);
6974 }
6975 impl ::std::convert::From<IWorkspaceClientExt> for ::windows::runtime::IUnknown {
from(value: IWorkspaceClientExt) -> Self6976     fn from(value: IWorkspaceClientExt) -> Self {
6977         unsafe { ::std::mem::transmute(value) }
6978     }
6979 }
6980 impl ::std::convert::From<&IWorkspaceClientExt> for ::windows::runtime::IUnknown {
from(value: &IWorkspaceClientExt) -> Self6981     fn from(value: &IWorkspaceClientExt) -> Self {
6982         ::std::convert::From::from(::std::clone::Clone::clone(value))
6983     }
6984 }
6985 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWorkspaceClientExt {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6986     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6987         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6988     }
6989 }
6990 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWorkspaceClientExt {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6991     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6992         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6993     }
6994 }
6995 #[repr(C)]
6996 #[doc(hidden)]
6997 pub struct IWorkspaceClientExt_abi(
6998     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6999     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7000     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7001     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrworkspaceid: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7002     #[cfg(not(feature = "Win32_Foundation"))] usize,
7003     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrworkspacedisplayname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7004     #[cfg(not(feature = "Win32_Foundation"))] usize,
7005     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7006 );
7007 #[repr(transparent)]
7008 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7009 pub struct IWorkspaceRegistration(::windows::runtime::IUnknown);
7010 impl IWorkspaceRegistration {
AddResource<'a, Param0: ::windows::runtime::IntoParam<'a, IWorkspaceClientExt>>(&self, punk: Param0) -> ::windows::runtime::Result<u32>7011     pub unsafe fn AddResource<'a, Param0: ::windows::runtime::IntoParam<'a, IWorkspaceClientExt>>(&self, punk: Param0) -> ::windows::runtime::Result<u32> {
7012         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7013         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), punk.into_param().abi(), &mut result__).from_abi::<u32>(result__)
7014     }
RemoveResource(&self, dwcookieconnection: u32) -> ::windows::runtime::Result<()>7015     pub unsafe fn RemoveResource(&self, dwcookieconnection: u32) -> ::windows::runtime::Result<()> {
7016         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcookieconnection)).ok()
7017     }
7018 }
7019 unsafe impl ::windows::runtime::Interface for IWorkspaceRegistration {
7020     type Vtable = IWorkspaceRegistration_abi;
7021     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3106061240, 19541, 20458, [132, 150, 190, 176, 180, 66, 133, 230]);
7022 }
7023 impl ::std::convert::From<IWorkspaceRegistration> for ::windows::runtime::IUnknown {
from(value: IWorkspaceRegistration) -> Self7024     fn from(value: IWorkspaceRegistration) -> Self {
7025         unsafe { ::std::mem::transmute(value) }
7026     }
7027 }
7028 impl ::std::convert::From<&IWorkspaceRegistration> for ::windows::runtime::IUnknown {
from(value: &IWorkspaceRegistration) -> Self7029     fn from(value: &IWorkspaceRegistration) -> Self {
7030         ::std::convert::From::from(::std::clone::Clone::clone(value))
7031     }
7032 }
7033 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWorkspaceRegistration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7034     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7035         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7036     }
7037 }
7038 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWorkspaceRegistration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7039     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7040         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7041     }
7042 }
7043 #[repr(C)]
7044 #[doc(hidden)]
7045 pub struct IWorkspaceRegistration_abi(
7046     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7047     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7048     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7049     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, punk: ::windows::runtime::RawPtr, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
7050     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcookieconnection: u32) -> ::windows::runtime::HRESULT,
7051 );
7052 #[repr(transparent)]
7053 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7054 pub struct IWorkspaceRegistration2(::windows::runtime::IUnknown);
7055 impl IWorkspaceRegistration2 {
AddResource<'a, Param0: ::windows::runtime::IntoParam<'a, IWorkspaceClientExt>>(&self, punk: Param0) -> ::windows::runtime::Result<u32>7056     pub unsafe fn AddResource<'a, Param0: ::windows::runtime::IntoParam<'a, IWorkspaceClientExt>>(&self, punk: Param0) -> ::windows::runtime::Result<u32> {
7057         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7058         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), punk.into_param().abi(), &mut result__).from_abi::<u32>(result__)
7059     }
RemoveResource(&self, dwcookieconnection: u32) -> ::windows::runtime::Result<()>7060     pub unsafe fn RemoveResource(&self, dwcookieconnection: u32) -> ::windows::runtime::Result<()> {
7061         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcookieconnection)).ok()
7062     }
7063     #[cfg(feature = "Win32_Foundation")]
AddResourceEx<'a, Param0: ::windows::runtime::IntoParam<'a, IWorkspaceClientExt>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, punk: Param0, bstreventloguploadaddress: Param1, pdwcookie: *mut u32, correlationid: Param3) -> ::windows::runtime::Result<()>7064     pub unsafe fn AddResourceEx<'a, Param0: ::windows::runtime::IntoParam<'a, IWorkspaceClientExt>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, punk: Param0, bstreventloguploadaddress: Param1, pdwcookie: *mut u32, correlationid: Param3) -> ::windows::runtime::Result<()> {
7065         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), punk.into_param().abi(), bstreventloguploadaddress.into_param().abi(), ::std::mem::transmute(pdwcookie), correlationid.into_param().abi()).ok()
7066     }
RemoveResourceEx<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, dwcookieconnection: u32, correlationid: Param1) -> ::windows::runtime::Result<()>7067     pub unsafe fn RemoveResourceEx<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, dwcookieconnection: u32, correlationid: Param1) -> ::windows::runtime::Result<()> {
7068         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcookieconnection), correlationid.into_param().abi()).ok()
7069     }
7070 }
7071 unsafe impl ::windows::runtime::Interface for IWorkspaceRegistration2 {
7072     type Vtable = IWorkspaceRegistration2_abi;
7073     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3478779476, 14779, 17624, [148, 208, 70, 53, 114, 137, 87, 233]);
7074 }
7075 impl ::std::convert::From<IWorkspaceRegistration2> for ::windows::runtime::IUnknown {
from(value: IWorkspaceRegistration2) -> Self7076     fn from(value: IWorkspaceRegistration2) -> Self {
7077         unsafe { ::std::mem::transmute(value) }
7078     }
7079 }
7080 impl ::std::convert::From<&IWorkspaceRegistration2> for ::windows::runtime::IUnknown {
from(value: &IWorkspaceRegistration2) -> Self7081     fn from(value: &IWorkspaceRegistration2) -> Self {
7082         ::std::convert::From::from(::std::clone::Clone::clone(value))
7083     }
7084 }
7085 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWorkspaceRegistration2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7086     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7087         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7088     }
7089 }
7090 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWorkspaceRegistration2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7091     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7092         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7093     }
7094 }
7095 impl ::std::convert::From<IWorkspaceRegistration2> for IWorkspaceRegistration {
from(value: IWorkspaceRegistration2) -> Self7096     fn from(value: IWorkspaceRegistration2) -> Self {
7097         unsafe { ::std::mem::transmute(value) }
7098     }
7099 }
7100 impl ::std::convert::From<&IWorkspaceRegistration2> for IWorkspaceRegistration {
from(value: &IWorkspaceRegistration2) -> Self7101     fn from(value: &IWorkspaceRegistration2) -> Self {
7102         ::std::convert::From::from(::std::clone::Clone::clone(value))
7103     }
7104 }
7105 impl<'a> ::windows::runtime::IntoParam<'a, IWorkspaceRegistration> for IWorkspaceRegistration2 {
into_param(self) -> ::windows::runtime::Param<'a, IWorkspaceRegistration>7106     fn into_param(self) -> ::windows::runtime::Param<'a, IWorkspaceRegistration> {
7107         ::windows::runtime::Param::Owned(::std::convert::Into::<IWorkspaceRegistration>::into(self))
7108     }
7109 }
7110 impl<'a> ::windows::runtime::IntoParam<'a, IWorkspaceRegistration> for &IWorkspaceRegistration2 {
into_param(self) -> ::windows::runtime::Param<'a, IWorkspaceRegistration>7111     fn into_param(self) -> ::windows::runtime::Param<'a, IWorkspaceRegistration> {
7112         ::windows::runtime::Param::Owned(::std::convert::Into::<IWorkspaceRegistration>::into(::std::clone::Clone::clone(self)))
7113     }
7114 }
7115 #[repr(C)]
7116 #[doc(hidden)]
7117 pub struct IWorkspaceRegistration2_abi(
7118     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7119     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7120     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7121     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, punk: ::windows::runtime::RawPtr, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
7122     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcookieconnection: u32) -> ::windows::runtime::HRESULT,
7123     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, punk: ::windows::runtime::RawPtr, bstreventloguploadaddress: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pdwcookie: *mut u32, correlationid: ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
7124     #[cfg(not(feature = "Win32_Foundation"))] usize,
7125     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcookieconnection: u32, correlationid: ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
7126 );
7127 #[repr(transparent)]
7128 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7129 pub struct IWorkspaceReportMessage(::windows::runtime::IUnknown);
7130 impl IWorkspaceReportMessage {
7131     #[cfg(feature = "Win32_Foundation")]
RegisterErrorLogMessage<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrmessage: Param0) -> ::windows::runtime::Result<()>7132     pub unsafe fn RegisterErrorLogMessage<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrmessage: Param0) -> ::windows::runtime::Result<()> {
7133         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), bstrmessage.into_param().abi()).ok()
7134     }
7135     #[cfg(feature = "Win32_Foundation")]
IsErrorMessageRegistered<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrwkspid: Param0, dwerrortype: u32, bstrerrormessagetype: Param2, dwerrorcode: u32) -> ::windows::runtime::Result<i16>7136     pub unsafe fn IsErrorMessageRegistered<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrwkspid: Param0, dwerrortype: u32, bstrerrormessagetype: Param2, dwerrorcode: u32) -> ::windows::runtime::Result<i16> {
7137         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7138         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), bstrwkspid.into_param().abi(), ::std::mem::transmute(dwerrortype), bstrerrormessagetype.into_param().abi(), ::std::mem::transmute(dwerrorcode), &mut result__).from_abi::<i16>(result__)
7139     }
7140     #[cfg(feature = "Win32_Foundation")]
RegisterErrorEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrwkspid: Param0, dwerrortype: u32, bstrerrormessagetype: Param2, dwerrorcode: u32) -> ::windows::runtime::Result<()>7141     pub unsafe fn RegisterErrorEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrwkspid: Param0, dwerrortype: u32, bstrerrormessagetype: Param2, dwerrorcode: u32) -> ::windows::runtime::Result<()> {
7142         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), bstrwkspid.into_param().abi(), ::std::mem::transmute(dwerrortype), bstrerrormessagetype.into_param().abi(), ::std::mem::transmute(dwerrorcode)).ok()
7143     }
7144 }
7145 unsafe impl ::windows::runtime::Interface for IWorkspaceReportMessage {
7146     type Vtable = IWorkspaceReportMessage_abi;
7147     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2814404409, 20495, 20108, [153, 168, 43, 214, 149, 88, 153, 235]);
7148 }
7149 impl ::std::convert::From<IWorkspaceReportMessage> for ::windows::runtime::IUnknown {
from(value: IWorkspaceReportMessage) -> Self7150     fn from(value: IWorkspaceReportMessage) -> Self {
7151         unsafe { ::std::mem::transmute(value) }
7152     }
7153 }
7154 impl ::std::convert::From<&IWorkspaceReportMessage> for ::windows::runtime::IUnknown {
from(value: &IWorkspaceReportMessage) -> Self7155     fn from(value: &IWorkspaceReportMessage) -> Self {
7156         ::std::convert::From::from(::std::clone::Clone::clone(value))
7157     }
7158 }
7159 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWorkspaceReportMessage {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7160     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7161         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7162     }
7163 }
7164 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWorkspaceReportMessage {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7165     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7166         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7167     }
7168 }
7169 #[repr(C)]
7170 #[doc(hidden)]
7171 pub struct IWorkspaceReportMessage_abi(
7172     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7173     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7174     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7175     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrmessage: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7176     #[cfg(not(feature = "Win32_Foundation"))] usize,
7177     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrwkspid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, dwerrortype: u32, bstrerrormessagetype: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, dwerrorcode: u32, pferrorexist: *mut i16) -> ::windows::runtime::HRESULT,
7178     #[cfg(not(feature = "Win32_Foundation"))] usize,
7179     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrwkspid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, dwerrortype: u32, bstrerrormessagetype: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, dwerrorcode: u32) -> ::windows::runtime::HRESULT,
7180     #[cfg(not(feature = "Win32_Foundation"))] usize,
7181 );
7182 #[repr(transparent)]
7183 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7184 pub struct IWorkspaceResTypeRegistry(::windows::runtime::IUnknown);
7185 impl IWorkspaceResTypeRegistry {
7186     #[cfg(feature = "Win32_Foundation")]
AddResourceType<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, fmachinewide: i16, bstrfileextension: Param1, bstrlauncher: Param2) -> ::windows::runtime::Result<()>7187     pub unsafe fn AddResourceType<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, fmachinewide: i16, bstrfileextension: Param1, bstrlauncher: Param2) -> ::windows::runtime::Result<()> {
7188         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(fmachinewide), bstrfileextension.into_param().abi(), bstrlauncher.into_param().abi()).ok()
7189     }
7190     #[cfg(feature = "Win32_Foundation")]
DeleteResourceType<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, fmachinewide: i16, bstrfileextension: Param1) -> ::windows::runtime::Result<()>7191     pub unsafe fn DeleteResourceType<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, fmachinewide: i16, bstrfileextension: Param1) -> ::windows::runtime::Result<()> {
7192         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(fmachinewide), bstrfileextension.into_param().abi()).ok()
7193     }
7194     #[cfg(feature = "Win32_System_Com")]
GetRegisteredFileExtensions(&self, fmachinewide: i16) -> ::windows::runtime::Result<*mut super::Com::SAFEARRAY>7195     pub unsafe fn GetRegisteredFileExtensions(&self, fmachinewide: i16) -> ::windows::runtime::Result<*mut super::Com::SAFEARRAY> {
7196         let mut result__: <*mut super::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7197         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(fmachinewide), &mut result__).from_abi::<*mut super::Com::SAFEARRAY>(result__)
7198     }
7199     #[cfg(feature = "Win32_Foundation")]
GetResourceTypeInfo<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, fmachinewide: i16, bstrfileextension: Param1) -> ::windows::runtime::Result<super::super::Foundation::BSTR>7200     pub unsafe fn GetResourceTypeInfo<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, fmachinewide: i16, bstrfileextension: Param1) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7201         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7202         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(fmachinewide), bstrfileextension.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7203     }
7204     #[cfg(feature = "Win32_Foundation")]
ModifyResourceType<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, fmachinewide: i16, bstrfileextension: Param1, bstrlauncher: Param2) -> ::windows::runtime::Result<()>7205     pub unsafe fn ModifyResourceType<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, fmachinewide: i16, bstrfileextension: Param1, bstrlauncher: Param2) -> ::windows::runtime::Result<()> {
7206         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(fmachinewide), bstrfileextension.into_param().abi(), bstrlauncher.into_param().abi()).ok()
7207     }
7208 }
7209 unsafe impl ::windows::runtime::Interface for IWorkspaceResTypeRegistry {
7210     type Vtable = IWorkspaceResTypeRegistry_abi;
7211     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(490900601, 28206, 17233, [163, 97, 192, 64, 26, 3, 160, 186]);
7212 }
7213 impl ::std::convert::From<IWorkspaceResTypeRegistry> for ::windows::runtime::IUnknown {
from(value: IWorkspaceResTypeRegistry) -> Self7214     fn from(value: IWorkspaceResTypeRegistry) -> Self {
7215         unsafe { ::std::mem::transmute(value) }
7216     }
7217 }
7218 impl ::std::convert::From<&IWorkspaceResTypeRegistry> for ::windows::runtime::IUnknown {
from(value: &IWorkspaceResTypeRegistry) -> Self7219     fn from(value: &IWorkspaceResTypeRegistry) -> Self {
7220         ::std::convert::From::from(::std::clone::Clone::clone(value))
7221     }
7222 }
7223 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWorkspaceResTypeRegistry {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7224     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7225         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7226     }
7227 }
7228 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWorkspaceResTypeRegistry {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7229     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7230         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7231     }
7232 }
7233 #[cfg(feature = "Win32_System_Ole_Automation")]
7234 impl ::std::convert::From<IWorkspaceResTypeRegistry> for super::Ole::Automation::IDispatch {
from(value: IWorkspaceResTypeRegistry) -> Self7235     fn from(value: IWorkspaceResTypeRegistry) -> Self {
7236         unsafe { ::std::mem::transmute(value) }
7237     }
7238 }
7239 #[cfg(feature = "Win32_System_Ole_Automation")]
7240 impl ::std::convert::From<&IWorkspaceResTypeRegistry> for super::Ole::Automation::IDispatch {
from(value: &IWorkspaceResTypeRegistry) -> Self7241     fn from(value: &IWorkspaceResTypeRegistry) -> Self {
7242         ::std::convert::From::from(::std::clone::Clone::clone(value))
7243     }
7244 }
7245 #[cfg(feature = "Win32_System_Ole_Automation")]
7246 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch> for IWorkspaceResTypeRegistry {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch>7247     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch> {
7248         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IDispatch>::into(self))
7249     }
7250 }
7251 #[cfg(feature = "Win32_System_Ole_Automation")]
7252 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch> for &IWorkspaceResTypeRegistry {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch>7253     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch> {
7254         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7255     }
7256 }
7257 #[repr(C)]
7258 #[doc(hidden)]
7259 pub struct IWorkspaceResTypeRegistry_abi(
7260     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7261     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7262     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7263     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7264     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7265     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7266     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
7267     #[cfg(not(feature = "Win32_Foundation"))] usize,
7268     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7269     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
7270     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7271     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fmachinewide: i16, bstrfileextension: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, bstrlauncher: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7272     #[cfg(not(feature = "Win32_Foundation"))] usize,
7273     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fmachinewide: i16, bstrfileextension: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7274     #[cfg(not(feature = "Win32_Foundation"))] usize,
7275     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fmachinewide: i16, psafileextensions: *mut *mut super::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
7276     #[cfg(not(feature = "Win32_System_Com"))] usize,
7277     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fmachinewide: i16, bstrfileextension: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pbstrlauncher: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7278     #[cfg(not(feature = "Win32_Foundation"))] usize,
7279     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fmachinewide: i16, bstrfileextension: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, bstrlauncher: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7280     #[cfg(not(feature = "Win32_Foundation"))] usize,
7281 );
7282 #[repr(transparent)]
7283 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7284 pub struct IWorkspaceScriptable(::windows::runtime::IUnknown);
7285 impl IWorkspaceScriptable {
7286     #[cfg(feature = "Win32_Foundation")]
DisconnectWorkspace<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0) -> ::windows::runtime::Result<()>7287     pub unsafe fn DisconnectWorkspace<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0) -> ::windows::runtime::Result<()> {
7288         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), bstrworkspaceid.into_param().abi()).ok()
7289     }
7290     #[cfg(feature = "Win32_Foundation")]
StartWorkspace<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>( &self, bstrworkspaceid: Param0, bstrusername: Param1, bstrpassword: Param2, bstrworkspaceparams: Param3, ltimeout: i32, lflags: i32, ) -> ::windows::runtime::Result<()>7291     pub unsafe fn StartWorkspace<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(
7292         &self,
7293         bstrworkspaceid: Param0,
7294         bstrusername: Param1,
7295         bstrpassword: Param2,
7296         bstrworkspaceparams: Param3,
7297         ltimeout: i32,
7298         lflags: i32,
7299     ) -> ::windows::runtime::Result<()> {
7300         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), bstrworkspaceid.into_param().abi(), bstrusername.into_param().abi(), bstrpassword.into_param().abi(), bstrworkspaceparams.into_param().abi(), ::std::mem::transmute(ltimeout), ::std::mem::transmute(lflags)).ok()
7301     }
7302     #[cfg(feature = "Win32_Foundation")]
IsWorkspaceCredentialSpecified<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0, bcountunauthenticatedcredentials: i16) -> ::windows::runtime::Result<i16>7303     pub unsafe fn IsWorkspaceCredentialSpecified<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0, bcountunauthenticatedcredentials: i16) -> ::windows::runtime::Result<i16> {
7304         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7305         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), bstrworkspaceid.into_param().abi(), ::std::mem::transmute(bcountunauthenticatedcredentials), &mut result__).from_abi::<i16>(result__)
7306     }
IsWorkspaceSSOEnabled(&self) -> ::windows::runtime::Result<i16>7307     pub unsafe fn IsWorkspaceSSOEnabled(&self) -> ::windows::runtime::Result<i16> {
7308         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7309         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
7310     }
7311     #[cfg(feature = "Win32_Foundation")]
ClearWorkspaceCredential<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0) -> ::windows::runtime::Result<()>7312     pub unsafe fn ClearWorkspaceCredential<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0) -> ::windows::runtime::Result<()> {
7313         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), bstrworkspaceid.into_param().abi()).ok()
7314     }
7315     #[cfg(feature = "Win32_Foundation")]
OnAuthenticated<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0, bstrusername: Param1) -> ::windows::runtime::Result<()>7316     pub unsafe fn OnAuthenticated<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0, bstrusername: Param1) -> ::windows::runtime::Result<()> {
7317         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), bstrworkspaceid.into_param().abi(), bstrusername.into_param().abi()).ok()
7318     }
7319     #[cfg(feature = "Win32_Foundation")]
DisconnectWorkspaceByFriendlyName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspacefriendlyname: Param0) -> ::windows::runtime::Result<()>7320     pub unsafe fn DisconnectWorkspaceByFriendlyName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspacefriendlyname: Param0) -> ::windows::runtime::Result<()> {
7321         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), bstrworkspacefriendlyname.into_param().abi()).ok()
7322     }
7323 }
7324 unsafe impl ::windows::runtime::Interface for IWorkspaceScriptable {
7325     type Vtable = IWorkspaceScriptable_abi;
7326     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4025108898, 56741, 17053, [143, 66, 178, 59, 146, 196, 195, 71]);
7327 }
7328 impl ::std::convert::From<IWorkspaceScriptable> for ::windows::runtime::IUnknown {
from(value: IWorkspaceScriptable) -> Self7329     fn from(value: IWorkspaceScriptable) -> Self {
7330         unsafe { ::std::mem::transmute(value) }
7331     }
7332 }
7333 impl ::std::convert::From<&IWorkspaceScriptable> for ::windows::runtime::IUnknown {
from(value: &IWorkspaceScriptable) -> Self7334     fn from(value: &IWorkspaceScriptable) -> Self {
7335         ::std::convert::From::from(::std::clone::Clone::clone(value))
7336     }
7337 }
7338 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWorkspaceScriptable {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7339     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7340         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7341     }
7342 }
7343 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWorkspaceScriptable {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7344     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7345         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7346     }
7347 }
7348 #[cfg(feature = "Win32_System_Ole_Automation")]
7349 impl ::std::convert::From<IWorkspaceScriptable> for super::Ole::Automation::IDispatch {
from(value: IWorkspaceScriptable) -> Self7350     fn from(value: IWorkspaceScriptable) -> Self {
7351         unsafe { ::std::mem::transmute(value) }
7352     }
7353 }
7354 #[cfg(feature = "Win32_System_Ole_Automation")]
7355 impl ::std::convert::From<&IWorkspaceScriptable> for super::Ole::Automation::IDispatch {
from(value: &IWorkspaceScriptable) -> Self7356     fn from(value: &IWorkspaceScriptable) -> Self {
7357         ::std::convert::From::from(::std::clone::Clone::clone(value))
7358     }
7359 }
7360 #[cfg(feature = "Win32_System_Ole_Automation")]
7361 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch> for IWorkspaceScriptable {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch>7362     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch> {
7363         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IDispatch>::into(self))
7364     }
7365 }
7366 #[cfg(feature = "Win32_System_Ole_Automation")]
7367 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch> for &IWorkspaceScriptable {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch>7368     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch> {
7369         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7370     }
7371 }
7372 #[repr(C)]
7373 #[doc(hidden)]
7374 pub struct IWorkspaceScriptable_abi(
7375     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7376     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7377     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7378     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7379     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7380     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7381     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
7382     #[cfg(not(feature = "Win32_Foundation"))] usize,
7383     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7384     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
7385     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7386     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrworkspaceid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7387     #[cfg(not(feature = "Win32_Foundation"))] usize,
7388     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrworkspaceid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, bstrusername: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, bstrpassword: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, bstrworkspaceparams: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, ltimeout: i32, lflags: i32) -> ::windows::runtime::HRESULT,
7389     #[cfg(not(feature = "Win32_Foundation"))] usize,
7390     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrworkspaceid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, bcountunauthenticatedcredentials: i16, pbcredexist: *mut i16) -> ::windows::runtime::HRESULT,
7391     #[cfg(not(feature = "Win32_Foundation"))] usize,
7392     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbssoenabled: *mut i16) -> ::windows::runtime::HRESULT,
7393     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrworkspaceid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7394     #[cfg(not(feature = "Win32_Foundation"))] usize,
7395     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrworkspaceid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, bstrusername: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7396     #[cfg(not(feature = "Win32_Foundation"))] usize,
7397     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrworkspacefriendlyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7398     #[cfg(not(feature = "Win32_Foundation"))] usize,
7399 );
7400 #[repr(transparent)]
7401 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7402 pub struct IWorkspaceScriptable2(::windows::runtime::IUnknown);
7403 impl IWorkspaceScriptable2 {
GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32>7404     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
7405         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7406         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
7407     }
7408     #[cfg(feature = "Win32_System_Ole_Automation")]
GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::Ole::Automation::ITypeInfo>7409     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::Ole::Automation::ITypeInfo> {
7410         let mut result__: <super::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7411         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::Ole::Automation::ITypeInfo>(result__)
7412     }
7413     #[cfg(feature = "Win32_Foundation")]
GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()>7414     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
7415         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
7416     }
7417     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::Ole::Automation::DISPPARAMS, pvarresult: *mut super::Com::VARIANT, pexcepinfo: *mut super::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()>7418     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::Ole::Automation::DISPPARAMS, pvarresult: *mut super::Com::VARIANT, pexcepinfo: *mut super::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
7419         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
7420     }
7421     #[cfg(feature = "Win32_Foundation")]
DisconnectWorkspace<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0) -> ::windows::runtime::Result<()>7422     pub unsafe fn DisconnectWorkspace<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0) -> ::windows::runtime::Result<()> {
7423         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), bstrworkspaceid.into_param().abi()).ok()
7424     }
7425     #[cfg(feature = "Win32_Foundation")]
StartWorkspace<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>( &self, bstrworkspaceid: Param0, bstrusername: Param1, bstrpassword: Param2, bstrworkspaceparams: Param3, ltimeout: i32, lflags: i32, ) -> ::windows::runtime::Result<()>7426     pub unsafe fn StartWorkspace<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(
7427         &self,
7428         bstrworkspaceid: Param0,
7429         bstrusername: Param1,
7430         bstrpassword: Param2,
7431         bstrworkspaceparams: Param3,
7432         ltimeout: i32,
7433         lflags: i32,
7434     ) -> ::windows::runtime::Result<()> {
7435         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), bstrworkspaceid.into_param().abi(), bstrusername.into_param().abi(), bstrpassword.into_param().abi(), bstrworkspaceparams.into_param().abi(), ::std::mem::transmute(ltimeout), ::std::mem::transmute(lflags)).ok()
7436     }
7437     #[cfg(feature = "Win32_Foundation")]
IsWorkspaceCredentialSpecified<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0, bcountunauthenticatedcredentials: i16) -> ::windows::runtime::Result<i16>7438     pub unsafe fn IsWorkspaceCredentialSpecified<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0, bcountunauthenticatedcredentials: i16) -> ::windows::runtime::Result<i16> {
7439         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7440         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), bstrworkspaceid.into_param().abi(), ::std::mem::transmute(bcountunauthenticatedcredentials), &mut result__).from_abi::<i16>(result__)
7441     }
IsWorkspaceSSOEnabled(&self) -> ::windows::runtime::Result<i16>7442     pub unsafe fn IsWorkspaceSSOEnabled(&self) -> ::windows::runtime::Result<i16> {
7443         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7444         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
7445     }
7446     #[cfg(feature = "Win32_Foundation")]
ClearWorkspaceCredential<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0) -> ::windows::runtime::Result<()>7447     pub unsafe fn ClearWorkspaceCredential<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0) -> ::windows::runtime::Result<()> {
7448         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), bstrworkspaceid.into_param().abi()).ok()
7449     }
7450     #[cfg(feature = "Win32_Foundation")]
OnAuthenticated<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0, bstrusername: Param1) -> ::windows::runtime::Result<()>7451     pub unsafe fn OnAuthenticated<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0, bstrusername: Param1) -> ::windows::runtime::Result<()> {
7452         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), bstrworkspaceid.into_param().abi(), bstrusername.into_param().abi()).ok()
7453     }
7454     #[cfg(feature = "Win32_Foundation")]
DisconnectWorkspaceByFriendlyName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspacefriendlyname: Param0) -> ::windows::runtime::Result<()>7455     pub unsafe fn DisconnectWorkspaceByFriendlyName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspacefriendlyname: Param0) -> ::windows::runtime::Result<()> {
7456         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), bstrworkspacefriendlyname.into_param().abi()).ok()
7457     }
7458     #[cfg(feature = "Win32_Foundation")]
StartWorkspaceEx< 'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param5: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param6: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, >( &self, bstrworkspaceid: Param0, bstrworkspacefriendlyname: Param1, bstrredirectorname: Param2, bstrusername: Param3, bstrpassword: Param4, bstrappcontainer: Param5, bstrworkspaceparams: Param6, ltimeout: i32, lflags: i32, ) -> ::windows::runtime::Result<()>7459     pub unsafe fn StartWorkspaceEx<
7460         'a,
7461         Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>,
7462         Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>,
7463         Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>,
7464         Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>,
7465         Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>,
7466         Param5: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>,
7467         Param6: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>,
7468     >(
7469         &self,
7470         bstrworkspaceid: Param0,
7471         bstrworkspacefriendlyname: Param1,
7472         bstrredirectorname: Param2,
7473         bstrusername: Param3,
7474         bstrpassword: Param4,
7475         bstrappcontainer: Param5,
7476         bstrworkspaceparams: Param6,
7477         ltimeout: i32,
7478         lflags: i32,
7479     ) -> ::windows::runtime::Result<()> {
7480         (::windows::runtime::Interface::vtable(self).14)(
7481             ::std::mem::transmute_copy(self),
7482             bstrworkspaceid.into_param().abi(),
7483             bstrworkspacefriendlyname.into_param().abi(),
7484             bstrredirectorname.into_param().abi(),
7485             bstrusername.into_param().abi(),
7486             bstrpassword.into_param().abi(),
7487             bstrappcontainer.into_param().abi(),
7488             bstrworkspaceparams.into_param().abi(),
7489             ::std::mem::transmute(ltimeout),
7490             ::std::mem::transmute(lflags),
7491         )
7492         .ok()
7493     }
7494     #[cfg(feature = "Win32_Foundation")]
ResourceDismissed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0, bstrworkspacefriendlyname: Param1) -> ::windows::runtime::Result<()>7495     pub unsafe fn ResourceDismissed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0, bstrworkspacefriendlyname: Param1) -> ::windows::runtime::Result<()> {
7496         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), bstrworkspaceid.into_param().abi(), bstrworkspacefriendlyname.into_param().abi()).ok()
7497     }
7498 }
7499 unsafe impl ::windows::runtime::Interface for IWorkspaceScriptable2 {
7500     type Vtable = IWorkspaceScriptable2_abi;
7501     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4025108898, 56741, 17053, [143, 66, 179, 59, 162, 196, 195, 72]);
7502 }
7503 impl ::std::convert::From<IWorkspaceScriptable2> for ::windows::runtime::IUnknown {
from(value: IWorkspaceScriptable2) -> Self7504     fn from(value: IWorkspaceScriptable2) -> Self {
7505         unsafe { ::std::mem::transmute(value) }
7506     }
7507 }
7508 impl ::std::convert::From<&IWorkspaceScriptable2> for ::windows::runtime::IUnknown {
from(value: &IWorkspaceScriptable2) -> Self7509     fn from(value: &IWorkspaceScriptable2) -> Self {
7510         ::std::convert::From::from(::std::clone::Clone::clone(value))
7511     }
7512 }
7513 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWorkspaceScriptable2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7514     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7515         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7516     }
7517 }
7518 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWorkspaceScriptable2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7519     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7520         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7521     }
7522 }
7523 impl ::std::convert::From<IWorkspaceScriptable2> for IWorkspaceScriptable {
from(value: IWorkspaceScriptable2) -> Self7524     fn from(value: IWorkspaceScriptable2) -> Self {
7525         unsafe { ::std::mem::transmute(value) }
7526     }
7527 }
7528 impl ::std::convert::From<&IWorkspaceScriptable2> for IWorkspaceScriptable {
from(value: &IWorkspaceScriptable2) -> Self7529     fn from(value: &IWorkspaceScriptable2) -> Self {
7530         ::std::convert::From::from(::std::clone::Clone::clone(value))
7531     }
7532 }
7533 impl<'a> ::windows::runtime::IntoParam<'a, IWorkspaceScriptable> for IWorkspaceScriptable2 {
into_param(self) -> ::windows::runtime::Param<'a, IWorkspaceScriptable>7534     fn into_param(self) -> ::windows::runtime::Param<'a, IWorkspaceScriptable> {
7535         ::windows::runtime::Param::Owned(::std::convert::Into::<IWorkspaceScriptable>::into(self))
7536     }
7537 }
7538 impl<'a> ::windows::runtime::IntoParam<'a, IWorkspaceScriptable> for &IWorkspaceScriptable2 {
into_param(self) -> ::windows::runtime::Param<'a, IWorkspaceScriptable>7539     fn into_param(self) -> ::windows::runtime::Param<'a, IWorkspaceScriptable> {
7540         ::windows::runtime::Param::Owned(::std::convert::Into::<IWorkspaceScriptable>::into(::std::clone::Clone::clone(self)))
7541     }
7542 }
7543 #[cfg(feature = "Win32_System_Ole_Automation")]
7544 impl ::std::convert::From<IWorkspaceScriptable2> for super::Ole::Automation::IDispatch {
from(value: IWorkspaceScriptable2) -> Self7545     fn from(value: IWorkspaceScriptable2) -> Self {
7546         unsafe { ::std::mem::transmute(value) }
7547     }
7548 }
7549 #[cfg(feature = "Win32_System_Ole_Automation")]
7550 impl ::std::convert::From<&IWorkspaceScriptable2> for super::Ole::Automation::IDispatch {
from(value: &IWorkspaceScriptable2) -> Self7551     fn from(value: &IWorkspaceScriptable2) -> Self {
7552         ::std::convert::From::from(::std::clone::Clone::clone(value))
7553     }
7554 }
7555 #[cfg(feature = "Win32_System_Ole_Automation")]
7556 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch> for IWorkspaceScriptable2 {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch>7557     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch> {
7558         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IDispatch>::into(self))
7559     }
7560 }
7561 #[cfg(feature = "Win32_System_Ole_Automation")]
7562 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch> for &IWorkspaceScriptable2 {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch>7563     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch> {
7564         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7565     }
7566 }
7567 #[repr(C)]
7568 #[doc(hidden)]
7569 pub struct IWorkspaceScriptable2_abi(
7570     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7571     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7572     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7573     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7574     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7575     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7576     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
7577     #[cfg(not(feature = "Win32_Foundation"))] usize,
7578     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7579     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
7580     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7581     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrworkspaceid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7582     #[cfg(not(feature = "Win32_Foundation"))] usize,
7583     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrworkspaceid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, bstrusername: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, bstrpassword: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, bstrworkspaceparams: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, ltimeout: i32, lflags: i32) -> ::windows::runtime::HRESULT,
7584     #[cfg(not(feature = "Win32_Foundation"))] usize,
7585     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrworkspaceid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, bcountunauthenticatedcredentials: i16, pbcredexist: *mut i16) -> ::windows::runtime::HRESULT,
7586     #[cfg(not(feature = "Win32_Foundation"))] usize,
7587     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbssoenabled: *mut i16) -> ::windows::runtime::HRESULT,
7588     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrworkspaceid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7589     #[cfg(not(feature = "Win32_Foundation"))] usize,
7590     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrworkspaceid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, bstrusername: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7591     #[cfg(not(feature = "Win32_Foundation"))] usize,
7592     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrworkspacefriendlyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7593     #[cfg(not(feature = "Win32_Foundation"))] usize,
7594     #[cfg(feature = "Win32_Foundation")]
7595     pub  unsafe extern "system" fn(
7596         this: ::windows::runtime::RawPtr,
7597         bstrworkspaceid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
7598         bstrworkspacefriendlyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
7599         bstrredirectorname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
7600         bstrusername: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
7601         bstrpassword: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
7602         bstrappcontainer: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
7603         bstrworkspaceparams: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
7604         ltimeout: i32,
7605         lflags: i32,
7606     ) -> ::windows::runtime::HRESULT,
7607     #[cfg(not(feature = "Win32_Foundation"))] usize,
7608     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrworkspaceid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, bstrworkspacefriendlyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7609     #[cfg(not(feature = "Win32_Foundation"))] usize,
7610 );
7611 #[repr(transparent)]
7612 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7613 pub struct IWorkspaceScriptable3(::windows::runtime::IUnknown);
7614 impl IWorkspaceScriptable3 {
GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32>7615     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
7616         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7617         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
7618     }
7619     #[cfg(feature = "Win32_System_Ole_Automation")]
GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::Ole::Automation::ITypeInfo>7620     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::Ole::Automation::ITypeInfo> {
7621         let mut result__: <super::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7622         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::Ole::Automation::ITypeInfo>(result__)
7623     }
7624     #[cfg(feature = "Win32_Foundation")]
GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()>7625     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
7626         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
7627     }
7628     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::Ole::Automation::DISPPARAMS, pvarresult: *mut super::Com::VARIANT, pexcepinfo: *mut super::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()>7629     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::Ole::Automation::DISPPARAMS, pvarresult: *mut super::Com::VARIANT, pexcepinfo: *mut super::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
7630         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
7631     }
7632     #[cfg(feature = "Win32_Foundation")]
DisconnectWorkspace<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0) -> ::windows::runtime::Result<()>7633     pub unsafe fn DisconnectWorkspace<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0) -> ::windows::runtime::Result<()> {
7634         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), bstrworkspaceid.into_param().abi()).ok()
7635     }
7636     #[cfg(feature = "Win32_Foundation")]
StartWorkspace<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>( &self, bstrworkspaceid: Param0, bstrusername: Param1, bstrpassword: Param2, bstrworkspaceparams: Param3, ltimeout: i32, lflags: i32, ) -> ::windows::runtime::Result<()>7637     pub unsafe fn StartWorkspace<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(
7638         &self,
7639         bstrworkspaceid: Param0,
7640         bstrusername: Param1,
7641         bstrpassword: Param2,
7642         bstrworkspaceparams: Param3,
7643         ltimeout: i32,
7644         lflags: i32,
7645     ) -> ::windows::runtime::Result<()> {
7646         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), bstrworkspaceid.into_param().abi(), bstrusername.into_param().abi(), bstrpassword.into_param().abi(), bstrworkspaceparams.into_param().abi(), ::std::mem::transmute(ltimeout), ::std::mem::transmute(lflags)).ok()
7647     }
7648     #[cfg(feature = "Win32_Foundation")]
IsWorkspaceCredentialSpecified<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0, bcountunauthenticatedcredentials: i16) -> ::windows::runtime::Result<i16>7649     pub unsafe fn IsWorkspaceCredentialSpecified<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0, bcountunauthenticatedcredentials: i16) -> ::windows::runtime::Result<i16> {
7650         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7651         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), bstrworkspaceid.into_param().abi(), ::std::mem::transmute(bcountunauthenticatedcredentials), &mut result__).from_abi::<i16>(result__)
7652     }
IsWorkspaceSSOEnabled(&self) -> ::windows::runtime::Result<i16>7653     pub unsafe fn IsWorkspaceSSOEnabled(&self) -> ::windows::runtime::Result<i16> {
7654         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7655         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
7656     }
7657     #[cfg(feature = "Win32_Foundation")]
ClearWorkspaceCredential<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0) -> ::windows::runtime::Result<()>7658     pub unsafe fn ClearWorkspaceCredential<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0) -> ::windows::runtime::Result<()> {
7659         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), bstrworkspaceid.into_param().abi()).ok()
7660     }
7661     #[cfg(feature = "Win32_Foundation")]
OnAuthenticated<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0, bstrusername: Param1) -> ::windows::runtime::Result<()>7662     pub unsafe fn OnAuthenticated<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0, bstrusername: Param1) -> ::windows::runtime::Result<()> {
7663         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), bstrworkspaceid.into_param().abi(), bstrusername.into_param().abi()).ok()
7664     }
7665     #[cfg(feature = "Win32_Foundation")]
DisconnectWorkspaceByFriendlyName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspacefriendlyname: Param0) -> ::windows::runtime::Result<()>7666     pub unsafe fn DisconnectWorkspaceByFriendlyName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspacefriendlyname: Param0) -> ::windows::runtime::Result<()> {
7667         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), bstrworkspacefriendlyname.into_param().abi()).ok()
7668     }
7669     #[cfg(feature = "Win32_Foundation")]
StartWorkspaceEx< 'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param5: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param6: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, >( &self, bstrworkspaceid: Param0, bstrworkspacefriendlyname: Param1, bstrredirectorname: Param2, bstrusername: Param3, bstrpassword: Param4, bstrappcontainer: Param5, bstrworkspaceparams: Param6, ltimeout: i32, lflags: i32, ) -> ::windows::runtime::Result<()>7670     pub unsafe fn StartWorkspaceEx<
7671         'a,
7672         Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>,
7673         Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>,
7674         Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>,
7675         Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>,
7676         Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>,
7677         Param5: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>,
7678         Param6: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>,
7679     >(
7680         &self,
7681         bstrworkspaceid: Param0,
7682         bstrworkspacefriendlyname: Param1,
7683         bstrredirectorname: Param2,
7684         bstrusername: Param3,
7685         bstrpassword: Param4,
7686         bstrappcontainer: Param5,
7687         bstrworkspaceparams: Param6,
7688         ltimeout: i32,
7689         lflags: i32,
7690     ) -> ::windows::runtime::Result<()> {
7691         (::windows::runtime::Interface::vtable(self).14)(
7692             ::std::mem::transmute_copy(self),
7693             bstrworkspaceid.into_param().abi(),
7694             bstrworkspacefriendlyname.into_param().abi(),
7695             bstrredirectorname.into_param().abi(),
7696             bstrusername.into_param().abi(),
7697             bstrpassword.into_param().abi(),
7698             bstrappcontainer.into_param().abi(),
7699             bstrworkspaceparams.into_param().abi(),
7700             ::std::mem::transmute(ltimeout),
7701             ::std::mem::transmute(lflags),
7702         )
7703         .ok()
7704     }
7705     #[cfg(feature = "Win32_Foundation")]
ResourceDismissed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0, bstrworkspacefriendlyname: Param1) -> ::windows::runtime::Result<()>7706     pub unsafe fn ResourceDismissed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, bstrworkspaceid: Param0, bstrworkspacefriendlyname: Param1) -> ::windows::runtime::Result<()> {
7707         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), bstrworkspaceid.into_param().abi(), bstrworkspacefriendlyname.into_param().abi()).ok()
7708     }
7709     #[cfg(feature = "Win32_Foundation")]
StartWorkspaceEx2< 'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param5: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param6: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param9: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param10: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, >( &self, bstrworkspaceid: Param0, bstrworkspacefriendlyname: Param1, bstrredirectorname: Param2, bstrusername: Param3, bstrpassword: Param4, bstrappcontainer: Param5, bstrworkspaceparams: Param6, ltimeout: i32, lflags: i32, bstreventloguploadaddress: Param9, correlationid: Param10, ) -> ::windows::runtime::Result<()>7710     pub unsafe fn StartWorkspaceEx2<
7711         'a,
7712         Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>,
7713         Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>,
7714         Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>,
7715         Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>,
7716         Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>,
7717         Param5: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>,
7718         Param6: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>,
7719         Param9: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>,
7720         Param10: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>,
7721     >(
7722         &self,
7723         bstrworkspaceid: Param0,
7724         bstrworkspacefriendlyname: Param1,
7725         bstrredirectorname: Param2,
7726         bstrusername: Param3,
7727         bstrpassword: Param4,
7728         bstrappcontainer: Param5,
7729         bstrworkspaceparams: Param6,
7730         ltimeout: i32,
7731         lflags: i32,
7732         bstreventloguploadaddress: Param9,
7733         correlationid: Param10,
7734     ) -> ::windows::runtime::Result<()> {
7735         (::windows::runtime::Interface::vtable(self).16)(
7736             ::std::mem::transmute_copy(self),
7737             bstrworkspaceid.into_param().abi(),
7738             bstrworkspacefriendlyname.into_param().abi(),
7739             bstrredirectorname.into_param().abi(),
7740             bstrusername.into_param().abi(),
7741             bstrpassword.into_param().abi(),
7742             bstrappcontainer.into_param().abi(),
7743             bstrworkspaceparams.into_param().abi(),
7744             ::std::mem::transmute(ltimeout),
7745             ::std::mem::transmute(lflags),
7746             bstreventloguploadaddress.into_param().abi(),
7747             correlationid.into_param().abi(),
7748         )
7749         .ok()
7750     }
7751 }
7752 unsafe impl ::windows::runtime::Interface for IWorkspaceScriptable3 {
7753     type Vtable = IWorkspaceScriptable3_abi;
7754     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1394500882, 11455, 19410, [128, 165, 217, 10, 113, 99, 106, 154]);
7755 }
7756 impl ::std::convert::From<IWorkspaceScriptable3> for ::windows::runtime::IUnknown {
from(value: IWorkspaceScriptable3) -> Self7757     fn from(value: IWorkspaceScriptable3) -> Self {
7758         unsafe { ::std::mem::transmute(value) }
7759     }
7760 }
7761 impl ::std::convert::From<&IWorkspaceScriptable3> for ::windows::runtime::IUnknown {
from(value: &IWorkspaceScriptable3) -> Self7762     fn from(value: &IWorkspaceScriptable3) -> Self {
7763         ::std::convert::From::from(::std::clone::Clone::clone(value))
7764     }
7765 }
7766 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWorkspaceScriptable3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7767     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7768         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7769     }
7770 }
7771 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWorkspaceScriptable3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7772     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7773         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7774     }
7775 }
7776 impl ::std::convert::From<IWorkspaceScriptable3> for IWorkspaceScriptable2 {
from(value: IWorkspaceScriptable3) -> Self7777     fn from(value: IWorkspaceScriptable3) -> Self {
7778         unsafe { ::std::mem::transmute(value) }
7779     }
7780 }
7781 impl ::std::convert::From<&IWorkspaceScriptable3> for IWorkspaceScriptable2 {
from(value: &IWorkspaceScriptable3) -> Self7782     fn from(value: &IWorkspaceScriptable3) -> Self {
7783         ::std::convert::From::from(::std::clone::Clone::clone(value))
7784     }
7785 }
7786 impl<'a> ::windows::runtime::IntoParam<'a, IWorkspaceScriptable2> for IWorkspaceScriptable3 {
into_param(self) -> ::windows::runtime::Param<'a, IWorkspaceScriptable2>7787     fn into_param(self) -> ::windows::runtime::Param<'a, IWorkspaceScriptable2> {
7788         ::windows::runtime::Param::Owned(::std::convert::Into::<IWorkspaceScriptable2>::into(self))
7789     }
7790 }
7791 impl<'a> ::windows::runtime::IntoParam<'a, IWorkspaceScriptable2> for &IWorkspaceScriptable3 {
into_param(self) -> ::windows::runtime::Param<'a, IWorkspaceScriptable2>7792     fn into_param(self) -> ::windows::runtime::Param<'a, IWorkspaceScriptable2> {
7793         ::windows::runtime::Param::Owned(::std::convert::Into::<IWorkspaceScriptable2>::into(::std::clone::Clone::clone(self)))
7794     }
7795 }
7796 impl ::std::convert::From<IWorkspaceScriptable3> for IWorkspaceScriptable {
from(value: IWorkspaceScriptable3) -> Self7797     fn from(value: IWorkspaceScriptable3) -> Self {
7798         unsafe { ::std::mem::transmute(value) }
7799     }
7800 }
7801 impl ::std::convert::From<&IWorkspaceScriptable3> for IWorkspaceScriptable {
from(value: &IWorkspaceScriptable3) -> Self7802     fn from(value: &IWorkspaceScriptable3) -> Self {
7803         ::std::convert::From::from(::std::clone::Clone::clone(value))
7804     }
7805 }
7806 impl<'a> ::windows::runtime::IntoParam<'a, IWorkspaceScriptable> for IWorkspaceScriptable3 {
into_param(self) -> ::windows::runtime::Param<'a, IWorkspaceScriptable>7807     fn into_param(self) -> ::windows::runtime::Param<'a, IWorkspaceScriptable> {
7808         ::windows::runtime::Param::Owned(::std::convert::Into::<IWorkspaceScriptable>::into(self))
7809     }
7810 }
7811 impl<'a> ::windows::runtime::IntoParam<'a, IWorkspaceScriptable> for &IWorkspaceScriptable3 {
into_param(self) -> ::windows::runtime::Param<'a, IWorkspaceScriptable>7812     fn into_param(self) -> ::windows::runtime::Param<'a, IWorkspaceScriptable> {
7813         ::windows::runtime::Param::Owned(::std::convert::Into::<IWorkspaceScriptable>::into(::std::clone::Clone::clone(self)))
7814     }
7815 }
7816 #[cfg(feature = "Win32_System_Ole_Automation")]
7817 impl ::std::convert::From<IWorkspaceScriptable3> for super::Ole::Automation::IDispatch {
from(value: IWorkspaceScriptable3) -> Self7818     fn from(value: IWorkspaceScriptable3) -> Self {
7819         unsafe { ::std::mem::transmute(value) }
7820     }
7821 }
7822 #[cfg(feature = "Win32_System_Ole_Automation")]
7823 impl ::std::convert::From<&IWorkspaceScriptable3> for super::Ole::Automation::IDispatch {
from(value: &IWorkspaceScriptable3) -> Self7824     fn from(value: &IWorkspaceScriptable3) -> Self {
7825         ::std::convert::From::from(::std::clone::Clone::clone(value))
7826     }
7827 }
7828 #[cfg(feature = "Win32_System_Ole_Automation")]
7829 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch> for IWorkspaceScriptable3 {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch>7830     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch> {
7831         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IDispatch>::into(self))
7832     }
7833 }
7834 #[cfg(feature = "Win32_System_Ole_Automation")]
7835 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch> for &IWorkspaceScriptable3 {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch>7836     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch> {
7837         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7838     }
7839 }
7840 #[repr(C)]
7841 #[doc(hidden)]
7842 pub struct IWorkspaceScriptable3_abi(
7843     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7844     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7845     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7846     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7847     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7848     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7849     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
7850     #[cfg(not(feature = "Win32_Foundation"))] usize,
7851     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7852     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
7853     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7854     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrworkspaceid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7855     #[cfg(not(feature = "Win32_Foundation"))] usize,
7856     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrworkspaceid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, bstrusername: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, bstrpassword: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, bstrworkspaceparams: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, ltimeout: i32, lflags: i32) -> ::windows::runtime::HRESULT,
7857     #[cfg(not(feature = "Win32_Foundation"))] usize,
7858     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrworkspaceid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, bcountunauthenticatedcredentials: i16, pbcredexist: *mut i16) -> ::windows::runtime::HRESULT,
7859     #[cfg(not(feature = "Win32_Foundation"))] usize,
7860     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbssoenabled: *mut i16) -> ::windows::runtime::HRESULT,
7861     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrworkspaceid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7862     #[cfg(not(feature = "Win32_Foundation"))] usize,
7863     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrworkspaceid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, bstrusername: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7864     #[cfg(not(feature = "Win32_Foundation"))] usize,
7865     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrworkspacefriendlyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7866     #[cfg(not(feature = "Win32_Foundation"))] usize,
7867     #[cfg(feature = "Win32_Foundation")]
7868     pub  unsafe extern "system" fn(
7869         this: ::windows::runtime::RawPtr,
7870         bstrworkspaceid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
7871         bstrworkspacefriendlyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
7872         bstrredirectorname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
7873         bstrusername: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
7874         bstrpassword: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
7875         bstrappcontainer: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
7876         bstrworkspaceparams: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
7877         ltimeout: i32,
7878         lflags: i32,
7879     ) -> ::windows::runtime::HRESULT,
7880     #[cfg(not(feature = "Win32_Foundation"))] usize,
7881     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bstrworkspaceid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, bstrworkspacefriendlyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7882     #[cfg(not(feature = "Win32_Foundation"))] usize,
7883     #[cfg(feature = "Win32_Foundation")]
7884     pub  unsafe extern "system" fn(
7885         this: ::windows::runtime::RawPtr,
7886         bstrworkspaceid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
7887         bstrworkspacefriendlyname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
7888         bstrredirectorname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
7889         bstrusername: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
7890         bstrpassword: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
7891         bstrappcontainer: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
7892         bstrworkspaceparams: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
7893         ltimeout: i32,
7894         lflags: i32,
7895         bstreventloguploadaddress: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
7896         correlationid: ::windows::runtime::GUID,
7897     ) -> ::windows::runtime::HRESULT,
7898     #[cfg(not(feature = "Win32_Foundation"))] usize,
7899 );
7900 #[repr(transparent)]
7901 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7902 pub struct ItsPubPlugin(::windows::runtime::IUnknown);
7903 impl ItsPubPlugin {
7904     #[cfg(feature = "Win32_Foundation")]
GetResourceList<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, userid: Param0, pceapplistsize: *mut i32, resourcelist: *mut *mut pluginResource) -> ::windows::runtime::Result<()>7905     pub unsafe fn GetResourceList<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, userid: Param0, pceapplistsize: *mut i32, resourcelist: *mut *mut pluginResource) -> ::windows::runtime::Result<()> {
7906         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), userid.into_param().abi(), ::std::mem::transmute(pceapplistsize), ::std::mem::transmute(resourcelist)).ok()
7907     }
7908     #[cfg(feature = "Win32_Foundation")]
GetResource<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, alias: Param0, flags: i32) -> ::windows::runtime::Result<pluginResource>7909     pub unsafe fn GetResource<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, alias: Param0, flags: i32) -> ::windows::runtime::Result<pluginResource> {
7910         let mut result__: <pluginResource as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7911         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), alias.into_param().abi(), ::std::mem::transmute(flags), &mut result__).from_abi::<pluginResource>(result__)
7912     }
GetCacheLastUpdateTime(&self) -> ::windows::runtime::Result<u64>7913     pub unsafe fn GetCacheLastUpdateTime(&self) -> ::windows::runtime::Result<u64> {
7914         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7915         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u64>(result__)
7916     }
7917     #[cfg(feature = "Win32_Foundation")]
pluginName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>7918     pub unsafe fn pluginName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7919         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7920         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7921     }
7922     #[cfg(feature = "Win32_Foundation")]
pluginVersion(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>7923     pub unsafe fn pluginVersion(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7924         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7925         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7926     }
7927     #[cfg(feature = "Win32_Foundation")]
ResolveResource<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, resourcetype: *mut u32, resourcelocation: super::super::Foundation::PWSTR, endpointname: super::super::Foundation::PWSTR, userid: Param3, alias: Param4) -> ::windows::runtime::Result<()>7928     pub unsafe fn ResolveResource<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, resourcetype: *mut u32, resourcelocation: super::super::Foundation::PWSTR, endpointname: super::super::Foundation::PWSTR, userid: Param3, alias: Param4) -> ::windows::runtime::Result<()> {
7929         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(resourcetype), ::std::mem::transmute(resourcelocation), ::std::mem::transmute(endpointname), userid.into_param().abi(), alias.into_param().abi()).ok()
7930     }
7931 }
7932 unsafe impl ::windows::runtime::Interface for ItsPubPlugin {
7933     type Vtable = ItsPubPlugin_abi;
7934     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1891650309, 62279, 16683, [130, 47, 54, 201, 156, 84, 202, 69]);
7935 }
7936 impl ::std::convert::From<ItsPubPlugin> for ::windows::runtime::IUnknown {
from(value: ItsPubPlugin) -> Self7937     fn from(value: ItsPubPlugin) -> Self {
7938         unsafe { ::std::mem::transmute(value) }
7939     }
7940 }
7941 impl ::std::convert::From<&ItsPubPlugin> for ::windows::runtime::IUnknown {
from(value: &ItsPubPlugin) -> Self7942     fn from(value: &ItsPubPlugin) -> Self {
7943         ::std::convert::From::from(::std::clone::Clone::clone(value))
7944     }
7945 }
7946 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ItsPubPlugin {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7947     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7948         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7949     }
7950 }
7951 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ItsPubPlugin {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7952     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7953         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7954     }
7955 }
7956 #[repr(C)]
7957 #[doc(hidden)]
7958 pub struct ItsPubPlugin_abi(
7959     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7960     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7961     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7962     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, userid: super::super::Foundation::PWSTR, pceapplistsize: *mut i32, resourcelist: *mut *mut pluginResource) -> ::windows::runtime::HRESULT,
7963     #[cfg(not(feature = "Win32_Foundation"))] usize,
7964     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, alias: super::super::Foundation::PWSTR, flags: i32, resource: *mut pluginResource) -> ::windows::runtime::HRESULT,
7965     #[cfg(not(feature = "Win32_Foundation"))] usize,
7966     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lastupdatetime: *mut u64) -> ::windows::runtime::HRESULT,
7967     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7968     #[cfg(not(feature = "Win32_Foundation"))] usize,
7969     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7970     #[cfg(not(feature = "Win32_Foundation"))] usize,
7971     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, resourcetype: *mut u32, resourcelocation: super::super::Foundation::PWSTR, endpointname: super::super::Foundation::PWSTR, userid: super::super::Foundation::PWSTR, alias: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
7972     #[cfg(not(feature = "Win32_Foundation"))] usize,
7973 );
7974 #[repr(transparent)]
7975 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7976 pub struct ItsPubPlugin2(::windows::runtime::IUnknown);
7977 impl ItsPubPlugin2 {
7978     #[cfg(feature = "Win32_Foundation")]
GetResourceList<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, userid: Param0, pceapplistsize: *mut i32, resourcelist: *mut *mut pluginResource) -> ::windows::runtime::Result<()>7979     pub unsafe fn GetResourceList<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, userid: Param0, pceapplistsize: *mut i32, resourcelist: *mut *mut pluginResource) -> ::windows::runtime::Result<()> {
7980         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), userid.into_param().abi(), ::std::mem::transmute(pceapplistsize), ::std::mem::transmute(resourcelist)).ok()
7981     }
7982     #[cfg(feature = "Win32_Foundation")]
GetResource<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, alias: Param0, flags: i32) -> ::windows::runtime::Result<pluginResource>7983     pub unsafe fn GetResource<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, alias: Param0, flags: i32) -> ::windows::runtime::Result<pluginResource> {
7984         let mut result__: <pluginResource as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7985         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), alias.into_param().abi(), ::std::mem::transmute(flags), &mut result__).from_abi::<pluginResource>(result__)
7986     }
GetCacheLastUpdateTime(&self) -> ::windows::runtime::Result<u64>7987     pub unsafe fn GetCacheLastUpdateTime(&self) -> ::windows::runtime::Result<u64> {
7988         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7989         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u64>(result__)
7990     }
7991     #[cfg(feature = "Win32_Foundation")]
pluginName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>7992     pub unsafe fn pluginName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7993         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7994         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7995     }
7996     #[cfg(feature = "Win32_Foundation")]
pluginVersion(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>7997     pub unsafe fn pluginVersion(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7998         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7999         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8000     }
8001     #[cfg(feature = "Win32_Foundation")]
ResolveResource<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, resourcetype: *mut u32, resourcelocation: super::super::Foundation::PWSTR, endpointname: super::super::Foundation::PWSTR, userid: Param3, alias: Param4) -> ::windows::runtime::Result<()>8002     pub unsafe fn ResolveResource<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, resourcetype: *mut u32, resourcelocation: super::super::Foundation::PWSTR, endpointname: super::super::Foundation::PWSTR, userid: Param3, alias: Param4) -> ::windows::runtime::Result<()> {
8003         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(resourcetype), ::std::mem::transmute(resourcelocation), ::std::mem::transmute(endpointname), userid.into_param().abi(), alias.into_param().abi()).ok()
8004     }
8005     #[cfg(feature = "Win32_Foundation")]
GetResource2List<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, userid: Param0, pceapplistsize: *mut i32, resourcelist: *mut *mut pluginResource2) -> ::windows::runtime::Result<()>8006     pub unsafe fn GetResource2List<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, userid: Param0, pceapplistsize: *mut i32, resourcelist: *mut *mut pluginResource2) -> ::windows::runtime::Result<()> {
8007         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), userid.into_param().abi(), ::std::mem::transmute(pceapplistsize), ::std::mem::transmute(resourcelist)).ok()
8008     }
8009     #[cfg(feature = "Win32_Foundation")]
GetResource2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, alias: Param0, flags: i32) -> ::windows::runtime::Result<pluginResource2>8010     pub unsafe fn GetResource2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, alias: Param0, flags: i32) -> ::windows::runtime::Result<pluginResource2> {
8011         let mut result__: <pluginResource2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8012         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), alias.into_param().abi(), ::std::mem::transmute(flags), &mut result__).from_abi::<pluginResource2>(result__)
8013     }
8014     #[cfg(feature = "Win32_Foundation")]
ResolvePersonalDesktop<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, userid: Param0, poolid: Param1, epdresolutiontype: TSPUB_PLUGIN_PD_RESOLUTION_TYPE, ppdassignmenttype: *mut TSPUB_PLUGIN_PD_ASSIGNMENT_TYPE, endpointname: super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()>8015     pub unsafe fn ResolvePersonalDesktop<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, userid: Param0, poolid: Param1, epdresolutiontype: TSPUB_PLUGIN_PD_RESOLUTION_TYPE, ppdassignmenttype: *mut TSPUB_PLUGIN_PD_ASSIGNMENT_TYPE, endpointname: super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()> {
8016         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), userid.into_param().abi(), poolid.into_param().abi(), ::std::mem::transmute(epdresolutiontype), ::std::mem::transmute(ppdassignmenttype), ::std::mem::transmute(endpointname)).ok()
8017     }
8018     #[cfg(feature = "Win32_Foundation")]
DeletePersonalDesktopAssignment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, userid: Param0, poolid: Param1, endpointname: Param2) -> ::windows::runtime::Result<()>8019     pub unsafe fn DeletePersonalDesktopAssignment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, userid: Param0, poolid: Param1, endpointname: Param2) -> ::windows::runtime::Result<()> {
8020         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), userid.into_param().abi(), poolid.into_param().abi(), endpointname.into_param().abi()).ok()
8021     }
8022 }
8023 unsafe impl ::windows::runtime::Interface for ItsPubPlugin2 {
8024     type Vtable = ItsPubPlugin2_abi;
8025     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4199343128, 43735, 20166, [186, 209, 10, 50, 27, 164, 101, 213]);
8026 }
8027 impl ::std::convert::From<ItsPubPlugin2> for ::windows::runtime::IUnknown {
from(value: ItsPubPlugin2) -> Self8028     fn from(value: ItsPubPlugin2) -> Self {
8029         unsafe { ::std::mem::transmute(value) }
8030     }
8031 }
8032 impl ::std::convert::From<&ItsPubPlugin2> for ::windows::runtime::IUnknown {
from(value: &ItsPubPlugin2) -> Self8033     fn from(value: &ItsPubPlugin2) -> Self {
8034         ::std::convert::From::from(::std::clone::Clone::clone(value))
8035     }
8036 }
8037 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ItsPubPlugin2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8038     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8039         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8040     }
8041 }
8042 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ItsPubPlugin2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8043     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8044         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8045     }
8046 }
8047 impl ::std::convert::From<ItsPubPlugin2> for ItsPubPlugin {
from(value: ItsPubPlugin2) -> Self8048     fn from(value: ItsPubPlugin2) -> Self {
8049         unsafe { ::std::mem::transmute(value) }
8050     }
8051 }
8052 impl ::std::convert::From<&ItsPubPlugin2> for ItsPubPlugin {
from(value: &ItsPubPlugin2) -> Self8053     fn from(value: &ItsPubPlugin2) -> Self {
8054         ::std::convert::From::from(::std::clone::Clone::clone(value))
8055     }
8056 }
8057 impl<'a> ::windows::runtime::IntoParam<'a, ItsPubPlugin> for ItsPubPlugin2 {
into_param(self) -> ::windows::runtime::Param<'a, ItsPubPlugin>8058     fn into_param(self) -> ::windows::runtime::Param<'a, ItsPubPlugin> {
8059         ::windows::runtime::Param::Owned(::std::convert::Into::<ItsPubPlugin>::into(self))
8060     }
8061 }
8062 impl<'a> ::windows::runtime::IntoParam<'a, ItsPubPlugin> for &ItsPubPlugin2 {
into_param(self) -> ::windows::runtime::Param<'a, ItsPubPlugin>8063     fn into_param(self) -> ::windows::runtime::Param<'a, ItsPubPlugin> {
8064         ::windows::runtime::Param::Owned(::std::convert::Into::<ItsPubPlugin>::into(::std::clone::Clone::clone(self)))
8065     }
8066 }
8067 #[repr(C)]
8068 #[doc(hidden)]
8069 pub struct ItsPubPlugin2_abi(
8070     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8071     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8072     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8073     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, userid: super::super::Foundation::PWSTR, pceapplistsize: *mut i32, resourcelist: *mut *mut pluginResource) -> ::windows::runtime::HRESULT,
8074     #[cfg(not(feature = "Win32_Foundation"))] usize,
8075     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, alias: super::super::Foundation::PWSTR, flags: i32, resource: *mut pluginResource) -> ::windows::runtime::HRESULT,
8076     #[cfg(not(feature = "Win32_Foundation"))] usize,
8077     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lastupdatetime: *mut u64) -> ::windows::runtime::HRESULT,
8078     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8079     #[cfg(not(feature = "Win32_Foundation"))] usize,
8080     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8081     #[cfg(not(feature = "Win32_Foundation"))] usize,
8082     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, resourcetype: *mut u32, resourcelocation: super::super::Foundation::PWSTR, endpointname: super::super::Foundation::PWSTR, userid: super::super::Foundation::PWSTR, alias: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
8083     #[cfg(not(feature = "Win32_Foundation"))] usize,
8084     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, userid: super::super::Foundation::PWSTR, pceapplistsize: *mut i32, resourcelist: *mut *mut pluginResource2) -> ::windows::runtime::HRESULT,
8085     #[cfg(not(feature = "Win32_Foundation"))] usize,
8086     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, alias: super::super::Foundation::PWSTR, flags: i32, resource: *mut pluginResource2) -> ::windows::runtime::HRESULT,
8087     #[cfg(not(feature = "Win32_Foundation"))] usize,
8088     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, userid: super::super::Foundation::PWSTR, poolid: super::super::Foundation::PWSTR, epdresolutiontype: TSPUB_PLUGIN_PD_RESOLUTION_TYPE, ppdassignmenttype: *mut TSPUB_PLUGIN_PD_ASSIGNMENT_TYPE, endpointname: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
8089     #[cfg(not(feature = "Win32_Foundation"))] usize,
8090     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, userid: super::super::Foundation::PWSTR, poolid: super::super::Foundation::PWSTR, endpointname: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
8091     #[cfg(not(feature = "Win32_Foundation"))] usize,
8092 );
8093 pub const KEEP_EXISTING_SESSIONS: u32 = 8u32;
8094 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8095 #[repr(transparent)]
8096 pub struct KeyCombinationType(pub i32);
8097 pub const KeyCombinationHome: KeyCombinationType = KeyCombinationType(0i32);
8098 pub const KeyCombinationLeft: KeyCombinationType = KeyCombinationType(1i32);
8099 pub const KeyCombinationUp: KeyCombinationType = KeyCombinationType(2i32);
8100 pub const KeyCombinationRight: KeyCombinationType = KeyCombinationType(3i32);
8101 pub const KeyCombinationDown: KeyCombinationType = KeyCombinationType(4i32);
8102 pub const KeyCombinationScroll: KeyCombinationType = KeyCombinationType(5i32);
8103 impl ::std::convert::From<i32> for KeyCombinationType {
from(value: i32) -> Self8104     fn from(value: i32) -> Self {
8105         Self(value)
8106     }
8107 }
8108 unsafe impl ::windows::runtime::Abi for KeyCombinationType {
8109     type Abi = Self;
8110     type DefaultType = Self;
8111 }
8112 pub const MAX_DATE_TIME_LENGTH: u32 = 56u32;
8113 pub const MAX_ELAPSED_TIME_LENGTH: u32 = 15u32;
8114 pub const MAX_POLICY_ATTRIBUTES: u32 = 20u32;
8115 pub const MaxAppName_Len: u32 = 256u32;
8116 pub const MaxDomainName_Len: u32 = 256u32;
8117 pub const MaxFQDN_Len: u32 = 256u32;
8118 pub const MaxFarm_Len: u32 = 256u32;
8119 pub const MaxNetBiosName_Len: u32 = 16u32;
8120 pub const MaxNumOfExposed_IPs: u32 = 12u32;
8121 pub const MaxUserName_Len: u32 = 104u32;
8122 pub const NOTIFY_FOR_ALL_SESSIONS: u32 = 1u32;
8123 pub const NOTIFY_FOR_THIS_SESSION: u32 = 0u32;
8124 pub type PCHANNEL_INIT_EVENT_FN = unsafe extern "system" fn(pinithandle: *mut ::std::ffi::c_void, event: u32, pdata: *mut ::std::ffi::c_void, datalength: u32);
8125 pub type PCHANNEL_OPEN_EVENT_FN = unsafe extern "system" fn(openhandle: u32, event: u32, pdata: *mut ::std::ffi::c_void, datalength: u32, totallength: u32, dataflags: u32);
8126 pub const PLUGIN_CAPABILITY_EXTERNAL_REDIRECTION: u32 = 1u32;
8127 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8128 #[repr(transparent)]
8129 pub struct PLUGIN_TYPE(pub i32);
8130 pub const UNKNOWN_PLUGIN: PLUGIN_TYPE = PLUGIN_TYPE(0i32);
8131 pub const POLICY_PLUGIN: PLUGIN_TYPE = PLUGIN_TYPE(1i32);
8132 pub const RESOURCE_PLUGIN: PLUGIN_TYPE = PLUGIN_TYPE(2i32);
8133 pub const LOAD_BALANCING_PLUGIN: PLUGIN_TYPE = PLUGIN_TYPE(4i32);
8134 pub const PLACEMENT_PLUGIN: PLUGIN_TYPE = PLUGIN_TYPE(8i32);
8135 pub const ORCHESTRATION_PLUGIN: PLUGIN_TYPE = PLUGIN_TYPE(16i32);
8136 pub const PROVISIONING_PLUGIN: PLUGIN_TYPE = PLUGIN_TYPE(32i32);
8137 pub const TASK_PLUGIN: PLUGIN_TYPE = PLUGIN_TYPE(64i32);
8138 impl ::std::convert::From<i32> for PLUGIN_TYPE {
from(value: i32) -> Self8139     fn from(value: i32) -> Self {
8140         Self(value)
8141     }
8142 }
8143 unsafe impl ::windows::runtime::Abi for PLUGIN_TYPE {
8144     type Abi = Self;
8145     type DefaultType = Self;
8146 }
8147 pub const PRODUCTINFO_COMPANYNAME_LENGTH: u32 = 256u32;
8148 pub const PRODUCTINFO_PRODUCTID_LENGTH: u32 = 4u32;
8149 pub const PROPERTY_DYNAMIC_TIME_ZONE_INFORMATION: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(215995022, 53433, 19487, [165, 235, 109, 31, 108, 101, 53, 185]);
8150 pub const PROPERTY_TYPE_ENABLE_UNIVERSAL_APPS_FOR_CUSTOM_SHELL: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3979100122, 13197, 19775, [129, 163, 231, 103, 49, 13, 144, 142]);
8151 pub const PROPERTY_TYPE_GET_FAST_RECONNECT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1645401943, 67, 18530, [153, 195, 159, 48, 89, 172, 42, 59]);
8152 pub const PROPERTY_TYPE_GET_FAST_RECONNECT_USER_SID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(427573882, 309, 19309, [156, 94, 230, 87, 154, 10, 182, 37]);
8153 pub type PVIRTUALCHANNELCLOSE = unsafe extern "system" fn(openhandle: u32) -> u32;
8154 #[cfg(feature = "Win32_Foundation")]
8155 pub type PVIRTUALCHANNELENTRY = unsafe extern "system" fn(pentrypoints: *mut ::std::mem::ManuallyDrop<CHANNEL_ENTRY_POINTS>) -> super::super::Foundation::BOOL;
8156 #[cfg(feature = "Win32_Foundation")]
8157 pub type PVIRTUALCHANNELINIT = unsafe extern "system" fn(ppinithandle: *mut *mut ::std::ffi::c_void, pchannel: *mut CHANNEL_DEF, channelcount: i32, versionrequested: u32, pchanneliniteventproc: ::windows::runtime::RawPtr) -> u32;
8158 #[cfg(feature = "Win32_Foundation")]
8159 pub type PVIRTUALCHANNELOPEN = unsafe extern "system" fn(pinithandle: *mut ::std::ffi::c_void, popenhandle: *mut u32, pchannelname: super::super::Foundation::PSTR, pchannelopeneventproc: ::windows::runtime::RawPtr) -> u32;
8160 pub type PVIRTUALCHANNELWRITE = unsafe extern "system" fn(openhandle: u32, pdata: *mut ::std::ffi::c_void, datalength: u32, puserdata: *mut ::std::ffi::c_void) -> u32;
8161 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8162 #[repr(transparent)]
8163 pub struct PasswordEncodingType(pub i32);
8164 pub const PasswordEncodingUTF8: PasswordEncodingType = PasswordEncodingType(0i32);
8165 pub const PasswordEncodingUTF16LE: PasswordEncodingType = PasswordEncodingType(1i32);
8166 pub const PasswordEncodingUTF16BE: PasswordEncodingType = PasswordEncodingType(2i32);
8167 impl ::std::convert::From<i32> for PasswordEncodingType {
from(value: i32) -> Self8168     fn from(value: i32) -> Self {
8169         Self(value)
8170     }
8171 }
8172 unsafe impl ::windows::runtime::Abi for PasswordEncodingType {
8173     type Abi = Self;
8174     type DefaultType = Self;
8175 }
8176 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8177 #[repr(transparent)]
8178 pub struct PolicyAttributeType(pub i32);
8179 pub const EnableAllRedirections: PolicyAttributeType = PolicyAttributeType(0i32);
8180 pub const DisableAllRedirections: PolicyAttributeType = PolicyAttributeType(1i32);
8181 pub const DriveRedirectionDisabled: PolicyAttributeType = PolicyAttributeType(2i32);
8182 pub const PrinterRedirectionDisabled: PolicyAttributeType = PolicyAttributeType(3i32);
8183 pub const PortRedirectionDisabled: PolicyAttributeType = PolicyAttributeType(4i32);
8184 pub const ClipboardRedirectionDisabled: PolicyAttributeType = PolicyAttributeType(5i32);
8185 pub const PnpRedirectionDisabled: PolicyAttributeType = PolicyAttributeType(6i32);
8186 pub const AllowOnlySDRServers: PolicyAttributeType = PolicyAttributeType(7i32);
8187 impl ::std::convert::From<i32> for PolicyAttributeType {
from(value: i32) -> Self8188     fn from(value: i32) -> Self {
8189         Self(value)
8190     }
8191 }
8192 unsafe impl ::windows::runtime::Abi for PolicyAttributeType {
8193     type Abi = Self;
8194     type DefaultType = Self;
8195 }
8196 #[cfg(feature = "Win32_Foundation")]
8197 #[inline]
ProcessIdToSessionId(dwprocessid: u32, psessionid: *mut u32) -> super::super::Foundation::BOOL8198 pub unsafe fn ProcessIdToSessionId(dwprocessid: u32, psessionid: *mut u32) -> super::super::Foundation::BOOL {
8199     #[cfg(windows)]
8200     {
8201         #[link(name = "windows")]
8202         extern "system" {
8203             fn ProcessIdToSessionId(dwprocessid: u32, psessionid: *mut u32) -> super::super::Foundation::BOOL;
8204         }
8205         ::std::mem::transmute(ProcessIdToSessionId(::std::mem::transmute(dwprocessid), ::std::mem::transmute(psessionid)))
8206     }
8207     #[cfg(not(windows))]
8208     unimplemented!("Unsupported target OS");
8209 }
8210 pub const RDCLIENT_BITMAP_RENDER_SERVICE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3838576843, 37934, 19225, [133, 4, 189, 90, 137, 167, 71, 245]);
8211 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8212 #[repr(transparent)]
8213 pub struct RDV_TASK_STATUS(pub i32);
8214 pub const RDV_TASK_STATUS_UNKNOWN: RDV_TASK_STATUS = RDV_TASK_STATUS(0i32);
8215 pub const RDV_TASK_STATUS_SEARCHING: RDV_TASK_STATUS = RDV_TASK_STATUS(1i32);
8216 pub const RDV_TASK_STATUS_DOWNLOADING: RDV_TASK_STATUS = RDV_TASK_STATUS(2i32);
8217 pub const RDV_TASK_STATUS_APPLYING: RDV_TASK_STATUS = RDV_TASK_STATUS(3i32);
8218 pub const RDV_TASK_STATUS_REBOOTING: RDV_TASK_STATUS = RDV_TASK_STATUS(4i32);
8219 pub const RDV_TASK_STATUS_REBOOTED: RDV_TASK_STATUS = RDV_TASK_STATUS(5i32);
8220 pub const RDV_TASK_STATUS_SUCCESS: RDV_TASK_STATUS = RDV_TASK_STATUS(6i32);
8221 pub const RDV_TASK_STATUS_FAILED: RDV_TASK_STATUS = RDV_TASK_STATUS(7i32);
8222 pub const RDV_TASK_STATUS_TIMEOUT: RDV_TASK_STATUS = RDV_TASK_STATUS(8i32);
8223 impl ::std::convert::From<i32> for RDV_TASK_STATUS {
from(value: i32) -> Self8224     fn from(value: i32) -> Self {
8225         Self(value)
8226     }
8227 }
8228 unsafe impl ::windows::runtime::Abi for RDV_TASK_STATUS {
8229     type Abi = Self;
8230     type DefaultType = Self;
8231 }
8232 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8233 #[repr(transparent)]
8234 pub struct RD_FARM_TYPE(pub i32);
8235 pub const RD_FARM_RDSH: RD_FARM_TYPE = RD_FARM_TYPE(0i32);
8236 pub const RD_FARM_TEMP_VM: RD_FARM_TYPE = RD_FARM_TYPE(1i32);
8237 pub const RD_FARM_MANUAL_PERSONAL_VM: RD_FARM_TYPE = RD_FARM_TYPE(2i32);
8238 pub const RD_FARM_AUTO_PERSONAL_VM: RD_FARM_TYPE = RD_FARM_TYPE(3i32);
8239 pub const RD_FARM_MANUAL_PERSONAL_RDSH: RD_FARM_TYPE = RD_FARM_TYPE(4i32);
8240 pub const RD_FARM_AUTO_PERSONAL_RDSH: RD_FARM_TYPE = RD_FARM_TYPE(5i32);
8241 pub const RD_FARM_TYPE_UNKNOWN: RD_FARM_TYPE = RD_FARM_TYPE(-1i32);
8242 impl ::std::convert::From<i32> for RD_FARM_TYPE {
from(value: i32) -> Self8243     fn from(value: i32) -> Self {
8244         Self(value)
8245     }
8246 }
8247 unsafe impl ::windows::runtime::Abi for RD_FARM_TYPE {
8248     type Abi = Self;
8249     type DefaultType = Self;
8250 }
8251 pub const REMOTECONTROL_KBDALT_HOTKEY: u32 = 4u32;
8252 pub const REMOTECONTROL_KBDCTRL_HOTKEY: u32 = 2u32;
8253 pub const REMOTECONTROL_KBDSHIFT_HOTKEY: u32 = 1u32;
8254 pub const RENDER_HINT_CLEAR: u32 = 0u32;
8255 pub const RENDER_HINT_MAPPEDWINDOW: u32 = 2u32;
8256 pub const RENDER_HINT_VIDEO: u32 = 1u32;
8257 pub const RESERVED_FOR_LEGACY: u32 = 4u32;
8258 pub const RFX_CLIENT_ID_LENGTH: u32 = 32u32;
8259 pub const RFX_GFX_MAX_SUPPORTED_MONITORS: u32 = 16u32;
8260 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8261 #[repr(C, packed(1))]
8262 #[cfg(feature = "Win32_Foundation")]
8263 pub struct RFX_GFX_MONITOR_INFO {
8264     pub left: i32,
8265     pub top: i32,
8266     pub right: i32,
8267     pub bottom: i32,
8268     pub physicalWidth: u32,
8269     pub physicalHeight: u32,
8270     pub orientation: u32,
8271     pub primary: super::super::Foundation::BOOL,
8272 }
8273 #[cfg(feature = "Win32_Foundation")]
8274 impl RFX_GFX_MONITOR_INFO {}
8275 #[cfg(feature = "Win32_Foundation")]
8276 impl ::std::default::Default for RFX_GFX_MONITOR_INFO {
default() -> Self8277     fn default() -> Self {
8278         unsafe { ::std::mem::zeroed() }
8279     }
8280 }
8281 #[cfg(feature = "Win32_Foundation")]
8282 impl ::std::cmp::PartialEq for RFX_GFX_MONITOR_INFO {
eq(&self, _other: &Self) -> bool8283     fn eq(&self, _other: &Self) -> bool {
8284         unimplemented!()
8285     }
8286 }
8287 #[cfg(feature = "Win32_Foundation")]
8288 impl ::std::cmp::Eq for RFX_GFX_MONITOR_INFO {}
8289 #[cfg(feature = "Win32_Foundation")]
8290 unsafe impl ::windows::runtime::Abi for RFX_GFX_MONITOR_INFO {
8291     type Abi = Self;
8292     type DefaultType = Self;
8293 }
8294 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8295 #[repr(C)]
8296 pub struct RFX_GFX_MSG_CLIENT_DESKTOP_INFO_REQUEST {
8297     pub channelHdr: RFX_GFX_MSG_HEADER,
8298 }
8299 impl RFX_GFX_MSG_CLIENT_DESKTOP_INFO_REQUEST {}
8300 impl ::std::default::Default for RFX_GFX_MSG_CLIENT_DESKTOP_INFO_REQUEST {
default() -> Self8301     fn default() -> Self {
8302         unsafe { ::std::mem::zeroed() }
8303     }
8304 }
8305 impl ::std::cmp::PartialEq for RFX_GFX_MSG_CLIENT_DESKTOP_INFO_REQUEST {
eq(&self, _other: &Self) -> bool8306     fn eq(&self, _other: &Self) -> bool {
8307         unimplemented!()
8308     }
8309 }
8310 impl ::std::cmp::Eq for RFX_GFX_MSG_CLIENT_DESKTOP_INFO_REQUEST {}
8311 unsafe impl ::windows::runtime::Abi for RFX_GFX_MSG_CLIENT_DESKTOP_INFO_REQUEST {
8312     type Abi = Self;
8313     type DefaultType = Self;
8314 }
8315 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8316 #[repr(C, packed(1))]
8317 #[cfg(feature = "Win32_Foundation")]
8318 pub struct RFX_GFX_MSG_CLIENT_DESKTOP_INFO_RESPONSE {
8319     pub channelHdr: RFX_GFX_MSG_HEADER,
8320     pub reserved: u32,
8321     pub monitorCount: u32,
8322     pub MonitorData: [RFX_GFX_MONITOR_INFO; 16],
8323     pub clientUniqueId: [u16; 32],
8324 }
8325 #[cfg(feature = "Win32_Foundation")]
8326 impl RFX_GFX_MSG_CLIENT_DESKTOP_INFO_RESPONSE {}
8327 #[cfg(feature = "Win32_Foundation")]
8328 impl ::std::default::Default for RFX_GFX_MSG_CLIENT_DESKTOP_INFO_RESPONSE {
default() -> Self8329     fn default() -> Self {
8330         unsafe { ::std::mem::zeroed() }
8331     }
8332 }
8333 #[cfg(feature = "Win32_Foundation")]
8334 impl ::std::cmp::PartialEq for RFX_GFX_MSG_CLIENT_DESKTOP_INFO_RESPONSE {
eq(&self, _other: &Self) -> bool8335     fn eq(&self, _other: &Self) -> bool {
8336         unimplemented!()
8337     }
8338 }
8339 #[cfg(feature = "Win32_Foundation")]
8340 impl ::std::cmp::Eq for RFX_GFX_MSG_CLIENT_DESKTOP_INFO_RESPONSE {}
8341 #[cfg(feature = "Win32_Foundation")]
8342 unsafe impl ::windows::runtime::Abi for RFX_GFX_MSG_CLIENT_DESKTOP_INFO_RESPONSE {
8343     type Abi = Self;
8344     type DefaultType = Self;
8345 }
8346 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8347 #[repr(C)]
8348 pub struct RFX_GFX_MSG_DESKTOP_CONFIG_CHANGE_CONFIRM {
8349     pub channelHdr: RFX_GFX_MSG_HEADER,
8350 }
8351 impl RFX_GFX_MSG_DESKTOP_CONFIG_CHANGE_CONFIRM {}
8352 impl ::std::default::Default for RFX_GFX_MSG_DESKTOP_CONFIG_CHANGE_CONFIRM {
default() -> Self8353     fn default() -> Self {
8354         unsafe { ::std::mem::zeroed() }
8355     }
8356 }
8357 impl ::std::cmp::PartialEq for RFX_GFX_MSG_DESKTOP_CONFIG_CHANGE_CONFIRM {
eq(&self, _other: &Self) -> bool8358     fn eq(&self, _other: &Self) -> bool {
8359         unimplemented!()
8360     }
8361 }
8362 impl ::std::cmp::Eq for RFX_GFX_MSG_DESKTOP_CONFIG_CHANGE_CONFIRM {}
8363 unsafe impl ::windows::runtime::Abi for RFX_GFX_MSG_DESKTOP_CONFIG_CHANGE_CONFIRM {
8364     type Abi = Self;
8365     type DefaultType = Self;
8366 }
8367 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8368 #[repr(C, packed(1))]
8369 pub struct RFX_GFX_MSG_DESKTOP_CONFIG_CHANGE_NOTIFY {
8370     pub channelHdr: RFX_GFX_MSG_HEADER,
8371     pub ulWidth: u32,
8372     pub ulHeight: u32,
8373     pub ulBpp: u32,
8374     pub Reserved: u32,
8375 }
8376 impl RFX_GFX_MSG_DESKTOP_CONFIG_CHANGE_NOTIFY {}
8377 impl ::std::default::Default for RFX_GFX_MSG_DESKTOP_CONFIG_CHANGE_NOTIFY {
default() -> Self8378     fn default() -> Self {
8379         unsafe { ::std::mem::zeroed() }
8380     }
8381 }
8382 impl ::std::cmp::PartialEq for RFX_GFX_MSG_DESKTOP_CONFIG_CHANGE_NOTIFY {
eq(&self, _other: &Self) -> bool8383     fn eq(&self, _other: &Self) -> bool {
8384         unimplemented!()
8385     }
8386 }
8387 impl ::std::cmp::Eq for RFX_GFX_MSG_DESKTOP_CONFIG_CHANGE_NOTIFY {}
8388 unsafe impl ::windows::runtime::Abi for RFX_GFX_MSG_DESKTOP_CONFIG_CHANGE_NOTIFY {
8389     type Abi = Self;
8390     type DefaultType = Self;
8391 }
8392 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8393 #[repr(C, packed(1))]
8394 pub struct RFX_GFX_MSG_DESKTOP_INPUT_RESET {
8395     pub channelHdr: RFX_GFX_MSG_HEADER,
8396     pub ulWidth: u32,
8397     pub ulHeight: u32,
8398 }
8399 impl RFX_GFX_MSG_DESKTOP_INPUT_RESET {}
8400 impl ::std::default::Default for RFX_GFX_MSG_DESKTOP_INPUT_RESET {
default() -> Self8401     fn default() -> Self {
8402         unsafe { ::std::mem::zeroed() }
8403     }
8404 }
8405 impl ::std::cmp::PartialEq for RFX_GFX_MSG_DESKTOP_INPUT_RESET {
eq(&self, _other: &Self) -> bool8406     fn eq(&self, _other: &Self) -> bool {
8407         unimplemented!()
8408     }
8409 }
8410 impl ::std::cmp::Eq for RFX_GFX_MSG_DESKTOP_INPUT_RESET {}
8411 unsafe impl ::windows::runtime::Abi for RFX_GFX_MSG_DESKTOP_INPUT_RESET {
8412     type Abi = Self;
8413     type DefaultType = Self;
8414 }
8415 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8416 #[repr(C)]
8417 pub struct RFX_GFX_MSG_DESKTOP_RESEND_REQUEST {
8418     pub channelHdr: RFX_GFX_MSG_HEADER,
8419     pub RedrawRect: RFX_GFX_RECT,
8420 }
8421 impl RFX_GFX_MSG_DESKTOP_RESEND_REQUEST {}
8422 impl ::std::default::Default for RFX_GFX_MSG_DESKTOP_RESEND_REQUEST {
default() -> Self8423     fn default() -> Self {
8424         unsafe { ::std::mem::zeroed() }
8425     }
8426 }
8427 impl ::std::cmp::PartialEq for RFX_GFX_MSG_DESKTOP_RESEND_REQUEST {
eq(&self, _other: &Self) -> bool8428     fn eq(&self, _other: &Self) -> bool {
8429         unimplemented!()
8430     }
8431 }
8432 impl ::std::cmp::Eq for RFX_GFX_MSG_DESKTOP_RESEND_REQUEST {}
8433 unsafe impl ::windows::runtime::Abi for RFX_GFX_MSG_DESKTOP_RESEND_REQUEST {
8434     type Abi = Self;
8435     type DefaultType = Self;
8436 }
8437 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8438 #[repr(C, packed(1))]
8439 pub struct RFX_GFX_MSG_DISCONNECT_NOTIFY {
8440     pub channelHdr: RFX_GFX_MSG_HEADER,
8441     pub DisconnectReason: u32,
8442 }
8443 impl RFX_GFX_MSG_DISCONNECT_NOTIFY {}
8444 impl ::std::default::Default for RFX_GFX_MSG_DISCONNECT_NOTIFY {
default() -> Self8445     fn default() -> Self {
8446         unsafe { ::std::mem::zeroed() }
8447     }
8448 }
8449 impl ::std::cmp::PartialEq for RFX_GFX_MSG_DISCONNECT_NOTIFY {
eq(&self, _other: &Self) -> bool8450     fn eq(&self, _other: &Self) -> bool {
8451         unimplemented!()
8452     }
8453 }
8454 impl ::std::cmp::Eq for RFX_GFX_MSG_DISCONNECT_NOTIFY {}
8455 unsafe impl ::windows::runtime::Abi for RFX_GFX_MSG_DISCONNECT_NOTIFY {
8456     type Abi = Self;
8457     type DefaultType = Self;
8458 }
8459 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8460 #[repr(C, packed(1))]
8461 pub struct RFX_GFX_MSG_HEADER {
8462     pub uMSGType: u16,
8463     pub cbSize: u16,
8464 }
8465 impl RFX_GFX_MSG_HEADER {}
8466 impl ::std::default::Default for RFX_GFX_MSG_HEADER {
default() -> Self8467     fn default() -> Self {
8468         unsafe { ::std::mem::zeroed() }
8469     }
8470 }
8471 impl ::std::cmp::PartialEq for RFX_GFX_MSG_HEADER {
eq(&self, _other: &Self) -> bool8472     fn eq(&self, _other: &Self) -> bool {
8473         unimplemented!()
8474     }
8475 }
8476 impl ::std::cmp::Eq for RFX_GFX_MSG_HEADER {}
8477 unsafe impl ::windows::runtime::Abi for RFX_GFX_MSG_HEADER {
8478     type Abi = Self;
8479     type DefaultType = Self;
8480 }
8481 pub const RFX_GFX_MSG_PREFIX: u32 = 48u32;
8482 pub const RFX_GFX_MSG_PREFIX_MASK: u32 = 48u32;
8483 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8484 #[repr(C)]
8485 pub struct RFX_GFX_MSG_RDP_DATA {
8486     pub channelHdr: RFX_GFX_MSG_HEADER,
8487     pub rdpData: [u8; 1],
8488 }
8489 impl RFX_GFX_MSG_RDP_DATA {}
8490 impl ::std::default::Default for RFX_GFX_MSG_RDP_DATA {
default() -> Self8491     fn default() -> Self {
8492         unsafe { ::std::mem::zeroed() }
8493     }
8494 }
8495 impl ::std::cmp::PartialEq for RFX_GFX_MSG_RDP_DATA {
eq(&self, _other: &Self) -> bool8496     fn eq(&self, _other: &Self) -> bool {
8497         unimplemented!()
8498     }
8499 }
8500 impl ::std::cmp::Eq for RFX_GFX_MSG_RDP_DATA {}
8501 unsafe impl ::windows::runtime::Abi for RFX_GFX_MSG_RDP_DATA {
8502     type Abi = Self;
8503     type DefaultType = Self;
8504 }
8505 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8506 #[repr(C, packed(1))]
8507 pub struct RFX_GFX_RECT {
8508     pub left: i32,
8509     pub top: i32,
8510     pub right: i32,
8511     pub bottom: i32,
8512 }
8513 impl RFX_GFX_RECT {}
8514 impl ::std::default::Default for RFX_GFX_RECT {
default() -> Self8515     fn default() -> Self {
8516         unsafe { ::std::mem::zeroed() }
8517     }
8518 }
8519 impl ::std::cmp::PartialEq for RFX_GFX_RECT {
eq(&self, _other: &Self) -> bool8520     fn eq(&self, _other: &Self) -> bool {
8521         unimplemented!()
8522     }
8523 }
8524 impl ::std::cmp::Eq for RFX_GFX_RECT {}
8525 unsafe impl ::windows::runtime::Abi for RFX_GFX_RECT {
8526     type Abi = Self;
8527     type DefaultType = Self;
8528 }
8529 pub const RFX_RDP_MSG_PREFIX: u32 = 0u32;
8530 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8531 #[repr(transparent)]
8532 pub struct RemoteActionType(pub i32);
8533 pub const RemoteActionCharms: RemoteActionType = RemoteActionType(0i32);
8534 pub const RemoteActionAppbar: RemoteActionType = RemoteActionType(1i32);
8535 pub const RemoteActionSnap: RemoteActionType = RemoteActionType(2i32);
8536 pub const RemoteActionStartScreen: RemoteActionType = RemoteActionType(3i32);
8537 pub const RemoteActionAppSwitch: RemoteActionType = RemoteActionType(4i32);
8538 impl ::std::convert::From<i32> for RemoteActionType {
from(value: i32) -> Self8539     fn from(value: i32) -> Self {
8540         Self(value)
8541     }
8542 }
8543 unsafe impl ::windows::runtime::Abi for RemoteActionType {
8544     type Abi = Self;
8545     type DefaultType = Self;
8546 }
8547 pub const SB_SYNCH_CONFLICT_MAX_WRITE_ATTEMPTS: u32 = 100u32;
8548 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8549 #[repr(transparent)]
8550 pub struct SESSION_TIMEOUT_ACTION_TYPE(pub i32);
8551 pub const SESSION_TIMEOUT_ACTION_DISCONNECT: SESSION_TIMEOUT_ACTION_TYPE = SESSION_TIMEOUT_ACTION_TYPE(0i32);
8552 pub const SESSION_TIMEOUT_ACTION_SILENT_REAUTH: SESSION_TIMEOUT_ACTION_TYPE = SESSION_TIMEOUT_ACTION_TYPE(1i32);
8553 impl ::std::convert::From<i32> for SESSION_TIMEOUT_ACTION_TYPE {
from(value: i32) -> Self8554     fn from(value: i32) -> Self {
8555         Self(value)
8556     }
8557 }
8558 unsafe impl ::windows::runtime::Abi for SESSION_TIMEOUT_ACTION_TYPE {
8559     type Abi = Self;
8560     type DefaultType = Self;
8561 }
8562 pub const SINGLE_SESSION: u32 = 1u32;
8563 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8564 #[repr(transparent)]
8565 pub struct SnapshotEncodingType(pub i32);
8566 pub const SnapshotEncodingDataUri: SnapshotEncodingType = SnapshotEncodingType(0i32);
8567 impl ::std::convert::From<i32> for SnapshotEncodingType {
from(value: i32) -> Self8568     fn from(value: i32) -> Self {
8569         Self(value)
8570     }
8571 }
8572 unsafe impl ::windows::runtime::Abi for SnapshotEncodingType {
8573     type Abi = Self;
8574     type DefaultType = Self;
8575 }
8576 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8577 #[repr(transparent)]
8578 pub struct SnapshotFormatType(pub i32);
8579 pub const SnapshotFormatPng: SnapshotFormatType = SnapshotFormatType(0i32);
8580 pub const SnapshotFormatJpeg: SnapshotFormatType = SnapshotFormatType(1i32);
8581 pub const SnapshotFormatBmp: SnapshotFormatType = SnapshotFormatType(2i32);
8582 impl ::std::convert::From<i32> for SnapshotFormatType {
from(value: i32) -> Self8583     fn from(value: i32) -> Self {
8584         Self(value)
8585     }
8586 }
8587 unsafe impl ::windows::runtime::Abi for SnapshotFormatType {
8588     type Abi = Self;
8589     type DefaultType = Self;
8590 }
8591 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8592 #[repr(transparent)]
8593 pub struct TARGET_CHANGE_TYPE(pub i32);
8594 pub const TARGET_CHANGE_UNSPEC: TARGET_CHANGE_TYPE = TARGET_CHANGE_TYPE(1i32);
8595 pub const TARGET_EXTERNALIP_CHANGED: TARGET_CHANGE_TYPE = TARGET_CHANGE_TYPE(2i32);
8596 pub const TARGET_INTERNALIP_CHANGED: TARGET_CHANGE_TYPE = TARGET_CHANGE_TYPE(4i32);
8597 pub const TARGET_JOINED: TARGET_CHANGE_TYPE = TARGET_CHANGE_TYPE(8i32);
8598 pub const TARGET_REMOVED: TARGET_CHANGE_TYPE = TARGET_CHANGE_TYPE(16i32);
8599 pub const TARGET_STATE_CHANGED: TARGET_CHANGE_TYPE = TARGET_CHANGE_TYPE(32i32);
8600 pub const TARGET_IDLE: TARGET_CHANGE_TYPE = TARGET_CHANGE_TYPE(64i32);
8601 pub const TARGET_PENDING: TARGET_CHANGE_TYPE = TARGET_CHANGE_TYPE(128i32);
8602 pub const TARGET_INUSE: TARGET_CHANGE_TYPE = TARGET_CHANGE_TYPE(256i32);
8603 pub const TARGET_PATCH_STATE_CHANGED: TARGET_CHANGE_TYPE = TARGET_CHANGE_TYPE(512i32);
8604 pub const TARGET_FARM_MEMBERSHIP_CHANGED: TARGET_CHANGE_TYPE = TARGET_CHANGE_TYPE(1024i32);
8605 impl ::std::convert::From<i32> for TARGET_CHANGE_TYPE {
from(value: i32) -> Self8606     fn from(value: i32) -> Self {
8607         Self(value)
8608     }
8609 }
8610 unsafe impl ::windows::runtime::Abi for TARGET_CHANGE_TYPE {
8611     type Abi = Self;
8612     type DefaultType = Self;
8613 }
8614 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8615 #[repr(transparent)]
8616 pub struct TARGET_OWNER(pub i32);
8617 pub const OWNER_UNKNOWN: TARGET_OWNER = TARGET_OWNER(0i32);
8618 pub const OWNER_MS_TS_PLUGIN: TARGET_OWNER = TARGET_OWNER(1i32);
8619 pub const OWNER_MS_VM_PLUGIN: TARGET_OWNER = TARGET_OWNER(2i32);
8620 impl ::std::convert::From<i32> for TARGET_OWNER {
from(value: i32) -> Self8621     fn from(value: i32) -> Self {
8622         Self(value)
8623     }
8624 }
8625 unsafe impl ::windows::runtime::Abi for TARGET_OWNER {
8626     type Abi = Self;
8627     type DefaultType = Self;
8628 }
8629 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8630 #[repr(transparent)]
8631 pub struct TARGET_PATCH_STATE(pub i32);
8632 pub const TARGET_PATCH_UNKNOWN: TARGET_PATCH_STATE = TARGET_PATCH_STATE(0i32);
8633 pub const TARGET_PATCH_NOT_STARTED: TARGET_PATCH_STATE = TARGET_PATCH_STATE(1i32);
8634 pub const TARGET_PATCH_IN_PROGRESS: TARGET_PATCH_STATE = TARGET_PATCH_STATE(2i32);
8635 pub const TARGET_PATCH_COMPLETED: TARGET_PATCH_STATE = TARGET_PATCH_STATE(3i32);
8636 pub const TARGET_PATCH_FAILED: TARGET_PATCH_STATE = TARGET_PATCH_STATE(4i32);
8637 impl ::std::convert::From<i32> for TARGET_PATCH_STATE {
from(value: i32) -> Self8638     fn from(value: i32) -> Self {
8639         Self(value)
8640     }
8641 }
8642 unsafe impl ::windows::runtime::Abi for TARGET_PATCH_STATE {
8643     type Abi = Self;
8644     type DefaultType = Self;
8645 }
8646 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8647 #[repr(transparent)]
8648 pub struct TARGET_STATE(pub i32);
8649 pub const TARGET_UNKNOWN: TARGET_STATE = TARGET_STATE(1i32);
8650 pub const TARGET_INITIALIZING: TARGET_STATE = TARGET_STATE(2i32);
8651 pub const TARGET_RUNNING: TARGET_STATE = TARGET_STATE(3i32);
8652 pub const TARGET_DOWN: TARGET_STATE = TARGET_STATE(4i32);
8653 pub const TARGET_HIBERNATED: TARGET_STATE = TARGET_STATE(5i32);
8654 pub const TARGET_CHECKED_OUT: TARGET_STATE = TARGET_STATE(6i32);
8655 pub const TARGET_STOPPED: TARGET_STATE = TARGET_STATE(7i32);
8656 pub const TARGET_INVALID: TARGET_STATE = TARGET_STATE(8i32);
8657 pub const TARGET_STARTING: TARGET_STATE = TARGET_STATE(9i32);
8658 pub const TARGET_STOPPING: TARGET_STATE = TARGET_STATE(10i32);
8659 pub const TARGET_MAXSTATE: TARGET_STATE = TARGET_STATE(11i32);
8660 impl ::std::convert::From<i32> for TARGET_STATE {
from(value: i32) -> Self8661     fn from(value: i32) -> Self {
8662         Self(value)
8663     }
8664 }
8665 unsafe impl ::windows::runtime::Abi for TARGET_STATE {
8666     type Abi = Self;
8667     type DefaultType = Self;
8668 }
8669 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8670 #[repr(transparent)]
8671 pub struct TARGET_TYPE(pub i32);
8672 pub const UNKNOWN: TARGET_TYPE = TARGET_TYPE(0i32);
8673 pub const FARM: TARGET_TYPE = TARGET_TYPE(1i32);
8674 pub const NONFARM: TARGET_TYPE = TARGET_TYPE(2i32);
8675 impl ::std::convert::From<i32> for TARGET_TYPE {
from(value: i32) -> Self8676     fn from(value: i32) -> Self {
8677         Self(value)
8678     }
8679 }
8680 unsafe impl ::windows::runtime::Abi for TARGET_TYPE {
8681     type Abi = Self;
8682     type DefaultType = Self;
8683 }
8684 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8685 #[repr(transparent)]
8686 pub struct TSPUB_PLUGIN_PD_ASSIGNMENT_TYPE(pub i32);
8687 pub const TSPUB_PLUGIN_PD_ASSIGNMENT_NEW: TSPUB_PLUGIN_PD_ASSIGNMENT_TYPE = TSPUB_PLUGIN_PD_ASSIGNMENT_TYPE(0i32);
8688 pub const TSPUB_PLUGIN_PD_ASSIGNMENT_EXISTING: TSPUB_PLUGIN_PD_ASSIGNMENT_TYPE = TSPUB_PLUGIN_PD_ASSIGNMENT_TYPE(1i32);
8689 impl ::std::convert::From<i32> for TSPUB_PLUGIN_PD_ASSIGNMENT_TYPE {
from(value: i32) -> Self8690     fn from(value: i32) -> Self {
8691         Self(value)
8692     }
8693 }
8694 unsafe impl ::windows::runtime::Abi for TSPUB_PLUGIN_PD_ASSIGNMENT_TYPE {
8695     type Abi = Self;
8696     type DefaultType = Self;
8697 }
8698 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8699 #[repr(transparent)]
8700 pub struct TSPUB_PLUGIN_PD_RESOLUTION_TYPE(pub i32);
8701 pub const TSPUB_PLUGIN_PD_QUERY_OR_CREATE: TSPUB_PLUGIN_PD_RESOLUTION_TYPE = TSPUB_PLUGIN_PD_RESOLUTION_TYPE(0i32);
8702 pub const TSPUB_PLUGIN_PD_QUERY_EXISTING: TSPUB_PLUGIN_PD_RESOLUTION_TYPE = TSPUB_PLUGIN_PD_RESOLUTION_TYPE(1i32);
8703 impl ::std::convert::From<i32> for TSPUB_PLUGIN_PD_RESOLUTION_TYPE {
from(value: i32) -> Self8704     fn from(value: i32) -> Self {
8705         Self(value)
8706     }
8707 }
8708 unsafe impl ::windows::runtime::Abi for TSPUB_PLUGIN_PD_RESOLUTION_TYPE {
8709     type Abi = Self;
8710     type DefaultType = Self;
8711 }
8712 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8713 #[repr(transparent)]
8714 pub struct TSSB_NOTIFICATION_TYPE(pub i32);
8715 pub const TSSB_NOTIFY_INVALID: TSSB_NOTIFICATION_TYPE = TSSB_NOTIFICATION_TYPE(0i32);
8716 pub const TSSB_NOTIFY_TARGET_CHANGE: TSSB_NOTIFICATION_TYPE = TSSB_NOTIFICATION_TYPE(1i32);
8717 pub const TSSB_NOTIFY_SESSION_CHANGE: TSSB_NOTIFICATION_TYPE = TSSB_NOTIFICATION_TYPE(2i32);
8718 pub const TSSB_NOTIFY_CONNECTION_REQUEST_CHANGE: TSSB_NOTIFICATION_TYPE = TSSB_NOTIFICATION_TYPE(4i32);
8719 impl ::std::convert::From<i32> for TSSB_NOTIFICATION_TYPE {
from(value: i32) -> Self8720     fn from(value: i32) -> Self {
8721         Self(value)
8722     }
8723 }
8724 unsafe impl ::windows::runtime::Abi for TSSB_NOTIFICATION_TYPE {
8725     type Abi = Self;
8726     type DefaultType = Self;
8727 }
8728 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8729 #[repr(transparent)]
8730 pub struct TSSD_AddrV46Type(pub i32);
8731 pub const TSSD_ADDR_UNDEFINED: TSSD_AddrV46Type = TSSD_AddrV46Type(0i32);
8732 pub const TSSD_ADDR_IPv4: TSSD_AddrV46Type = TSSD_AddrV46Type(4i32);
8733 pub const TSSD_ADDR_IPv6: TSSD_AddrV46Type = TSSD_AddrV46Type(6i32);
8734 impl ::std::convert::From<i32> for TSSD_AddrV46Type {
from(value: i32) -> Self8735     fn from(value: i32) -> Self {
8736         Self(value)
8737     }
8738 }
8739 unsafe impl ::windows::runtime::Abi for TSSD_AddrV46Type {
8740     type Abi = Self;
8741     type DefaultType = Self;
8742 }
8743 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8744 #[repr(C)]
8745 pub struct TSSD_ConnectionPoint {
8746     pub ServerAddressB: [u8; 16],
8747     pub AddressType: TSSD_AddrV46Type,
8748     pub PortNumber: u16,
8749     pub AddressScope: u32,
8750 }
8751 impl TSSD_ConnectionPoint {}
8752 impl ::std::default::Default for TSSD_ConnectionPoint {
default() -> Self8753     fn default() -> Self {
8754         unsafe { ::std::mem::zeroed() }
8755     }
8756 }
8757 impl ::std::fmt::Debug for TSSD_ConnectionPoint {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8758     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8759         fmt.debug_struct("TSSD_ConnectionPoint").field("ServerAddressB", &self.ServerAddressB).field("AddressType", &self.AddressType).field("PortNumber", &self.PortNumber).field("AddressScope", &self.AddressScope).finish()
8760     }
8761 }
8762 impl ::std::cmp::PartialEq for TSSD_ConnectionPoint {
eq(&self, other: &Self) -> bool8763     fn eq(&self, other: &Self) -> bool {
8764         self.ServerAddressB == other.ServerAddressB && self.AddressType == other.AddressType && self.PortNumber == other.PortNumber && self.AddressScope == other.AddressScope
8765     }
8766 }
8767 impl ::std::cmp::Eq for TSSD_ConnectionPoint {}
8768 unsafe impl ::windows::runtime::Abi for TSSD_ConnectionPoint {
8769     type Abi = Self;
8770     type DefaultType = Self;
8771 }
8772 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8773 #[repr(transparent)]
8774 pub struct TSSESSION_STATE(pub i32);
8775 pub const STATE_INVALID: TSSESSION_STATE = TSSESSION_STATE(-1i32);
8776 pub const STATE_ACTIVE: TSSESSION_STATE = TSSESSION_STATE(0i32);
8777 pub const STATE_CONNECTED: TSSESSION_STATE = TSSESSION_STATE(1i32);
8778 pub const STATE_CONNECTQUERY: TSSESSION_STATE = TSSESSION_STATE(2i32);
8779 pub const STATE_SHADOW: TSSESSION_STATE = TSSESSION_STATE(3i32);
8780 pub const STATE_DISCONNECTED: TSSESSION_STATE = TSSESSION_STATE(4i32);
8781 pub const STATE_IDLE: TSSESSION_STATE = TSSESSION_STATE(5i32);
8782 pub const STATE_LISTEN: TSSESSION_STATE = TSSESSION_STATE(6i32);
8783 pub const STATE_RESET: TSSESSION_STATE = TSSESSION_STATE(7i32);
8784 pub const STATE_DOWN: TSSESSION_STATE = TSSESSION_STATE(8i32);
8785 pub const STATE_INIT: TSSESSION_STATE = TSSESSION_STATE(9i32);
8786 pub const STATE_MAX: TSSESSION_STATE = TSSESSION_STATE(10i32);
8787 impl ::std::convert::From<i32> for TSSESSION_STATE {
from(value: i32) -> Self8788     fn from(value: i32) -> Self {
8789         Self(value)
8790     }
8791 }
8792 unsafe impl ::windows::runtime::Abi for TSSESSION_STATE {
8793     type Abi = Self;
8794     type DefaultType = Self;
8795 }
8796 pub const TSUserExInterfaces: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(152100097, 57228, 4561, [174, 39, 0, 192, 79, 163, 88, 19]);
8797 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8798 #[repr(transparent)]
8799 pub struct TS_SB_SORT_BY(pub i32);
8800 pub const TS_SB_SORT_BY_NONE: TS_SB_SORT_BY = TS_SB_SORT_BY(0i32);
8801 pub const TS_SB_SORT_BY_NAME: TS_SB_SORT_BY = TS_SB_SORT_BY(1i32);
8802 pub const TS_SB_SORT_BY_PROP: TS_SB_SORT_BY = TS_SB_SORT_BY(2i32);
8803 impl ::std::convert::From<i32> for TS_SB_SORT_BY {
from(value: i32) -> Self8804     fn from(value: i32) -> Self {
8805         Self(value)
8806     }
8807 }
8808 unsafe impl ::windows::runtime::Abi for TS_SB_SORT_BY {
8809     type Abi = Self;
8810     type DefaultType = Self;
8811 }
8812 pub const TS_VC_LISTENER_STATIC_CHANNEL: u32 = 1u32;
8813 pub const USERNAME_LENGTH: u32 = 20u32;
8814 pub const VALIDATIONINFORMATION_HARDWAREID_LENGTH: u32 = 20u32;
8815 pub const VALIDATIONINFORMATION_LICENSE_LENGTH: u32 = 16384u32;
8816 pub const VIRTUAL_CHANNEL_VERSION_WIN2000: u32 = 1u32;
8817 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8818 #[repr(transparent)]
8819 pub struct VM_HOST_NOTIFY_STATUS(pub i32);
8820 pub const VM_HOST_STATUS_INIT_PENDING: VM_HOST_NOTIFY_STATUS = VM_HOST_NOTIFY_STATUS(0i32);
8821 pub const VM_HOST_STATUS_INIT_IN_PROGRESS: VM_HOST_NOTIFY_STATUS = VM_HOST_NOTIFY_STATUS(1i32);
8822 pub const VM_HOST_STATUS_INIT_COMPLETE: VM_HOST_NOTIFY_STATUS = VM_HOST_NOTIFY_STATUS(2i32);
8823 pub const VM_HOST_STATUS_INIT_FAILED: VM_HOST_NOTIFY_STATUS = VM_HOST_NOTIFY_STATUS(3i32);
8824 impl ::std::convert::From<i32> for VM_HOST_NOTIFY_STATUS {
from(value: i32) -> Self8825     fn from(value: i32) -> Self {
8826         Self(value)
8827     }
8828 }
8829 unsafe impl ::windows::runtime::Abi for VM_HOST_NOTIFY_STATUS {
8830     type Abi = Self;
8831     type DefaultType = Self;
8832 }
8833 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8834 #[repr(C)]
8835 pub struct VM_NOTIFY_ENTRY {
8836     pub VmName: [u16; 128],
8837     pub VmHost: [u16; 128],
8838 }
8839 impl VM_NOTIFY_ENTRY {}
8840 impl ::std::default::Default for VM_NOTIFY_ENTRY {
default() -> Self8841     fn default() -> Self {
8842         unsafe { ::std::mem::zeroed() }
8843     }
8844 }
8845 impl ::std::fmt::Debug for VM_NOTIFY_ENTRY {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8846     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8847         fmt.debug_struct("VM_NOTIFY_ENTRY").field("VmName", &self.VmName).field("VmHost", &self.VmHost).finish()
8848     }
8849 }
8850 impl ::std::cmp::PartialEq for VM_NOTIFY_ENTRY {
eq(&self, other: &Self) -> bool8851     fn eq(&self, other: &Self) -> bool {
8852         self.VmName == other.VmName && self.VmHost == other.VmHost
8853     }
8854 }
8855 impl ::std::cmp::Eq for VM_NOTIFY_ENTRY {}
8856 unsafe impl ::windows::runtime::Abi for VM_NOTIFY_ENTRY {
8857     type Abi = Self;
8858     type DefaultType = Self;
8859 }
8860 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8861 #[repr(C)]
8862 pub struct VM_NOTIFY_INFO {
8863     pub dwNumEntries: u32,
8864     pub ppVmEntries: *mut *mut VM_NOTIFY_ENTRY,
8865 }
8866 impl VM_NOTIFY_INFO {}
8867 impl ::std::default::Default for VM_NOTIFY_INFO {
default() -> Self8868     fn default() -> Self {
8869         unsafe { ::std::mem::zeroed() }
8870     }
8871 }
8872 impl ::std::fmt::Debug for VM_NOTIFY_INFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8873     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8874         fmt.debug_struct("VM_NOTIFY_INFO").field("dwNumEntries", &self.dwNumEntries).field("ppVmEntries", &self.ppVmEntries).finish()
8875     }
8876 }
8877 impl ::std::cmp::PartialEq for VM_NOTIFY_INFO {
eq(&self, other: &Self) -> bool8878     fn eq(&self, other: &Self) -> bool {
8879         self.dwNumEntries == other.dwNumEntries && self.ppVmEntries == other.ppVmEntries
8880     }
8881 }
8882 impl ::std::cmp::Eq for VM_NOTIFY_INFO {}
8883 unsafe impl ::windows::runtime::Abi for VM_NOTIFY_INFO {
8884     type Abi = Self;
8885     type DefaultType = Self;
8886 }
8887 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8888 #[repr(transparent)]
8889 pub struct VM_NOTIFY_STATUS(pub i32);
8890 pub const VM_NOTIFY_STATUS_PENDING: VM_NOTIFY_STATUS = VM_NOTIFY_STATUS(0i32);
8891 pub const VM_NOTIFY_STATUS_IN_PROGRESS: VM_NOTIFY_STATUS = VM_NOTIFY_STATUS(1i32);
8892 pub const VM_NOTIFY_STATUS_COMPLETE: VM_NOTIFY_STATUS = VM_NOTIFY_STATUS(2i32);
8893 pub const VM_NOTIFY_STATUS_FAILED: VM_NOTIFY_STATUS = VM_NOTIFY_STATUS(3i32);
8894 pub const VM_NOTIFY_STATUS_CANCELED: VM_NOTIFY_STATUS = VM_NOTIFY_STATUS(4i32);
8895 impl ::std::convert::From<i32> for VM_NOTIFY_STATUS {
from(value: i32) -> Self8896     fn from(value: i32) -> Self {
8897         Self(value)
8898     }
8899 }
8900 unsafe impl ::windows::runtime::Abi for VM_NOTIFY_STATUS {
8901     type Abi = Self;
8902     type DefaultType = Self;
8903 }
8904 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8905 #[repr(C)]
8906 #[cfg(feature = "Win32_Foundation")]
8907 pub struct VM_PATCH_INFO {
8908     pub dwNumEntries: u32,
8909     pub pVmNames: *mut super::super::Foundation::PWSTR,
8910 }
8911 #[cfg(feature = "Win32_Foundation")]
8912 impl VM_PATCH_INFO {}
8913 #[cfg(feature = "Win32_Foundation")]
8914 impl ::std::default::Default for VM_PATCH_INFO {
default() -> Self8915     fn default() -> Self {
8916         unsafe { ::std::mem::zeroed() }
8917     }
8918 }
8919 #[cfg(feature = "Win32_Foundation")]
8920 impl ::std::fmt::Debug for VM_PATCH_INFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8921     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8922         fmt.debug_struct("VM_PATCH_INFO").field("dwNumEntries", &self.dwNumEntries).field("pVmNames", &self.pVmNames).finish()
8923     }
8924 }
8925 #[cfg(feature = "Win32_Foundation")]
8926 impl ::std::cmp::PartialEq for VM_PATCH_INFO {
eq(&self, other: &Self) -> bool8927     fn eq(&self, other: &Self) -> bool {
8928         self.dwNumEntries == other.dwNumEntries && self.pVmNames == other.pVmNames
8929     }
8930 }
8931 #[cfg(feature = "Win32_Foundation")]
8932 impl ::std::cmp::Eq for VM_PATCH_INFO {}
8933 #[cfg(feature = "Win32_Foundation")]
8934 unsafe impl ::windows::runtime::Abi for VM_PATCH_INFO {
8935     type Abi = Self;
8936     type DefaultType = Self;
8937 }
8938 pub const WINSTATIONNAME_LENGTH: u32 = 32u32;
8939 pub const WKS_FLAG_CLEAR_CREDS_ON_LAST_RESOURCE: u32 = 1u32;
8940 pub const WKS_FLAG_CREDS_AUTHENTICATED: u32 = 4u32;
8941 pub const WKS_FLAG_PASSWORD_ENCRYPTED: u32 = 2u32;
8942 pub const WRDS_CLIENTADDRESS_LENGTH: u32 = 30u32;
8943 pub const WRDS_CLIENTNAME_LENGTH: u32 = 20u32;
8944 pub const WRDS_CLIENT_PRODUCT_ID_LENGTH: u32 = 32u32;
8945 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8946 #[repr(C)]
8947 #[cfg(feature = "Win32_Foundation")]
8948 pub union WRDS_CONNECTION_SETTING {
8949     pub WRdsConnectionSettings1: WRDS_CONNECTION_SETTINGS_1,
8950 }
8951 #[cfg(feature = "Win32_Foundation")]
8952 impl WRDS_CONNECTION_SETTING {}
8953 #[cfg(feature = "Win32_Foundation")]
8954 impl ::std::default::Default for WRDS_CONNECTION_SETTING {
default() -> Self8955     fn default() -> Self {
8956         unsafe { ::std::mem::zeroed() }
8957     }
8958 }
8959 #[cfg(feature = "Win32_Foundation")]
8960 impl ::std::cmp::PartialEq for WRDS_CONNECTION_SETTING {
eq(&self, _other: &Self) -> bool8961     fn eq(&self, _other: &Self) -> bool {
8962         unimplemented!()
8963     }
8964 }
8965 #[cfg(feature = "Win32_Foundation")]
8966 impl ::std::cmp::Eq for WRDS_CONNECTION_SETTING {}
8967 #[cfg(feature = "Win32_Foundation")]
8968 unsafe impl ::windows::runtime::Abi for WRDS_CONNECTION_SETTING {
8969     type Abi = Self;
8970     type DefaultType = Self;
8971 }
8972 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8973 #[repr(C)]
8974 #[cfg(feature = "Win32_Foundation")]
8975 pub struct WRDS_CONNECTION_SETTINGS {
8976     pub WRdsConnectionSettingLevel: WRDS_CONNECTION_SETTING_LEVEL,
8977     pub WRdsConnectionSetting: WRDS_CONNECTION_SETTING,
8978 }
8979 #[cfg(feature = "Win32_Foundation")]
8980 impl WRDS_CONNECTION_SETTINGS {}
8981 #[cfg(feature = "Win32_Foundation")]
8982 impl ::std::default::Default for WRDS_CONNECTION_SETTINGS {
default() -> Self8983     fn default() -> Self {
8984         unsafe { ::std::mem::zeroed() }
8985     }
8986 }
8987 #[cfg(feature = "Win32_Foundation")]
8988 impl ::std::cmp::PartialEq for WRDS_CONNECTION_SETTINGS {
eq(&self, _other: &Self) -> bool8989     fn eq(&self, _other: &Self) -> bool {
8990         unimplemented!()
8991     }
8992 }
8993 #[cfg(feature = "Win32_Foundation")]
8994 impl ::std::cmp::Eq for WRDS_CONNECTION_SETTINGS {}
8995 #[cfg(feature = "Win32_Foundation")]
8996 unsafe impl ::windows::runtime::Abi for WRDS_CONNECTION_SETTINGS {
8997     type Abi = Self;
8998     type DefaultType = Self;
8999 }
9000 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9001 #[repr(C)]
9002 #[cfg(feature = "Win32_Foundation")]
9003 pub struct WRDS_CONNECTION_SETTINGS_1 {
9004     pub fInheritInitialProgram: super::super::Foundation::BOOLEAN,
9005     pub fInheritColorDepth: super::super::Foundation::BOOLEAN,
9006     pub fHideTitleBar: super::super::Foundation::BOOLEAN,
9007     pub fInheritAutoLogon: super::super::Foundation::BOOLEAN,
9008     pub fMaximizeShell: super::super::Foundation::BOOLEAN,
9009     pub fDisablePNP: super::super::Foundation::BOOLEAN,
9010     pub fPasswordIsScPin: super::super::Foundation::BOOLEAN,
9011     pub fPromptForPassword: super::super::Foundation::BOOLEAN,
9012     pub fDisableCpm: super::super::Foundation::BOOLEAN,
9013     pub fDisableCdm: super::super::Foundation::BOOLEAN,
9014     pub fDisableCcm: super::super::Foundation::BOOLEAN,
9015     pub fDisableLPT: super::super::Foundation::BOOLEAN,
9016     pub fDisableClip: super::super::Foundation::BOOLEAN,
9017     pub fResetBroken: super::super::Foundation::BOOLEAN,
9018     pub fDisableEncryption: super::super::Foundation::BOOLEAN,
9019     pub fDisableAutoReconnect: super::super::Foundation::BOOLEAN,
9020     pub fDisableCtrlAltDel: super::super::Foundation::BOOLEAN,
9021     pub fDoubleClickDetect: super::super::Foundation::BOOLEAN,
9022     pub fEnableWindowsKey: super::super::Foundation::BOOLEAN,
9023     pub fUsingSavedCreds: super::super::Foundation::BOOLEAN,
9024     pub fMouse: super::super::Foundation::BOOLEAN,
9025     pub fNoAudioPlayback: super::super::Foundation::BOOLEAN,
9026     pub fRemoteConsoleAudio: super::super::Foundation::BOOLEAN,
9027     pub EncryptionLevel: u8,
9028     pub ColorDepth: u16,
9029     pub ProtocolType: u16,
9030     pub HRes: u16,
9031     pub VRes: u16,
9032     pub ClientProductId: u16,
9033     pub OutBufCountHost: u16,
9034     pub OutBufCountClient: u16,
9035     pub OutBufLength: u16,
9036     pub KeyboardLayout: u32,
9037     pub MaxConnectionTime: u32,
9038     pub MaxDisconnectionTime: u32,
9039     pub MaxIdleTime: u32,
9040     pub PerformanceFlags: u32,
9041     pub KeyboardType: u32,
9042     pub KeyboardSubType: u32,
9043     pub KeyboardFunctionKey: u32,
9044     pub ActiveInputLocale: u32,
9045     pub SerialNumber: u32,
9046     pub ClientAddressFamily: u32,
9047     pub ClientBuildNumber: u32,
9048     pub ClientSessionId: u32,
9049     pub WorkDirectory: [u16; 257],
9050     pub InitialProgram: [u16; 257],
9051     pub UserName: [u16; 256],
9052     pub Domain: [u16; 256],
9053     pub Password: [u16; 256],
9054     pub ProtocolName: [u16; 9],
9055     pub DisplayDriverName: [u16; 9],
9056     pub DisplayDeviceName: [u16; 20],
9057     pub imeFileName: [u16; 33],
9058     pub AudioDriverName: [u16; 9],
9059     pub ClientName: [u16; 21],
9060     pub ClientAddress: [u16; 31],
9061     pub ClientDirectory: [u16; 257],
9062     pub ClientDigProductId: [u16; 33],
9063     pub ClientSockAddress: WTS_SOCKADDR,
9064     pub ClientTimeZone: WTS_TIME_ZONE_INFORMATION,
9065     pub WRdsListenerSettings: WRDS_LISTENER_SETTINGS,
9066     pub EventLogActivityId: ::windows::runtime::GUID,
9067     pub ContextSize: u32,
9068     pub ContextData: *mut u8,
9069 }
9070 #[cfg(feature = "Win32_Foundation")]
9071 impl WRDS_CONNECTION_SETTINGS_1 {}
9072 #[cfg(feature = "Win32_Foundation")]
9073 impl ::std::default::Default for WRDS_CONNECTION_SETTINGS_1 {
default() -> Self9074     fn default() -> Self {
9075         unsafe { ::std::mem::zeroed() }
9076     }
9077 }
9078 #[cfg(feature = "Win32_Foundation")]
9079 impl ::std::cmp::PartialEq for WRDS_CONNECTION_SETTINGS_1 {
eq(&self, _other: &Self) -> bool9080     fn eq(&self, _other: &Self) -> bool {
9081         unimplemented!()
9082     }
9083 }
9084 #[cfg(feature = "Win32_Foundation")]
9085 impl ::std::cmp::Eq for WRDS_CONNECTION_SETTINGS_1 {}
9086 #[cfg(feature = "Win32_Foundation")]
9087 unsafe impl ::windows::runtime::Abi for WRDS_CONNECTION_SETTINGS_1 {
9088     type Abi = Self;
9089     type DefaultType = Self;
9090 }
9091 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9092 #[repr(transparent)]
9093 pub struct WRDS_CONNECTION_SETTING_LEVEL(pub i32);
9094 pub const WRDS_CONNECTION_SETTING_LEVEL_INVALID: WRDS_CONNECTION_SETTING_LEVEL = WRDS_CONNECTION_SETTING_LEVEL(0i32);
9095 pub const WRDS_CONNECTION_SETTING_LEVEL_1: WRDS_CONNECTION_SETTING_LEVEL = WRDS_CONNECTION_SETTING_LEVEL(1i32);
9096 impl ::std::convert::From<i32> for WRDS_CONNECTION_SETTING_LEVEL {
from(value: i32) -> Self9097     fn from(value: i32) -> Self {
9098         Self(value)
9099     }
9100 }
9101 unsafe impl ::windows::runtime::Abi for WRDS_CONNECTION_SETTING_LEVEL {
9102     type Abi = Self;
9103     type DefaultType = Self;
9104 }
9105 pub const WRDS_DEVICE_NAME_LENGTH: u32 = 19u32;
9106 pub const WRDS_DIRECTORY_LENGTH: u32 = 256u32;
9107 pub const WRDS_DOMAIN_LENGTH: u32 = 255u32;
9108 pub const WRDS_DRIVER_NAME_LENGTH: u32 = 8u32;
9109 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9110 #[repr(C)]
9111 pub struct WRDS_DYNAMIC_TIME_ZONE_INFORMATION {
9112     pub Bias: i32,
9113     pub StandardName: [u16; 32],
9114     pub StandardDate: WTS_SYSTEMTIME,
9115     pub StandardBias: i32,
9116     pub DaylightName: [u16; 32],
9117     pub DaylightDate: WTS_SYSTEMTIME,
9118     pub DaylightBias: i32,
9119     pub TimeZoneKeyName: [u16; 128],
9120     pub DynamicDaylightTimeDisabled: u16,
9121 }
9122 impl WRDS_DYNAMIC_TIME_ZONE_INFORMATION {}
9123 impl ::std::default::Default for WRDS_DYNAMIC_TIME_ZONE_INFORMATION {
default() -> Self9124     fn default() -> Self {
9125         unsafe { ::std::mem::zeroed() }
9126     }
9127 }
9128 impl ::std::fmt::Debug for WRDS_DYNAMIC_TIME_ZONE_INFORMATION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9129     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9130         fmt.debug_struct("WRDS_DYNAMIC_TIME_ZONE_INFORMATION")
9131             .field("Bias", &self.Bias)
9132             .field("StandardName", &self.StandardName)
9133             .field("StandardDate", &self.StandardDate)
9134             .field("StandardBias", &self.StandardBias)
9135             .field("DaylightName", &self.DaylightName)
9136             .field("DaylightDate", &self.DaylightDate)
9137             .field("DaylightBias", &self.DaylightBias)
9138             .field("TimeZoneKeyName", &self.TimeZoneKeyName)
9139             .field("DynamicDaylightTimeDisabled", &self.DynamicDaylightTimeDisabled)
9140             .finish()
9141     }
9142 }
9143 impl ::std::cmp::PartialEq for WRDS_DYNAMIC_TIME_ZONE_INFORMATION {
eq(&self, other: &Self) -> bool9144     fn eq(&self, other: &Self) -> bool {
9145         self.Bias == other.Bias && self.StandardName == other.StandardName && self.StandardDate == other.StandardDate && self.StandardBias == other.StandardBias && self.DaylightName == other.DaylightName && self.DaylightDate == other.DaylightDate && self.DaylightBias == other.DaylightBias && self.TimeZoneKeyName == other.TimeZoneKeyName && self.DynamicDaylightTimeDisabled == other.DynamicDaylightTimeDisabled
9146     }
9147 }
9148 impl ::std::cmp::Eq for WRDS_DYNAMIC_TIME_ZONE_INFORMATION {}
9149 unsafe impl ::windows::runtime::Abi for WRDS_DYNAMIC_TIME_ZONE_INFORMATION {
9150     type Abi = Self;
9151     type DefaultType = Self;
9152 }
9153 pub const WRDS_IMEFILENAME_LENGTH: u32 = 32u32;
9154 pub const WRDS_INITIALPROGRAM_LENGTH: u32 = 256u32;
9155 pub const WRDS_KEY_EXCHANGE_ALG_DH: u32 = 2u32;
9156 pub const WRDS_KEY_EXCHANGE_ALG_RSA: u32 = 1u32;
9157 pub const WRDS_LICENSE_PREAMBLE_VERSION: u32 = 3u32;
9158 pub const WRDS_LICENSE_PROTOCOL_VERSION: u32 = 65536u32;
9159 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9160 #[repr(C)]
9161 pub union WRDS_LISTENER_SETTING {
9162     pub WRdsListenerSettings1: WRDS_LISTENER_SETTINGS_1,
9163 }
9164 impl WRDS_LISTENER_SETTING {}
9165 impl ::std::default::Default for WRDS_LISTENER_SETTING {
default() -> Self9166     fn default() -> Self {
9167         unsafe { ::std::mem::zeroed() }
9168     }
9169 }
9170 impl ::std::cmp::PartialEq for WRDS_LISTENER_SETTING {
eq(&self, _other: &Self) -> bool9171     fn eq(&self, _other: &Self) -> bool {
9172         unimplemented!()
9173     }
9174 }
9175 impl ::std::cmp::Eq for WRDS_LISTENER_SETTING {}
9176 unsafe impl ::windows::runtime::Abi for WRDS_LISTENER_SETTING {
9177     type Abi = Self;
9178     type DefaultType = Self;
9179 }
9180 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9181 #[repr(C)]
9182 pub struct WRDS_LISTENER_SETTINGS {
9183     pub WRdsListenerSettingLevel: WRDS_LISTENER_SETTING_LEVEL,
9184     pub WRdsListenerSetting: WRDS_LISTENER_SETTING,
9185 }
9186 impl WRDS_LISTENER_SETTINGS {}
9187 impl ::std::default::Default for WRDS_LISTENER_SETTINGS {
default() -> Self9188     fn default() -> Self {
9189         unsafe { ::std::mem::zeroed() }
9190     }
9191 }
9192 impl ::std::cmp::PartialEq for WRDS_LISTENER_SETTINGS {
eq(&self, _other: &Self) -> bool9193     fn eq(&self, _other: &Self) -> bool {
9194         unimplemented!()
9195     }
9196 }
9197 impl ::std::cmp::Eq for WRDS_LISTENER_SETTINGS {}
9198 unsafe impl ::windows::runtime::Abi for WRDS_LISTENER_SETTINGS {
9199     type Abi = Self;
9200     type DefaultType = Self;
9201 }
9202 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9203 #[repr(C)]
9204 pub struct WRDS_LISTENER_SETTINGS_1 {
9205     pub MaxProtocolListenerConnectionCount: u32,
9206     pub SecurityDescriptorSize: u32,
9207     pub pSecurityDescriptor: *mut u8,
9208 }
9209 impl WRDS_LISTENER_SETTINGS_1 {}
9210 impl ::std::default::Default for WRDS_LISTENER_SETTINGS_1 {
default() -> Self9211     fn default() -> Self {
9212         unsafe { ::std::mem::zeroed() }
9213     }
9214 }
9215 impl ::std::fmt::Debug for WRDS_LISTENER_SETTINGS_1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9216     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9217         fmt.debug_struct("WRDS_LISTENER_SETTINGS_1").field("MaxProtocolListenerConnectionCount", &self.MaxProtocolListenerConnectionCount).field("SecurityDescriptorSize", &self.SecurityDescriptorSize).field("pSecurityDescriptor", &self.pSecurityDescriptor).finish()
9218     }
9219 }
9220 impl ::std::cmp::PartialEq for WRDS_LISTENER_SETTINGS_1 {
eq(&self, other: &Self) -> bool9221     fn eq(&self, other: &Self) -> bool {
9222         self.MaxProtocolListenerConnectionCount == other.MaxProtocolListenerConnectionCount && self.SecurityDescriptorSize == other.SecurityDescriptorSize && self.pSecurityDescriptor == other.pSecurityDescriptor
9223     }
9224 }
9225 impl ::std::cmp::Eq for WRDS_LISTENER_SETTINGS_1 {}
9226 unsafe impl ::windows::runtime::Abi for WRDS_LISTENER_SETTINGS_1 {
9227     type Abi = Self;
9228     type DefaultType = Self;
9229 }
9230 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9231 #[repr(transparent)]
9232 pub struct WRDS_LISTENER_SETTING_LEVEL(pub i32);
9233 pub const WRDS_LISTENER_SETTING_LEVEL_INVALID: WRDS_LISTENER_SETTING_LEVEL = WRDS_LISTENER_SETTING_LEVEL(0i32);
9234 pub const WRDS_LISTENER_SETTING_LEVEL_1: WRDS_LISTENER_SETTING_LEVEL = WRDS_LISTENER_SETTING_LEVEL(1i32);
9235 impl ::std::convert::From<i32> for WRDS_LISTENER_SETTING_LEVEL {
from(value: i32) -> Self9236     fn from(value: i32) -> Self {
9237         Self(value)
9238     }
9239 }
9240 unsafe impl ::windows::runtime::Abi for WRDS_LISTENER_SETTING_LEVEL {
9241     type Abi = Self;
9242     type DefaultType = Self;
9243 }
9244 pub const WRDS_MAX_CACHE_RESERVED: u32 = 20u32;
9245 pub const WRDS_MAX_COUNTERS: u32 = 100u32;
9246 pub const WRDS_MAX_DISPLAY_IOCTL_DATA: u32 = 256u32;
9247 pub const WRDS_MAX_PROTOCOL_CACHE: u32 = 4u32;
9248 pub const WRDS_MAX_RESERVED: u32 = 100u32;
9249 pub const WRDS_PASSWORD_LENGTH: u32 = 255u32;
9250 pub const WRDS_PERF_DISABLE_CURSORSETTINGS: u32 = 64u32;
9251 pub const WRDS_PERF_DISABLE_CURSOR_SHADOW: u32 = 32u32;
9252 pub const WRDS_PERF_DISABLE_FULLWINDOWDRAG: u32 = 2u32;
9253 pub const WRDS_PERF_DISABLE_MENUANIMATIONS: u32 = 4u32;
9254 pub const WRDS_PERF_DISABLE_NOTHING: u32 = 0u32;
9255 pub const WRDS_PERF_DISABLE_THEMING: u32 = 8u32;
9256 pub const WRDS_PERF_DISABLE_WALLPAPER: u32 = 1u32;
9257 pub const WRDS_PERF_ENABLE_DESKTOP_COMPOSITION: u32 = 256u32;
9258 pub const WRDS_PERF_ENABLE_ENHANCED_GRAPHICS: u32 = 16u32;
9259 pub const WRDS_PERF_ENABLE_FONT_SMOOTHING: u32 = 128u32;
9260 pub const WRDS_PROTOCOL_NAME_LENGTH: u32 = 8u32;
9261 pub const WRDS_SERVICE_ID_GRAPHICS_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3533258573, 719, 17024, [140, 72, 22, 36, 180, 79, 135, 6]);
9262 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9263 #[repr(C)]
9264 #[cfg(feature = "Win32_Foundation")]
9265 pub union WRDS_SETTING {
9266     pub WRdsSettings1: WRDS_SETTINGS_1,
9267 }
9268 #[cfg(feature = "Win32_Foundation")]
9269 impl WRDS_SETTING {}
9270 #[cfg(feature = "Win32_Foundation")]
9271 impl ::std::default::Default for WRDS_SETTING {
default() -> Self9272     fn default() -> Self {
9273         unsafe { ::std::mem::zeroed() }
9274     }
9275 }
9276 #[cfg(feature = "Win32_Foundation")]
9277 impl ::std::cmp::PartialEq for WRDS_SETTING {
eq(&self, _other: &Self) -> bool9278     fn eq(&self, _other: &Self) -> bool {
9279         unimplemented!()
9280     }
9281 }
9282 #[cfg(feature = "Win32_Foundation")]
9283 impl ::std::cmp::Eq for WRDS_SETTING {}
9284 #[cfg(feature = "Win32_Foundation")]
9285 unsafe impl ::windows::runtime::Abi for WRDS_SETTING {
9286     type Abi = Self;
9287     type DefaultType = Self;
9288 }
9289 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9290 #[repr(C)]
9291 #[cfg(feature = "Win32_Foundation")]
9292 pub struct WRDS_SETTINGS {
9293     pub WRdsSettingType: WRDS_SETTING_TYPE,
9294     pub WRdsSettingLevel: WRDS_SETTING_LEVEL,
9295     pub WRdsSetting: WRDS_SETTING,
9296 }
9297 #[cfg(feature = "Win32_Foundation")]
9298 impl WRDS_SETTINGS {}
9299 #[cfg(feature = "Win32_Foundation")]
9300 impl ::std::default::Default for WRDS_SETTINGS {
default() -> Self9301     fn default() -> Self {
9302         unsafe { ::std::mem::zeroed() }
9303     }
9304 }
9305 #[cfg(feature = "Win32_Foundation")]
9306 impl ::std::cmp::PartialEq for WRDS_SETTINGS {
eq(&self, _other: &Self) -> bool9307     fn eq(&self, _other: &Self) -> bool {
9308         unimplemented!()
9309     }
9310 }
9311 #[cfg(feature = "Win32_Foundation")]
9312 impl ::std::cmp::Eq for WRDS_SETTINGS {}
9313 #[cfg(feature = "Win32_Foundation")]
9314 unsafe impl ::windows::runtime::Abi for WRDS_SETTINGS {
9315     type Abi = Self;
9316     type DefaultType = Self;
9317 }
9318 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9319 #[repr(C)]
9320 #[cfg(feature = "Win32_Foundation")]
9321 pub struct WRDS_SETTINGS_1 {
9322     pub WRdsDisableClipStatus: WRDS_SETTING_STATUS,
9323     pub WRdsDisableClipValue: u32,
9324     pub WRdsDisableLPTStatus: WRDS_SETTING_STATUS,
9325     pub WRdsDisableLPTValue: u32,
9326     pub WRdsDisableCcmStatus: WRDS_SETTING_STATUS,
9327     pub WRdsDisableCcmValue: u32,
9328     pub WRdsDisableCdmStatus: WRDS_SETTING_STATUS,
9329     pub WRdsDisableCdmValue: u32,
9330     pub WRdsDisableCpmStatus: WRDS_SETTING_STATUS,
9331     pub WRdsDisableCpmValue: u32,
9332     pub WRdsDisablePnpStatus: WRDS_SETTING_STATUS,
9333     pub WRdsDisablePnpValue: u32,
9334     pub WRdsEncryptionLevelStatus: WRDS_SETTING_STATUS,
9335     pub WRdsEncryptionValue: u32,
9336     pub WRdsColorDepthStatus: WRDS_SETTING_STATUS,
9337     pub WRdsColorDepthValue: u32,
9338     pub WRdsDisableAutoReconnecetStatus: WRDS_SETTING_STATUS,
9339     pub WRdsDisableAutoReconnecetValue: u32,
9340     pub WRdsDisableEncryptionStatus: WRDS_SETTING_STATUS,
9341     pub WRdsDisableEncryptionValue: u32,
9342     pub WRdsResetBrokenStatus: WRDS_SETTING_STATUS,
9343     pub WRdsResetBrokenValue: u32,
9344     pub WRdsMaxIdleTimeStatus: WRDS_SETTING_STATUS,
9345     pub WRdsMaxIdleTimeValue: u32,
9346     pub WRdsMaxDisconnectTimeStatus: WRDS_SETTING_STATUS,
9347     pub WRdsMaxDisconnectTimeValue: u32,
9348     pub WRdsMaxConnectTimeStatus: WRDS_SETTING_STATUS,
9349     pub WRdsMaxConnectTimeValue: u32,
9350     pub WRdsKeepAliveStatus: WRDS_SETTING_STATUS,
9351     pub WRdsKeepAliveStartValue: super::super::Foundation::BOOLEAN,
9352     pub WRdsKeepAliveIntervalValue: u32,
9353 }
9354 #[cfg(feature = "Win32_Foundation")]
9355 impl WRDS_SETTINGS_1 {}
9356 #[cfg(feature = "Win32_Foundation")]
9357 impl ::std::default::Default for WRDS_SETTINGS_1 {
default() -> Self9358     fn default() -> Self {
9359         unsafe { ::std::mem::zeroed() }
9360     }
9361 }
9362 #[cfg(feature = "Win32_Foundation")]
9363 impl ::std::fmt::Debug for WRDS_SETTINGS_1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9364     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9365         fmt.debug_struct("WRDS_SETTINGS_1")
9366             .field("WRdsDisableClipStatus", &self.WRdsDisableClipStatus)
9367             .field("WRdsDisableClipValue", &self.WRdsDisableClipValue)
9368             .field("WRdsDisableLPTStatus", &self.WRdsDisableLPTStatus)
9369             .field("WRdsDisableLPTValue", &self.WRdsDisableLPTValue)
9370             .field("WRdsDisableCcmStatus", &self.WRdsDisableCcmStatus)
9371             .field("WRdsDisableCcmValue", &self.WRdsDisableCcmValue)
9372             .field("WRdsDisableCdmStatus", &self.WRdsDisableCdmStatus)
9373             .field("WRdsDisableCdmValue", &self.WRdsDisableCdmValue)
9374             .field("WRdsDisableCpmStatus", &self.WRdsDisableCpmStatus)
9375             .field("WRdsDisableCpmValue", &self.WRdsDisableCpmValue)
9376             .field("WRdsDisablePnpStatus", &self.WRdsDisablePnpStatus)
9377             .field("WRdsDisablePnpValue", &self.WRdsDisablePnpValue)
9378             .field("WRdsEncryptionLevelStatus", &self.WRdsEncryptionLevelStatus)
9379             .field("WRdsEncryptionValue", &self.WRdsEncryptionValue)
9380             .field("WRdsColorDepthStatus", &self.WRdsColorDepthStatus)
9381             .field("WRdsColorDepthValue", &self.WRdsColorDepthValue)
9382             .field("WRdsDisableAutoReconnecetStatus", &self.WRdsDisableAutoReconnecetStatus)
9383             .field("WRdsDisableAutoReconnecetValue", &self.WRdsDisableAutoReconnecetValue)
9384             .field("WRdsDisableEncryptionStatus", &self.WRdsDisableEncryptionStatus)
9385             .field("WRdsDisableEncryptionValue", &self.WRdsDisableEncryptionValue)
9386             .field("WRdsResetBrokenStatus", &self.WRdsResetBrokenStatus)
9387             .field("WRdsResetBrokenValue", &self.WRdsResetBrokenValue)
9388             .field("WRdsMaxIdleTimeStatus", &self.WRdsMaxIdleTimeStatus)
9389             .field("WRdsMaxIdleTimeValue", &self.WRdsMaxIdleTimeValue)
9390             .field("WRdsMaxDisconnectTimeStatus", &self.WRdsMaxDisconnectTimeStatus)
9391             .field("WRdsMaxDisconnectTimeValue", &self.WRdsMaxDisconnectTimeValue)
9392             .field("WRdsMaxConnectTimeStatus", &self.WRdsMaxConnectTimeStatus)
9393             .field("WRdsMaxConnectTimeValue", &self.WRdsMaxConnectTimeValue)
9394             .field("WRdsKeepAliveStatus", &self.WRdsKeepAliveStatus)
9395             .field("WRdsKeepAliveStartValue", &self.WRdsKeepAliveStartValue)
9396             .field("WRdsKeepAliveIntervalValue", &self.WRdsKeepAliveIntervalValue)
9397             .finish()
9398     }
9399 }
9400 #[cfg(feature = "Win32_Foundation")]
9401 impl ::std::cmp::PartialEq for WRDS_SETTINGS_1 {
eq(&self, other: &Self) -> bool9402     fn eq(&self, other: &Self) -> bool {
9403         self.WRdsDisableClipStatus == other.WRdsDisableClipStatus
9404             && self.WRdsDisableClipValue == other.WRdsDisableClipValue
9405             && self.WRdsDisableLPTStatus == other.WRdsDisableLPTStatus
9406             && self.WRdsDisableLPTValue == other.WRdsDisableLPTValue
9407             && self.WRdsDisableCcmStatus == other.WRdsDisableCcmStatus
9408             && self.WRdsDisableCcmValue == other.WRdsDisableCcmValue
9409             && self.WRdsDisableCdmStatus == other.WRdsDisableCdmStatus
9410             && self.WRdsDisableCdmValue == other.WRdsDisableCdmValue
9411             && self.WRdsDisableCpmStatus == other.WRdsDisableCpmStatus
9412             && self.WRdsDisableCpmValue == other.WRdsDisableCpmValue
9413             && self.WRdsDisablePnpStatus == other.WRdsDisablePnpStatus
9414             && self.WRdsDisablePnpValue == other.WRdsDisablePnpValue
9415             && self.WRdsEncryptionLevelStatus == other.WRdsEncryptionLevelStatus
9416             && self.WRdsEncryptionValue == other.WRdsEncryptionValue
9417             && self.WRdsColorDepthStatus == other.WRdsColorDepthStatus
9418             && self.WRdsColorDepthValue == other.WRdsColorDepthValue
9419             && self.WRdsDisableAutoReconnecetStatus == other.WRdsDisableAutoReconnecetStatus
9420             && self.WRdsDisableAutoReconnecetValue == other.WRdsDisableAutoReconnecetValue
9421             && self.WRdsDisableEncryptionStatus == other.WRdsDisableEncryptionStatus
9422             && self.WRdsDisableEncryptionValue == other.WRdsDisableEncryptionValue
9423             && self.WRdsResetBrokenStatus == other.WRdsResetBrokenStatus
9424             && self.WRdsResetBrokenValue == other.WRdsResetBrokenValue
9425             && self.WRdsMaxIdleTimeStatus == other.WRdsMaxIdleTimeStatus
9426             && self.WRdsMaxIdleTimeValue == other.WRdsMaxIdleTimeValue
9427             && self.WRdsMaxDisconnectTimeStatus == other.WRdsMaxDisconnectTimeStatus
9428             && self.WRdsMaxDisconnectTimeValue == other.WRdsMaxDisconnectTimeValue
9429             && self.WRdsMaxConnectTimeStatus == other.WRdsMaxConnectTimeStatus
9430             && self.WRdsMaxConnectTimeValue == other.WRdsMaxConnectTimeValue
9431             && self.WRdsKeepAliveStatus == other.WRdsKeepAliveStatus
9432             && self.WRdsKeepAliveStartValue == other.WRdsKeepAliveStartValue
9433             && self.WRdsKeepAliveIntervalValue == other.WRdsKeepAliveIntervalValue
9434     }
9435 }
9436 #[cfg(feature = "Win32_Foundation")]
9437 impl ::std::cmp::Eq for WRDS_SETTINGS_1 {}
9438 #[cfg(feature = "Win32_Foundation")]
9439 unsafe impl ::windows::runtime::Abi for WRDS_SETTINGS_1 {
9440     type Abi = Self;
9441     type DefaultType = Self;
9442 }
9443 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9444 #[repr(transparent)]
9445 pub struct WRDS_SETTING_LEVEL(pub i32);
9446 pub const WRDS_SETTING_LEVEL_INVALID: WRDS_SETTING_LEVEL = WRDS_SETTING_LEVEL(0i32);
9447 pub const WRDS_SETTING_LEVEL_1: WRDS_SETTING_LEVEL = WRDS_SETTING_LEVEL(1i32);
9448 impl ::std::convert::From<i32> for WRDS_SETTING_LEVEL {
from(value: i32) -> Self9449     fn from(value: i32) -> Self {
9450         Self(value)
9451     }
9452 }
9453 unsafe impl ::windows::runtime::Abi for WRDS_SETTING_LEVEL {
9454     type Abi = Self;
9455     type DefaultType = Self;
9456 }
9457 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9458 #[repr(transparent)]
9459 pub struct WRDS_SETTING_STATUS(pub i32);
9460 pub const WRDS_SETTING_STATUS_NOTAPPLICABLE: WRDS_SETTING_STATUS = WRDS_SETTING_STATUS(-1i32);
9461 pub const WRDS_SETTING_STATUS_DISABLED: WRDS_SETTING_STATUS = WRDS_SETTING_STATUS(0i32);
9462 pub const WRDS_SETTING_STATUS_ENABLED: WRDS_SETTING_STATUS = WRDS_SETTING_STATUS(1i32);
9463 pub const WRDS_SETTING_STATUS_NOTCONFIGURED: WRDS_SETTING_STATUS = WRDS_SETTING_STATUS(2i32);
9464 impl ::std::convert::From<i32> for WRDS_SETTING_STATUS {
from(value: i32) -> Self9465     fn from(value: i32) -> Self {
9466         Self(value)
9467     }
9468 }
9469 unsafe impl ::windows::runtime::Abi for WRDS_SETTING_STATUS {
9470     type Abi = Self;
9471     type DefaultType = Self;
9472 }
9473 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9474 #[repr(transparent)]
9475 pub struct WRDS_SETTING_TYPE(pub i32);
9476 pub const WRDS_SETTING_TYPE_INVALID: WRDS_SETTING_TYPE = WRDS_SETTING_TYPE(0i32);
9477 pub const WRDS_SETTING_TYPE_MACHINE: WRDS_SETTING_TYPE = WRDS_SETTING_TYPE(1i32);
9478 pub const WRDS_SETTING_TYPE_USER: WRDS_SETTING_TYPE = WRDS_SETTING_TYPE(2i32);
9479 pub const WRDS_SETTING_TYPE_SAM: WRDS_SETTING_TYPE = WRDS_SETTING_TYPE(3i32);
9480 impl ::std::convert::From<i32> for WRDS_SETTING_TYPE {
from(value: i32) -> Self9481     fn from(value: i32) -> Self {
9482         Self(value)
9483     }
9484 }
9485 unsafe impl ::windows::runtime::Abi for WRDS_SETTING_TYPE {
9486     type Abi = Self;
9487     type DefaultType = Self;
9488 }
9489 pub const WRDS_USERNAME_LENGTH: u32 = 255u32;
9490 pub const WRDS_VALUE_TYPE_BINARY: u32 = 3u32;
9491 pub const WRDS_VALUE_TYPE_GUID: u32 = 4u32;
9492 pub const WRDS_VALUE_TYPE_STRING: u32 = 2u32;
9493 pub const WRDS_VALUE_TYPE_ULONG: u32 = 1u32;
9494 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9495 #[repr(transparent)]
9496 pub struct WRdsGraphicsChannelType(pub i32);
9497 pub const WRdsGraphicsChannelType_GuaranteedDelivery: WRdsGraphicsChannelType = WRdsGraphicsChannelType(0i32);
9498 pub const WRdsGraphicsChannelType_BestEffortDelivery: WRdsGraphicsChannelType = WRdsGraphicsChannelType(1i32);
9499 impl ::std::convert::From<i32> for WRdsGraphicsChannelType {
from(value: i32) -> Self9500     fn from(value: i32) -> Self {
9501         Self(value)
9502     }
9503 }
9504 unsafe impl ::windows::runtime::Abi for WRdsGraphicsChannelType {
9505     type Abi = Self;
9506     type DefaultType = Self;
9507 }
9508 pub const WRdsGraphicsChannels_LossyChannelMaxMessageSize: u32 = 988u32;
9509 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9510 #[repr(C)]
9511 #[cfg(feature = "Win32_Foundation")]
9512 pub struct WTSCLIENTA {
9513     pub ClientName: [super::super::Foundation::CHAR; 21],
9514     pub Domain: [super::super::Foundation::CHAR; 18],
9515     pub UserName: [super::super::Foundation::CHAR; 21],
9516     pub WorkDirectory: [super::super::Foundation::CHAR; 261],
9517     pub InitialProgram: [super::super::Foundation::CHAR; 261],
9518     pub EncryptionLevel: u8,
9519     pub ClientAddressFamily: u32,
9520     pub ClientAddress: [u16; 31],
9521     pub HRes: u16,
9522     pub VRes: u16,
9523     pub ColorDepth: u16,
9524     pub ClientDirectory: [super::super::Foundation::CHAR; 261],
9525     pub ClientBuildNumber: u32,
9526     pub ClientHardwareId: u32,
9527     pub ClientProductId: u16,
9528     pub OutBufCountHost: u16,
9529     pub OutBufCountClient: u16,
9530     pub OutBufLength: u16,
9531     pub DeviceId: [super::super::Foundation::CHAR; 261],
9532 }
9533 #[cfg(feature = "Win32_Foundation")]
9534 impl WTSCLIENTA {}
9535 #[cfg(feature = "Win32_Foundation")]
9536 impl ::std::default::Default for WTSCLIENTA {
default() -> Self9537     fn default() -> Self {
9538         unsafe { ::std::mem::zeroed() }
9539     }
9540 }
9541 #[cfg(feature = "Win32_Foundation")]
9542 impl ::std::fmt::Debug for WTSCLIENTA {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9543     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9544         fmt.debug_struct("WTSCLIENTA")
9545             .field("ClientName", &self.ClientName)
9546             .field("Domain", &self.Domain)
9547             .field("UserName", &self.UserName)
9548             .field("WorkDirectory", &self.WorkDirectory)
9549             .field("InitialProgram", &self.InitialProgram)
9550             .field("EncryptionLevel", &self.EncryptionLevel)
9551             .field("ClientAddressFamily", &self.ClientAddressFamily)
9552             .field("ClientAddress", &self.ClientAddress)
9553             .field("HRes", &self.HRes)
9554             .field("VRes", &self.VRes)
9555             .field("ColorDepth", &self.ColorDepth)
9556             .field("ClientDirectory", &self.ClientDirectory)
9557             .field("ClientBuildNumber", &self.ClientBuildNumber)
9558             .field("ClientHardwareId", &self.ClientHardwareId)
9559             .field("ClientProductId", &self.ClientProductId)
9560             .field("OutBufCountHost", &self.OutBufCountHost)
9561             .field("OutBufCountClient", &self.OutBufCountClient)
9562             .field("OutBufLength", &self.OutBufLength)
9563             .field("DeviceId", &self.DeviceId)
9564             .finish()
9565     }
9566 }
9567 #[cfg(feature = "Win32_Foundation")]
9568 impl ::std::cmp::PartialEq for WTSCLIENTA {
eq(&self, other: &Self) -> bool9569     fn eq(&self, other: &Self) -> bool {
9570         self.ClientName == other.ClientName
9571             && self.Domain == other.Domain
9572             && self.UserName == other.UserName
9573             && self.WorkDirectory == other.WorkDirectory
9574             && self.InitialProgram == other.InitialProgram
9575             && self.EncryptionLevel == other.EncryptionLevel
9576             && self.ClientAddressFamily == other.ClientAddressFamily
9577             && self.ClientAddress == other.ClientAddress
9578             && self.HRes == other.HRes
9579             && self.VRes == other.VRes
9580             && self.ColorDepth == other.ColorDepth
9581             && self.ClientDirectory == other.ClientDirectory
9582             && self.ClientBuildNumber == other.ClientBuildNumber
9583             && self.ClientHardwareId == other.ClientHardwareId
9584             && self.ClientProductId == other.ClientProductId
9585             && self.OutBufCountHost == other.OutBufCountHost
9586             && self.OutBufCountClient == other.OutBufCountClient
9587             && self.OutBufLength == other.OutBufLength
9588             && self.DeviceId == other.DeviceId
9589     }
9590 }
9591 #[cfg(feature = "Win32_Foundation")]
9592 impl ::std::cmp::Eq for WTSCLIENTA {}
9593 #[cfg(feature = "Win32_Foundation")]
9594 unsafe impl ::windows::runtime::Abi for WTSCLIENTA {
9595     type Abi = Self;
9596     type DefaultType = Self;
9597 }
9598 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9599 #[repr(C)]
9600 pub struct WTSCLIENTW {
9601     pub ClientName: [u16; 21],
9602     pub Domain: [u16; 18],
9603     pub UserName: [u16; 21],
9604     pub WorkDirectory: [u16; 261],
9605     pub InitialProgram: [u16; 261],
9606     pub EncryptionLevel: u8,
9607     pub ClientAddressFamily: u32,
9608     pub ClientAddress: [u16; 31],
9609     pub HRes: u16,
9610     pub VRes: u16,
9611     pub ColorDepth: u16,
9612     pub ClientDirectory: [u16; 261],
9613     pub ClientBuildNumber: u32,
9614     pub ClientHardwareId: u32,
9615     pub ClientProductId: u16,
9616     pub OutBufCountHost: u16,
9617     pub OutBufCountClient: u16,
9618     pub OutBufLength: u16,
9619     pub DeviceId: [u16; 261],
9620 }
9621 impl WTSCLIENTW {}
9622 impl ::std::default::Default for WTSCLIENTW {
default() -> Self9623     fn default() -> Self {
9624         unsafe { ::std::mem::zeroed() }
9625     }
9626 }
9627 impl ::std::fmt::Debug for WTSCLIENTW {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9628     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9629         fmt.debug_struct("WTSCLIENTW")
9630             .field("ClientName", &self.ClientName)
9631             .field("Domain", &self.Domain)
9632             .field("UserName", &self.UserName)
9633             .field("WorkDirectory", &self.WorkDirectory)
9634             .field("InitialProgram", &self.InitialProgram)
9635             .field("EncryptionLevel", &self.EncryptionLevel)
9636             .field("ClientAddressFamily", &self.ClientAddressFamily)
9637             .field("ClientAddress", &self.ClientAddress)
9638             .field("HRes", &self.HRes)
9639             .field("VRes", &self.VRes)
9640             .field("ColorDepth", &self.ColorDepth)
9641             .field("ClientDirectory", &self.ClientDirectory)
9642             .field("ClientBuildNumber", &self.ClientBuildNumber)
9643             .field("ClientHardwareId", &self.ClientHardwareId)
9644             .field("ClientProductId", &self.ClientProductId)
9645             .field("OutBufCountHost", &self.OutBufCountHost)
9646             .field("OutBufCountClient", &self.OutBufCountClient)
9647             .field("OutBufLength", &self.OutBufLength)
9648             .field("DeviceId", &self.DeviceId)
9649             .finish()
9650     }
9651 }
9652 impl ::std::cmp::PartialEq for WTSCLIENTW {
eq(&self, other: &Self) -> bool9653     fn eq(&self, other: &Self) -> bool {
9654         self.ClientName == other.ClientName
9655             && self.Domain == other.Domain
9656             && self.UserName == other.UserName
9657             && self.WorkDirectory == other.WorkDirectory
9658             && self.InitialProgram == other.InitialProgram
9659             && self.EncryptionLevel == other.EncryptionLevel
9660             && self.ClientAddressFamily == other.ClientAddressFamily
9661             && self.ClientAddress == other.ClientAddress
9662             && self.HRes == other.HRes
9663             && self.VRes == other.VRes
9664             && self.ColorDepth == other.ColorDepth
9665             && self.ClientDirectory == other.ClientDirectory
9666             && self.ClientBuildNumber == other.ClientBuildNumber
9667             && self.ClientHardwareId == other.ClientHardwareId
9668             && self.ClientProductId == other.ClientProductId
9669             && self.OutBufCountHost == other.OutBufCountHost
9670             && self.OutBufCountClient == other.OutBufCountClient
9671             && self.OutBufLength == other.OutBufLength
9672             && self.DeviceId == other.DeviceId
9673     }
9674 }
9675 impl ::std::cmp::Eq for WTSCLIENTW {}
9676 unsafe impl ::windows::runtime::Abi for WTSCLIENTW {
9677     type Abi = Self;
9678     type DefaultType = Self;
9679 }
9680 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9681 #[repr(C)]
9682 #[cfg(feature = "Win32_Foundation")]
9683 pub struct WTSCONFIGINFOA {
9684     pub version: u32,
9685     pub fConnectClientDrivesAtLogon: u32,
9686     pub fConnectPrinterAtLogon: u32,
9687     pub fDisablePrinterRedirection: u32,
9688     pub fDisableDefaultMainClientPrinter: u32,
9689     pub ShadowSettings: u32,
9690     pub LogonUserName: [super::super::Foundation::CHAR; 21],
9691     pub LogonDomain: [super::super::Foundation::CHAR; 18],
9692     pub WorkDirectory: [super::super::Foundation::CHAR; 261],
9693     pub InitialProgram: [super::super::Foundation::CHAR; 261],
9694     pub ApplicationName: [super::super::Foundation::CHAR; 261],
9695 }
9696 #[cfg(feature = "Win32_Foundation")]
9697 impl WTSCONFIGINFOA {}
9698 #[cfg(feature = "Win32_Foundation")]
9699 impl ::std::default::Default for WTSCONFIGINFOA {
default() -> Self9700     fn default() -> Self {
9701         unsafe { ::std::mem::zeroed() }
9702     }
9703 }
9704 #[cfg(feature = "Win32_Foundation")]
9705 impl ::std::fmt::Debug for WTSCONFIGINFOA {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9706     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9707         fmt.debug_struct("WTSCONFIGINFOA")
9708             .field("version", &self.version)
9709             .field("fConnectClientDrivesAtLogon", &self.fConnectClientDrivesAtLogon)
9710             .field("fConnectPrinterAtLogon", &self.fConnectPrinterAtLogon)
9711             .field("fDisablePrinterRedirection", &self.fDisablePrinterRedirection)
9712             .field("fDisableDefaultMainClientPrinter", &self.fDisableDefaultMainClientPrinter)
9713             .field("ShadowSettings", &self.ShadowSettings)
9714             .field("LogonUserName", &self.LogonUserName)
9715             .field("LogonDomain", &self.LogonDomain)
9716             .field("WorkDirectory", &self.WorkDirectory)
9717             .field("InitialProgram", &self.InitialProgram)
9718             .field("ApplicationName", &self.ApplicationName)
9719             .finish()
9720     }
9721 }
9722 #[cfg(feature = "Win32_Foundation")]
9723 impl ::std::cmp::PartialEq for WTSCONFIGINFOA {
eq(&self, other: &Self) -> bool9724     fn eq(&self, other: &Self) -> bool {
9725         self.version == other.version
9726             && self.fConnectClientDrivesAtLogon == other.fConnectClientDrivesAtLogon
9727             && self.fConnectPrinterAtLogon == other.fConnectPrinterAtLogon
9728             && self.fDisablePrinterRedirection == other.fDisablePrinterRedirection
9729             && self.fDisableDefaultMainClientPrinter == other.fDisableDefaultMainClientPrinter
9730             && self.ShadowSettings == other.ShadowSettings
9731             && self.LogonUserName == other.LogonUserName
9732             && self.LogonDomain == other.LogonDomain
9733             && self.WorkDirectory == other.WorkDirectory
9734             && self.InitialProgram == other.InitialProgram
9735             && self.ApplicationName == other.ApplicationName
9736     }
9737 }
9738 #[cfg(feature = "Win32_Foundation")]
9739 impl ::std::cmp::Eq for WTSCONFIGINFOA {}
9740 #[cfg(feature = "Win32_Foundation")]
9741 unsafe impl ::windows::runtime::Abi for WTSCONFIGINFOA {
9742     type Abi = Self;
9743     type DefaultType = Self;
9744 }
9745 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9746 #[repr(C)]
9747 pub struct WTSCONFIGINFOW {
9748     pub version: u32,
9749     pub fConnectClientDrivesAtLogon: u32,
9750     pub fConnectPrinterAtLogon: u32,
9751     pub fDisablePrinterRedirection: u32,
9752     pub fDisableDefaultMainClientPrinter: u32,
9753     pub ShadowSettings: u32,
9754     pub LogonUserName: [u16; 21],
9755     pub LogonDomain: [u16; 18],
9756     pub WorkDirectory: [u16; 261],
9757     pub InitialProgram: [u16; 261],
9758     pub ApplicationName: [u16; 261],
9759 }
9760 impl WTSCONFIGINFOW {}
9761 impl ::std::default::Default for WTSCONFIGINFOW {
default() -> Self9762     fn default() -> Self {
9763         unsafe { ::std::mem::zeroed() }
9764     }
9765 }
9766 impl ::std::fmt::Debug for WTSCONFIGINFOW {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9767     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9768         fmt.debug_struct("WTSCONFIGINFOW")
9769             .field("version", &self.version)
9770             .field("fConnectClientDrivesAtLogon", &self.fConnectClientDrivesAtLogon)
9771             .field("fConnectPrinterAtLogon", &self.fConnectPrinterAtLogon)
9772             .field("fDisablePrinterRedirection", &self.fDisablePrinterRedirection)
9773             .field("fDisableDefaultMainClientPrinter", &self.fDisableDefaultMainClientPrinter)
9774             .field("ShadowSettings", &self.ShadowSettings)
9775             .field("LogonUserName", &self.LogonUserName)
9776             .field("LogonDomain", &self.LogonDomain)
9777             .field("WorkDirectory", &self.WorkDirectory)
9778             .field("InitialProgram", &self.InitialProgram)
9779             .field("ApplicationName", &self.ApplicationName)
9780             .finish()
9781     }
9782 }
9783 impl ::std::cmp::PartialEq for WTSCONFIGINFOW {
eq(&self, other: &Self) -> bool9784     fn eq(&self, other: &Self) -> bool {
9785         self.version == other.version
9786             && self.fConnectClientDrivesAtLogon == other.fConnectClientDrivesAtLogon
9787             && self.fConnectPrinterAtLogon == other.fConnectPrinterAtLogon
9788             && self.fDisablePrinterRedirection == other.fDisablePrinterRedirection
9789             && self.fDisableDefaultMainClientPrinter == other.fDisableDefaultMainClientPrinter
9790             && self.ShadowSettings == other.ShadowSettings
9791             && self.LogonUserName == other.LogonUserName
9792             && self.LogonDomain == other.LogonDomain
9793             && self.WorkDirectory == other.WorkDirectory
9794             && self.InitialProgram == other.InitialProgram
9795             && self.ApplicationName == other.ApplicationName
9796     }
9797 }
9798 impl ::std::cmp::Eq for WTSCONFIGINFOW {}
9799 unsafe impl ::windows::runtime::Abi for WTSCONFIGINFOW {
9800     type Abi = Self;
9801     type DefaultType = Self;
9802 }
9803 #[cfg(feature = "Win32_Foundation")]
9804 #[inline]
WTSCloseServer<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0)9805 pub unsafe fn WTSCloseServer<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0) {
9806     #[cfg(windows)]
9807     {
9808         #[link(name = "windows")]
9809         extern "system" {
9810             fn WTSCloseServer(hserver: super::super::Foundation::HANDLE);
9811         }
9812         ::std::mem::transmute(WTSCloseServer(hserver.into_param().abi()))
9813     }
9814     #[cfg(not(windows))]
9815     unimplemented!("Unsupported target OS");
9816 }
9817 #[cfg(feature = "Win32_Foundation")]
9818 #[inline]
WTSConnectSessionA<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(logonid: u32, targetlogonid: u32, ppassword: Param2, bwait: Param3) -> super::super::Foundation::BOOL9819 pub unsafe fn WTSConnectSessionA<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(logonid: u32, targetlogonid: u32, ppassword: Param2, bwait: Param3) -> super::super::Foundation::BOOL {
9820     #[cfg(windows)]
9821     {
9822         #[link(name = "windows")]
9823         extern "system" {
9824             fn WTSConnectSessionA(logonid: u32, targetlogonid: u32, ppassword: super::super::Foundation::PSTR, bwait: super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
9825         }
9826         ::std::mem::transmute(WTSConnectSessionA(::std::mem::transmute(logonid), ::std::mem::transmute(targetlogonid), ppassword.into_param().abi(), bwait.into_param().abi()))
9827     }
9828     #[cfg(not(windows))]
9829     unimplemented!("Unsupported target OS");
9830 }
9831 #[cfg(feature = "Win32_Foundation")]
9832 #[inline]
WTSConnectSessionW<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(logonid: u32, targetlogonid: u32, ppassword: Param2, bwait: Param3) -> super::super::Foundation::BOOL9833 pub unsafe fn WTSConnectSessionW<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(logonid: u32, targetlogonid: u32, ppassword: Param2, bwait: Param3) -> super::super::Foundation::BOOL {
9834     #[cfg(windows)]
9835     {
9836         #[link(name = "windows")]
9837         extern "system" {
9838             fn WTSConnectSessionW(logonid: u32, targetlogonid: u32, ppassword: super::super::Foundation::PWSTR, bwait: super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
9839         }
9840         ::std::mem::transmute(WTSConnectSessionW(::std::mem::transmute(logonid), ::std::mem::transmute(targetlogonid), ppassword.into_param().abi(), bwait.into_param().abi()))
9841     }
9842     #[cfg(not(windows))]
9843     unimplemented!("Unsupported target OS");
9844 }
9845 #[cfg(feature = "Win32_Foundation")]
9846 #[inline]
WTSCreateListenerA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hserver: Param0, preserved: *const ::std::ffi::c_void, reserved: u32, plistenername: Param3, pbuffer: *const WTSLISTENERCONFIGA, flag: u32) -> super::super::Foundation::BOOL9847 pub unsafe fn WTSCreateListenerA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hserver: Param0, preserved: *const ::std::ffi::c_void, reserved: u32, plistenername: Param3, pbuffer: *const WTSLISTENERCONFIGA, flag: u32) -> super::super::Foundation::BOOL {
9848     #[cfg(windows)]
9849     {
9850         #[link(name = "windows")]
9851         extern "system" {
9852             fn WTSCreateListenerA(hserver: super::super::Foundation::HANDLE, preserved: *const ::std::ffi::c_void, reserved: u32, plistenername: super::super::Foundation::PSTR, pbuffer: *const WTSLISTENERCONFIGA, flag: u32) -> super::super::Foundation::BOOL;
9853         }
9854         ::std::mem::transmute(WTSCreateListenerA(hserver.into_param().abi(), ::std::mem::transmute(preserved), ::std::mem::transmute(reserved), plistenername.into_param().abi(), ::std::mem::transmute(pbuffer), ::std::mem::transmute(flag)))
9855     }
9856     #[cfg(not(windows))]
9857     unimplemented!("Unsupported target OS");
9858 }
9859 #[cfg(feature = "Win32_Foundation")]
9860 #[inline]
WTSCreateListenerW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(hserver: Param0, preserved: *const ::std::ffi::c_void, reserved: u32, plistenername: Param3, pbuffer: *const WTSLISTENERCONFIGW, flag: u32) -> super::super::Foundation::BOOL9861 pub unsafe fn WTSCreateListenerW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(hserver: Param0, preserved: *const ::std::ffi::c_void, reserved: u32, plistenername: Param3, pbuffer: *const WTSLISTENERCONFIGW, flag: u32) -> super::super::Foundation::BOOL {
9862     #[cfg(windows)]
9863     {
9864         #[link(name = "windows")]
9865         extern "system" {
9866             fn WTSCreateListenerW(hserver: super::super::Foundation::HANDLE, preserved: *const ::std::ffi::c_void, reserved: u32, plistenername: super::super::Foundation::PWSTR, pbuffer: *const WTSLISTENERCONFIGW, flag: u32) -> super::super::Foundation::BOOL;
9867         }
9868         ::std::mem::transmute(WTSCreateListenerW(hserver.into_param().abi(), ::std::mem::transmute(preserved), ::std::mem::transmute(reserved), plistenername.into_param().abi(), ::std::mem::transmute(pbuffer), ::std::mem::transmute(flag)))
9869     }
9870     #[cfg(not(windows))]
9871     unimplemented!("Unsupported target OS");
9872 }
9873 #[cfg(feature = "Win32_Foundation")]
9874 #[inline]
WTSDisconnectSession<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(hserver: Param0, sessionid: u32, bwait: Param2) -> super::super::Foundation::BOOL9875 pub unsafe fn WTSDisconnectSession<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(hserver: Param0, sessionid: u32, bwait: Param2) -> super::super::Foundation::BOOL {
9876     #[cfg(windows)]
9877     {
9878         #[link(name = "windows")]
9879         extern "system" {
9880             fn WTSDisconnectSession(hserver: super::super::Foundation::HANDLE, sessionid: u32, bwait: super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
9881         }
9882         ::std::mem::transmute(WTSDisconnectSession(hserver.into_param().abi(), ::std::mem::transmute(sessionid), bwait.into_param().abi()))
9883     }
9884     #[cfg(not(windows))]
9885     unimplemented!("Unsupported target OS");
9886 }
9887 #[cfg(feature = "Win32_Foundation")]
9888 #[inline]
WTSEnableChildSessions<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(benable: Param0) -> super::super::Foundation::BOOL9889 pub unsafe fn WTSEnableChildSessions<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(benable: Param0) -> super::super::Foundation::BOOL {
9890     #[cfg(windows)]
9891     {
9892         #[link(name = "windows")]
9893         extern "system" {
9894             fn WTSEnableChildSessions(benable: super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
9895         }
9896         ::std::mem::transmute(WTSEnableChildSessions(benable.into_param().abi()))
9897     }
9898     #[cfg(not(windows))]
9899     unimplemented!("Unsupported target OS");
9900 }
9901 #[cfg(feature = "Win32_Foundation")]
9902 #[inline]
WTSEnumerateListenersA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0, preserved: *const ::std::ffi::c_void, reserved: u32, plisteners: *mut *mut i8, pcount: *mut u32) -> super::super::Foundation::BOOL9903 pub unsafe fn WTSEnumerateListenersA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0, preserved: *const ::std::ffi::c_void, reserved: u32, plisteners: *mut *mut i8, pcount: *mut u32) -> super::super::Foundation::BOOL {
9904     #[cfg(windows)]
9905     {
9906         #[link(name = "windows")]
9907         extern "system" {
9908             fn WTSEnumerateListenersA(hserver: super::super::Foundation::HANDLE, preserved: *const ::std::ffi::c_void, reserved: u32, plisteners: *mut *mut i8, pcount: *mut u32) -> super::super::Foundation::BOOL;
9909         }
9910         ::std::mem::transmute(WTSEnumerateListenersA(hserver.into_param().abi(), ::std::mem::transmute(preserved), ::std::mem::transmute(reserved), ::std::mem::transmute(plisteners), ::std::mem::transmute(pcount)))
9911     }
9912     #[cfg(not(windows))]
9913     unimplemented!("Unsupported target OS");
9914 }
9915 #[cfg(feature = "Win32_Foundation")]
9916 #[inline]
WTSEnumerateListenersW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0, preserved: *const ::std::ffi::c_void, reserved: u32, plisteners: *mut *mut u16, pcount: *mut u32) -> super::super::Foundation::BOOL9917 pub unsafe fn WTSEnumerateListenersW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0, preserved: *const ::std::ffi::c_void, reserved: u32, plisteners: *mut *mut u16, pcount: *mut u32) -> super::super::Foundation::BOOL {
9918     #[cfg(windows)]
9919     {
9920         #[link(name = "windows")]
9921         extern "system" {
9922             fn WTSEnumerateListenersW(hserver: super::super::Foundation::HANDLE, preserved: *const ::std::ffi::c_void, reserved: u32, plisteners: *mut *mut u16, pcount: *mut u32) -> super::super::Foundation::BOOL;
9923         }
9924         ::std::mem::transmute(WTSEnumerateListenersW(hserver.into_param().abi(), ::std::mem::transmute(preserved), ::std::mem::transmute(reserved), ::std::mem::transmute(plisteners), ::std::mem::transmute(pcount)))
9925     }
9926     #[cfg(not(windows))]
9927     unimplemented!("Unsupported target OS");
9928 }
9929 #[cfg(feature = "Win32_Foundation")]
9930 #[inline]
WTSEnumerateProcessesA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0, reserved: u32, version: u32, ppprocessinfo: *mut *mut WTS_PROCESS_INFOA, pcount: *mut u32) -> super::super::Foundation::BOOL9931 pub unsafe fn WTSEnumerateProcessesA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0, reserved: u32, version: u32, ppprocessinfo: *mut *mut WTS_PROCESS_INFOA, pcount: *mut u32) -> super::super::Foundation::BOOL {
9932     #[cfg(windows)]
9933     {
9934         #[link(name = "windows")]
9935         extern "system" {
9936             fn WTSEnumerateProcessesA(hserver: super::super::Foundation::HANDLE, reserved: u32, version: u32, ppprocessinfo: *mut *mut WTS_PROCESS_INFOA, pcount: *mut u32) -> super::super::Foundation::BOOL;
9937         }
9938         ::std::mem::transmute(WTSEnumerateProcessesA(hserver.into_param().abi(), ::std::mem::transmute(reserved), ::std::mem::transmute(version), ::std::mem::transmute(ppprocessinfo), ::std::mem::transmute(pcount)))
9939     }
9940     #[cfg(not(windows))]
9941     unimplemented!("Unsupported target OS");
9942 }
9943 #[cfg(feature = "Win32_Foundation")]
9944 #[inline]
WTSEnumerateProcessesExA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0, plevel: *mut u32, sessionid: u32, ppprocessinfo: *mut super::super::Foundation::PSTR, pcount: *mut u32) -> super::super::Foundation::BOOL9945 pub unsafe fn WTSEnumerateProcessesExA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0, plevel: *mut u32, sessionid: u32, ppprocessinfo: *mut super::super::Foundation::PSTR, pcount: *mut u32) -> super::super::Foundation::BOOL {
9946     #[cfg(windows)]
9947     {
9948         #[link(name = "windows")]
9949         extern "system" {
9950             fn WTSEnumerateProcessesExA(hserver: super::super::Foundation::HANDLE, plevel: *mut u32, sessionid: u32, ppprocessinfo: *mut super::super::Foundation::PSTR, pcount: *mut u32) -> super::super::Foundation::BOOL;
9951         }
9952         ::std::mem::transmute(WTSEnumerateProcessesExA(hserver.into_param().abi(), ::std::mem::transmute(plevel), ::std::mem::transmute(sessionid), ::std::mem::transmute(ppprocessinfo), ::std::mem::transmute(pcount)))
9953     }
9954     #[cfg(not(windows))]
9955     unimplemented!("Unsupported target OS");
9956 }
9957 #[cfg(feature = "Win32_Foundation")]
9958 #[inline]
WTSEnumerateProcessesExW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0, plevel: *mut u32, sessionid: u32, ppprocessinfo: *mut super::super::Foundation::PWSTR, pcount: *mut u32) -> super::super::Foundation::BOOL9959 pub unsafe fn WTSEnumerateProcessesExW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0, plevel: *mut u32, sessionid: u32, ppprocessinfo: *mut super::super::Foundation::PWSTR, pcount: *mut u32) -> super::super::Foundation::BOOL {
9960     #[cfg(windows)]
9961     {
9962         #[link(name = "windows")]
9963         extern "system" {
9964             fn WTSEnumerateProcessesExW(hserver: super::super::Foundation::HANDLE, plevel: *mut u32, sessionid: u32, ppprocessinfo: *mut super::super::Foundation::PWSTR, pcount: *mut u32) -> super::super::Foundation::BOOL;
9965         }
9966         ::std::mem::transmute(WTSEnumerateProcessesExW(hserver.into_param().abi(), ::std::mem::transmute(plevel), ::std::mem::transmute(sessionid), ::std::mem::transmute(ppprocessinfo), ::std::mem::transmute(pcount)))
9967     }
9968     #[cfg(not(windows))]
9969     unimplemented!("Unsupported target OS");
9970 }
9971 #[cfg(feature = "Win32_Foundation")]
9972 #[inline]
WTSEnumerateProcessesW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0, reserved: u32, version: u32, ppprocessinfo: *mut *mut WTS_PROCESS_INFOW, pcount: *mut u32) -> super::super::Foundation::BOOL9973 pub unsafe fn WTSEnumerateProcessesW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0, reserved: u32, version: u32, ppprocessinfo: *mut *mut WTS_PROCESS_INFOW, pcount: *mut u32) -> super::super::Foundation::BOOL {
9974     #[cfg(windows)]
9975     {
9976         #[link(name = "windows")]
9977         extern "system" {
9978             fn WTSEnumerateProcessesW(hserver: super::super::Foundation::HANDLE, reserved: u32, version: u32, ppprocessinfo: *mut *mut WTS_PROCESS_INFOW, pcount: *mut u32) -> super::super::Foundation::BOOL;
9979         }
9980         ::std::mem::transmute(WTSEnumerateProcessesW(hserver.into_param().abi(), ::std::mem::transmute(reserved), ::std::mem::transmute(version), ::std::mem::transmute(ppprocessinfo), ::std::mem::transmute(pcount)))
9981     }
9982     #[cfg(not(windows))]
9983     unimplemented!("Unsupported target OS");
9984 }
9985 #[cfg(feature = "Win32_Foundation")]
9986 #[inline]
WTSEnumerateServersA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(pdomainname: Param0, reserved: u32, version: u32, ppserverinfo: *mut *mut WTS_SERVER_INFOA, pcount: *mut u32) -> super::super::Foundation::BOOL9987 pub unsafe fn WTSEnumerateServersA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(pdomainname: Param0, reserved: u32, version: u32, ppserverinfo: *mut *mut WTS_SERVER_INFOA, pcount: *mut u32) -> super::super::Foundation::BOOL {
9988     #[cfg(windows)]
9989     {
9990         #[link(name = "windows")]
9991         extern "system" {
9992             fn WTSEnumerateServersA(pdomainname: super::super::Foundation::PSTR, reserved: u32, version: u32, ppserverinfo: *mut *mut WTS_SERVER_INFOA, pcount: *mut u32) -> super::super::Foundation::BOOL;
9993         }
9994         ::std::mem::transmute(WTSEnumerateServersA(pdomainname.into_param().abi(), ::std::mem::transmute(reserved), ::std::mem::transmute(version), ::std::mem::transmute(ppserverinfo), ::std::mem::transmute(pcount)))
9995     }
9996     #[cfg(not(windows))]
9997     unimplemented!("Unsupported target OS");
9998 }
9999 #[cfg(feature = "Win32_Foundation")]
10000 #[inline]
WTSEnumerateServersW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(pdomainname: Param0, reserved: u32, version: u32, ppserverinfo: *mut *mut WTS_SERVER_INFOW, pcount: *mut u32) -> super::super::Foundation::BOOL10001 pub unsafe fn WTSEnumerateServersW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(pdomainname: Param0, reserved: u32, version: u32, ppserverinfo: *mut *mut WTS_SERVER_INFOW, pcount: *mut u32) -> super::super::Foundation::BOOL {
10002     #[cfg(windows)]
10003     {
10004         #[link(name = "windows")]
10005         extern "system" {
10006             fn WTSEnumerateServersW(pdomainname: super::super::Foundation::PWSTR, reserved: u32, version: u32, ppserverinfo: *mut *mut WTS_SERVER_INFOW, pcount: *mut u32) -> super::super::Foundation::BOOL;
10007         }
10008         ::std::mem::transmute(WTSEnumerateServersW(pdomainname.into_param().abi(), ::std::mem::transmute(reserved), ::std::mem::transmute(version), ::std::mem::transmute(ppserverinfo), ::std::mem::transmute(pcount)))
10009     }
10010     #[cfg(not(windows))]
10011     unimplemented!("Unsupported target OS");
10012 }
10013 #[cfg(feature = "Win32_Foundation")]
10014 #[inline]
WTSEnumerateSessionsA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0, reserved: u32, version: u32, ppsessioninfo: *mut *mut WTS_SESSION_INFOA, pcount: *mut u32) -> super::super::Foundation::BOOL10015 pub unsafe fn WTSEnumerateSessionsA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0, reserved: u32, version: u32, ppsessioninfo: *mut *mut WTS_SESSION_INFOA, pcount: *mut u32) -> super::super::Foundation::BOOL {
10016     #[cfg(windows)]
10017     {
10018         #[link(name = "windows")]
10019         extern "system" {
10020             fn WTSEnumerateSessionsA(hserver: super::super::Foundation::HANDLE, reserved: u32, version: u32, ppsessioninfo: *mut *mut WTS_SESSION_INFOA, pcount: *mut u32) -> super::super::Foundation::BOOL;
10021         }
10022         ::std::mem::transmute(WTSEnumerateSessionsA(hserver.into_param().abi(), ::std::mem::transmute(reserved), ::std::mem::transmute(version), ::std::mem::transmute(ppsessioninfo), ::std::mem::transmute(pcount)))
10023     }
10024     #[cfg(not(windows))]
10025     unimplemented!("Unsupported target OS");
10026 }
10027 #[cfg(feature = "Win32_Foundation")]
10028 #[inline]
WTSEnumerateSessionsExA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0, plevel: *mut u32, filter: u32, ppsessioninfo: *mut *mut WTS_SESSION_INFO_1A, pcount: *mut u32) -> super::super::Foundation::BOOL10029 pub unsafe fn WTSEnumerateSessionsExA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0, plevel: *mut u32, filter: u32, ppsessioninfo: *mut *mut WTS_SESSION_INFO_1A, pcount: *mut u32) -> super::super::Foundation::BOOL {
10030     #[cfg(windows)]
10031     {
10032         #[link(name = "windows")]
10033         extern "system" {
10034             fn WTSEnumerateSessionsExA(hserver: super::super::Foundation::HANDLE, plevel: *mut u32, filter: u32, ppsessioninfo: *mut *mut WTS_SESSION_INFO_1A, pcount: *mut u32) -> super::super::Foundation::BOOL;
10035         }
10036         ::std::mem::transmute(WTSEnumerateSessionsExA(hserver.into_param().abi(), ::std::mem::transmute(plevel), ::std::mem::transmute(filter), ::std::mem::transmute(ppsessioninfo), ::std::mem::transmute(pcount)))
10037     }
10038     #[cfg(not(windows))]
10039     unimplemented!("Unsupported target OS");
10040 }
10041 #[cfg(feature = "Win32_Foundation")]
10042 #[inline]
WTSEnumerateSessionsExW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0, plevel: *mut u32, filter: u32, ppsessioninfo: *mut *mut WTS_SESSION_INFO_1W, pcount: *mut u32) -> super::super::Foundation::BOOL10043 pub unsafe fn WTSEnumerateSessionsExW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0, plevel: *mut u32, filter: u32, ppsessioninfo: *mut *mut WTS_SESSION_INFO_1W, pcount: *mut u32) -> super::super::Foundation::BOOL {
10044     #[cfg(windows)]
10045     {
10046         #[link(name = "windows")]
10047         extern "system" {
10048             fn WTSEnumerateSessionsExW(hserver: super::super::Foundation::HANDLE, plevel: *mut u32, filter: u32, ppsessioninfo: *mut *mut WTS_SESSION_INFO_1W, pcount: *mut u32) -> super::super::Foundation::BOOL;
10049         }
10050         ::std::mem::transmute(WTSEnumerateSessionsExW(hserver.into_param().abi(), ::std::mem::transmute(plevel), ::std::mem::transmute(filter), ::std::mem::transmute(ppsessioninfo), ::std::mem::transmute(pcount)))
10051     }
10052     #[cfg(not(windows))]
10053     unimplemented!("Unsupported target OS");
10054 }
10055 #[cfg(feature = "Win32_Foundation")]
10056 #[inline]
WTSEnumerateSessionsW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0, reserved: u32, version: u32, ppsessioninfo: *mut *mut WTS_SESSION_INFOW, pcount: *mut u32) -> super::super::Foundation::BOOL10057 pub unsafe fn WTSEnumerateSessionsW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0, reserved: u32, version: u32, ppsessioninfo: *mut *mut WTS_SESSION_INFOW, pcount: *mut u32) -> super::super::Foundation::BOOL {
10058     #[cfg(windows)]
10059     {
10060         #[link(name = "windows")]
10061         extern "system" {
10062             fn WTSEnumerateSessionsW(hserver: super::super::Foundation::HANDLE, reserved: u32, version: u32, ppsessioninfo: *mut *mut WTS_SESSION_INFOW, pcount: *mut u32) -> super::super::Foundation::BOOL;
10063         }
10064         ::std::mem::transmute(WTSEnumerateSessionsW(hserver.into_param().abi(), ::std::mem::transmute(reserved), ::std::mem::transmute(version), ::std::mem::transmute(ppsessioninfo), ::std::mem::transmute(pcount)))
10065     }
10066     #[cfg(not(windows))]
10067     unimplemented!("Unsupported target OS");
10068 }
10069 #[inline]
WTSFreeMemory(pmemory: *mut ::std::ffi::c_void)10070 pub unsafe fn WTSFreeMemory(pmemory: *mut ::std::ffi::c_void) {
10071     #[cfg(windows)]
10072     {
10073         #[link(name = "windows")]
10074         extern "system" {
10075             fn WTSFreeMemory(pmemory: *mut ::std::ffi::c_void);
10076         }
10077         ::std::mem::transmute(WTSFreeMemory(::std::mem::transmute(pmemory)))
10078     }
10079     #[cfg(not(windows))]
10080     unimplemented!("Unsupported target OS");
10081 }
10082 #[cfg(feature = "Win32_Foundation")]
10083 #[inline]
WTSFreeMemoryExA(wtstypeclass: WTS_TYPE_CLASS, pmemory: *const ::std::ffi::c_void, numberofentries: u32) -> super::super::Foundation::BOOL10084 pub unsafe fn WTSFreeMemoryExA(wtstypeclass: WTS_TYPE_CLASS, pmemory: *const ::std::ffi::c_void, numberofentries: u32) -> super::super::Foundation::BOOL {
10085     #[cfg(windows)]
10086     {
10087         #[link(name = "windows")]
10088         extern "system" {
10089             fn WTSFreeMemoryExA(wtstypeclass: WTS_TYPE_CLASS, pmemory: *const ::std::ffi::c_void, numberofentries: u32) -> super::super::Foundation::BOOL;
10090         }
10091         ::std::mem::transmute(WTSFreeMemoryExA(::std::mem::transmute(wtstypeclass), ::std::mem::transmute(pmemory), ::std::mem::transmute(numberofentries)))
10092     }
10093     #[cfg(not(windows))]
10094     unimplemented!("Unsupported target OS");
10095 }
10096 #[cfg(feature = "Win32_Foundation")]
10097 #[inline]
WTSFreeMemoryExW(wtstypeclass: WTS_TYPE_CLASS, pmemory: *const ::std::ffi::c_void, numberofentries: u32) -> super::super::Foundation::BOOL10098 pub unsafe fn WTSFreeMemoryExW(wtstypeclass: WTS_TYPE_CLASS, pmemory: *const ::std::ffi::c_void, numberofentries: u32) -> super::super::Foundation::BOOL {
10099     #[cfg(windows)]
10100     {
10101         #[link(name = "windows")]
10102         extern "system" {
10103             fn WTSFreeMemoryExW(wtstypeclass: WTS_TYPE_CLASS, pmemory: *const ::std::ffi::c_void, numberofentries: u32) -> super::super::Foundation::BOOL;
10104         }
10105         ::std::mem::transmute(WTSFreeMemoryExW(::std::mem::transmute(wtstypeclass), ::std::mem::transmute(pmemory), ::std::mem::transmute(numberofentries)))
10106     }
10107     #[cfg(not(windows))]
10108     unimplemented!("Unsupported target OS");
10109 }
10110 #[inline]
WTSGetActiveConsoleSessionId() -> u3210111 pub unsafe fn WTSGetActiveConsoleSessionId() -> u32 {
10112     #[cfg(windows)]
10113     {
10114         #[link(name = "windows")]
10115         extern "system" {
10116             fn WTSGetActiveConsoleSessionId() -> u32;
10117         }
10118         ::std::mem::transmute(WTSGetActiveConsoleSessionId())
10119     }
10120     #[cfg(not(windows))]
10121     unimplemented!("Unsupported target OS");
10122 }
10123 #[cfg(feature = "Win32_Foundation")]
10124 #[inline]
WTSGetChildSessionId(psessionid: *mut u32) -> super::super::Foundation::BOOL10125 pub unsafe fn WTSGetChildSessionId(psessionid: *mut u32) -> super::super::Foundation::BOOL {
10126     #[cfg(windows)]
10127     {
10128         #[link(name = "windows")]
10129         extern "system" {
10130             fn WTSGetChildSessionId(psessionid: *mut u32) -> super::super::Foundation::BOOL;
10131         }
10132         ::std::mem::transmute(WTSGetChildSessionId(::std::mem::transmute(psessionid)))
10133     }
10134     #[cfg(not(windows))]
10135     unimplemented!("Unsupported target OS");
10136 }
10137 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
10138 #[inline]
WTSGetListenerSecurityA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hserver: Param0, preserved: *const ::std::ffi::c_void, reserved: u32, plistenername: Param3, securityinformation: u32, psecuritydescriptor: *mut super::super::Security::SECURITY_DESCRIPTOR, nlength: u32, lpnlengthneeded: *mut u32) -> super::super::Foundation::BOOL10139 pub unsafe fn WTSGetListenerSecurityA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hserver: Param0, preserved: *const ::std::ffi::c_void, reserved: u32, plistenername: Param3, securityinformation: u32, psecuritydescriptor: *mut super::super::Security::SECURITY_DESCRIPTOR, nlength: u32, lpnlengthneeded: *mut u32) -> super::super::Foundation::BOOL {
10140     #[cfg(windows)]
10141     {
10142         #[link(name = "windows")]
10143         extern "system" {
10144             fn WTSGetListenerSecurityA(hserver: super::super::Foundation::HANDLE, preserved: *const ::std::ffi::c_void, reserved: u32, plistenername: super::super::Foundation::PSTR, securityinformation: u32, psecuritydescriptor: *mut super::super::Security::SECURITY_DESCRIPTOR, nlength: u32, lpnlengthneeded: *mut u32) -> super::super::Foundation::BOOL;
10145         }
10146         ::std::mem::transmute(WTSGetListenerSecurityA(
10147             hserver.into_param().abi(),
10148             ::std::mem::transmute(preserved),
10149             ::std::mem::transmute(reserved),
10150             plistenername.into_param().abi(),
10151             ::std::mem::transmute(securityinformation),
10152             ::std::mem::transmute(psecuritydescriptor),
10153             ::std::mem::transmute(nlength),
10154             ::std::mem::transmute(lpnlengthneeded),
10155         ))
10156     }
10157     #[cfg(not(windows))]
10158     unimplemented!("Unsupported target OS");
10159 }
10160 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
10161 #[inline]
WTSGetListenerSecurityW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(hserver: Param0, preserved: *const ::std::ffi::c_void, reserved: u32, plistenername: Param3, securityinformation: u32, psecuritydescriptor: *mut super::super::Security::SECURITY_DESCRIPTOR, nlength: u32, lpnlengthneeded: *mut u32) -> super::super::Foundation::BOOL10162 pub unsafe fn WTSGetListenerSecurityW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(hserver: Param0, preserved: *const ::std::ffi::c_void, reserved: u32, plistenername: Param3, securityinformation: u32, psecuritydescriptor: *mut super::super::Security::SECURITY_DESCRIPTOR, nlength: u32, lpnlengthneeded: *mut u32) -> super::super::Foundation::BOOL {
10163     #[cfg(windows)]
10164     {
10165         #[link(name = "windows")]
10166         extern "system" {
10167             fn WTSGetListenerSecurityW(hserver: super::super::Foundation::HANDLE, preserved: *const ::std::ffi::c_void, reserved: u32, plistenername: super::super::Foundation::PWSTR, securityinformation: u32, psecuritydescriptor: *mut super::super::Security::SECURITY_DESCRIPTOR, nlength: u32, lpnlengthneeded: *mut u32) -> super::super::Foundation::BOOL;
10168         }
10169         ::std::mem::transmute(WTSGetListenerSecurityW(
10170             hserver.into_param().abi(),
10171             ::std::mem::transmute(preserved),
10172             ::std::mem::transmute(reserved),
10173             plistenername.into_param().abi(),
10174             ::std::mem::transmute(securityinformation),
10175             ::std::mem::transmute(psecuritydescriptor),
10176             ::std::mem::transmute(nlength),
10177             ::std::mem::transmute(lpnlengthneeded),
10178         ))
10179     }
10180     #[cfg(not(windows))]
10181     unimplemented!("Unsupported target OS");
10182 }
10183 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10184 #[repr(C)]
10185 #[cfg(feature = "Win32_Foundation")]
10186 pub struct WTSINFOA {
10187     pub State: WTS_CONNECTSTATE_CLASS,
10188     pub SessionId: u32,
10189     pub IncomingBytes: u32,
10190     pub OutgoingBytes: u32,
10191     pub IncomingFrames: u32,
10192     pub OutgoingFrames: u32,
10193     pub IncomingCompressedBytes: u32,
10194     pub OutgoingCompressedBy: u32,
10195     pub WinStationName: [super::super::Foundation::CHAR; 32],
10196     pub Domain: [super::super::Foundation::CHAR; 17],
10197     pub UserName: [super::super::Foundation::CHAR; 21],
10198     pub ConnectTime: i64,
10199     pub DisconnectTime: i64,
10200     pub LastInputTime: i64,
10201     pub LogonTime: i64,
10202     pub CurrentTime: i64,
10203 }
10204 #[cfg(feature = "Win32_Foundation")]
10205 impl WTSINFOA {}
10206 #[cfg(feature = "Win32_Foundation")]
10207 impl ::std::default::Default for WTSINFOA {
default() -> Self10208     fn default() -> Self {
10209         unsafe { ::std::mem::zeroed() }
10210     }
10211 }
10212 #[cfg(feature = "Win32_Foundation")]
10213 impl ::std::fmt::Debug for WTSINFOA {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10214     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10215         fmt.debug_struct("WTSINFOA")
10216             .field("State", &self.State)
10217             .field("SessionId", &self.SessionId)
10218             .field("IncomingBytes", &self.IncomingBytes)
10219             .field("OutgoingBytes", &self.OutgoingBytes)
10220             .field("IncomingFrames", &self.IncomingFrames)
10221             .field("OutgoingFrames", &self.OutgoingFrames)
10222             .field("IncomingCompressedBytes", &self.IncomingCompressedBytes)
10223             .field("OutgoingCompressedBy", &self.OutgoingCompressedBy)
10224             .field("WinStationName", &self.WinStationName)
10225             .field("Domain", &self.Domain)
10226             .field("UserName", &self.UserName)
10227             .field("ConnectTime", &self.ConnectTime)
10228             .field("DisconnectTime", &self.DisconnectTime)
10229             .field("LastInputTime", &self.LastInputTime)
10230             .field("LogonTime", &self.LogonTime)
10231             .field("CurrentTime", &self.CurrentTime)
10232             .finish()
10233     }
10234 }
10235 #[cfg(feature = "Win32_Foundation")]
10236 impl ::std::cmp::PartialEq for WTSINFOA {
eq(&self, other: &Self) -> bool10237     fn eq(&self, other: &Self) -> bool {
10238         self.State == other.State
10239             && self.SessionId == other.SessionId
10240             && self.IncomingBytes == other.IncomingBytes
10241             && self.OutgoingBytes == other.OutgoingBytes
10242             && self.IncomingFrames == other.IncomingFrames
10243             && self.OutgoingFrames == other.OutgoingFrames
10244             && self.IncomingCompressedBytes == other.IncomingCompressedBytes
10245             && self.OutgoingCompressedBy == other.OutgoingCompressedBy
10246             && self.WinStationName == other.WinStationName
10247             && self.Domain == other.Domain
10248             && self.UserName == other.UserName
10249             && self.ConnectTime == other.ConnectTime
10250             && self.DisconnectTime == other.DisconnectTime
10251             && self.LastInputTime == other.LastInputTime
10252             && self.LogonTime == other.LogonTime
10253             && self.CurrentTime == other.CurrentTime
10254     }
10255 }
10256 #[cfg(feature = "Win32_Foundation")]
10257 impl ::std::cmp::Eq for WTSINFOA {}
10258 #[cfg(feature = "Win32_Foundation")]
10259 unsafe impl ::windows::runtime::Abi for WTSINFOA {
10260     type Abi = Self;
10261     type DefaultType = Self;
10262 }
10263 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10264 #[repr(C)]
10265 #[cfg(feature = "Win32_Foundation")]
10266 pub struct WTSINFOEXA {
10267     pub Level: u32,
10268     pub Data: WTSINFOEX_LEVEL_A,
10269 }
10270 #[cfg(feature = "Win32_Foundation")]
10271 impl WTSINFOEXA {}
10272 #[cfg(feature = "Win32_Foundation")]
10273 impl ::std::default::Default for WTSINFOEXA {
default() -> Self10274     fn default() -> Self {
10275         unsafe { ::std::mem::zeroed() }
10276     }
10277 }
10278 #[cfg(feature = "Win32_Foundation")]
10279 impl ::std::cmp::PartialEq for WTSINFOEXA {
eq(&self, _other: &Self) -> bool10280     fn eq(&self, _other: &Self) -> bool {
10281         unimplemented!()
10282     }
10283 }
10284 #[cfg(feature = "Win32_Foundation")]
10285 impl ::std::cmp::Eq for WTSINFOEXA {}
10286 #[cfg(feature = "Win32_Foundation")]
10287 unsafe impl ::windows::runtime::Abi for WTSINFOEXA {
10288     type Abi = Self;
10289     type DefaultType = Self;
10290 }
10291 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10292 #[repr(C)]
10293 pub struct WTSINFOEXW {
10294     pub Level: u32,
10295     pub Data: WTSINFOEX_LEVEL_W,
10296 }
10297 impl WTSINFOEXW {}
10298 impl ::std::default::Default for WTSINFOEXW {
default() -> Self10299     fn default() -> Self {
10300         unsafe { ::std::mem::zeroed() }
10301     }
10302 }
10303 impl ::std::cmp::PartialEq for WTSINFOEXW {
eq(&self, _other: &Self) -> bool10304     fn eq(&self, _other: &Self) -> bool {
10305         unimplemented!()
10306     }
10307 }
10308 impl ::std::cmp::Eq for WTSINFOEXW {}
10309 unsafe impl ::windows::runtime::Abi for WTSINFOEXW {
10310     type Abi = Self;
10311     type DefaultType = Self;
10312 }
10313 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10314 #[repr(C)]
10315 #[cfg(feature = "Win32_Foundation")]
10316 pub struct WTSINFOEX_LEVEL1_A {
10317     pub SessionId: u32,
10318     pub SessionState: WTS_CONNECTSTATE_CLASS,
10319     pub SessionFlags: i32,
10320     pub WinStationName: [super::super::Foundation::CHAR; 33],
10321     pub UserName: [super::super::Foundation::CHAR; 21],
10322     pub DomainName: [super::super::Foundation::CHAR; 18],
10323     pub LogonTime: i64,
10324     pub ConnectTime: i64,
10325     pub DisconnectTime: i64,
10326     pub LastInputTime: i64,
10327     pub CurrentTime: i64,
10328     pub IncomingBytes: u32,
10329     pub OutgoingBytes: u32,
10330     pub IncomingFrames: u32,
10331     pub OutgoingFrames: u32,
10332     pub IncomingCompressedBytes: u32,
10333     pub OutgoingCompressedBytes: u32,
10334 }
10335 #[cfg(feature = "Win32_Foundation")]
10336 impl WTSINFOEX_LEVEL1_A {}
10337 #[cfg(feature = "Win32_Foundation")]
10338 impl ::std::default::Default for WTSINFOEX_LEVEL1_A {
default() -> Self10339     fn default() -> Self {
10340         unsafe { ::std::mem::zeroed() }
10341     }
10342 }
10343 #[cfg(feature = "Win32_Foundation")]
10344 impl ::std::fmt::Debug for WTSINFOEX_LEVEL1_A {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10345     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10346         fmt.debug_struct("WTSINFOEX_LEVEL1_A")
10347             .field("SessionId", &self.SessionId)
10348             .field("SessionState", &self.SessionState)
10349             .field("SessionFlags", &self.SessionFlags)
10350             .field("WinStationName", &self.WinStationName)
10351             .field("UserName", &self.UserName)
10352             .field("DomainName", &self.DomainName)
10353             .field("LogonTime", &self.LogonTime)
10354             .field("ConnectTime", &self.ConnectTime)
10355             .field("DisconnectTime", &self.DisconnectTime)
10356             .field("LastInputTime", &self.LastInputTime)
10357             .field("CurrentTime", &self.CurrentTime)
10358             .field("IncomingBytes", &self.IncomingBytes)
10359             .field("OutgoingBytes", &self.OutgoingBytes)
10360             .field("IncomingFrames", &self.IncomingFrames)
10361             .field("OutgoingFrames", &self.OutgoingFrames)
10362             .field("IncomingCompressedBytes", &self.IncomingCompressedBytes)
10363             .field("OutgoingCompressedBytes", &self.OutgoingCompressedBytes)
10364             .finish()
10365     }
10366 }
10367 #[cfg(feature = "Win32_Foundation")]
10368 impl ::std::cmp::PartialEq for WTSINFOEX_LEVEL1_A {
eq(&self, other: &Self) -> bool10369     fn eq(&self, other: &Self) -> bool {
10370         self.SessionId == other.SessionId
10371             && self.SessionState == other.SessionState
10372             && self.SessionFlags == other.SessionFlags
10373             && self.WinStationName == other.WinStationName
10374             && self.UserName == other.UserName
10375             && self.DomainName == other.DomainName
10376             && self.LogonTime == other.LogonTime
10377             && self.ConnectTime == other.ConnectTime
10378             && self.DisconnectTime == other.DisconnectTime
10379             && self.LastInputTime == other.LastInputTime
10380             && self.CurrentTime == other.CurrentTime
10381             && self.IncomingBytes == other.IncomingBytes
10382             && self.OutgoingBytes == other.OutgoingBytes
10383             && self.IncomingFrames == other.IncomingFrames
10384             && self.OutgoingFrames == other.OutgoingFrames
10385             && self.IncomingCompressedBytes == other.IncomingCompressedBytes
10386             && self.OutgoingCompressedBytes == other.OutgoingCompressedBytes
10387     }
10388 }
10389 #[cfg(feature = "Win32_Foundation")]
10390 impl ::std::cmp::Eq for WTSINFOEX_LEVEL1_A {}
10391 #[cfg(feature = "Win32_Foundation")]
10392 unsafe impl ::windows::runtime::Abi for WTSINFOEX_LEVEL1_A {
10393     type Abi = Self;
10394     type DefaultType = Self;
10395 }
10396 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10397 #[repr(C)]
10398 pub struct WTSINFOEX_LEVEL1_W {
10399     pub SessionId: u32,
10400     pub SessionState: WTS_CONNECTSTATE_CLASS,
10401     pub SessionFlags: i32,
10402     pub WinStationName: [u16; 33],
10403     pub UserName: [u16; 21],
10404     pub DomainName: [u16; 18],
10405     pub LogonTime: i64,
10406     pub ConnectTime: i64,
10407     pub DisconnectTime: i64,
10408     pub LastInputTime: i64,
10409     pub CurrentTime: i64,
10410     pub IncomingBytes: u32,
10411     pub OutgoingBytes: u32,
10412     pub IncomingFrames: u32,
10413     pub OutgoingFrames: u32,
10414     pub IncomingCompressedBytes: u32,
10415     pub OutgoingCompressedBytes: u32,
10416 }
10417 impl WTSINFOEX_LEVEL1_W {}
10418 impl ::std::default::Default for WTSINFOEX_LEVEL1_W {
default() -> Self10419     fn default() -> Self {
10420         unsafe { ::std::mem::zeroed() }
10421     }
10422 }
10423 impl ::std::fmt::Debug for WTSINFOEX_LEVEL1_W {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10424     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10425         fmt.debug_struct("WTSINFOEX_LEVEL1_W")
10426             .field("SessionId", &self.SessionId)
10427             .field("SessionState", &self.SessionState)
10428             .field("SessionFlags", &self.SessionFlags)
10429             .field("WinStationName", &self.WinStationName)
10430             .field("UserName", &self.UserName)
10431             .field("DomainName", &self.DomainName)
10432             .field("LogonTime", &self.LogonTime)
10433             .field("ConnectTime", &self.ConnectTime)
10434             .field("DisconnectTime", &self.DisconnectTime)
10435             .field("LastInputTime", &self.LastInputTime)
10436             .field("CurrentTime", &self.CurrentTime)
10437             .field("IncomingBytes", &self.IncomingBytes)
10438             .field("OutgoingBytes", &self.OutgoingBytes)
10439             .field("IncomingFrames", &self.IncomingFrames)
10440             .field("OutgoingFrames", &self.OutgoingFrames)
10441             .field("IncomingCompressedBytes", &self.IncomingCompressedBytes)
10442             .field("OutgoingCompressedBytes", &self.OutgoingCompressedBytes)
10443             .finish()
10444     }
10445 }
10446 impl ::std::cmp::PartialEq for WTSINFOEX_LEVEL1_W {
eq(&self, other: &Self) -> bool10447     fn eq(&self, other: &Self) -> bool {
10448         self.SessionId == other.SessionId
10449             && self.SessionState == other.SessionState
10450             && self.SessionFlags == other.SessionFlags
10451             && self.WinStationName == other.WinStationName
10452             && self.UserName == other.UserName
10453             && self.DomainName == other.DomainName
10454             && self.LogonTime == other.LogonTime
10455             && self.ConnectTime == other.ConnectTime
10456             && self.DisconnectTime == other.DisconnectTime
10457             && self.LastInputTime == other.LastInputTime
10458             && self.CurrentTime == other.CurrentTime
10459             && self.IncomingBytes == other.IncomingBytes
10460             && self.OutgoingBytes == other.OutgoingBytes
10461             && self.IncomingFrames == other.IncomingFrames
10462             && self.OutgoingFrames == other.OutgoingFrames
10463             && self.IncomingCompressedBytes == other.IncomingCompressedBytes
10464             && self.OutgoingCompressedBytes == other.OutgoingCompressedBytes
10465     }
10466 }
10467 impl ::std::cmp::Eq for WTSINFOEX_LEVEL1_W {}
10468 unsafe impl ::windows::runtime::Abi for WTSINFOEX_LEVEL1_W {
10469     type Abi = Self;
10470     type DefaultType = Self;
10471 }
10472 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10473 #[repr(C)]
10474 #[cfg(feature = "Win32_Foundation")]
10475 pub union WTSINFOEX_LEVEL_A {
10476     pub WTSInfoExLevel1: WTSINFOEX_LEVEL1_A,
10477 }
10478 #[cfg(feature = "Win32_Foundation")]
10479 impl WTSINFOEX_LEVEL_A {}
10480 #[cfg(feature = "Win32_Foundation")]
10481 impl ::std::default::Default for WTSINFOEX_LEVEL_A {
default() -> Self10482     fn default() -> Self {
10483         unsafe { ::std::mem::zeroed() }
10484     }
10485 }
10486 #[cfg(feature = "Win32_Foundation")]
10487 impl ::std::cmp::PartialEq for WTSINFOEX_LEVEL_A {
eq(&self, _other: &Self) -> bool10488     fn eq(&self, _other: &Self) -> bool {
10489         unimplemented!()
10490     }
10491 }
10492 #[cfg(feature = "Win32_Foundation")]
10493 impl ::std::cmp::Eq for WTSINFOEX_LEVEL_A {}
10494 #[cfg(feature = "Win32_Foundation")]
10495 unsafe impl ::windows::runtime::Abi for WTSINFOEX_LEVEL_A {
10496     type Abi = Self;
10497     type DefaultType = Self;
10498 }
10499 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10500 #[repr(C)]
10501 pub union WTSINFOEX_LEVEL_W {
10502     pub WTSInfoExLevel1: WTSINFOEX_LEVEL1_W,
10503 }
10504 impl WTSINFOEX_LEVEL_W {}
10505 impl ::std::default::Default for WTSINFOEX_LEVEL_W {
default() -> Self10506     fn default() -> Self {
10507         unsafe { ::std::mem::zeroed() }
10508     }
10509 }
10510 impl ::std::cmp::PartialEq for WTSINFOEX_LEVEL_W {
eq(&self, _other: &Self) -> bool10511     fn eq(&self, _other: &Self) -> bool {
10512         unimplemented!()
10513     }
10514 }
10515 impl ::std::cmp::Eq for WTSINFOEX_LEVEL_W {}
10516 unsafe impl ::windows::runtime::Abi for WTSINFOEX_LEVEL_W {
10517     type Abi = Self;
10518     type DefaultType = Self;
10519 }
10520 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10521 #[repr(C)]
10522 pub struct WTSINFOW {
10523     pub State: WTS_CONNECTSTATE_CLASS,
10524     pub SessionId: u32,
10525     pub IncomingBytes: u32,
10526     pub OutgoingBytes: u32,
10527     pub IncomingFrames: u32,
10528     pub OutgoingFrames: u32,
10529     pub IncomingCompressedBytes: u32,
10530     pub OutgoingCompressedBytes: u32,
10531     pub WinStationName: [u16; 32],
10532     pub Domain: [u16; 17],
10533     pub UserName: [u16; 21],
10534     pub ConnectTime: i64,
10535     pub DisconnectTime: i64,
10536     pub LastInputTime: i64,
10537     pub LogonTime: i64,
10538     pub CurrentTime: i64,
10539 }
10540 impl WTSINFOW {}
10541 impl ::std::default::Default for WTSINFOW {
default() -> Self10542     fn default() -> Self {
10543         unsafe { ::std::mem::zeroed() }
10544     }
10545 }
10546 impl ::std::fmt::Debug for WTSINFOW {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10547     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10548         fmt.debug_struct("WTSINFOW")
10549             .field("State", &self.State)
10550             .field("SessionId", &self.SessionId)
10551             .field("IncomingBytes", &self.IncomingBytes)
10552             .field("OutgoingBytes", &self.OutgoingBytes)
10553             .field("IncomingFrames", &self.IncomingFrames)
10554             .field("OutgoingFrames", &self.OutgoingFrames)
10555             .field("IncomingCompressedBytes", &self.IncomingCompressedBytes)
10556             .field("OutgoingCompressedBytes", &self.OutgoingCompressedBytes)
10557             .field("WinStationName", &self.WinStationName)
10558             .field("Domain", &self.Domain)
10559             .field("UserName", &self.UserName)
10560             .field("ConnectTime", &self.ConnectTime)
10561             .field("DisconnectTime", &self.DisconnectTime)
10562             .field("LastInputTime", &self.LastInputTime)
10563             .field("LogonTime", &self.LogonTime)
10564             .field("CurrentTime", &self.CurrentTime)
10565             .finish()
10566     }
10567 }
10568 impl ::std::cmp::PartialEq for WTSINFOW {
eq(&self, other: &Self) -> bool10569     fn eq(&self, other: &Self) -> bool {
10570         self.State == other.State
10571             && self.SessionId == other.SessionId
10572             && self.IncomingBytes == other.IncomingBytes
10573             && self.OutgoingBytes == other.OutgoingBytes
10574             && self.IncomingFrames == other.IncomingFrames
10575             && self.OutgoingFrames == other.OutgoingFrames
10576             && self.IncomingCompressedBytes == other.IncomingCompressedBytes
10577             && self.OutgoingCompressedBytes == other.OutgoingCompressedBytes
10578             && self.WinStationName == other.WinStationName
10579             && self.Domain == other.Domain
10580             && self.UserName == other.UserName
10581             && self.ConnectTime == other.ConnectTime
10582             && self.DisconnectTime == other.DisconnectTime
10583             && self.LastInputTime == other.LastInputTime
10584             && self.LogonTime == other.LogonTime
10585             && self.CurrentTime == other.CurrentTime
10586     }
10587 }
10588 impl ::std::cmp::Eq for WTSINFOW {}
10589 unsafe impl ::windows::runtime::Abi for WTSINFOW {
10590     type Abi = Self;
10591     type DefaultType = Self;
10592 }
10593 #[cfg(feature = "Win32_Foundation")]
10594 #[inline]
WTSIsChildSessionsEnabled(pbenabled: *mut super::super::Foundation::BOOL) -> super::super::Foundation::BOOL10595 pub unsafe fn WTSIsChildSessionsEnabled(pbenabled: *mut super::super::Foundation::BOOL) -> super::super::Foundation::BOOL {
10596     #[cfg(windows)]
10597     {
10598         #[link(name = "windows")]
10599         extern "system" {
10600             fn WTSIsChildSessionsEnabled(pbenabled: *mut super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
10601         }
10602         ::std::mem::transmute(WTSIsChildSessionsEnabled(::std::mem::transmute(pbenabled)))
10603     }
10604     #[cfg(not(windows))]
10605     unimplemented!("Unsupported target OS");
10606 }
10607 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10608 #[repr(C)]
10609 #[cfg(feature = "Win32_Foundation")]
10610 pub struct WTSLISTENERCONFIGA {
10611     pub version: u32,
10612     pub fEnableListener: u32,
10613     pub MaxConnectionCount: u32,
10614     pub fPromptForPassword: u32,
10615     pub fInheritColorDepth: u32,
10616     pub ColorDepth: u32,
10617     pub fInheritBrokenTimeoutSettings: u32,
10618     pub BrokenTimeoutSettings: u32,
10619     pub fDisablePrinterRedirection: u32,
10620     pub fDisableDriveRedirection: u32,
10621     pub fDisableComPortRedirection: u32,
10622     pub fDisableLPTPortRedirection: u32,
10623     pub fDisableClipboardRedirection: u32,
10624     pub fDisableAudioRedirection: u32,
10625     pub fDisablePNPRedirection: u32,
10626     pub fDisableDefaultMainClientPrinter: u32,
10627     pub LanAdapter: u32,
10628     pub PortNumber: u32,
10629     pub fInheritShadowSettings: u32,
10630     pub ShadowSettings: u32,
10631     pub TimeoutSettingsConnection: u32,
10632     pub TimeoutSettingsDisconnection: u32,
10633     pub TimeoutSettingsIdle: u32,
10634     pub SecurityLayer: u32,
10635     pub MinEncryptionLevel: u32,
10636     pub UserAuthentication: u32,
10637     pub Comment: [super::super::Foundation::CHAR; 61],
10638     pub LogonUserName: [super::super::Foundation::CHAR; 21],
10639     pub LogonDomain: [super::super::Foundation::CHAR; 18],
10640     pub WorkDirectory: [super::super::Foundation::CHAR; 261],
10641     pub InitialProgram: [super::super::Foundation::CHAR; 261],
10642 }
10643 #[cfg(feature = "Win32_Foundation")]
10644 impl WTSLISTENERCONFIGA {}
10645 #[cfg(feature = "Win32_Foundation")]
10646 impl ::std::default::Default for WTSLISTENERCONFIGA {
default() -> Self10647     fn default() -> Self {
10648         unsafe { ::std::mem::zeroed() }
10649     }
10650 }
10651 #[cfg(feature = "Win32_Foundation")]
10652 impl ::std::fmt::Debug for WTSLISTENERCONFIGA {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10653     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10654         fmt.debug_struct("WTSLISTENERCONFIGA")
10655             .field("version", &self.version)
10656             .field("fEnableListener", &self.fEnableListener)
10657             .field("MaxConnectionCount", &self.MaxConnectionCount)
10658             .field("fPromptForPassword", &self.fPromptForPassword)
10659             .field("fInheritColorDepth", &self.fInheritColorDepth)
10660             .field("ColorDepth", &self.ColorDepth)
10661             .field("fInheritBrokenTimeoutSettings", &self.fInheritBrokenTimeoutSettings)
10662             .field("BrokenTimeoutSettings", &self.BrokenTimeoutSettings)
10663             .field("fDisablePrinterRedirection", &self.fDisablePrinterRedirection)
10664             .field("fDisableDriveRedirection", &self.fDisableDriveRedirection)
10665             .field("fDisableComPortRedirection", &self.fDisableComPortRedirection)
10666             .field("fDisableLPTPortRedirection", &self.fDisableLPTPortRedirection)
10667             .field("fDisableClipboardRedirection", &self.fDisableClipboardRedirection)
10668             .field("fDisableAudioRedirection", &self.fDisableAudioRedirection)
10669             .field("fDisablePNPRedirection", &self.fDisablePNPRedirection)
10670             .field("fDisableDefaultMainClientPrinter", &self.fDisableDefaultMainClientPrinter)
10671             .field("LanAdapter", &self.LanAdapter)
10672             .field("PortNumber", &self.PortNumber)
10673             .field("fInheritShadowSettings", &self.fInheritShadowSettings)
10674             .field("ShadowSettings", &self.ShadowSettings)
10675             .field("TimeoutSettingsConnection", &self.TimeoutSettingsConnection)
10676             .field("TimeoutSettingsDisconnection", &self.TimeoutSettingsDisconnection)
10677             .field("TimeoutSettingsIdle", &self.TimeoutSettingsIdle)
10678             .field("SecurityLayer", &self.SecurityLayer)
10679             .field("MinEncryptionLevel", &self.MinEncryptionLevel)
10680             .field("UserAuthentication", &self.UserAuthentication)
10681             .field("Comment", &self.Comment)
10682             .field("LogonUserName", &self.LogonUserName)
10683             .field("LogonDomain", &self.LogonDomain)
10684             .field("WorkDirectory", &self.WorkDirectory)
10685             .field("InitialProgram", &self.InitialProgram)
10686             .finish()
10687     }
10688 }
10689 #[cfg(feature = "Win32_Foundation")]
10690 impl ::std::cmp::PartialEq for WTSLISTENERCONFIGA {
eq(&self, other: &Self) -> bool10691     fn eq(&self, other: &Self) -> bool {
10692         self.version == other.version
10693             && self.fEnableListener == other.fEnableListener
10694             && self.MaxConnectionCount == other.MaxConnectionCount
10695             && self.fPromptForPassword == other.fPromptForPassword
10696             && self.fInheritColorDepth == other.fInheritColorDepth
10697             && self.ColorDepth == other.ColorDepth
10698             && self.fInheritBrokenTimeoutSettings == other.fInheritBrokenTimeoutSettings
10699             && self.BrokenTimeoutSettings == other.BrokenTimeoutSettings
10700             && self.fDisablePrinterRedirection == other.fDisablePrinterRedirection
10701             && self.fDisableDriveRedirection == other.fDisableDriveRedirection
10702             && self.fDisableComPortRedirection == other.fDisableComPortRedirection
10703             && self.fDisableLPTPortRedirection == other.fDisableLPTPortRedirection
10704             && self.fDisableClipboardRedirection == other.fDisableClipboardRedirection
10705             && self.fDisableAudioRedirection == other.fDisableAudioRedirection
10706             && self.fDisablePNPRedirection == other.fDisablePNPRedirection
10707             && self.fDisableDefaultMainClientPrinter == other.fDisableDefaultMainClientPrinter
10708             && self.LanAdapter == other.LanAdapter
10709             && self.PortNumber == other.PortNumber
10710             && self.fInheritShadowSettings == other.fInheritShadowSettings
10711             && self.ShadowSettings == other.ShadowSettings
10712             && self.TimeoutSettingsConnection == other.TimeoutSettingsConnection
10713             && self.TimeoutSettingsDisconnection == other.TimeoutSettingsDisconnection
10714             && self.TimeoutSettingsIdle == other.TimeoutSettingsIdle
10715             && self.SecurityLayer == other.SecurityLayer
10716             && self.MinEncryptionLevel == other.MinEncryptionLevel
10717             && self.UserAuthentication == other.UserAuthentication
10718             && self.Comment == other.Comment
10719             && self.LogonUserName == other.LogonUserName
10720             && self.LogonDomain == other.LogonDomain
10721             && self.WorkDirectory == other.WorkDirectory
10722             && self.InitialProgram == other.InitialProgram
10723     }
10724 }
10725 #[cfg(feature = "Win32_Foundation")]
10726 impl ::std::cmp::Eq for WTSLISTENERCONFIGA {}
10727 #[cfg(feature = "Win32_Foundation")]
10728 unsafe impl ::windows::runtime::Abi for WTSLISTENERCONFIGA {
10729     type Abi = Self;
10730     type DefaultType = Self;
10731 }
10732 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10733 #[repr(C)]
10734 pub struct WTSLISTENERCONFIGW {
10735     pub version: u32,
10736     pub fEnableListener: u32,
10737     pub MaxConnectionCount: u32,
10738     pub fPromptForPassword: u32,
10739     pub fInheritColorDepth: u32,
10740     pub ColorDepth: u32,
10741     pub fInheritBrokenTimeoutSettings: u32,
10742     pub BrokenTimeoutSettings: u32,
10743     pub fDisablePrinterRedirection: u32,
10744     pub fDisableDriveRedirection: u32,
10745     pub fDisableComPortRedirection: u32,
10746     pub fDisableLPTPortRedirection: u32,
10747     pub fDisableClipboardRedirection: u32,
10748     pub fDisableAudioRedirection: u32,
10749     pub fDisablePNPRedirection: u32,
10750     pub fDisableDefaultMainClientPrinter: u32,
10751     pub LanAdapter: u32,
10752     pub PortNumber: u32,
10753     pub fInheritShadowSettings: u32,
10754     pub ShadowSettings: u32,
10755     pub TimeoutSettingsConnection: u32,
10756     pub TimeoutSettingsDisconnection: u32,
10757     pub TimeoutSettingsIdle: u32,
10758     pub SecurityLayer: u32,
10759     pub MinEncryptionLevel: u32,
10760     pub UserAuthentication: u32,
10761     pub Comment: [u16; 61],
10762     pub LogonUserName: [u16; 21],
10763     pub LogonDomain: [u16; 18],
10764     pub WorkDirectory: [u16; 261],
10765     pub InitialProgram: [u16; 261],
10766 }
10767 impl WTSLISTENERCONFIGW {}
10768 impl ::std::default::Default for WTSLISTENERCONFIGW {
default() -> Self10769     fn default() -> Self {
10770         unsafe { ::std::mem::zeroed() }
10771     }
10772 }
10773 impl ::std::fmt::Debug for WTSLISTENERCONFIGW {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10774     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10775         fmt.debug_struct("WTSLISTENERCONFIGW")
10776             .field("version", &self.version)
10777             .field("fEnableListener", &self.fEnableListener)
10778             .field("MaxConnectionCount", &self.MaxConnectionCount)
10779             .field("fPromptForPassword", &self.fPromptForPassword)
10780             .field("fInheritColorDepth", &self.fInheritColorDepth)
10781             .field("ColorDepth", &self.ColorDepth)
10782             .field("fInheritBrokenTimeoutSettings", &self.fInheritBrokenTimeoutSettings)
10783             .field("BrokenTimeoutSettings", &self.BrokenTimeoutSettings)
10784             .field("fDisablePrinterRedirection", &self.fDisablePrinterRedirection)
10785             .field("fDisableDriveRedirection", &self.fDisableDriveRedirection)
10786             .field("fDisableComPortRedirection", &self.fDisableComPortRedirection)
10787             .field("fDisableLPTPortRedirection", &self.fDisableLPTPortRedirection)
10788             .field("fDisableClipboardRedirection", &self.fDisableClipboardRedirection)
10789             .field("fDisableAudioRedirection", &self.fDisableAudioRedirection)
10790             .field("fDisablePNPRedirection", &self.fDisablePNPRedirection)
10791             .field("fDisableDefaultMainClientPrinter", &self.fDisableDefaultMainClientPrinter)
10792             .field("LanAdapter", &self.LanAdapter)
10793             .field("PortNumber", &self.PortNumber)
10794             .field("fInheritShadowSettings", &self.fInheritShadowSettings)
10795             .field("ShadowSettings", &self.ShadowSettings)
10796             .field("TimeoutSettingsConnection", &self.TimeoutSettingsConnection)
10797             .field("TimeoutSettingsDisconnection", &self.TimeoutSettingsDisconnection)
10798             .field("TimeoutSettingsIdle", &self.TimeoutSettingsIdle)
10799             .field("SecurityLayer", &self.SecurityLayer)
10800             .field("MinEncryptionLevel", &self.MinEncryptionLevel)
10801             .field("UserAuthentication", &self.UserAuthentication)
10802             .field("Comment", &self.Comment)
10803             .field("LogonUserName", &self.LogonUserName)
10804             .field("LogonDomain", &self.LogonDomain)
10805             .field("WorkDirectory", &self.WorkDirectory)
10806             .field("InitialProgram", &self.InitialProgram)
10807             .finish()
10808     }
10809 }
10810 impl ::std::cmp::PartialEq for WTSLISTENERCONFIGW {
eq(&self, other: &Self) -> bool10811     fn eq(&self, other: &Self) -> bool {
10812         self.version == other.version
10813             && self.fEnableListener == other.fEnableListener
10814             && self.MaxConnectionCount == other.MaxConnectionCount
10815             && self.fPromptForPassword == other.fPromptForPassword
10816             && self.fInheritColorDepth == other.fInheritColorDepth
10817             && self.ColorDepth == other.ColorDepth
10818             && self.fInheritBrokenTimeoutSettings == other.fInheritBrokenTimeoutSettings
10819             && self.BrokenTimeoutSettings == other.BrokenTimeoutSettings
10820             && self.fDisablePrinterRedirection == other.fDisablePrinterRedirection
10821             && self.fDisableDriveRedirection == other.fDisableDriveRedirection
10822             && self.fDisableComPortRedirection == other.fDisableComPortRedirection
10823             && self.fDisableLPTPortRedirection == other.fDisableLPTPortRedirection
10824             && self.fDisableClipboardRedirection == other.fDisableClipboardRedirection
10825             && self.fDisableAudioRedirection == other.fDisableAudioRedirection
10826             && self.fDisablePNPRedirection == other.fDisablePNPRedirection
10827             && self.fDisableDefaultMainClientPrinter == other.fDisableDefaultMainClientPrinter
10828             && self.LanAdapter == other.LanAdapter
10829             && self.PortNumber == other.PortNumber
10830             && self.fInheritShadowSettings == other.fInheritShadowSettings
10831             && self.ShadowSettings == other.ShadowSettings
10832             && self.TimeoutSettingsConnection == other.TimeoutSettingsConnection
10833             && self.TimeoutSettingsDisconnection == other.TimeoutSettingsDisconnection
10834             && self.TimeoutSettingsIdle == other.TimeoutSettingsIdle
10835             && self.SecurityLayer == other.SecurityLayer
10836             && self.MinEncryptionLevel == other.MinEncryptionLevel
10837             && self.UserAuthentication == other.UserAuthentication
10838             && self.Comment == other.Comment
10839             && self.LogonUserName == other.LogonUserName
10840             && self.LogonDomain == other.LogonDomain
10841             && self.WorkDirectory == other.WorkDirectory
10842             && self.InitialProgram == other.InitialProgram
10843     }
10844 }
10845 impl ::std::cmp::Eq for WTSLISTENERCONFIGW {}
10846 unsafe impl ::windows::runtime::Abi for WTSLISTENERCONFIGW {
10847     type Abi = Self;
10848     type DefaultType = Self;
10849 }
10850 #[cfg(feature = "Win32_Foundation")]
10851 #[inline]
WTSLogoffSession<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(hserver: Param0, sessionid: u32, bwait: Param2) -> super::super::Foundation::BOOL10852 pub unsafe fn WTSLogoffSession<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(hserver: Param0, sessionid: u32, bwait: Param2) -> super::super::Foundation::BOOL {
10853     #[cfg(windows)]
10854     {
10855         #[link(name = "windows")]
10856         extern "system" {
10857             fn WTSLogoffSession(hserver: super::super::Foundation::HANDLE, sessionid: u32, bwait: super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
10858         }
10859         ::std::mem::transmute(WTSLogoffSession(hserver.into_param().abi(), ::std::mem::transmute(sessionid), bwait.into_param().abi()))
10860     }
10861     #[cfg(not(windows))]
10862     unimplemented!("Unsupported target OS");
10863 }
10864 #[cfg(feature = "Win32_Foundation")]
10865 #[inline]
WTSOpenServerA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(pservername: Param0) -> super::super::Foundation::HANDLE10866 pub unsafe fn WTSOpenServerA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(pservername: Param0) -> super::super::Foundation::HANDLE {
10867     #[cfg(windows)]
10868     {
10869         #[link(name = "windows")]
10870         extern "system" {
10871             fn WTSOpenServerA(pservername: super::super::Foundation::PSTR) -> super::super::Foundation::HANDLE;
10872         }
10873         ::std::mem::transmute(WTSOpenServerA(pservername.into_param().abi()))
10874     }
10875     #[cfg(not(windows))]
10876     unimplemented!("Unsupported target OS");
10877 }
10878 #[cfg(feature = "Win32_Foundation")]
10879 #[inline]
WTSOpenServerExA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(pservername: Param0) -> super::super::Foundation::HANDLE10880 pub unsafe fn WTSOpenServerExA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(pservername: Param0) -> super::super::Foundation::HANDLE {
10881     #[cfg(windows)]
10882     {
10883         #[link(name = "windows")]
10884         extern "system" {
10885             fn WTSOpenServerExA(pservername: super::super::Foundation::PSTR) -> super::super::Foundation::HANDLE;
10886         }
10887         ::std::mem::transmute(WTSOpenServerExA(pservername.into_param().abi()))
10888     }
10889     #[cfg(not(windows))]
10890     unimplemented!("Unsupported target OS");
10891 }
10892 #[cfg(feature = "Win32_Foundation")]
10893 #[inline]
WTSOpenServerExW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(pservername: Param0) -> super::super::Foundation::HANDLE10894 pub unsafe fn WTSOpenServerExW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(pservername: Param0) -> super::super::Foundation::HANDLE {
10895     #[cfg(windows)]
10896     {
10897         #[link(name = "windows")]
10898         extern "system" {
10899             fn WTSOpenServerExW(pservername: super::super::Foundation::PWSTR) -> super::super::Foundation::HANDLE;
10900         }
10901         ::std::mem::transmute(WTSOpenServerExW(pservername.into_param().abi()))
10902     }
10903     #[cfg(not(windows))]
10904     unimplemented!("Unsupported target OS");
10905 }
10906 #[cfg(feature = "Win32_Foundation")]
10907 #[inline]
WTSOpenServerW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(pservername: Param0) -> super::super::Foundation::HANDLE10908 pub unsafe fn WTSOpenServerW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(pservername: Param0) -> super::super::Foundation::HANDLE {
10909     #[cfg(windows)]
10910     {
10911         #[link(name = "windows")]
10912         extern "system" {
10913             fn WTSOpenServerW(pservername: super::super::Foundation::PWSTR) -> super::super::Foundation::HANDLE;
10914         }
10915         ::std::mem::transmute(WTSOpenServerW(pservername.into_param().abi()))
10916     }
10917     #[cfg(not(windows))]
10918     unimplemented!("Unsupported target OS");
10919 }
10920 #[cfg(feature = "Win32_Foundation")]
10921 #[inline]
WTSQueryListenerConfigA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hserver: Param0, preserved: *const ::std::ffi::c_void, reserved: u32, plistenername: Param3, pbuffer: *mut WTSLISTENERCONFIGA) -> super::super::Foundation::BOOL10922 pub unsafe fn WTSQueryListenerConfigA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hserver: Param0, preserved: *const ::std::ffi::c_void, reserved: u32, plistenername: Param3, pbuffer: *mut WTSLISTENERCONFIGA) -> super::super::Foundation::BOOL {
10923     #[cfg(windows)]
10924     {
10925         #[link(name = "windows")]
10926         extern "system" {
10927             fn WTSQueryListenerConfigA(hserver: super::super::Foundation::HANDLE, preserved: *const ::std::ffi::c_void, reserved: u32, plistenername: super::super::Foundation::PSTR, pbuffer: *mut WTSLISTENERCONFIGA) -> super::super::Foundation::BOOL;
10928         }
10929         ::std::mem::transmute(WTSQueryListenerConfigA(hserver.into_param().abi(), ::std::mem::transmute(preserved), ::std::mem::transmute(reserved), plistenername.into_param().abi(), ::std::mem::transmute(pbuffer)))
10930     }
10931     #[cfg(not(windows))]
10932     unimplemented!("Unsupported target OS");
10933 }
10934 #[cfg(feature = "Win32_Foundation")]
10935 #[inline]
WTSQueryListenerConfigW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(hserver: Param0, preserved: *const ::std::ffi::c_void, reserved: u32, plistenername: Param3, pbuffer: *mut WTSLISTENERCONFIGW) -> super::super::Foundation::BOOL10936 pub unsafe fn WTSQueryListenerConfigW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(hserver: Param0, preserved: *const ::std::ffi::c_void, reserved: u32, plistenername: Param3, pbuffer: *mut WTSLISTENERCONFIGW) -> super::super::Foundation::BOOL {
10937     #[cfg(windows)]
10938     {
10939         #[link(name = "windows")]
10940         extern "system" {
10941             fn WTSQueryListenerConfigW(hserver: super::super::Foundation::HANDLE, preserved: *const ::std::ffi::c_void, reserved: u32, plistenername: super::super::Foundation::PWSTR, pbuffer: *mut WTSLISTENERCONFIGW) -> super::super::Foundation::BOOL;
10942         }
10943         ::std::mem::transmute(WTSQueryListenerConfigW(hserver.into_param().abi(), ::std::mem::transmute(preserved), ::std::mem::transmute(reserved), plistenername.into_param().abi(), ::std::mem::transmute(pbuffer)))
10944     }
10945     #[cfg(not(windows))]
10946     unimplemented!("Unsupported target OS");
10947 }
10948 #[cfg(feature = "Win32_Foundation")]
10949 #[inline]
WTSQuerySessionInformationA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0, sessionid: u32, wtsinfoclass: WTS_INFO_CLASS, ppbuffer: *mut super::super::Foundation::PSTR, pbytesreturned: *mut u32) -> super::super::Foundation::BOOL10950 pub unsafe fn WTSQuerySessionInformationA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0, sessionid: u32, wtsinfoclass: WTS_INFO_CLASS, ppbuffer: *mut super::super::Foundation::PSTR, pbytesreturned: *mut u32) -> super::super::Foundation::BOOL {
10951     #[cfg(windows)]
10952     {
10953         #[link(name = "windows")]
10954         extern "system" {
10955             fn WTSQuerySessionInformationA(hserver: super::super::Foundation::HANDLE, sessionid: u32, wtsinfoclass: WTS_INFO_CLASS, ppbuffer: *mut super::super::Foundation::PSTR, pbytesreturned: *mut u32) -> super::super::Foundation::BOOL;
10956         }
10957         ::std::mem::transmute(WTSQuerySessionInformationA(hserver.into_param().abi(), ::std::mem::transmute(sessionid), ::std::mem::transmute(wtsinfoclass), ::std::mem::transmute(ppbuffer), ::std::mem::transmute(pbytesreturned)))
10958     }
10959     #[cfg(not(windows))]
10960     unimplemented!("Unsupported target OS");
10961 }
10962 #[cfg(feature = "Win32_Foundation")]
10963 #[inline]
WTSQuerySessionInformationW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0, sessionid: u32, wtsinfoclass: WTS_INFO_CLASS, ppbuffer: *mut super::super::Foundation::PWSTR, pbytesreturned: *mut u32) -> super::super::Foundation::BOOL10964 pub unsafe fn WTSQuerySessionInformationW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0, sessionid: u32, wtsinfoclass: WTS_INFO_CLASS, ppbuffer: *mut super::super::Foundation::PWSTR, pbytesreturned: *mut u32) -> super::super::Foundation::BOOL {
10965     #[cfg(windows)]
10966     {
10967         #[link(name = "windows")]
10968         extern "system" {
10969             fn WTSQuerySessionInformationW(hserver: super::super::Foundation::HANDLE, sessionid: u32, wtsinfoclass: WTS_INFO_CLASS, ppbuffer: *mut super::super::Foundation::PWSTR, pbytesreturned: *mut u32) -> super::super::Foundation::BOOL;
10970         }
10971         ::std::mem::transmute(WTSQuerySessionInformationW(hserver.into_param().abi(), ::std::mem::transmute(sessionid), ::std::mem::transmute(wtsinfoclass), ::std::mem::transmute(ppbuffer), ::std::mem::transmute(pbytesreturned)))
10972     }
10973     #[cfg(not(windows))]
10974     unimplemented!("Unsupported target OS");
10975 }
10976 #[cfg(feature = "Win32_Foundation")]
10977 #[inline]
WTSQueryUserConfigA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(pservername: Param0, pusername: Param1, wtsconfigclass: WTS_CONFIG_CLASS, ppbuffer: *mut super::super::Foundation::PSTR, pbytesreturned: *mut u32) -> super::super::Foundation::BOOL10978 pub unsafe fn WTSQueryUserConfigA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(pservername: Param0, pusername: Param1, wtsconfigclass: WTS_CONFIG_CLASS, ppbuffer: *mut super::super::Foundation::PSTR, pbytesreturned: *mut u32) -> super::super::Foundation::BOOL {
10979     #[cfg(windows)]
10980     {
10981         #[link(name = "windows")]
10982         extern "system" {
10983             fn WTSQueryUserConfigA(pservername: super::super::Foundation::PSTR, pusername: super::super::Foundation::PSTR, wtsconfigclass: WTS_CONFIG_CLASS, ppbuffer: *mut super::super::Foundation::PSTR, pbytesreturned: *mut u32) -> super::super::Foundation::BOOL;
10984         }
10985         ::std::mem::transmute(WTSQueryUserConfigA(pservername.into_param().abi(), pusername.into_param().abi(), ::std::mem::transmute(wtsconfigclass), ::std::mem::transmute(ppbuffer), ::std::mem::transmute(pbytesreturned)))
10986     }
10987     #[cfg(not(windows))]
10988     unimplemented!("Unsupported target OS");
10989 }
10990 #[cfg(feature = "Win32_Foundation")]
10991 #[inline]
WTSQueryUserConfigW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(pservername: Param0, pusername: Param1, wtsconfigclass: WTS_CONFIG_CLASS, ppbuffer: *mut super::super::Foundation::PWSTR, pbytesreturned: *mut u32) -> super::super::Foundation::BOOL10992 pub unsafe fn WTSQueryUserConfigW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(pservername: Param0, pusername: Param1, wtsconfigclass: WTS_CONFIG_CLASS, ppbuffer: *mut super::super::Foundation::PWSTR, pbytesreturned: *mut u32) -> super::super::Foundation::BOOL {
10993     #[cfg(windows)]
10994     {
10995         #[link(name = "windows")]
10996         extern "system" {
10997             fn WTSQueryUserConfigW(pservername: super::super::Foundation::PWSTR, pusername: super::super::Foundation::PWSTR, wtsconfigclass: WTS_CONFIG_CLASS, ppbuffer: *mut super::super::Foundation::PWSTR, pbytesreturned: *mut u32) -> super::super::Foundation::BOOL;
10998         }
10999         ::std::mem::transmute(WTSQueryUserConfigW(pservername.into_param().abi(), pusername.into_param().abi(), ::std::mem::transmute(wtsconfigclass), ::std::mem::transmute(ppbuffer), ::std::mem::transmute(pbytesreturned)))
11000     }
11001     #[cfg(not(windows))]
11002     unimplemented!("Unsupported target OS");
11003 }
11004 #[cfg(feature = "Win32_Foundation")]
11005 #[inline]
WTSQueryUserToken(sessionid: u32, phtoken: *mut super::super::Foundation::HANDLE) -> super::super::Foundation::BOOL11006 pub unsafe fn WTSQueryUserToken(sessionid: u32, phtoken: *mut super::super::Foundation::HANDLE) -> super::super::Foundation::BOOL {
11007     #[cfg(windows)]
11008     {
11009         #[link(name = "windows")]
11010         extern "system" {
11011             fn WTSQueryUserToken(sessionid: u32, phtoken: *mut super::super::Foundation::HANDLE) -> super::super::Foundation::BOOL;
11012         }
11013         ::std::mem::transmute(WTSQueryUserToken(::std::mem::transmute(sessionid), ::std::mem::transmute(phtoken)))
11014     }
11015     #[cfg(not(windows))]
11016     unimplemented!("Unsupported target OS");
11017 }
11018 #[cfg(feature = "Win32_Foundation")]
11019 #[inline]
WTSRegisterSessionNotification<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(hwnd: Param0, dwflags: u32) -> super::super::Foundation::BOOL11020 pub unsafe fn WTSRegisterSessionNotification<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(hwnd: Param0, dwflags: u32) -> super::super::Foundation::BOOL {
11021     #[cfg(windows)]
11022     {
11023         #[link(name = "windows")]
11024         extern "system" {
11025             fn WTSRegisterSessionNotification(hwnd: super::super::Foundation::HWND, dwflags: u32) -> super::super::Foundation::BOOL;
11026         }
11027         ::std::mem::transmute(WTSRegisterSessionNotification(hwnd.into_param().abi(), ::std::mem::transmute(dwflags)))
11028     }
11029     #[cfg(not(windows))]
11030     unimplemented!("Unsupported target OS");
11031 }
11032 #[cfg(feature = "Win32_Foundation")]
11033 #[inline]
WTSRegisterSessionNotificationEx<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(hserver: Param0, hwnd: Param1, dwflags: u32) -> super::super::Foundation::BOOL11034 pub unsafe fn WTSRegisterSessionNotificationEx<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(hserver: Param0, hwnd: Param1, dwflags: u32) -> super::super::Foundation::BOOL {
11035     #[cfg(windows)]
11036     {
11037         #[link(name = "windows")]
11038         extern "system" {
11039             fn WTSRegisterSessionNotificationEx(hserver: super::super::Foundation::HANDLE, hwnd: super::super::Foundation::HWND, dwflags: u32) -> super::super::Foundation::BOOL;
11040         }
11041         ::std::mem::transmute(WTSRegisterSessionNotificationEx(hserver.into_param().abi(), hwnd.into_param().abi(), ::std::mem::transmute(dwflags)))
11042     }
11043     #[cfg(not(windows))]
11044     unimplemented!("Unsupported target OS");
11045 }
11046 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11047 #[repr(transparent)]
11048 pub struct WTSSBX_ADDRESS_FAMILY(pub i32);
11049 pub const WTSSBX_ADDRESS_FAMILY_AF_UNSPEC: WTSSBX_ADDRESS_FAMILY = WTSSBX_ADDRESS_FAMILY(0i32);
11050 pub const WTSSBX_ADDRESS_FAMILY_AF_INET: WTSSBX_ADDRESS_FAMILY = WTSSBX_ADDRESS_FAMILY(1i32);
11051 pub const WTSSBX_ADDRESS_FAMILY_AF_INET6: WTSSBX_ADDRESS_FAMILY = WTSSBX_ADDRESS_FAMILY(2i32);
11052 pub const WTSSBX_ADDRESS_FAMILY_AF_IPX: WTSSBX_ADDRESS_FAMILY = WTSSBX_ADDRESS_FAMILY(3i32);
11053 pub const WTSSBX_ADDRESS_FAMILY_AF_NETBIOS: WTSSBX_ADDRESS_FAMILY = WTSSBX_ADDRESS_FAMILY(4i32);
11054 impl ::std::convert::From<i32> for WTSSBX_ADDRESS_FAMILY {
from(value: i32) -> Self11055     fn from(value: i32) -> Self {
11056         Self(value)
11057     }
11058 }
11059 unsafe impl ::windows::runtime::Abi for WTSSBX_ADDRESS_FAMILY {
11060     type Abi = Self;
11061     type DefaultType = Self;
11062 }
11063 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11064 #[repr(C)]
11065 pub struct WTSSBX_IP_ADDRESS {
11066     pub AddressFamily: WTSSBX_ADDRESS_FAMILY,
11067     pub Address: [u8; 16],
11068     pub PortNumber: u16,
11069     pub dwScope: u32,
11070 }
11071 impl WTSSBX_IP_ADDRESS {}
11072 impl ::std::default::Default for WTSSBX_IP_ADDRESS {
default() -> Self11073     fn default() -> Self {
11074         unsafe { ::std::mem::zeroed() }
11075     }
11076 }
11077 impl ::std::fmt::Debug for WTSSBX_IP_ADDRESS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11078     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11079         fmt.debug_struct("WTSSBX_IP_ADDRESS").field("AddressFamily", &self.AddressFamily).field("Address", &self.Address).field("PortNumber", &self.PortNumber).field("dwScope", &self.dwScope).finish()
11080     }
11081 }
11082 impl ::std::cmp::PartialEq for WTSSBX_IP_ADDRESS {
eq(&self, other: &Self) -> bool11083     fn eq(&self, other: &Self) -> bool {
11084         self.AddressFamily == other.AddressFamily && self.Address == other.Address && self.PortNumber == other.PortNumber && self.dwScope == other.dwScope
11085     }
11086 }
11087 impl ::std::cmp::Eq for WTSSBX_IP_ADDRESS {}
11088 unsafe impl ::windows::runtime::Abi for WTSSBX_IP_ADDRESS {
11089     type Abi = Self;
11090     type DefaultType = Self;
11091 }
11092 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11093 #[repr(C)]
11094 pub struct WTSSBX_MACHINE_CONNECT_INFO {
11095     pub wczMachineFQDN: [u16; 257],
11096     pub wczMachineNetBiosName: [u16; 17],
11097     pub dwNumOfIPAddr: u32,
11098     pub IPaddr: [WTSSBX_IP_ADDRESS; 12],
11099 }
11100 impl WTSSBX_MACHINE_CONNECT_INFO {}
11101 impl ::std::default::Default for WTSSBX_MACHINE_CONNECT_INFO {
default() -> Self11102     fn default() -> Self {
11103         unsafe { ::std::mem::zeroed() }
11104     }
11105 }
11106 impl ::std::fmt::Debug for WTSSBX_MACHINE_CONNECT_INFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11107     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11108         fmt.debug_struct("WTSSBX_MACHINE_CONNECT_INFO").field("wczMachineFQDN", &self.wczMachineFQDN).field("wczMachineNetBiosName", &self.wczMachineNetBiosName).field("dwNumOfIPAddr", &self.dwNumOfIPAddr).field("IPaddr", &self.IPaddr).finish()
11109     }
11110 }
11111 impl ::std::cmp::PartialEq for WTSSBX_MACHINE_CONNECT_INFO {
eq(&self, other: &Self) -> bool11112     fn eq(&self, other: &Self) -> bool {
11113         self.wczMachineFQDN == other.wczMachineFQDN && self.wczMachineNetBiosName == other.wczMachineNetBiosName && self.dwNumOfIPAddr == other.dwNumOfIPAddr && self.IPaddr == other.IPaddr
11114     }
11115 }
11116 impl ::std::cmp::Eq for WTSSBX_MACHINE_CONNECT_INFO {}
11117 unsafe impl ::windows::runtime::Abi for WTSSBX_MACHINE_CONNECT_INFO {
11118     type Abi = Self;
11119     type DefaultType = Self;
11120 }
11121 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11122 #[repr(transparent)]
11123 pub struct WTSSBX_MACHINE_DRAIN(pub i32);
11124 pub const WTSSBX_MACHINE_DRAIN_UNSPEC: WTSSBX_MACHINE_DRAIN = WTSSBX_MACHINE_DRAIN(0i32);
11125 pub const WTSSBX_MACHINE_DRAIN_OFF: WTSSBX_MACHINE_DRAIN = WTSSBX_MACHINE_DRAIN(1i32);
11126 pub const WTSSBX_MACHINE_DRAIN_ON: WTSSBX_MACHINE_DRAIN = WTSSBX_MACHINE_DRAIN(2i32);
11127 impl ::std::convert::From<i32> for WTSSBX_MACHINE_DRAIN {
from(value: i32) -> Self11128     fn from(value: i32) -> Self {
11129         Self(value)
11130     }
11131 }
11132 unsafe impl ::windows::runtime::Abi for WTSSBX_MACHINE_DRAIN {
11133     type Abi = Self;
11134     type DefaultType = Self;
11135 }
11136 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11137 #[repr(C)]
11138 pub struct WTSSBX_MACHINE_INFO {
11139     pub ClientConnectInfo: WTSSBX_MACHINE_CONNECT_INFO,
11140     pub wczFarmName: [u16; 257],
11141     pub InternalIPAddress: WTSSBX_IP_ADDRESS,
11142     pub dwMaxSessionsLimit: u32,
11143     pub ServerWeight: u32,
11144     pub SingleSessionMode: WTSSBX_MACHINE_SESSION_MODE,
11145     pub InDrain: WTSSBX_MACHINE_DRAIN,
11146     pub MachineState: WTSSBX_MACHINE_STATE,
11147 }
11148 impl WTSSBX_MACHINE_INFO {}
11149 impl ::std::default::Default for WTSSBX_MACHINE_INFO {
default() -> Self11150     fn default() -> Self {
11151         unsafe { ::std::mem::zeroed() }
11152     }
11153 }
11154 impl ::std::fmt::Debug for WTSSBX_MACHINE_INFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11155     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11156         fmt.debug_struct("WTSSBX_MACHINE_INFO")
11157             .field("ClientConnectInfo", &self.ClientConnectInfo)
11158             .field("wczFarmName", &self.wczFarmName)
11159             .field("InternalIPAddress", &self.InternalIPAddress)
11160             .field("dwMaxSessionsLimit", &self.dwMaxSessionsLimit)
11161             .field("ServerWeight", &self.ServerWeight)
11162             .field("SingleSessionMode", &self.SingleSessionMode)
11163             .field("InDrain", &self.InDrain)
11164             .field("MachineState", &self.MachineState)
11165             .finish()
11166     }
11167 }
11168 impl ::std::cmp::PartialEq for WTSSBX_MACHINE_INFO {
eq(&self, other: &Self) -> bool11169     fn eq(&self, other: &Self) -> bool {
11170         self.ClientConnectInfo == other.ClientConnectInfo && self.wczFarmName == other.wczFarmName && self.InternalIPAddress == other.InternalIPAddress && self.dwMaxSessionsLimit == other.dwMaxSessionsLimit && self.ServerWeight == other.ServerWeight && self.SingleSessionMode == other.SingleSessionMode && self.InDrain == other.InDrain && self.MachineState == other.MachineState
11171     }
11172 }
11173 impl ::std::cmp::Eq for WTSSBX_MACHINE_INFO {}
11174 unsafe impl ::windows::runtime::Abi for WTSSBX_MACHINE_INFO {
11175     type Abi = Self;
11176     type DefaultType = Self;
11177 }
11178 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11179 #[repr(transparent)]
11180 pub struct WTSSBX_MACHINE_SESSION_MODE(pub i32);
11181 pub const WTSSBX_MACHINE_SESSION_MODE_UNSPEC: WTSSBX_MACHINE_SESSION_MODE = WTSSBX_MACHINE_SESSION_MODE(0i32);
11182 pub const WTSSBX_MACHINE_SESSION_MODE_SINGLE: WTSSBX_MACHINE_SESSION_MODE = WTSSBX_MACHINE_SESSION_MODE(1i32);
11183 pub const WTSSBX_MACHINE_SESSION_MODE_MULTIPLE: WTSSBX_MACHINE_SESSION_MODE = WTSSBX_MACHINE_SESSION_MODE(2i32);
11184 impl ::std::convert::From<i32> for WTSSBX_MACHINE_SESSION_MODE {
from(value: i32) -> Self11185     fn from(value: i32) -> Self {
11186         Self(value)
11187     }
11188 }
11189 unsafe impl ::windows::runtime::Abi for WTSSBX_MACHINE_SESSION_MODE {
11190     type Abi = Self;
11191     type DefaultType = Self;
11192 }
11193 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11194 #[repr(transparent)]
11195 pub struct WTSSBX_MACHINE_STATE(pub i32);
11196 pub const WTSSBX_MACHINE_STATE_UNSPEC: WTSSBX_MACHINE_STATE = WTSSBX_MACHINE_STATE(0i32);
11197 pub const WTSSBX_MACHINE_STATE_READY: WTSSBX_MACHINE_STATE = WTSSBX_MACHINE_STATE(1i32);
11198 pub const WTSSBX_MACHINE_STATE_SYNCHRONIZING: WTSSBX_MACHINE_STATE = WTSSBX_MACHINE_STATE(2i32);
11199 impl ::std::convert::From<i32> for WTSSBX_MACHINE_STATE {
from(value: i32) -> Self11200     fn from(value: i32) -> Self {
11201         Self(value)
11202     }
11203 }
11204 unsafe impl ::windows::runtime::Abi for WTSSBX_MACHINE_STATE {
11205     type Abi = Self;
11206     type DefaultType = Self;
11207 }
11208 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11209 #[repr(transparent)]
11210 pub struct WTSSBX_NOTIFICATION_TYPE(pub i32);
11211 pub const WTSSBX_NOTIFICATION_REMOVED: WTSSBX_NOTIFICATION_TYPE = WTSSBX_NOTIFICATION_TYPE(1i32);
11212 pub const WTSSBX_NOTIFICATION_CHANGED: WTSSBX_NOTIFICATION_TYPE = WTSSBX_NOTIFICATION_TYPE(2i32);
11213 pub const WTSSBX_NOTIFICATION_ADDED: WTSSBX_NOTIFICATION_TYPE = WTSSBX_NOTIFICATION_TYPE(4i32);
11214 pub const WTSSBX_NOTIFICATION_RESYNC: WTSSBX_NOTIFICATION_TYPE = WTSSBX_NOTIFICATION_TYPE(8i32);
11215 impl ::std::convert::From<i32> for WTSSBX_NOTIFICATION_TYPE {
from(value: i32) -> Self11216     fn from(value: i32) -> Self {
11217         Self(value)
11218     }
11219 }
11220 unsafe impl ::windows::runtime::Abi for WTSSBX_NOTIFICATION_TYPE {
11221     type Abi = Self;
11222     type DefaultType = Self;
11223 }
11224 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11225 #[repr(C)]
11226 #[cfg(feature = "Win32_Foundation")]
11227 pub struct WTSSBX_SESSION_INFO {
11228     pub wszUserName: [u16; 105],
11229     pub wszDomainName: [u16; 257],
11230     pub ApplicationType: [u16; 257],
11231     pub dwSessionId: u32,
11232     pub CreateTime: super::super::Foundation::FILETIME,
11233     pub DisconnectTime: super::super::Foundation::FILETIME,
11234     pub SessionState: WTSSBX_SESSION_STATE,
11235 }
11236 #[cfg(feature = "Win32_Foundation")]
11237 impl WTSSBX_SESSION_INFO {}
11238 #[cfg(feature = "Win32_Foundation")]
11239 impl ::std::default::Default for WTSSBX_SESSION_INFO {
default() -> Self11240     fn default() -> Self {
11241         unsafe { ::std::mem::zeroed() }
11242     }
11243 }
11244 #[cfg(feature = "Win32_Foundation")]
11245 impl ::std::fmt::Debug for WTSSBX_SESSION_INFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11246     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11247         fmt.debug_struct("WTSSBX_SESSION_INFO")
11248             .field("wszUserName", &self.wszUserName)
11249             .field("wszDomainName", &self.wszDomainName)
11250             .field("ApplicationType", &self.ApplicationType)
11251             .field("dwSessionId", &self.dwSessionId)
11252             .field("CreateTime", &self.CreateTime)
11253             .field("DisconnectTime", &self.DisconnectTime)
11254             .field("SessionState", &self.SessionState)
11255             .finish()
11256     }
11257 }
11258 #[cfg(feature = "Win32_Foundation")]
11259 impl ::std::cmp::PartialEq for WTSSBX_SESSION_INFO {
eq(&self, other: &Self) -> bool11260     fn eq(&self, other: &Self) -> bool {
11261         self.wszUserName == other.wszUserName && self.wszDomainName == other.wszDomainName && self.ApplicationType == other.ApplicationType && self.dwSessionId == other.dwSessionId && self.CreateTime == other.CreateTime && self.DisconnectTime == other.DisconnectTime && self.SessionState == other.SessionState
11262     }
11263 }
11264 #[cfg(feature = "Win32_Foundation")]
11265 impl ::std::cmp::Eq for WTSSBX_SESSION_INFO {}
11266 #[cfg(feature = "Win32_Foundation")]
11267 unsafe impl ::windows::runtime::Abi for WTSSBX_SESSION_INFO {
11268     type Abi = Self;
11269     type DefaultType = Self;
11270 }
11271 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11272 #[repr(transparent)]
11273 pub struct WTSSBX_SESSION_STATE(pub i32);
11274 pub const WTSSBX_SESSION_STATE_UNSPEC: WTSSBX_SESSION_STATE = WTSSBX_SESSION_STATE(0i32);
11275 pub const WTSSBX_SESSION_STATE_ACTIVE: WTSSBX_SESSION_STATE = WTSSBX_SESSION_STATE(1i32);
11276 pub const WTSSBX_SESSION_STATE_DISCONNECTED: WTSSBX_SESSION_STATE = WTSSBX_SESSION_STATE(2i32);
11277 impl ::std::convert::From<i32> for WTSSBX_SESSION_STATE {
from(value: i32) -> Self11278     fn from(value: i32) -> Self {
11279         Self(value)
11280     }
11281 }
11282 unsafe impl ::windows::runtime::Abi for WTSSBX_SESSION_STATE {
11283     type Abi = Self;
11284     type DefaultType = Self;
11285 }
11286 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11287 #[repr(C)]
11288 pub struct WTSSESSION_NOTIFICATION {
11289     pub cbSize: u32,
11290     pub dwSessionId: u32,
11291 }
11292 impl WTSSESSION_NOTIFICATION {}
11293 impl ::std::default::Default for WTSSESSION_NOTIFICATION {
default() -> Self11294     fn default() -> Self {
11295         unsafe { ::std::mem::zeroed() }
11296     }
11297 }
11298 impl ::std::fmt::Debug for WTSSESSION_NOTIFICATION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11299     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11300         fmt.debug_struct("WTSSESSION_NOTIFICATION").field("cbSize", &self.cbSize).field("dwSessionId", &self.dwSessionId).finish()
11301     }
11302 }
11303 impl ::std::cmp::PartialEq for WTSSESSION_NOTIFICATION {
eq(&self, other: &Self) -> bool11304     fn eq(&self, other: &Self) -> bool {
11305         self.cbSize == other.cbSize && self.dwSessionId == other.dwSessionId
11306     }
11307 }
11308 impl ::std::cmp::Eq for WTSSESSION_NOTIFICATION {}
11309 unsafe impl ::windows::runtime::Abi for WTSSESSION_NOTIFICATION {
11310     type Abi = Self;
11311     type DefaultType = Self;
11312 }
11313 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
11314 #[inline]
WTSSendMessageA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param9: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>( hserver: Param0, sessionid: u32, ptitle: Param2, titlelength: u32, pmessage: Param4, messagelength: u32, style: super::super::UI::WindowsAndMessaging::MESSAGEBOX_STYLE, timeout: u32, presponse: *mut super::super::UI::WindowsAndMessaging::MESSAGEBOX_RESULT, bwait: Param9, ) -> super::super::Foundation::BOOL11315 pub unsafe fn WTSSendMessageA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param9: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(
11316     hserver: Param0,
11317     sessionid: u32,
11318     ptitle: Param2,
11319     titlelength: u32,
11320     pmessage: Param4,
11321     messagelength: u32,
11322     style: super::super::UI::WindowsAndMessaging::MESSAGEBOX_STYLE,
11323     timeout: u32,
11324     presponse: *mut super::super::UI::WindowsAndMessaging::MESSAGEBOX_RESULT,
11325     bwait: Param9,
11326 ) -> super::super::Foundation::BOOL {
11327     #[cfg(windows)]
11328     {
11329         #[link(name = "windows")]
11330         extern "system" {
11331             fn WTSSendMessageA(hserver: super::super::Foundation::HANDLE, sessionid: u32, ptitle: super::super::Foundation::PSTR, titlelength: u32, pmessage: super::super::Foundation::PSTR, messagelength: u32, style: super::super::UI::WindowsAndMessaging::MESSAGEBOX_STYLE, timeout: u32, presponse: *mut super::super::UI::WindowsAndMessaging::MESSAGEBOX_RESULT, bwait: super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
11332         }
11333         ::std::mem::transmute(WTSSendMessageA(
11334             hserver.into_param().abi(),
11335             ::std::mem::transmute(sessionid),
11336             ptitle.into_param().abi(),
11337             ::std::mem::transmute(titlelength),
11338             pmessage.into_param().abi(),
11339             ::std::mem::transmute(messagelength),
11340             ::std::mem::transmute(style),
11341             ::std::mem::transmute(timeout),
11342             ::std::mem::transmute(presponse),
11343             bwait.into_param().abi(),
11344         ))
11345     }
11346     #[cfg(not(windows))]
11347     unimplemented!("Unsupported target OS");
11348 }
11349 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
11350 #[inline]
WTSSendMessageW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param9: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>( hserver: Param0, sessionid: u32, ptitle: Param2, titlelength: u32, pmessage: Param4, messagelength: u32, style: super::super::UI::WindowsAndMessaging::MESSAGEBOX_STYLE, timeout: u32, presponse: *mut super::super::UI::WindowsAndMessaging::MESSAGEBOX_RESULT, bwait: Param9, ) -> super::super::Foundation::BOOL11351 pub unsafe fn WTSSendMessageW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param9: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(
11352     hserver: Param0,
11353     sessionid: u32,
11354     ptitle: Param2,
11355     titlelength: u32,
11356     pmessage: Param4,
11357     messagelength: u32,
11358     style: super::super::UI::WindowsAndMessaging::MESSAGEBOX_STYLE,
11359     timeout: u32,
11360     presponse: *mut super::super::UI::WindowsAndMessaging::MESSAGEBOX_RESULT,
11361     bwait: Param9,
11362 ) -> super::super::Foundation::BOOL {
11363     #[cfg(windows)]
11364     {
11365         #[link(name = "windows")]
11366         extern "system" {
11367             fn WTSSendMessageW(hserver: super::super::Foundation::HANDLE, sessionid: u32, ptitle: super::super::Foundation::PWSTR, titlelength: u32, pmessage: super::super::Foundation::PWSTR, messagelength: u32, style: super::super::UI::WindowsAndMessaging::MESSAGEBOX_STYLE, timeout: u32, presponse: *mut super::super::UI::WindowsAndMessaging::MESSAGEBOX_RESULT, bwait: super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
11368         }
11369         ::std::mem::transmute(WTSSendMessageW(
11370             hserver.into_param().abi(),
11371             ::std::mem::transmute(sessionid),
11372             ptitle.into_param().abi(),
11373             ::std::mem::transmute(titlelength),
11374             pmessage.into_param().abi(),
11375             ::std::mem::transmute(messagelength),
11376             ::std::mem::transmute(style),
11377             ::std::mem::transmute(timeout),
11378             ::std::mem::transmute(presponse),
11379             bwait.into_param().abi(),
11380         ))
11381     }
11382     #[cfg(not(windows))]
11383     unimplemented!("Unsupported target OS");
11384 }
11385 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
11386 #[inline]
WTSSetListenerSecurityA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hserver: Param0, preserved: *const ::std::ffi::c_void, reserved: u32, plistenername: Param3, securityinformation: u32, psecuritydescriptor: *const super::super::Security::SECURITY_DESCRIPTOR) -> super::super::Foundation::BOOL11387 pub unsafe fn WTSSetListenerSecurityA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hserver: Param0, preserved: *const ::std::ffi::c_void, reserved: u32, plistenername: Param3, securityinformation: u32, psecuritydescriptor: *const super::super::Security::SECURITY_DESCRIPTOR) -> super::super::Foundation::BOOL {
11388     #[cfg(windows)]
11389     {
11390         #[link(name = "windows")]
11391         extern "system" {
11392             fn WTSSetListenerSecurityA(hserver: super::super::Foundation::HANDLE, preserved: *const ::std::ffi::c_void, reserved: u32, plistenername: super::super::Foundation::PSTR, securityinformation: u32, psecuritydescriptor: *const super::super::Security::SECURITY_DESCRIPTOR) -> super::super::Foundation::BOOL;
11393         }
11394         ::std::mem::transmute(WTSSetListenerSecurityA(hserver.into_param().abi(), ::std::mem::transmute(preserved), ::std::mem::transmute(reserved), plistenername.into_param().abi(), ::std::mem::transmute(securityinformation), ::std::mem::transmute(psecuritydescriptor)))
11395     }
11396     #[cfg(not(windows))]
11397     unimplemented!("Unsupported target OS");
11398 }
11399 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
11400 #[inline]
WTSSetListenerSecurityW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(hserver: Param0, preserved: *const ::std::ffi::c_void, reserved: u32, plistenername: Param3, securityinformation: u32, psecuritydescriptor: *const super::super::Security::SECURITY_DESCRIPTOR) -> super::super::Foundation::BOOL11401 pub unsafe fn WTSSetListenerSecurityW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(hserver: Param0, preserved: *const ::std::ffi::c_void, reserved: u32, plistenername: Param3, securityinformation: u32, psecuritydescriptor: *const super::super::Security::SECURITY_DESCRIPTOR) -> super::super::Foundation::BOOL {
11402     #[cfg(windows)]
11403     {
11404         #[link(name = "windows")]
11405         extern "system" {
11406             fn WTSSetListenerSecurityW(hserver: super::super::Foundation::HANDLE, preserved: *const ::std::ffi::c_void, reserved: u32, plistenername: super::super::Foundation::PWSTR, securityinformation: u32, psecuritydescriptor: *const super::super::Security::SECURITY_DESCRIPTOR) -> super::super::Foundation::BOOL;
11407         }
11408         ::std::mem::transmute(WTSSetListenerSecurityW(hserver.into_param().abi(), ::std::mem::transmute(preserved), ::std::mem::transmute(reserved), plistenername.into_param().abi(), ::std::mem::transmute(securityinformation), ::std::mem::transmute(psecuritydescriptor)))
11409     }
11410     #[cfg(not(windows))]
11411     unimplemented!("Unsupported target OS");
11412 }
11413 #[cfg(feature = "Win32_Foundation")]
11414 #[inline]
WTSSetRenderHint<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(prenderhintid: *mut u64, hwndowner: Param1, renderhinttype: u32, cbhintdatalength: u32, phintdata: *const u8) -> ::windows::runtime::Result<()>11415 pub unsafe fn WTSSetRenderHint<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(prenderhintid: *mut u64, hwndowner: Param1, renderhinttype: u32, cbhintdatalength: u32, phintdata: *const u8) -> ::windows::runtime::Result<()> {
11416     #[cfg(windows)]
11417     {
11418         #[link(name = "windows")]
11419         extern "system" {
11420             fn WTSSetRenderHint(prenderhintid: *mut u64, hwndowner: super::super::Foundation::HWND, renderhinttype: u32, cbhintdatalength: u32, phintdata: *const u8) -> ::windows::runtime::HRESULT;
11421         }
11422         WTSSetRenderHint(::std::mem::transmute(prenderhintid), hwndowner.into_param().abi(), ::std::mem::transmute(renderhinttype), ::std::mem::transmute(cbhintdatalength), ::std::mem::transmute(phintdata)).ok()
11423     }
11424     #[cfg(not(windows))]
11425     unimplemented!("Unsupported target OS");
11426 }
11427 #[cfg(feature = "Win32_Foundation")]
11428 #[inline]
WTSSetUserConfigA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(pservername: Param0, pusername: Param1, wtsconfigclass: WTS_CONFIG_CLASS, pbuffer: Param3, datalength: u32) -> super::super::Foundation::BOOL11429 pub unsafe fn WTSSetUserConfigA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(pservername: Param0, pusername: Param1, wtsconfigclass: WTS_CONFIG_CLASS, pbuffer: Param3, datalength: u32) -> super::super::Foundation::BOOL {
11430     #[cfg(windows)]
11431     {
11432         #[link(name = "windows")]
11433         extern "system" {
11434             fn WTSSetUserConfigA(pservername: super::super::Foundation::PSTR, pusername: super::super::Foundation::PSTR, wtsconfigclass: WTS_CONFIG_CLASS, pbuffer: super::super::Foundation::PSTR, datalength: u32) -> super::super::Foundation::BOOL;
11435         }
11436         ::std::mem::transmute(WTSSetUserConfigA(pservername.into_param().abi(), pusername.into_param().abi(), ::std::mem::transmute(wtsconfigclass), pbuffer.into_param().abi(), ::std::mem::transmute(datalength)))
11437     }
11438     #[cfg(not(windows))]
11439     unimplemented!("Unsupported target OS");
11440 }
11441 #[cfg(feature = "Win32_Foundation")]
11442 #[inline]
WTSSetUserConfigW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(pservername: Param0, pusername: Param1, wtsconfigclass: WTS_CONFIG_CLASS, pbuffer: Param3, datalength: u32) -> super::super::Foundation::BOOL11443 pub unsafe fn WTSSetUserConfigW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(pservername: Param0, pusername: Param1, wtsconfigclass: WTS_CONFIG_CLASS, pbuffer: Param3, datalength: u32) -> super::super::Foundation::BOOL {
11444     #[cfg(windows)]
11445     {
11446         #[link(name = "windows")]
11447         extern "system" {
11448             fn WTSSetUserConfigW(pservername: super::super::Foundation::PWSTR, pusername: super::super::Foundation::PWSTR, wtsconfigclass: WTS_CONFIG_CLASS, pbuffer: super::super::Foundation::PWSTR, datalength: u32) -> super::super::Foundation::BOOL;
11449         }
11450         ::std::mem::transmute(WTSSetUserConfigW(pservername.into_param().abi(), pusername.into_param().abi(), ::std::mem::transmute(wtsconfigclass), pbuffer.into_param().abi(), ::std::mem::transmute(datalength)))
11451     }
11452     #[cfg(not(windows))]
11453     unimplemented!("Unsupported target OS");
11454 }
11455 #[cfg(feature = "Win32_Foundation")]
11456 #[inline]
WTSShutdownSystem<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0, shutdownflag: u32) -> super::super::Foundation::BOOL11457 pub unsafe fn WTSShutdownSystem<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0, shutdownflag: u32) -> super::super::Foundation::BOOL {
11458     #[cfg(windows)]
11459     {
11460         #[link(name = "windows")]
11461         extern "system" {
11462             fn WTSShutdownSystem(hserver: super::super::Foundation::HANDLE, shutdownflag: u32) -> super::super::Foundation::BOOL;
11463         }
11464         ::std::mem::transmute(WTSShutdownSystem(hserver.into_param().abi(), ::std::mem::transmute(shutdownflag)))
11465     }
11466     #[cfg(not(windows))]
11467     unimplemented!("Unsupported target OS");
11468 }
11469 #[cfg(feature = "Win32_Foundation")]
11470 #[inline]
WTSStartRemoteControlSessionA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(ptargetservername: Param0, targetlogonid: u32, hotkeyvk: u8, hotkeymodifiers: u16) -> super::super::Foundation::BOOL11471 pub unsafe fn WTSStartRemoteControlSessionA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(ptargetservername: Param0, targetlogonid: u32, hotkeyvk: u8, hotkeymodifiers: u16) -> super::super::Foundation::BOOL {
11472     #[cfg(windows)]
11473     {
11474         #[link(name = "windows")]
11475         extern "system" {
11476             fn WTSStartRemoteControlSessionA(ptargetservername: super::super::Foundation::PSTR, targetlogonid: u32, hotkeyvk: u8, hotkeymodifiers: u16) -> super::super::Foundation::BOOL;
11477         }
11478         ::std::mem::transmute(WTSStartRemoteControlSessionA(ptargetservername.into_param().abi(), ::std::mem::transmute(targetlogonid), ::std::mem::transmute(hotkeyvk), ::std::mem::transmute(hotkeymodifiers)))
11479     }
11480     #[cfg(not(windows))]
11481     unimplemented!("Unsupported target OS");
11482 }
11483 #[cfg(feature = "Win32_Foundation")]
11484 #[inline]
WTSStartRemoteControlSessionW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(ptargetservername: Param0, targetlogonid: u32, hotkeyvk: u8, hotkeymodifiers: u16) -> super::super::Foundation::BOOL11485 pub unsafe fn WTSStartRemoteControlSessionW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(ptargetservername: Param0, targetlogonid: u32, hotkeyvk: u8, hotkeymodifiers: u16) -> super::super::Foundation::BOOL {
11486     #[cfg(windows)]
11487     {
11488         #[link(name = "windows")]
11489         extern "system" {
11490             fn WTSStartRemoteControlSessionW(ptargetservername: super::super::Foundation::PWSTR, targetlogonid: u32, hotkeyvk: u8, hotkeymodifiers: u16) -> super::super::Foundation::BOOL;
11491         }
11492         ::std::mem::transmute(WTSStartRemoteControlSessionW(ptargetservername.into_param().abi(), ::std::mem::transmute(targetlogonid), ::std::mem::transmute(hotkeyvk), ::std::mem::transmute(hotkeymodifiers)))
11493     }
11494     #[cfg(not(windows))]
11495     unimplemented!("Unsupported target OS");
11496 }
11497 #[cfg(feature = "Win32_Foundation")]
11498 #[inline]
WTSStopRemoteControlSession(logonid: u32) -> super::super::Foundation::BOOL11499 pub unsafe fn WTSStopRemoteControlSession(logonid: u32) -> super::super::Foundation::BOOL {
11500     #[cfg(windows)]
11501     {
11502         #[link(name = "windows")]
11503         extern "system" {
11504             fn WTSStopRemoteControlSession(logonid: u32) -> super::super::Foundation::BOOL;
11505         }
11506         ::std::mem::transmute(WTSStopRemoteControlSession(::std::mem::transmute(logonid)))
11507     }
11508     #[cfg(not(windows))]
11509     unimplemented!("Unsupported target OS");
11510 }
11511 #[cfg(feature = "Win32_Foundation")]
11512 #[inline]
WTSTerminateProcess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0, processid: u32, exitcode: u32) -> super::super::Foundation::BOOL11513 pub unsafe fn WTSTerminateProcess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0, processid: u32, exitcode: u32) -> super::super::Foundation::BOOL {
11514     #[cfg(windows)]
11515     {
11516         #[link(name = "windows")]
11517         extern "system" {
11518             fn WTSTerminateProcess(hserver: super::super::Foundation::HANDLE, processid: u32, exitcode: u32) -> super::super::Foundation::BOOL;
11519         }
11520         ::std::mem::transmute(WTSTerminateProcess(hserver.into_param().abi(), ::std::mem::transmute(processid), ::std::mem::transmute(exitcode)))
11521     }
11522     #[cfg(not(windows))]
11523     unimplemented!("Unsupported target OS");
11524 }
11525 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11526 #[repr(C)]
11527 #[cfg(feature = "Win32_Foundation")]
11528 pub struct WTSUSERCONFIGA {
11529     pub Source: u32,
11530     pub InheritInitialProgram: u32,
11531     pub AllowLogonTerminalServer: u32,
11532     pub TimeoutSettingsConnections: u32,
11533     pub TimeoutSettingsDisconnections: u32,
11534     pub TimeoutSettingsIdle: u32,
11535     pub DeviceClientDrives: u32,
11536     pub DeviceClientPrinters: u32,
11537     pub ClientDefaultPrinter: u32,
11538     pub BrokenTimeoutSettings: u32,
11539     pub ReconnectSettings: u32,
11540     pub ShadowingSettings: u32,
11541     pub TerminalServerRemoteHomeDir: u32,
11542     pub InitialProgram: [super::super::Foundation::CHAR; 261],
11543     pub WorkDirectory: [super::super::Foundation::CHAR; 261],
11544     pub TerminalServerProfilePath: [super::super::Foundation::CHAR; 261],
11545     pub TerminalServerHomeDir: [super::super::Foundation::CHAR; 261],
11546     pub TerminalServerHomeDirDrive: [super::super::Foundation::CHAR; 4],
11547 }
11548 #[cfg(feature = "Win32_Foundation")]
11549 impl WTSUSERCONFIGA {}
11550 #[cfg(feature = "Win32_Foundation")]
11551 impl ::std::default::Default for WTSUSERCONFIGA {
default() -> Self11552     fn default() -> Self {
11553         unsafe { ::std::mem::zeroed() }
11554     }
11555 }
11556 #[cfg(feature = "Win32_Foundation")]
11557 impl ::std::fmt::Debug for WTSUSERCONFIGA {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11558     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11559         fmt.debug_struct("WTSUSERCONFIGA")
11560             .field("Source", &self.Source)
11561             .field("InheritInitialProgram", &self.InheritInitialProgram)
11562             .field("AllowLogonTerminalServer", &self.AllowLogonTerminalServer)
11563             .field("TimeoutSettingsConnections", &self.TimeoutSettingsConnections)
11564             .field("TimeoutSettingsDisconnections", &self.TimeoutSettingsDisconnections)
11565             .field("TimeoutSettingsIdle", &self.TimeoutSettingsIdle)
11566             .field("DeviceClientDrives", &self.DeviceClientDrives)
11567             .field("DeviceClientPrinters", &self.DeviceClientPrinters)
11568             .field("ClientDefaultPrinter", &self.ClientDefaultPrinter)
11569             .field("BrokenTimeoutSettings", &self.BrokenTimeoutSettings)
11570             .field("ReconnectSettings", &self.ReconnectSettings)
11571             .field("ShadowingSettings", &self.ShadowingSettings)
11572             .field("TerminalServerRemoteHomeDir", &self.TerminalServerRemoteHomeDir)
11573             .field("InitialProgram", &self.InitialProgram)
11574             .field("WorkDirectory", &self.WorkDirectory)
11575             .field("TerminalServerProfilePath", &self.TerminalServerProfilePath)
11576             .field("TerminalServerHomeDir", &self.TerminalServerHomeDir)
11577             .field("TerminalServerHomeDirDrive", &self.TerminalServerHomeDirDrive)
11578             .finish()
11579     }
11580 }
11581 #[cfg(feature = "Win32_Foundation")]
11582 impl ::std::cmp::PartialEq for WTSUSERCONFIGA {
eq(&self, other: &Self) -> bool11583     fn eq(&self, other: &Self) -> bool {
11584         self.Source == other.Source
11585             && self.InheritInitialProgram == other.InheritInitialProgram
11586             && self.AllowLogonTerminalServer == other.AllowLogonTerminalServer
11587             && self.TimeoutSettingsConnections == other.TimeoutSettingsConnections
11588             && self.TimeoutSettingsDisconnections == other.TimeoutSettingsDisconnections
11589             && self.TimeoutSettingsIdle == other.TimeoutSettingsIdle
11590             && self.DeviceClientDrives == other.DeviceClientDrives
11591             && self.DeviceClientPrinters == other.DeviceClientPrinters
11592             && self.ClientDefaultPrinter == other.ClientDefaultPrinter
11593             && self.BrokenTimeoutSettings == other.BrokenTimeoutSettings
11594             && self.ReconnectSettings == other.ReconnectSettings
11595             && self.ShadowingSettings == other.ShadowingSettings
11596             && self.TerminalServerRemoteHomeDir == other.TerminalServerRemoteHomeDir
11597             && self.InitialProgram == other.InitialProgram
11598             && self.WorkDirectory == other.WorkDirectory
11599             && self.TerminalServerProfilePath == other.TerminalServerProfilePath
11600             && self.TerminalServerHomeDir == other.TerminalServerHomeDir
11601             && self.TerminalServerHomeDirDrive == other.TerminalServerHomeDirDrive
11602     }
11603 }
11604 #[cfg(feature = "Win32_Foundation")]
11605 impl ::std::cmp::Eq for WTSUSERCONFIGA {}
11606 #[cfg(feature = "Win32_Foundation")]
11607 unsafe impl ::windows::runtime::Abi for WTSUSERCONFIGA {
11608     type Abi = Self;
11609     type DefaultType = Self;
11610 }
11611 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11612 #[repr(C)]
11613 pub struct WTSUSERCONFIGW {
11614     pub Source: u32,
11615     pub InheritInitialProgram: u32,
11616     pub AllowLogonTerminalServer: u32,
11617     pub TimeoutSettingsConnections: u32,
11618     pub TimeoutSettingsDisconnections: u32,
11619     pub TimeoutSettingsIdle: u32,
11620     pub DeviceClientDrives: u32,
11621     pub DeviceClientPrinters: u32,
11622     pub ClientDefaultPrinter: u32,
11623     pub BrokenTimeoutSettings: u32,
11624     pub ReconnectSettings: u32,
11625     pub ShadowingSettings: u32,
11626     pub TerminalServerRemoteHomeDir: u32,
11627     pub InitialProgram: [u16; 261],
11628     pub WorkDirectory: [u16; 261],
11629     pub TerminalServerProfilePath: [u16; 261],
11630     pub TerminalServerHomeDir: [u16; 261],
11631     pub TerminalServerHomeDirDrive: [u16; 4],
11632 }
11633 impl WTSUSERCONFIGW {}
11634 impl ::std::default::Default for WTSUSERCONFIGW {
default() -> Self11635     fn default() -> Self {
11636         unsafe { ::std::mem::zeroed() }
11637     }
11638 }
11639 impl ::std::fmt::Debug for WTSUSERCONFIGW {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11640     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11641         fmt.debug_struct("WTSUSERCONFIGW")
11642             .field("Source", &self.Source)
11643             .field("InheritInitialProgram", &self.InheritInitialProgram)
11644             .field("AllowLogonTerminalServer", &self.AllowLogonTerminalServer)
11645             .field("TimeoutSettingsConnections", &self.TimeoutSettingsConnections)
11646             .field("TimeoutSettingsDisconnections", &self.TimeoutSettingsDisconnections)
11647             .field("TimeoutSettingsIdle", &self.TimeoutSettingsIdle)
11648             .field("DeviceClientDrives", &self.DeviceClientDrives)
11649             .field("DeviceClientPrinters", &self.DeviceClientPrinters)
11650             .field("ClientDefaultPrinter", &self.ClientDefaultPrinter)
11651             .field("BrokenTimeoutSettings", &self.BrokenTimeoutSettings)
11652             .field("ReconnectSettings", &self.ReconnectSettings)
11653             .field("ShadowingSettings", &self.ShadowingSettings)
11654             .field("TerminalServerRemoteHomeDir", &self.TerminalServerRemoteHomeDir)
11655             .field("InitialProgram", &self.InitialProgram)
11656             .field("WorkDirectory", &self.WorkDirectory)
11657             .field("TerminalServerProfilePath", &self.TerminalServerProfilePath)
11658             .field("TerminalServerHomeDir", &self.TerminalServerHomeDir)
11659             .field("TerminalServerHomeDirDrive", &self.TerminalServerHomeDirDrive)
11660             .finish()
11661     }
11662 }
11663 impl ::std::cmp::PartialEq for WTSUSERCONFIGW {
eq(&self, other: &Self) -> bool11664     fn eq(&self, other: &Self) -> bool {
11665         self.Source == other.Source
11666             && self.InheritInitialProgram == other.InheritInitialProgram
11667             && self.AllowLogonTerminalServer == other.AllowLogonTerminalServer
11668             && self.TimeoutSettingsConnections == other.TimeoutSettingsConnections
11669             && self.TimeoutSettingsDisconnections == other.TimeoutSettingsDisconnections
11670             && self.TimeoutSettingsIdle == other.TimeoutSettingsIdle
11671             && self.DeviceClientDrives == other.DeviceClientDrives
11672             && self.DeviceClientPrinters == other.DeviceClientPrinters
11673             && self.ClientDefaultPrinter == other.ClientDefaultPrinter
11674             && self.BrokenTimeoutSettings == other.BrokenTimeoutSettings
11675             && self.ReconnectSettings == other.ReconnectSettings
11676             && self.ShadowingSettings == other.ShadowingSettings
11677             && self.TerminalServerRemoteHomeDir == other.TerminalServerRemoteHomeDir
11678             && self.InitialProgram == other.InitialProgram
11679             && self.WorkDirectory == other.WorkDirectory
11680             && self.TerminalServerProfilePath == other.TerminalServerProfilePath
11681             && self.TerminalServerHomeDir == other.TerminalServerHomeDir
11682             && self.TerminalServerHomeDirDrive == other.TerminalServerHomeDirDrive
11683     }
11684 }
11685 impl ::std::cmp::Eq for WTSUSERCONFIGW {}
11686 unsafe impl ::windows::runtime::Abi for WTSUSERCONFIGW {
11687     type Abi = Self;
11688     type DefaultType = Self;
11689 }
11690 #[cfg(feature = "Win32_Foundation")]
11691 #[inline]
WTSUnRegisterSessionNotification<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(hwnd: Param0) -> super::super::Foundation::BOOL11692 pub unsafe fn WTSUnRegisterSessionNotification<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(hwnd: Param0) -> super::super::Foundation::BOOL {
11693     #[cfg(windows)]
11694     {
11695         #[link(name = "windows")]
11696         extern "system" {
11697             fn WTSUnRegisterSessionNotification(hwnd: super::super::Foundation::HWND) -> super::super::Foundation::BOOL;
11698         }
11699         ::std::mem::transmute(WTSUnRegisterSessionNotification(hwnd.into_param().abi()))
11700     }
11701     #[cfg(not(windows))]
11702     unimplemented!("Unsupported target OS");
11703 }
11704 #[cfg(feature = "Win32_Foundation")]
11705 #[inline]
WTSUnRegisterSessionNotificationEx<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(hserver: Param0, hwnd: Param1) -> super::super::Foundation::BOOL11706 pub unsafe fn WTSUnRegisterSessionNotificationEx<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(hserver: Param0, hwnd: Param1) -> super::super::Foundation::BOOL {
11707     #[cfg(windows)]
11708     {
11709         #[link(name = "windows")]
11710         extern "system" {
11711             fn WTSUnRegisterSessionNotificationEx(hserver: super::super::Foundation::HANDLE, hwnd: super::super::Foundation::HWND) -> super::super::Foundation::BOOL;
11712         }
11713         ::std::mem::transmute(WTSUnRegisterSessionNotificationEx(hserver.into_param().abi(), hwnd.into_param().abi()))
11714     }
11715     #[cfg(not(windows))]
11716     unimplemented!("Unsupported target OS");
11717 }
11718 #[cfg(feature = "Win32_Foundation")]
11719 #[inline]
WTSVirtualChannelClose<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hchannelhandle: Param0) -> super::super::Foundation::BOOL11720 pub unsafe fn WTSVirtualChannelClose<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hchannelhandle: Param0) -> super::super::Foundation::BOOL {
11721     #[cfg(windows)]
11722     {
11723         #[link(name = "windows")]
11724         extern "system" {
11725             fn WTSVirtualChannelClose(hchannelhandle: super::super::Foundation::HANDLE) -> super::super::Foundation::BOOL;
11726         }
11727         ::std::mem::transmute(WTSVirtualChannelClose(hchannelhandle.into_param().abi()))
11728     }
11729     #[cfg(not(windows))]
11730     unimplemented!("Unsupported target OS");
11731 }
11732 #[cfg(feature = "Win32_Foundation")]
11733 #[inline]
WTSVirtualChannelOpen<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hserver: Param0, sessionid: u32, pvirtualname: Param2) -> HwtsVirtualChannelHandle11734 pub unsafe fn WTSVirtualChannelOpen<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hserver: Param0, sessionid: u32, pvirtualname: Param2) -> HwtsVirtualChannelHandle {
11735     #[cfg(windows)]
11736     {
11737         #[link(name = "windows")]
11738         extern "system" {
11739             fn WTSVirtualChannelOpen(hserver: super::super::Foundation::HANDLE, sessionid: u32, pvirtualname: super::super::Foundation::PSTR) -> HwtsVirtualChannelHandle;
11740         }
11741         ::std::mem::transmute(WTSVirtualChannelOpen(hserver.into_param().abi(), ::std::mem::transmute(sessionid), pvirtualname.into_param().abi()))
11742     }
11743     #[cfg(not(windows))]
11744     unimplemented!("Unsupported target OS");
11745 }
11746 #[cfg(feature = "Win32_Foundation")]
11747 #[inline]
WTSVirtualChannelOpenEx<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(sessionid: u32, pvirtualname: Param1, flags: u32) -> HwtsVirtualChannelHandle11748 pub unsafe fn WTSVirtualChannelOpenEx<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(sessionid: u32, pvirtualname: Param1, flags: u32) -> HwtsVirtualChannelHandle {
11749     #[cfg(windows)]
11750     {
11751         #[link(name = "windows")]
11752         extern "system" {
11753             fn WTSVirtualChannelOpenEx(sessionid: u32, pvirtualname: super::super::Foundation::PSTR, flags: u32) -> HwtsVirtualChannelHandle;
11754         }
11755         ::std::mem::transmute(WTSVirtualChannelOpenEx(::std::mem::transmute(sessionid), pvirtualname.into_param().abi(), ::std::mem::transmute(flags)))
11756     }
11757     #[cfg(not(windows))]
11758     unimplemented!("Unsupported target OS");
11759 }
11760 #[cfg(feature = "Win32_Foundation")]
11761 #[inline]
WTSVirtualChannelPurgeInput<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hchannelhandle: Param0) -> super::super::Foundation::BOOL11762 pub unsafe fn WTSVirtualChannelPurgeInput<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hchannelhandle: Param0) -> super::super::Foundation::BOOL {
11763     #[cfg(windows)]
11764     {
11765         #[link(name = "windows")]
11766         extern "system" {
11767             fn WTSVirtualChannelPurgeInput(hchannelhandle: super::super::Foundation::HANDLE) -> super::super::Foundation::BOOL;
11768         }
11769         ::std::mem::transmute(WTSVirtualChannelPurgeInput(hchannelhandle.into_param().abi()))
11770     }
11771     #[cfg(not(windows))]
11772     unimplemented!("Unsupported target OS");
11773 }
11774 #[cfg(feature = "Win32_Foundation")]
11775 #[inline]
WTSVirtualChannelPurgeOutput<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hchannelhandle: Param0) -> super::super::Foundation::BOOL11776 pub unsafe fn WTSVirtualChannelPurgeOutput<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hchannelhandle: Param0) -> super::super::Foundation::BOOL {
11777     #[cfg(windows)]
11778     {
11779         #[link(name = "windows")]
11780         extern "system" {
11781             fn WTSVirtualChannelPurgeOutput(hchannelhandle: super::super::Foundation::HANDLE) -> super::super::Foundation::BOOL;
11782         }
11783         ::std::mem::transmute(WTSVirtualChannelPurgeOutput(hchannelhandle.into_param().abi()))
11784     }
11785     #[cfg(not(windows))]
11786     unimplemented!("Unsupported target OS");
11787 }
11788 #[cfg(feature = "Win32_Foundation")]
11789 #[inline]
WTSVirtualChannelQuery<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hchannelhandle: Param0, param1: WTS_VIRTUAL_CLASS, ppbuffer: *mut *mut ::std::ffi::c_void, pbytesreturned: *mut u32) -> super::super::Foundation::BOOL11790 pub unsafe fn WTSVirtualChannelQuery<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hchannelhandle: Param0, param1: WTS_VIRTUAL_CLASS, ppbuffer: *mut *mut ::std::ffi::c_void, pbytesreturned: *mut u32) -> super::super::Foundation::BOOL {
11791     #[cfg(windows)]
11792     {
11793         #[link(name = "windows")]
11794         extern "system" {
11795             fn WTSVirtualChannelQuery(hchannelhandle: super::super::Foundation::HANDLE, param1: WTS_VIRTUAL_CLASS, ppbuffer: *mut *mut ::std::ffi::c_void, pbytesreturned: *mut u32) -> super::super::Foundation::BOOL;
11796         }
11797         ::std::mem::transmute(WTSVirtualChannelQuery(hchannelhandle.into_param().abi(), ::std::mem::transmute(param1), ::std::mem::transmute(ppbuffer), ::std::mem::transmute(pbytesreturned)))
11798     }
11799     #[cfg(not(windows))]
11800     unimplemented!("Unsupported target OS");
11801 }
11802 #[cfg(feature = "Win32_Foundation")]
11803 #[inline]
WTSVirtualChannelRead<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hchannelhandle: Param0, timeout: u32, buffer: super::super::Foundation::PSTR, buffersize: u32, pbytesread: *mut u32) -> super::super::Foundation::BOOL11804 pub unsafe fn WTSVirtualChannelRead<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hchannelhandle: Param0, timeout: u32, buffer: super::super::Foundation::PSTR, buffersize: u32, pbytesread: *mut u32) -> super::super::Foundation::BOOL {
11805     #[cfg(windows)]
11806     {
11807         #[link(name = "windows")]
11808         extern "system" {
11809             fn WTSVirtualChannelRead(hchannelhandle: super::super::Foundation::HANDLE, timeout: u32, buffer: super::super::Foundation::PSTR, buffersize: u32, pbytesread: *mut u32) -> super::super::Foundation::BOOL;
11810         }
11811         ::std::mem::transmute(WTSVirtualChannelRead(hchannelhandle.into_param().abi(), ::std::mem::transmute(timeout), ::std::mem::transmute(buffer), ::std::mem::transmute(buffersize), ::std::mem::transmute(pbytesread)))
11812     }
11813     #[cfg(not(windows))]
11814     unimplemented!("Unsupported target OS");
11815 }
11816 #[cfg(feature = "Win32_Foundation")]
11817 #[inline]
WTSVirtualChannelWrite<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hchannelhandle: Param0, buffer: Param1, length: u32, pbyteswritten: *mut u32) -> super::super::Foundation::BOOL11818 pub unsafe fn WTSVirtualChannelWrite<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hchannelhandle: Param0, buffer: Param1, length: u32, pbyteswritten: *mut u32) -> super::super::Foundation::BOOL {
11819     #[cfg(windows)]
11820     {
11821         #[link(name = "windows")]
11822         extern "system" {
11823             fn WTSVirtualChannelWrite(hchannelhandle: super::super::Foundation::HANDLE, buffer: super::super::Foundation::PSTR, length: u32, pbyteswritten: *mut u32) -> super::super::Foundation::BOOL;
11824         }
11825         ::std::mem::transmute(WTSVirtualChannelWrite(hchannelhandle.into_param().abi(), buffer.into_param().abi(), ::std::mem::transmute(length), ::std::mem::transmute(pbyteswritten)))
11826     }
11827     #[cfg(not(windows))]
11828     unimplemented!("Unsupported target OS");
11829 }
11830 #[cfg(feature = "Win32_Foundation")]
11831 #[inline]
WTSWaitSystemEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0, eventmask: u32, peventflags: *mut u32) -> super::super::Foundation::BOOL11832 pub unsafe fn WTSWaitSystemEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hserver: Param0, eventmask: u32, peventflags: *mut u32) -> super::super::Foundation::BOOL {
11833     #[cfg(windows)]
11834     {
11835         #[link(name = "windows")]
11836         extern "system" {
11837             fn WTSWaitSystemEvent(hserver: super::super::Foundation::HANDLE, eventmask: u32, peventflags: *mut u32) -> super::super::Foundation::BOOL;
11838         }
11839         ::std::mem::transmute(WTSWaitSystemEvent(hserver.into_param().abi(), ::std::mem::transmute(eventmask), ::std::mem::transmute(peventflags)))
11840     }
11841     #[cfg(not(windows))]
11842     unimplemented!("Unsupported target OS");
11843 }
11844 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11845 #[repr(C)]
11846 pub struct WTS_CACHE_STATS {
11847     pub Specific: u32,
11848     pub Data: WTS_CACHE_STATS_UN,
11849     pub ProtocolType: u16,
11850     pub Length: u16,
11851 }
11852 impl WTS_CACHE_STATS {}
11853 impl ::std::default::Default for WTS_CACHE_STATS {
default() -> Self11854     fn default() -> Self {
11855         unsafe { ::std::mem::zeroed() }
11856     }
11857 }
11858 impl ::std::cmp::PartialEq for WTS_CACHE_STATS {
eq(&self, _other: &Self) -> bool11859     fn eq(&self, _other: &Self) -> bool {
11860         unimplemented!()
11861     }
11862 }
11863 impl ::std::cmp::Eq for WTS_CACHE_STATS {}
11864 unsafe impl ::windows::runtime::Abi for WTS_CACHE_STATS {
11865     type Abi = Self;
11866     type DefaultType = Self;
11867 }
11868 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11869 #[repr(C)]
11870 pub union WTS_CACHE_STATS_UN {
11871     pub ProtocolCache: [WTS_PROTOCOL_CACHE; 4],
11872     pub TShareCacheStats: u32,
11873     pub Reserved: [u32; 20],
11874 }
11875 impl WTS_CACHE_STATS_UN {}
11876 impl ::std::default::Default for WTS_CACHE_STATS_UN {
default() -> Self11877     fn default() -> Self {
11878         unsafe { ::std::mem::zeroed() }
11879     }
11880 }
11881 impl ::std::cmp::PartialEq for WTS_CACHE_STATS_UN {
eq(&self, _other: &Self) -> bool11882     fn eq(&self, _other: &Self) -> bool {
11883         unimplemented!()
11884     }
11885 }
11886 impl ::std::cmp::Eq for WTS_CACHE_STATS_UN {}
11887 unsafe impl ::windows::runtime::Abi for WTS_CACHE_STATS_UN {
11888     type Abi = Self;
11889     type DefaultType = Self;
11890 }
11891 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11892 #[repr(transparent)]
11893 pub struct WTS_CERT_TYPE(pub i32);
11894 pub const WTS_CERT_TYPE_INVALID: WTS_CERT_TYPE = WTS_CERT_TYPE(0i32);
11895 pub const WTS_CERT_TYPE_PROPRIETORY: WTS_CERT_TYPE = WTS_CERT_TYPE(1i32);
11896 pub const WTS_CERT_TYPE_X509: WTS_CERT_TYPE = WTS_CERT_TYPE(2i32);
11897 impl ::std::convert::From<i32> for WTS_CERT_TYPE {
from(value: i32) -> Self11898     fn from(value: i32) -> Self {
11899         Self(value)
11900     }
11901 }
11902 unsafe impl ::windows::runtime::Abi for WTS_CERT_TYPE {
11903     type Abi = Self;
11904     type DefaultType = Self;
11905 }
11906 pub const WTS_CHANNEL_OPTION_DYNAMIC: u32 = 1u32;
11907 pub const WTS_CHANNEL_OPTION_DYNAMIC_NO_COMPRESS: u32 = 8u32;
11908 pub const WTS_CHANNEL_OPTION_DYNAMIC_PRI_HIGH: u32 = 4u32;
11909 pub const WTS_CHANNEL_OPTION_DYNAMIC_PRI_LOW: u32 = 0u32;
11910 pub const WTS_CHANNEL_OPTION_DYNAMIC_PRI_MED: u32 = 2u32;
11911 pub const WTS_CHANNEL_OPTION_DYNAMIC_PRI_REAL: u32 = 6u32;
11912 pub const WTS_CLIENTADDRESS_LENGTH: u32 = 30u32;
11913 pub const WTS_CLIENTNAME_LENGTH: u32 = 20u32;
11914 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11915 #[repr(C)]
11916 pub struct WTS_CLIENT_ADDRESS {
11917     pub AddressFamily: u32,
11918     pub Address: [u8; 20],
11919 }
11920 impl WTS_CLIENT_ADDRESS {}
11921 impl ::std::default::Default for WTS_CLIENT_ADDRESS {
default() -> Self11922     fn default() -> Self {
11923         unsafe { ::std::mem::zeroed() }
11924     }
11925 }
11926 impl ::std::fmt::Debug for WTS_CLIENT_ADDRESS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11927     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11928         fmt.debug_struct("WTS_CLIENT_ADDRESS").field("AddressFamily", &self.AddressFamily).field("Address", &self.Address).finish()
11929     }
11930 }
11931 impl ::std::cmp::PartialEq for WTS_CLIENT_ADDRESS {
eq(&self, other: &Self) -> bool11932     fn eq(&self, other: &Self) -> bool {
11933         self.AddressFamily == other.AddressFamily && self.Address == other.Address
11934     }
11935 }
11936 impl ::std::cmp::Eq for WTS_CLIENT_ADDRESS {}
11937 unsafe impl ::windows::runtime::Abi for WTS_CLIENT_ADDRESS {
11938     type Abi = Self;
11939     type DefaultType = Self;
11940 }
11941 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11942 #[repr(C)]
11943 #[cfg(feature = "Win32_Foundation")]
11944 pub struct WTS_CLIENT_DATA {
11945     pub fDisableCtrlAltDel: super::super::Foundation::BOOLEAN,
11946     pub fDoubleClickDetect: super::super::Foundation::BOOLEAN,
11947     pub fEnableWindowsKey: super::super::Foundation::BOOLEAN,
11948     pub fHideTitleBar: super::super::Foundation::BOOLEAN,
11949     pub fInheritAutoLogon: super::super::Foundation::BOOL,
11950     pub fPromptForPassword: super::super::Foundation::BOOLEAN,
11951     pub fUsingSavedCreds: super::super::Foundation::BOOLEAN,
11952     pub Domain: [u16; 256],
11953     pub UserName: [u16; 256],
11954     pub Password: [u16; 256],
11955     pub fPasswordIsScPin: super::super::Foundation::BOOLEAN,
11956     pub fInheritInitialProgram: super::super::Foundation::BOOL,
11957     pub WorkDirectory: [u16; 257],
11958     pub InitialProgram: [u16; 257],
11959     pub fMaximizeShell: super::super::Foundation::BOOLEAN,
11960     pub EncryptionLevel: u8,
11961     pub PerformanceFlags: u32,
11962     pub ProtocolName: [u16; 9],
11963     pub ProtocolType: u16,
11964     pub fInheritColorDepth: super::super::Foundation::BOOL,
11965     pub HRes: u16,
11966     pub VRes: u16,
11967     pub ColorDepth: u16,
11968     pub DisplayDriverName: [u16; 9],
11969     pub DisplayDeviceName: [u16; 20],
11970     pub fMouse: super::super::Foundation::BOOLEAN,
11971     pub KeyboardLayout: u32,
11972     pub KeyboardType: u32,
11973     pub KeyboardSubType: u32,
11974     pub KeyboardFunctionKey: u32,
11975     pub imeFileName: [u16; 33],
11976     pub ActiveInputLocale: u32,
11977     pub fNoAudioPlayback: super::super::Foundation::BOOLEAN,
11978     pub fRemoteConsoleAudio: super::super::Foundation::BOOLEAN,
11979     pub AudioDriverName: [u16; 9],
11980     pub ClientTimeZone: WTS_TIME_ZONE_INFORMATION,
11981     pub ClientName: [u16; 21],
11982     pub SerialNumber: u32,
11983     pub ClientAddressFamily: u32,
11984     pub ClientAddress: [u16; 31],
11985     pub ClientSockAddress: WTS_SOCKADDR,
11986     pub ClientDirectory: [u16; 257],
11987     pub ClientBuildNumber: u32,
11988     pub ClientProductId: u16,
11989     pub OutBufCountHost: u16,
11990     pub OutBufCountClient: u16,
11991     pub OutBufLength: u16,
11992     pub ClientSessionId: u32,
11993     pub ClientDigProductId: [u16; 33],
11994     pub fDisableCpm: super::super::Foundation::BOOLEAN,
11995     pub fDisableCdm: super::super::Foundation::BOOLEAN,
11996     pub fDisableCcm: super::super::Foundation::BOOLEAN,
11997     pub fDisableLPT: super::super::Foundation::BOOLEAN,
11998     pub fDisableClip: super::super::Foundation::BOOLEAN,
11999     pub fDisablePNP: super::super::Foundation::BOOLEAN,
12000 }
12001 #[cfg(feature = "Win32_Foundation")]
12002 impl WTS_CLIENT_DATA {}
12003 #[cfg(feature = "Win32_Foundation")]
12004 impl ::std::default::Default for WTS_CLIENT_DATA {
default() -> Self12005     fn default() -> Self {
12006         unsafe { ::std::mem::zeroed() }
12007     }
12008 }
12009 #[cfg(feature = "Win32_Foundation")]
12010 impl ::std::cmp::PartialEq for WTS_CLIENT_DATA {
eq(&self, _other: &Self) -> bool12011     fn eq(&self, _other: &Self) -> bool {
12012         unimplemented!()
12013     }
12014 }
12015 #[cfg(feature = "Win32_Foundation")]
12016 impl ::std::cmp::Eq for WTS_CLIENT_DATA {}
12017 #[cfg(feature = "Win32_Foundation")]
12018 unsafe impl ::windows::runtime::Abi for WTS_CLIENT_DATA {
12019     type Abi = Self;
12020     type DefaultType = Self;
12021 }
12022 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12023 #[repr(C)]
12024 pub struct WTS_CLIENT_DISPLAY {
12025     pub HorizontalResolution: u32,
12026     pub VerticalResolution: u32,
12027     pub ColorDepth: u32,
12028 }
12029 impl WTS_CLIENT_DISPLAY {}
12030 impl ::std::default::Default for WTS_CLIENT_DISPLAY {
default() -> Self12031     fn default() -> Self {
12032         unsafe { ::std::mem::zeroed() }
12033     }
12034 }
12035 impl ::std::fmt::Debug for WTS_CLIENT_DISPLAY {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12036     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12037         fmt.debug_struct("WTS_CLIENT_DISPLAY").field("HorizontalResolution", &self.HorizontalResolution).field("VerticalResolution", &self.VerticalResolution).field("ColorDepth", &self.ColorDepth).finish()
12038     }
12039 }
12040 impl ::std::cmp::PartialEq for WTS_CLIENT_DISPLAY {
eq(&self, other: &Self) -> bool12041     fn eq(&self, other: &Self) -> bool {
12042         self.HorizontalResolution == other.HorizontalResolution && self.VerticalResolution == other.VerticalResolution && self.ColorDepth == other.ColorDepth
12043     }
12044 }
12045 impl ::std::cmp::Eq for WTS_CLIENT_DISPLAY {}
12046 unsafe impl ::windows::runtime::Abi for WTS_CLIENT_DISPLAY {
12047     type Abi = Self;
12048     type DefaultType = Self;
12049 }
12050 pub const WTS_CLIENT_PRODUCT_ID_LENGTH: u32 = 32u32;
12051 pub const WTS_COMMENT_LENGTH: u32 = 60u32;
12052 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12053 #[repr(transparent)]
12054 pub struct WTS_CONFIG_CLASS(pub i32);
12055 pub const WTSUserConfigInitialProgram: WTS_CONFIG_CLASS = WTS_CONFIG_CLASS(0i32);
12056 pub const WTSUserConfigWorkingDirectory: WTS_CONFIG_CLASS = WTS_CONFIG_CLASS(1i32);
12057 pub const WTSUserConfigfInheritInitialProgram: WTS_CONFIG_CLASS = WTS_CONFIG_CLASS(2i32);
12058 pub const WTSUserConfigfAllowLogonTerminalServer: WTS_CONFIG_CLASS = WTS_CONFIG_CLASS(3i32);
12059 pub const WTSUserConfigTimeoutSettingsConnections: WTS_CONFIG_CLASS = WTS_CONFIG_CLASS(4i32);
12060 pub const WTSUserConfigTimeoutSettingsDisconnections: WTS_CONFIG_CLASS = WTS_CONFIG_CLASS(5i32);
12061 pub const WTSUserConfigTimeoutSettingsIdle: WTS_CONFIG_CLASS = WTS_CONFIG_CLASS(6i32);
12062 pub const WTSUserConfigfDeviceClientDrives: WTS_CONFIG_CLASS = WTS_CONFIG_CLASS(7i32);
12063 pub const WTSUserConfigfDeviceClientPrinters: WTS_CONFIG_CLASS = WTS_CONFIG_CLASS(8i32);
12064 pub const WTSUserConfigfDeviceClientDefaultPrinter: WTS_CONFIG_CLASS = WTS_CONFIG_CLASS(9i32);
12065 pub const WTSUserConfigBrokenTimeoutSettings: WTS_CONFIG_CLASS = WTS_CONFIG_CLASS(10i32);
12066 pub const WTSUserConfigReconnectSettings: WTS_CONFIG_CLASS = WTS_CONFIG_CLASS(11i32);
12067 pub const WTSUserConfigModemCallbackSettings: WTS_CONFIG_CLASS = WTS_CONFIG_CLASS(12i32);
12068 pub const WTSUserConfigModemCallbackPhoneNumber: WTS_CONFIG_CLASS = WTS_CONFIG_CLASS(13i32);
12069 pub const WTSUserConfigShadowingSettings: WTS_CONFIG_CLASS = WTS_CONFIG_CLASS(14i32);
12070 pub const WTSUserConfigTerminalServerProfilePath: WTS_CONFIG_CLASS = WTS_CONFIG_CLASS(15i32);
12071 pub const WTSUserConfigTerminalServerHomeDir: WTS_CONFIG_CLASS = WTS_CONFIG_CLASS(16i32);
12072 pub const WTSUserConfigTerminalServerHomeDirDrive: WTS_CONFIG_CLASS = WTS_CONFIG_CLASS(17i32);
12073 pub const WTSUserConfigfTerminalServerRemoteHomeDir: WTS_CONFIG_CLASS = WTS_CONFIG_CLASS(18i32);
12074 pub const WTSUserConfigUser: WTS_CONFIG_CLASS = WTS_CONFIG_CLASS(19i32);
12075 impl ::std::convert::From<i32> for WTS_CONFIG_CLASS {
from(value: i32) -> Self12076     fn from(value: i32) -> Self {
12077         Self(value)
12078     }
12079 }
12080 unsafe impl ::windows::runtime::Abi for WTS_CONFIG_CLASS {
12081     type Abi = Self;
12082     type DefaultType = Self;
12083 }
12084 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12085 #[repr(transparent)]
12086 pub struct WTS_CONFIG_SOURCE(pub i32);
12087 pub const WTSUserConfigSourceSAM: WTS_CONFIG_SOURCE = WTS_CONFIG_SOURCE(0i32);
12088 impl ::std::convert::From<i32> for WTS_CONFIG_SOURCE {
from(value: i32) -> Self12089     fn from(value: i32) -> Self {
12090         Self(value)
12091     }
12092 }
12093 unsafe impl ::windows::runtime::Abi for WTS_CONFIG_SOURCE {
12094     type Abi = Self;
12095     type DefaultType = Self;
12096 }
12097 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12098 #[repr(transparent)]
12099 pub struct WTS_CONNECTSTATE_CLASS(pub i32);
12100 pub const WTSActive: WTS_CONNECTSTATE_CLASS = WTS_CONNECTSTATE_CLASS(0i32);
12101 pub const WTSConnected: WTS_CONNECTSTATE_CLASS = WTS_CONNECTSTATE_CLASS(1i32);
12102 pub const WTSConnectQuery: WTS_CONNECTSTATE_CLASS = WTS_CONNECTSTATE_CLASS(2i32);
12103 pub const WTSShadow: WTS_CONNECTSTATE_CLASS = WTS_CONNECTSTATE_CLASS(3i32);
12104 pub const WTSDisconnected: WTS_CONNECTSTATE_CLASS = WTS_CONNECTSTATE_CLASS(4i32);
12105 pub const WTSIdle: WTS_CONNECTSTATE_CLASS = WTS_CONNECTSTATE_CLASS(5i32);
12106 pub const WTSListen: WTS_CONNECTSTATE_CLASS = WTS_CONNECTSTATE_CLASS(6i32);
12107 pub const WTSReset: WTS_CONNECTSTATE_CLASS = WTS_CONNECTSTATE_CLASS(7i32);
12108 pub const WTSDown: WTS_CONNECTSTATE_CLASS = WTS_CONNECTSTATE_CLASS(8i32);
12109 pub const WTSInit: WTS_CONNECTSTATE_CLASS = WTS_CONNECTSTATE_CLASS(9i32);
12110 impl ::std::convert::From<i32> for WTS_CONNECTSTATE_CLASS {
from(value: i32) -> Self12111     fn from(value: i32) -> Self {
12112         Self(value)
12113     }
12114 }
12115 unsafe impl ::windows::runtime::Abi for WTS_CONNECTSTATE_CLASS {
12116     type Abi = Self;
12117     type DefaultType = Self;
12118 }
12119 pub const WTS_CURRENT_SESSION: u32 = 4294967295u32;
12120 pub const WTS_DEVICE_NAME_LENGTH: u32 = 19u32;
12121 pub const WTS_DIRECTORY_LENGTH: u32 = 256u32;
12122 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12123 #[repr(C)]
12124 pub struct WTS_DISPLAY_IOCTL {
12125     pub pDisplayIOCtlData: [u8; 256],
12126     pub cbDisplayIOCtlData: u32,
12127 }
12128 impl WTS_DISPLAY_IOCTL {}
12129 impl ::std::default::Default for WTS_DISPLAY_IOCTL {
default() -> Self12130     fn default() -> Self {
12131         unsafe { ::std::mem::zeroed() }
12132     }
12133 }
12134 impl ::std::fmt::Debug for WTS_DISPLAY_IOCTL {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12135     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12136         fmt.debug_struct("WTS_DISPLAY_IOCTL").field("pDisplayIOCtlData", &self.pDisplayIOCtlData).field("cbDisplayIOCtlData", &self.cbDisplayIOCtlData).finish()
12137     }
12138 }
12139 impl ::std::cmp::PartialEq for WTS_DISPLAY_IOCTL {
eq(&self, other: &Self) -> bool12140     fn eq(&self, other: &Self) -> bool {
12141         self.pDisplayIOCtlData == other.pDisplayIOCtlData && self.cbDisplayIOCtlData == other.cbDisplayIOCtlData
12142     }
12143 }
12144 impl ::std::cmp::Eq for WTS_DISPLAY_IOCTL {}
12145 unsafe impl ::windows::runtime::Abi for WTS_DISPLAY_IOCTL {
12146     type Abi = Self;
12147     type DefaultType = Self;
12148 }
12149 pub const WTS_DOMAIN_LENGTH: u32 = 255u32;
12150 pub const WTS_DRIVER_NAME_LENGTH: u32 = 8u32;
12151 pub const WTS_DRIVE_LENGTH: u32 = 3u32;
12152 pub const WTS_EVENT_ALL: u32 = 2147483647u32;
12153 pub const WTS_EVENT_CONNECT: u32 = 8u32;
12154 pub const WTS_EVENT_CREATE: u32 = 1u32;
12155 pub const WTS_EVENT_DELETE: u32 = 2u32;
12156 pub const WTS_EVENT_DISCONNECT: u32 = 16u32;
12157 pub const WTS_EVENT_FLUSH: u32 = 2147483648u32;
12158 pub const WTS_EVENT_LICENSE: u32 = 256u32;
12159 pub const WTS_EVENT_LOGOFF: u32 = 64u32;
12160 pub const WTS_EVENT_LOGON: u32 = 32u32;
12161 pub const WTS_EVENT_NONE: u32 = 0u32;
12162 pub const WTS_EVENT_RENAME: u32 = 4u32;
12163 pub const WTS_EVENT_STATECHANGE: u32 = 128u32;
12164 pub const WTS_IMEFILENAME_LENGTH: u32 = 32u32;
12165 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12166 #[repr(transparent)]
12167 pub struct WTS_INFO_CLASS(pub i32);
12168 pub const WTSInitialProgram: WTS_INFO_CLASS = WTS_INFO_CLASS(0i32);
12169 pub const WTSApplicationName: WTS_INFO_CLASS = WTS_INFO_CLASS(1i32);
12170 pub const WTSWorkingDirectory: WTS_INFO_CLASS = WTS_INFO_CLASS(2i32);
12171 pub const WTSOEMId: WTS_INFO_CLASS = WTS_INFO_CLASS(3i32);
12172 pub const WTSSessionId: WTS_INFO_CLASS = WTS_INFO_CLASS(4i32);
12173 pub const WTSUserName: WTS_INFO_CLASS = WTS_INFO_CLASS(5i32);
12174 pub const WTSWinStationName: WTS_INFO_CLASS = WTS_INFO_CLASS(6i32);
12175 pub const WTSDomainName: WTS_INFO_CLASS = WTS_INFO_CLASS(7i32);
12176 pub const WTSConnectState: WTS_INFO_CLASS = WTS_INFO_CLASS(8i32);
12177 pub const WTSClientBuildNumber: WTS_INFO_CLASS = WTS_INFO_CLASS(9i32);
12178 pub const WTSClientName: WTS_INFO_CLASS = WTS_INFO_CLASS(10i32);
12179 pub const WTSClientDirectory: WTS_INFO_CLASS = WTS_INFO_CLASS(11i32);
12180 pub const WTSClientProductId: WTS_INFO_CLASS = WTS_INFO_CLASS(12i32);
12181 pub const WTSClientHardwareId: WTS_INFO_CLASS = WTS_INFO_CLASS(13i32);
12182 pub const WTSClientAddress: WTS_INFO_CLASS = WTS_INFO_CLASS(14i32);
12183 pub const WTSClientDisplay: WTS_INFO_CLASS = WTS_INFO_CLASS(15i32);
12184 pub const WTSClientProtocolType: WTS_INFO_CLASS = WTS_INFO_CLASS(16i32);
12185 pub const WTSIdleTime: WTS_INFO_CLASS = WTS_INFO_CLASS(17i32);
12186 pub const WTSLogonTime: WTS_INFO_CLASS = WTS_INFO_CLASS(18i32);
12187 pub const WTSIncomingBytes: WTS_INFO_CLASS = WTS_INFO_CLASS(19i32);
12188 pub const WTSOutgoingBytes: WTS_INFO_CLASS = WTS_INFO_CLASS(20i32);
12189 pub const WTSIncomingFrames: WTS_INFO_CLASS = WTS_INFO_CLASS(21i32);
12190 pub const WTSOutgoingFrames: WTS_INFO_CLASS = WTS_INFO_CLASS(22i32);
12191 pub const WTSClientInfo: WTS_INFO_CLASS = WTS_INFO_CLASS(23i32);
12192 pub const WTSSessionInfo: WTS_INFO_CLASS = WTS_INFO_CLASS(24i32);
12193 pub const WTSSessionInfoEx: WTS_INFO_CLASS = WTS_INFO_CLASS(25i32);
12194 pub const WTSConfigInfo: WTS_INFO_CLASS = WTS_INFO_CLASS(26i32);
12195 pub const WTSValidationInfo: WTS_INFO_CLASS = WTS_INFO_CLASS(27i32);
12196 pub const WTSSessionAddressV4: WTS_INFO_CLASS = WTS_INFO_CLASS(28i32);
12197 pub const WTSIsRemoteSession: WTS_INFO_CLASS = WTS_INFO_CLASS(29i32);
12198 impl ::std::convert::From<i32> for WTS_INFO_CLASS {
from(value: i32) -> Self12199     fn from(value: i32) -> Self {
12200         Self(value)
12201     }
12202 }
12203 unsafe impl ::windows::runtime::Abi for WTS_INFO_CLASS {
12204     type Abi = Self;
12205     type DefaultType = Self;
12206 }
12207 pub const WTS_INITIALPROGRAM_LENGTH: u32 = 256u32;
12208 pub const WTS_KEY_EXCHANGE_ALG_DH: u32 = 2u32;
12209 pub const WTS_KEY_EXCHANGE_ALG_RSA: u32 = 1u32;
12210 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12211 #[repr(C)]
12212 #[cfg(feature = "Win32_Foundation")]
12213 pub struct WTS_LICENSE_CAPABILITIES {
12214     pub KeyExchangeAlg: u32,
12215     pub ProtocolVer: u32,
12216     pub fAuthenticateServer: super::super::Foundation::BOOL,
12217     pub CertType: WTS_CERT_TYPE,
12218     pub cbClientName: u32,
12219     pub rgbClientName: [u8; 42],
12220 }
12221 #[cfg(feature = "Win32_Foundation")]
12222 impl WTS_LICENSE_CAPABILITIES {}
12223 #[cfg(feature = "Win32_Foundation")]
12224 impl ::std::default::Default for WTS_LICENSE_CAPABILITIES {
default() -> Self12225     fn default() -> Self {
12226         unsafe { ::std::mem::zeroed() }
12227     }
12228 }
12229 #[cfg(feature = "Win32_Foundation")]
12230 impl ::std::fmt::Debug for WTS_LICENSE_CAPABILITIES {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12231     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12232         fmt.debug_struct("WTS_LICENSE_CAPABILITIES")
12233             .field("KeyExchangeAlg", &self.KeyExchangeAlg)
12234             .field("ProtocolVer", &self.ProtocolVer)
12235             .field("fAuthenticateServer", &self.fAuthenticateServer)
12236             .field("CertType", &self.CertType)
12237             .field("cbClientName", &self.cbClientName)
12238             .field("rgbClientName", &self.rgbClientName)
12239             .finish()
12240     }
12241 }
12242 #[cfg(feature = "Win32_Foundation")]
12243 impl ::std::cmp::PartialEq for WTS_LICENSE_CAPABILITIES {
eq(&self, other: &Self) -> bool12244     fn eq(&self, other: &Self) -> bool {
12245         self.KeyExchangeAlg == other.KeyExchangeAlg && self.ProtocolVer == other.ProtocolVer && self.fAuthenticateServer == other.fAuthenticateServer && self.CertType == other.CertType && self.cbClientName == other.cbClientName && self.rgbClientName == other.rgbClientName
12246     }
12247 }
12248 #[cfg(feature = "Win32_Foundation")]
12249 impl ::std::cmp::Eq for WTS_LICENSE_CAPABILITIES {}
12250 #[cfg(feature = "Win32_Foundation")]
12251 unsafe impl ::windows::runtime::Abi for WTS_LICENSE_CAPABILITIES {
12252     type Abi = Self;
12253     type DefaultType = Self;
12254 }
12255 pub const WTS_LICENSE_PREAMBLE_VERSION: u32 = 3u32;
12256 pub const WTS_LICENSE_PROTOCOL_VERSION: u32 = 65536u32;
12257 pub const WTS_LISTENER_CREATE: u32 = 1u32;
12258 pub const WTS_LISTENER_NAME_LENGTH: u32 = 32u32;
12259 pub const WTS_LISTENER_UPDATE: u32 = 16u32;
12260 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12261 #[repr(transparent)]
12262 pub struct WTS_LOGON_ERROR_REDIRECTOR_RESPONSE(pub i32);
12263 pub const WTS_LOGON_ERR_INVALID: WTS_LOGON_ERROR_REDIRECTOR_RESPONSE = WTS_LOGON_ERROR_REDIRECTOR_RESPONSE(0i32);
12264 pub const WTS_LOGON_ERR_NOT_HANDLED: WTS_LOGON_ERROR_REDIRECTOR_RESPONSE = WTS_LOGON_ERROR_REDIRECTOR_RESPONSE(1i32);
12265 pub const WTS_LOGON_ERR_HANDLED_SHOW: WTS_LOGON_ERROR_REDIRECTOR_RESPONSE = WTS_LOGON_ERROR_REDIRECTOR_RESPONSE(2i32);
12266 pub const WTS_LOGON_ERR_HANDLED_DONT_SHOW: WTS_LOGON_ERROR_REDIRECTOR_RESPONSE = WTS_LOGON_ERROR_REDIRECTOR_RESPONSE(3i32);
12267 pub const WTS_LOGON_ERR_HANDLED_DONT_SHOW_START_OVER: WTS_LOGON_ERROR_REDIRECTOR_RESPONSE = WTS_LOGON_ERROR_REDIRECTOR_RESPONSE(4i32);
12268 impl ::std::convert::From<i32> for WTS_LOGON_ERROR_REDIRECTOR_RESPONSE {
from(value: i32) -> Self12269     fn from(value: i32) -> Self {
12270         Self(value)
12271     }
12272 }
12273 unsafe impl ::windows::runtime::Abi for WTS_LOGON_ERROR_REDIRECTOR_RESPONSE {
12274     type Abi = Self;
12275     type DefaultType = Self;
12276 }
12277 pub const WTS_MAX_CACHE_RESERVED: u32 = 20u32;
12278 pub const WTS_MAX_COUNTERS: u32 = 100u32;
12279 pub const WTS_MAX_DISPLAY_IOCTL_DATA: u32 = 256u32;
12280 pub const WTS_MAX_PROTOCOL_CACHE: u32 = 4u32;
12281 pub const WTS_MAX_RESERVED: u32 = 100u32;
12282 pub const WTS_PASSWORD_LENGTH: u32 = 255u32;
12283 pub const WTS_PERF_DISABLE_CURSORSETTINGS: u32 = 64u32;
12284 pub const WTS_PERF_DISABLE_CURSOR_SHADOW: u32 = 32u32;
12285 pub const WTS_PERF_DISABLE_FULLWINDOWDRAG: u32 = 2u32;
12286 pub const WTS_PERF_DISABLE_MENUANIMATIONS: u32 = 4u32;
12287 pub const WTS_PERF_DISABLE_NOTHING: u32 = 0u32;
12288 pub const WTS_PERF_DISABLE_THEMING: u32 = 8u32;
12289 pub const WTS_PERF_DISABLE_WALLPAPER: u32 = 1u32;
12290 pub const WTS_PERF_ENABLE_DESKTOP_COMPOSITION: u32 = 256u32;
12291 pub const WTS_PERF_ENABLE_ENHANCED_GRAPHICS: u32 = 16u32;
12292 pub const WTS_PERF_ENABLE_FONT_SMOOTHING: u32 = 128u32;
12293 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12294 #[repr(C)]
12295 #[cfg(feature = "Win32_Foundation")]
12296 pub struct WTS_POLICY_DATA {
12297     pub fDisableEncryption: super::super::Foundation::BOOLEAN,
12298     pub fDisableAutoReconnect: super::super::Foundation::BOOLEAN,
12299     pub ColorDepth: u32,
12300     pub MinEncryptionLevel: u8,
12301     pub fDisableCpm: super::super::Foundation::BOOLEAN,
12302     pub fDisableCdm: super::super::Foundation::BOOLEAN,
12303     pub fDisableCcm: super::super::Foundation::BOOLEAN,
12304     pub fDisableLPT: super::super::Foundation::BOOLEAN,
12305     pub fDisableClip: super::super::Foundation::BOOLEAN,
12306     pub fDisablePNPRedir: super::super::Foundation::BOOLEAN,
12307 }
12308 #[cfg(feature = "Win32_Foundation")]
12309 impl WTS_POLICY_DATA {}
12310 #[cfg(feature = "Win32_Foundation")]
12311 impl ::std::default::Default for WTS_POLICY_DATA {
default() -> Self12312     fn default() -> Self {
12313         unsafe { ::std::mem::zeroed() }
12314     }
12315 }
12316 #[cfg(feature = "Win32_Foundation")]
12317 impl ::std::fmt::Debug for WTS_POLICY_DATA {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12318     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12319         fmt.debug_struct("WTS_POLICY_DATA")
12320             .field("fDisableEncryption", &self.fDisableEncryption)
12321             .field("fDisableAutoReconnect", &self.fDisableAutoReconnect)
12322             .field("ColorDepth", &self.ColorDepth)
12323             .field("MinEncryptionLevel", &self.MinEncryptionLevel)
12324             .field("fDisableCpm", &self.fDisableCpm)
12325             .field("fDisableCdm", &self.fDisableCdm)
12326             .field("fDisableCcm", &self.fDisableCcm)
12327             .field("fDisableLPT", &self.fDisableLPT)
12328             .field("fDisableClip", &self.fDisableClip)
12329             .field("fDisablePNPRedir", &self.fDisablePNPRedir)
12330             .finish()
12331     }
12332 }
12333 #[cfg(feature = "Win32_Foundation")]
12334 impl ::std::cmp::PartialEq for WTS_POLICY_DATA {
eq(&self, other: &Self) -> bool12335     fn eq(&self, other: &Self) -> bool {
12336         self.fDisableEncryption == other.fDisableEncryption && self.fDisableAutoReconnect == other.fDisableAutoReconnect && self.ColorDepth == other.ColorDepth && self.MinEncryptionLevel == other.MinEncryptionLevel && self.fDisableCpm == other.fDisableCpm && self.fDisableCdm == other.fDisableCdm && self.fDisableCcm == other.fDisableCcm && self.fDisableLPT == other.fDisableLPT && self.fDisableClip == other.fDisableClip && self.fDisablePNPRedir == other.fDisablePNPRedir
12337     }
12338 }
12339 #[cfg(feature = "Win32_Foundation")]
12340 impl ::std::cmp::Eq for WTS_POLICY_DATA {}
12341 #[cfg(feature = "Win32_Foundation")]
12342 unsafe impl ::windows::runtime::Abi for WTS_POLICY_DATA {
12343     type Abi = Self;
12344     type DefaultType = Self;
12345 }
12346 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12347 #[repr(C)]
12348 #[cfg(feature = "Win32_Foundation")]
12349 pub struct WTS_PROCESS_INFOA {
12350     pub SessionId: u32,
12351     pub ProcessId: u32,
12352     pub pProcessName: super::super::Foundation::PSTR,
12353     pub pUserSid: super::super::Foundation::PSID,
12354 }
12355 #[cfg(feature = "Win32_Foundation")]
12356 impl WTS_PROCESS_INFOA {}
12357 #[cfg(feature = "Win32_Foundation")]
12358 impl ::std::default::Default for WTS_PROCESS_INFOA {
default() -> Self12359     fn default() -> Self {
12360         unsafe { ::std::mem::zeroed() }
12361     }
12362 }
12363 #[cfg(feature = "Win32_Foundation")]
12364 impl ::std::fmt::Debug for WTS_PROCESS_INFOA {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12365     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12366         fmt.debug_struct("WTS_PROCESS_INFOA").field("SessionId", &self.SessionId).field("ProcessId", &self.ProcessId).field("pProcessName", &self.pProcessName).field("pUserSid", &self.pUserSid).finish()
12367     }
12368 }
12369 #[cfg(feature = "Win32_Foundation")]
12370 impl ::std::cmp::PartialEq for WTS_PROCESS_INFOA {
eq(&self, other: &Self) -> bool12371     fn eq(&self, other: &Self) -> bool {
12372         self.SessionId == other.SessionId && self.ProcessId == other.ProcessId && self.pProcessName == other.pProcessName && self.pUserSid == other.pUserSid
12373     }
12374 }
12375 #[cfg(feature = "Win32_Foundation")]
12376 impl ::std::cmp::Eq for WTS_PROCESS_INFOA {}
12377 #[cfg(feature = "Win32_Foundation")]
12378 unsafe impl ::windows::runtime::Abi for WTS_PROCESS_INFOA {
12379     type Abi = Self;
12380     type DefaultType = Self;
12381 }
12382 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12383 #[repr(C)]
12384 #[cfg(feature = "Win32_Foundation")]
12385 pub struct WTS_PROCESS_INFOW {
12386     pub SessionId: u32,
12387     pub ProcessId: u32,
12388     pub pProcessName: super::super::Foundation::PWSTR,
12389     pub pUserSid: super::super::Foundation::PSID,
12390 }
12391 #[cfg(feature = "Win32_Foundation")]
12392 impl WTS_PROCESS_INFOW {}
12393 #[cfg(feature = "Win32_Foundation")]
12394 impl ::std::default::Default for WTS_PROCESS_INFOW {
default() -> Self12395     fn default() -> Self {
12396         unsafe { ::std::mem::zeroed() }
12397     }
12398 }
12399 #[cfg(feature = "Win32_Foundation")]
12400 impl ::std::fmt::Debug for WTS_PROCESS_INFOW {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12401     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12402         fmt.debug_struct("WTS_PROCESS_INFOW").field("SessionId", &self.SessionId).field("ProcessId", &self.ProcessId).field("pProcessName", &self.pProcessName).field("pUserSid", &self.pUserSid).finish()
12403     }
12404 }
12405 #[cfg(feature = "Win32_Foundation")]
12406 impl ::std::cmp::PartialEq for WTS_PROCESS_INFOW {
eq(&self, other: &Self) -> bool12407     fn eq(&self, other: &Self) -> bool {
12408         self.SessionId == other.SessionId && self.ProcessId == other.ProcessId && self.pProcessName == other.pProcessName && self.pUserSid == other.pUserSid
12409     }
12410 }
12411 #[cfg(feature = "Win32_Foundation")]
12412 impl ::std::cmp::Eq for WTS_PROCESS_INFOW {}
12413 #[cfg(feature = "Win32_Foundation")]
12414 unsafe impl ::windows::runtime::Abi for WTS_PROCESS_INFOW {
12415     type Abi = Self;
12416     type DefaultType = Self;
12417 }
12418 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12419 #[repr(C)]
12420 #[cfg(feature = "Win32_Foundation")]
12421 pub struct WTS_PROCESS_INFO_EXA {
12422     pub SessionId: u32,
12423     pub ProcessId: u32,
12424     pub pProcessName: super::super::Foundation::PSTR,
12425     pub pUserSid: super::super::Foundation::PSID,
12426     pub NumberOfThreads: u32,
12427     pub HandleCount: u32,
12428     pub PagefileUsage: u32,
12429     pub PeakPagefileUsage: u32,
12430     pub WorkingSetSize: u32,
12431     pub PeakWorkingSetSize: u32,
12432     pub UserTime: i64,
12433     pub KernelTime: i64,
12434 }
12435 #[cfg(feature = "Win32_Foundation")]
12436 impl WTS_PROCESS_INFO_EXA {}
12437 #[cfg(feature = "Win32_Foundation")]
12438 impl ::std::default::Default for WTS_PROCESS_INFO_EXA {
default() -> Self12439     fn default() -> Self {
12440         unsafe { ::std::mem::zeroed() }
12441     }
12442 }
12443 #[cfg(feature = "Win32_Foundation")]
12444 impl ::std::fmt::Debug for WTS_PROCESS_INFO_EXA {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12445     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12446         fmt.debug_struct("WTS_PROCESS_INFO_EXA")
12447             .field("SessionId", &self.SessionId)
12448             .field("ProcessId", &self.ProcessId)
12449             .field("pProcessName", &self.pProcessName)
12450             .field("pUserSid", &self.pUserSid)
12451             .field("NumberOfThreads", &self.NumberOfThreads)
12452             .field("HandleCount", &self.HandleCount)
12453             .field("PagefileUsage", &self.PagefileUsage)
12454             .field("PeakPagefileUsage", &self.PeakPagefileUsage)
12455             .field("WorkingSetSize", &self.WorkingSetSize)
12456             .field("PeakWorkingSetSize", &self.PeakWorkingSetSize)
12457             .field("UserTime", &self.UserTime)
12458             .field("KernelTime", &self.KernelTime)
12459             .finish()
12460     }
12461 }
12462 #[cfg(feature = "Win32_Foundation")]
12463 impl ::std::cmp::PartialEq for WTS_PROCESS_INFO_EXA {
eq(&self, other: &Self) -> bool12464     fn eq(&self, other: &Self) -> bool {
12465         self.SessionId == other.SessionId
12466             && self.ProcessId == other.ProcessId
12467             && self.pProcessName == other.pProcessName
12468             && self.pUserSid == other.pUserSid
12469             && self.NumberOfThreads == other.NumberOfThreads
12470             && self.HandleCount == other.HandleCount
12471             && self.PagefileUsage == other.PagefileUsage
12472             && self.PeakPagefileUsage == other.PeakPagefileUsage
12473             && self.WorkingSetSize == other.WorkingSetSize
12474             && self.PeakWorkingSetSize == other.PeakWorkingSetSize
12475             && self.UserTime == other.UserTime
12476             && self.KernelTime == other.KernelTime
12477     }
12478 }
12479 #[cfg(feature = "Win32_Foundation")]
12480 impl ::std::cmp::Eq for WTS_PROCESS_INFO_EXA {}
12481 #[cfg(feature = "Win32_Foundation")]
12482 unsafe impl ::windows::runtime::Abi for WTS_PROCESS_INFO_EXA {
12483     type Abi = Self;
12484     type DefaultType = Self;
12485 }
12486 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12487 #[repr(C)]
12488 #[cfg(feature = "Win32_Foundation")]
12489 pub struct WTS_PROCESS_INFO_EXW {
12490     pub SessionId: u32,
12491     pub ProcessId: u32,
12492     pub pProcessName: super::super::Foundation::PWSTR,
12493     pub pUserSid: super::super::Foundation::PSID,
12494     pub NumberOfThreads: u32,
12495     pub HandleCount: u32,
12496     pub PagefileUsage: u32,
12497     pub PeakPagefileUsage: u32,
12498     pub WorkingSetSize: u32,
12499     pub PeakWorkingSetSize: u32,
12500     pub UserTime: i64,
12501     pub KernelTime: i64,
12502 }
12503 #[cfg(feature = "Win32_Foundation")]
12504 impl WTS_PROCESS_INFO_EXW {}
12505 #[cfg(feature = "Win32_Foundation")]
12506 impl ::std::default::Default for WTS_PROCESS_INFO_EXW {
default() -> Self12507     fn default() -> Self {
12508         unsafe { ::std::mem::zeroed() }
12509     }
12510 }
12511 #[cfg(feature = "Win32_Foundation")]
12512 impl ::std::fmt::Debug for WTS_PROCESS_INFO_EXW {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12513     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12514         fmt.debug_struct("WTS_PROCESS_INFO_EXW")
12515             .field("SessionId", &self.SessionId)
12516             .field("ProcessId", &self.ProcessId)
12517             .field("pProcessName", &self.pProcessName)
12518             .field("pUserSid", &self.pUserSid)
12519             .field("NumberOfThreads", &self.NumberOfThreads)
12520             .field("HandleCount", &self.HandleCount)
12521             .field("PagefileUsage", &self.PagefileUsage)
12522             .field("PeakPagefileUsage", &self.PeakPagefileUsage)
12523             .field("WorkingSetSize", &self.WorkingSetSize)
12524             .field("PeakWorkingSetSize", &self.PeakWorkingSetSize)
12525             .field("UserTime", &self.UserTime)
12526             .field("KernelTime", &self.KernelTime)
12527             .finish()
12528     }
12529 }
12530 #[cfg(feature = "Win32_Foundation")]
12531 impl ::std::cmp::PartialEq for WTS_PROCESS_INFO_EXW {
eq(&self, other: &Self) -> bool12532     fn eq(&self, other: &Self) -> bool {
12533         self.SessionId == other.SessionId
12534             && self.ProcessId == other.ProcessId
12535             && self.pProcessName == other.pProcessName
12536             && self.pUserSid == other.pUserSid
12537             && self.NumberOfThreads == other.NumberOfThreads
12538             && self.HandleCount == other.HandleCount
12539             && self.PagefileUsage == other.PagefileUsage
12540             && self.PeakPagefileUsage == other.PeakPagefileUsage
12541             && self.WorkingSetSize == other.WorkingSetSize
12542             && self.PeakWorkingSetSize == other.PeakWorkingSetSize
12543             && self.UserTime == other.UserTime
12544             && self.KernelTime == other.KernelTime
12545     }
12546 }
12547 #[cfg(feature = "Win32_Foundation")]
12548 impl ::std::cmp::Eq for WTS_PROCESS_INFO_EXW {}
12549 #[cfg(feature = "Win32_Foundation")]
12550 unsafe impl ::windows::runtime::Abi for WTS_PROCESS_INFO_EXW {
12551     type Abi = Self;
12552     type DefaultType = Self;
12553 }
12554 pub const WTS_PROCESS_INFO_LEVEL_0: u32 = 0u32;
12555 pub const WTS_PROCESS_INFO_LEVEL_1: u32 = 1u32;
12556 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12557 #[repr(C)]
12558 #[cfg(feature = "Win32_Foundation")]
12559 pub struct WTS_PROPERTY_VALUE {
12560     pub Type: u16,
12561     pub u: WTS_PROPERTY_VALUE_0,
12562 }
12563 #[cfg(feature = "Win32_Foundation")]
12564 impl WTS_PROPERTY_VALUE {}
12565 #[cfg(feature = "Win32_Foundation")]
12566 impl ::std::default::Default for WTS_PROPERTY_VALUE {
default() -> Self12567     fn default() -> Self {
12568         unsafe { ::std::mem::zeroed() }
12569     }
12570 }
12571 #[cfg(feature = "Win32_Foundation")]
12572 impl ::std::cmp::PartialEq for WTS_PROPERTY_VALUE {
eq(&self, _other: &Self) -> bool12573     fn eq(&self, _other: &Self) -> bool {
12574         unimplemented!()
12575     }
12576 }
12577 #[cfg(feature = "Win32_Foundation")]
12578 impl ::std::cmp::Eq for WTS_PROPERTY_VALUE {}
12579 #[cfg(feature = "Win32_Foundation")]
12580 unsafe impl ::windows::runtime::Abi for WTS_PROPERTY_VALUE {
12581     type Abi = Self;
12582     type DefaultType = Self;
12583 }
12584 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12585 #[repr(C)]
12586 #[cfg(feature = "Win32_Foundation")]
12587 pub union WTS_PROPERTY_VALUE_0 {
12588     pub ulVal: u32,
12589     pub strVal: WTS_PROPERTY_VALUE_0_1,
12590     pub bVal: WTS_PROPERTY_VALUE_0_0,
12591     pub guidVal: ::windows::runtime::GUID,
12592 }
12593 #[cfg(feature = "Win32_Foundation")]
12594 impl WTS_PROPERTY_VALUE_0 {}
12595 #[cfg(feature = "Win32_Foundation")]
12596 impl ::std::default::Default for WTS_PROPERTY_VALUE_0 {
default() -> Self12597     fn default() -> Self {
12598         unsafe { ::std::mem::zeroed() }
12599     }
12600 }
12601 #[cfg(feature = "Win32_Foundation")]
12602 impl ::std::cmp::PartialEq for WTS_PROPERTY_VALUE_0 {
eq(&self, _other: &Self) -> bool12603     fn eq(&self, _other: &Self) -> bool {
12604         unimplemented!()
12605     }
12606 }
12607 #[cfg(feature = "Win32_Foundation")]
12608 impl ::std::cmp::Eq for WTS_PROPERTY_VALUE_0 {}
12609 #[cfg(feature = "Win32_Foundation")]
12610 unsafe impl ::windows::runtime::Abi for WTS_PROPERTY_VALUE_0 {
12611     type Abi = Self;
12612     type DefaultType = Self;
12613 }
12614 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12615 #[repr(C)]
12616 #[cfg(feature = "Win32_Foundation")]
12617 pub struct WTS_PROPERTY_VALUE_0_0 {
12618     pub size: u32,
12619     pub pbVal: super::super::Foundation::PSTR,
12620 }
12621 #[cfg(feature = "Win32_Foundation")]
12622 impl WTS_PROPERTY_VALUE_0_0 {}
12623 #[cfg(feature = "Win32_Foundation")]
12624 impl ::std::default::Default for WTS_PROPERTY_VALUE_0_0 {
default() -> Self12625     fn default() -> Self {
12626         unsafe { ::std::mem::zeroed() }
12627     }
12628 }
12629 #[cfg(feature = "Win32_Foundation")]
12630 impl ::std::fmt::Debug for WTS_PROPERTY_VALUE_0_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12631     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12632         fmt.debug_struct("_bVal_e__Struct").field("size", &self.size).field("pbVal", &self.pbVal).finish()
12633     }
12634 }
12635 #[cfg(feature = "Win32_Foundation")]
12636 impl ::std::cmp::PartialEq for WTS_PROPERTY_VALUE_0_0 {
eq(&self, other: &Self) -> bool12637     fn eq(&self, other: &Self) -> bool {
12638         self.size == other.size && self.pbVal == other.pbVal
12639     }
12640 }
12641 #[cfg(feature = "Win32_Foundation")]
12642 impl ::std::cmp::Eq for WTS_PROPERTY_VALUE_0_0 {}
12643 #[cfg(feature = "Win32_Foundation")]
12644 unsafe impl ::windows::runtime::Abi for WTS_PROPERTY_VALUE_0_0 {
12645     type Abi = Self;
12646     type DefaultType = Self;
12647 }
12648 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12649 #[repr(C)]
12650 #[cfg(feature = "Win32_Foundation")]
12651 pub struct WTS_PROPERTY_VALUE_0_1 {
12652     pub size: u32,
12653     pub pstrVal: super::super::Foundation::PWSTR,
12654 }
12655 #[cfg(feature = "Win32_Foundation")]
12656 impl WTS_PROPERTY_VALUE_0_1 {}
12657 #[cfg(feature = "Win32_Foundation")]
12658 impl ::std::default::Default for WTS_PROPERTY_VALUE_0_1 {
default() -> Self12659     fn default() -> Self {
12660         unsafe { ::std::mem::zeroed() }
12661     }
12662 }
12663 #[cfg(feature = "Win32_Foundation")]
12664 impl ::std::fmt::Debug for WTS_PROPERTY_VALUE_0_1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12665     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12666         fmt.debug_struct("_strVal_e__Struct").field("size", &self.size).field("pstrVal", &self.pstrVal).finish()
12667     }
12668 }
12669 #[cfg(feature = "Win32_Foundation")]
12670 impl ::std::cmp::PartialEq for WTS_PROPERTY_VALUE_0_1 {
eq(&self, other: &Self) -> bool12671     fn eq(&self, other: &Self) -> bool {
12672         self.size == other.size && self.pstrVal == other.pstrVal
12673     }
12674 }
12675 #[cfg(feature = "Win32_Foundation")]
12676 impl ::std::cmp::Eq for WTS_PROPERTY_VALUE_0_1 {}
12677 #[cfg(feature = "Win32_Foundation")]
12678 unsafe impl ::windows::runtime::Abi for WTS_PROPERTY_VALUE_0_1 {
12679     type Abi = Self;
12680     type DefaultType = Self;
12681 }
12682 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12683 #[repr(C)]
12684 pub struct WTS_PROTOCOL_CACHE {
12685     pub CacheReads: u32,
12686     pub CacheHits: u32,
12687 }
12688 impl WTS_PROTOCOL_CACHE {}
12689 impl ::std::default::Default for WTS_PROTOCOL_CACHE {
default() -> Self12690     fn default() -> Self {
12691         unsafe { ::std::mem::zeroed() }
12692     }
12693 }
12694 impl ::std::fmt::Debug for WTS_PROTOCOL_CACHE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12695     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12696         fmt.debug_struct("WTS_PROTOCOL_CACHE").field("CacheReads", &self.CacheReads).field("CacheHits", &self.CacheHits).finish()
12697     }
12698 }
12699 impl ::std::cmp::PartialEq for WTS_PROTOCOL_CACHE {
eq(&self, other: &Self) -> bool12700     fn eq(&self, other: &Self) -> bool {
12701         self.CacheReads == other.CacheReads && self.CacheHits == other.CacheHits
12702     }
12703 }
12704 impl ::std::cmp::Eq for WTS_PROTOCOL_CACHE {}
12705 unsafe impl ::windows::runtime::Abi for WTS_PROTOCOL_CACHE {
12706     type Abi = Self;
12707     type DefaultType = Self;
12708 }
12709 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12710 #[repr(C)]
12711 pub struct WTS_PROTOCOL_COUNTERS {
12712     pub WdBytes: u32,
12713     pub WdFrames: u32,
12714     pub WaitForOutBuf: u32,
12715     pub Frames: u32,
12716     pub Bytes: u32,
12717     pub CompressedBytes: u32,
12718     pub CompressFlushes: u32,
12719     pub Errors: u32,
12720     pub Timeouts: u32,
12721     pub AsyncFramingError: u32,
12722     pub AsyncOverrunError: u32,
12723     pub AsyncOverflowError: u32,
12724     pub AsyncParityError: u32,
12725     pub TdErrors: u32,
12726     pub ProtocolType: u16,
12727     pub Length: u16,
12728     pub Specific: u16,
12729     pub Reserved: [u32; 100],
12730 }
12731 impl WTS_PROTOCOL_COUNTERS {}
12732 impl ::std::default::Default for WTS_PROTOCOL_COUNTERS {
default() -> Self12733     fn default() -> Self {
12734         unsafe { ::std::mem::zeroed() }
12735     }
12736 }
12737 impl ::std::fmt::Debug for WTS_PROTOCOL_COUNTERS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12738     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12739         fmt.debug_struct("WTS_PROTOCOL_COUNTERS")
12740             .field("WdBytes", &self.WdBytes)
12741             .field("WdFrames", &self.WdFrames)
12742             .field("WaitForOutBuf", &self.WaitForOutBuf)
12743             .field("Frames", &self.Frames)
12744             .field("Bytes", &self.Bytes)
12745             .field("CompressedBytes", &self.CompressedBytes)
12746             .field("CompressFlushes", &self.CompressFlushes)
12747             .field("Errors", &self.Errors)
12748             .field("Timeouts", &self.Timeouts)
12749             .field("AsyncFramingError", &self.AsyncFramingError)
12750             .field("AsyncOverrunError", &self.AsyncOverrunError)
12751             .field("AsyncOverflowError", &self.AsyncOverflowError)
12752             .field("AsyncParityError", &self.AsyncParityError)
12753             .field("TdErrors", &self.TdErrors)
12754             .field("ProtocolType", &self.ProtocolType)
12755             .field("Length", &self.Length)
12756             .field("Specific", &self.Specific)
12757             .field("Reserved", &self.Reserved)
12758             .finish()
12759     }
12760 }
12761 impl ::std::cmp::PartialEq for WTS_PROTOCOL_COUNTERS {
eq(&self, other: &Self) -> bool12762     fn eq(&self, other: &Self) -> bool {
12763         self.WdBytes == other.WdBytes
12764             && self.WdFrames == other.WdFrames
12765             && self.WaitForOutBuf == other.WaitForOutBuf
12766             && self.Frames == other.Frames
12767             && self.Bytes == other.Bytes
12768             && self.CompressedBytes == other.CompressedBytes
12769             && self.CompressFlushes == other.CompressFlushes
12770             && self.Errors == other.Errors
12771             && self.Timeouts == other.Timeouts
12772             && self.AsyncFramingError == other.AsyncFramingError
12773             && self.AsyncOverrunError == other.AsyncOverrunError
12774             && self.AsyncOverflowError == other.AsyncOverflowError
12775             && self.AsyncParityError == other.AsyncParityError
12776             && self.TdErrors == other.TdErrors
12777             && self.ProtocolType == other.ProtocolType
12778             && self.Length == other.Length
12779             && self.Specific == other.Specific
12780             && self.Reserved == other.Reserved
12781     }
12782 }
12783 impl ::std::cmp::Eq for WTS_PROTOCOL_COUNTERS {}
12784 unsafe impl ::windows::runtime::Abi for WTS_PROTOCOL_COUNTERS {
12785     type Abi = Self;
12786     type DefaultType = Self;
12787 }
12788 pub const WTS_PROTOCOL_NAME_LENGTH: u32 = 8u32;
12789 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12790 #[repr(C)]
12791 pub struct WTS_PROTOCOL_STATUS {
12792     pub Output: WTS_PROTOCOL_COUNTERS,
12793     pub Input: WTS_PROTOCOL_COUNTERS,
12794     pub Cache: WTS_CACHE_STATS,
12795     pub AsyncSignal: u32,
12796     pub AsyncSignalMask: u32,
12797     pub Counters: [i64; 100],
12798 }
12799 impl WTS_PROTOCOL_STATUS {}
12800 impl ::std::default::Default for WTS_PROTOCOL_STATUS {
default() -> Self12801     fn default() -> Self {
12802         unsafe { ::std::mem::zeroed() }
12803     }
12804 }
12805 impl ::std::cmp::PartialEq for WTS_PROTOCOL_STATUS {
eq(&self, _other: &Self) -> bool12806     fn eq(&self, _other: &Self) -> bool {
12807         unimplemented!()
12808     }
12809 }
12810 impl ::std::cmp::Eq for WTS_PROTOCOL_STATUS {}
12811 unsafe impl ::windows::runtime::Abi for WTS_PROTOCOL_STATUS {
12812     type Abi = Self;
12813     type DefaultType = Self;
12814 }
12815 pub const WTS_PROTOCOL_TYPE_CONSOLE: u32 = 0u32;
12816 pub const WTS_PROTOCOL_TYPE_ICA: u32 = 1u32;
12817 pub const WTS_PROTOCOL_TYPE_RDP: u32 = 2u32;
12818 pub const WTS_QUERY_ALLOWED_INITIAL_APP: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3346864944, 23521, 19563, [160, 225, 189, 109, 46, 92, 159, 204]);
12819 pub const WTS_QUERY_AUDIOENUM_DLL: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2616523415, 51331, 19498, [128, 171, 90, 57, 201, 175, 0, 219]);
12820 pub const WTS_QUERY_LOGON_SCREEN_SIZE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2341343207, 2052, 18958, [178, 121, 134, 96, 177, 223, 0, 73]);
12821 pub const WTS_QUERY_MF_FORMAT_SUPPORT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1099340496, 25394, 19912, [149, 213, 219, 116, 158, 47, 29, 148]);
12822 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12823 #[repr(transparent)]
12824 pub struct WTS_RCM_DRAIN_STATE(pub i32);
12825 pub const WTS_DRAIN_STATE_NONE: WTS_RCM_DRAIN_STATE = WTS_RCM_DRAIN_STATE(0i32);
12826 pub const WTS_DRAIN_IN_DRAIN: WTS_RCM_DRAIN_STATE = WTS_RCM_DRAIN_STATE(1i32);
12827 pub const WTS_DRAIN_NOT_IN_DRAIN: WTS_RCM_DRAIN_STATE = WTS_RCM_DRAIN_STATE(2i32);
12828 impl ::std::convert::From<i32> for WTS_RCM_DRAIN_STATE {
from(value: i32) -> Self12829     fn from(value: i32) -> Self {
12830         Self(value)
12831     }
12832 }
12833 unsafe impl ::windows::runtime::Abi for WTS_RCM_DRAIN_STATE {
12834     type Abi = Self;
12835     type DefaultType = Self;
12836 }
12837 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12838 #[repr(transparent)]
12839 pub struct WTS_RCM_SERVICE_STATE(pub i32);
12840 pub const WTS_SERVICE_NONE: WTS_RCM_SERVICE_STATE = WTS_RCM_SERVICE_STATE(0i32);
12841 pub const WTS_SERVICE_START: WTS_RCM_SERVICE_STATE = WTS_RCM_SERVICE_STATE(1i32);
12842 pub const WTS_SERVICE_STOP: WTS_RCM_SERVICE_STATE = WTS_RCM_SERVICE_STATE(2i32);
12843 impl ::std::convert::From<i32> for WTS_RCM_SERVICE_STATE {
from(value: i32) -> Self12844     fn from(value: i32) -> Self {
12845         Self(value)
12846     }
12847 }
12848 unsafe impl ::windows::runtime::Abi for WTS_RCM_SERVICE_STATE {
12849     type Abi = Self;
12850     type DefaultType = Self;
12851 }
12852 pub const WTS_SECURITY_CONNECT: u32 = 256u32;
12853 pub const WTS_SECURITY_DISCONNECT: u32 = 512u32;
12854 pub const WTS_SECURITY_GUEST_ACCESS: u32 = 32u32;
12855 pub const WTS_SECURITY_LOGOFF: u32 = 64u32;
12856 pub const WTS_SECURITY_LOGON: u32 = 32u32;
12857 pub const WTS_SECURITY_MESSAGE: u32 = 128u32;
12858 pub const WTS_SECURITY_QUERY_INFORMATION: u32 = 1u32;
12859 pub const WTS_SECURITY_REMOTE_CONTROL: u32 = 16u32;
12860 pub const WTS_SECURITY_RESET: u32 = 4u32;
12861 pub const WTS_SECURITY_SET_INFORMATION: u32 = 2u32;
12862 pub const WTS_SECURITY_VIRTUAL_CHANNELS: u32 = 8u32;
12863 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12864 #[repr(C)]
12865 #[cfg(feature = "Win32_Foundation")]
12866 pub struct WTS_SERVER_INFOA {
12867     pub pServerName: super::super::Foundation::PSTR,
12868 }
12869 #[cfg(feature = "Win32_Foundation")]
12870 impl WTS_SERVER_INFOA {}
12871 #[cfg(feature = "Win32_Foundation")]
12872 impl ::std::default::Default for WTS_SERVER_INFOA {
default() -> Self12873     fn default() -> Self {
12874         unsafe { ::std::mem::zeroed() }
12875     }
12876 }
12877 #[cfg(feature = "Win32_Foundation")]
12878 impl ::std::fmt::Debug for WTS_SERVER_INFOA {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12879     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12880         fmt.debug_struct("WTS_SERVER_INFOA").field("pServerName", &self.pServerName).finish()
12881     }
12882 }
12883 #[cfg(feature = "Win32_Foundation")]
12884 impl ::std::cmp::PartialEq for WTS_SERVER_INFOA {
eq(&self, other: &Self) -> bool12885     fn eq(&self, other: &Self) -> bool {
12886         self.pServerName == other.pServerName
12887     }
12888 }
12889 #[cfg(feature = "Win32_Foundation")]
12890 impl ::std::cmp::Eq for WTS_SERVER_INFOA {}
12891 #[cfg(feature = "Win32_Foundation")]
12892 unsafe impl ::windows::runtime::Abi for WTS_SERVER_INFOA {
12893     type Abi = Self;
12894     type DefaultType = Self;
12895 }
12896 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12897 #[repr(C)]
12898 #[cfg(feature = "Win32_Foundation")]
12899 pub struct WTS_SERVER_INFOW {
12900     pub pServerName: super::super::Foundation::PWSTR,
12901 }
12902 #[cfg(feature = "Win32_Foundation")]
12903 impl WTS_SERVER_INFOW {}
12904 #[cfg(feature = "Win32_Foundation")]
12905 impl ::std::default::Default for WTS_SERVER_INFOW {
default() -> Self12906     fn default() -> Self {
12907         unsafe { ::std::mem::zeroed() }
12908     }
12909 }
12910 #[cfg(feature = "Win32_Foundation")]
12911 impl ::std::fmt::Debug for WTS_SERVER_INFOW {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12912     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12913         fmt.debug_struct("WTS_SERVER_INFOW").field("pServerName", &self.pServerName).finish()
12914     }
12915 }
12916 #[cfg(feature = "Win32_Foundation")]
12917 impl ::std::cmp::PartialEq for WTS_SERVER_INFOW {
eq(&self, other: &Self) -> bool12918     fn eq(&self, other: &Self) -> bool {
12919         self.pServerName == other.pServerName
12920     }
12921 }
12922 #[cfg(feature = "Win32_Foundation")]
12923 impl ::std::cmp::Eq for WTS_SERVER_INFOW {}
12924 #[cfg(feature = "Win32_Foundation")]
12925 unsafe impl ::windows::runtime::Abi for WTS_SERVER_INFOW {
12926     type Abi = Self;
12927     type DefaultType = Self;
12928 }
12929 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12930 #[repr(C)]
12931 pub struct WTS_SERVICE_STATE {
12932     pub RcmServiceState: WTS_RCM_SERVICE_STATE,
12933     pub RcmDrainState: WTS_RCM_DRAIN_STATE,
12934 }
12935 impl WTS_SERVICE_STATE {}
12936 impl ::std::default::Default for WTS_SERVICE_STATE {
default() -> Self12937     fn default() -> Self {
12938         unsafe { ::std::mem::zeroed() }
12939     }
12940 }
12941 impl ::std::fmt::Debug for WTS_SERVICE_STATE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12942     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12943         fmt.debug_struct("WTS_SERVICE_STATE").field("RcmServiceState", &self.RcmServiceState).field("RcmDrainState", &self.RcmDrainState).finish()
12944     }
12945 }
12946 impl ::std::cmp::PartialEq for WTS_SERVICE_STATE {
eq(&self, other: &Self) -> bool12947     fn eq(&self, other: &Self) -> bool {
12948         self.RcmServiceState == other.RcmServiceState && self.RcmDrainState == other.RcmDrainState
12949     }
12950 }
12951 impl ::std::cmp::Eq for WTS_SERVICE_STATE {}
12952 unsafe impl ::windows::runtime::Abi for WTS_SERVICE_STATE {
12953     type Abi = Self;
12954     type DefaultType = Self;
12955 }
12956 pub const WTS_SESSIONSTATE_LOCK: u32 = 0u32;
12957 pub const WTS_SESSIONSTATE_UNKNOWN: u32 = 4294967295u32;
12958 pub const WTS_SESSIONSTATE_UNLOCK: u32 = 1u32;
12959 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12960 #[repr(C)]
12961 pub struct WTS_SESSION_ADDRESS {
12962     pub AddressFamily: u32,
12963     pub Address: [u8; 20],
12964 }
12965 impl WTS_SESSION_ADDRESS {}
12966 impl ::std::default::Default for WTS_SESSION_ADDRESS {
default() -> Self12967     fn default() -> Self {
12968         unsafe { ::std::mem::zeroed() }
12969     }
12970 }
12971 impl ::std::fmt::Debug for WTS_SESSION_ADDRESS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12972     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12973         fmt.debug_struct("WTS_SESSION_ADDRESS").field("AddressFamily", &self.AddressFamily).field("Address", &self.Address).finish()
12974     }
12975 }
12976 impl ::std::cmp::PartialEq for WTS_SESSION_ADDRESS {
eq(&self, other: &Self) -> bool12977     fn eq(&self, other: &Self) -> bool {
12978         self.AddressFamily == other.AddressFamily && self.Address == other.Address
12979     }
12980 }
12981 impl ::std::cmp::Eq for WTS_SESSION_ADDRESS {}
12982 unsafe impl ::windows::runtime::Abi for WTS_SESSION_ADDRESS {
12983     type Abi = Self;
12984     type DefaultType = Self;
12985 }
12986 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12987 #[repr(C)]
12988 pub struct WTS_SESSION_ID {
12989     pub SessionUniqueGuid: ::windows::runtime::GUID,
12990     pub SessionId: u32,
12991 }
12992 impl WTS_SESSION_ID {}
12993 impl ::std::default::Default for WTS_SESSION_ID {
default() -> Self12994     fn default() -> Self {
12995         unsafe { ::std::mem::zeroed() }
12996     }
12997 }
12998 impl ::std::fmt::Debug for WTS_SESSION_ID {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12999     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13000         fmt.debug_struct("WTS_SESSION_ID").field("SessionUniqueGuid", &self.SessionUniqueGuid).field("SessionId", &self.SessionId).finish()
13001     }
13002 }
13003 impl ::std::cmp::PartialEq for WTS_SESSION_ID {
eq(&self, other: &Self) -> bool13004     fn eq(&self, other: &Self) -> bool {
13005         self.SessionUniqueGuid == other.SessionUniqueGuid && self.SessionId == other.SessionId
13006     }
13007 }
13008 impl ::std::cmp::Eq for WTS_SESSION_ID {}
13009 unsafe impl ::windows::runtime::Abi for WTS_SESSION_ID {
13010     type Abi = Self;
13011     type DefaultType = Self;
13012 }
13013 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13014 #[repr(C)]
13015 #[cfg(feature = "Win32_Foundation")]
13016 pub struct WTS_SESSION_INFOA {
13017     pub SessionId: u32,
13018     pub pWinStationName: super::super::Foundation::PSTR,
13019     pub State: WTS_CONNECTSTATE_CLASS,
13020 }
13021 #[cfg(feature = "Win32_Foundation")]
13022 impl WTS_SESSION_INFOA {}
13023 #[cfg(feature = "Win32_Foundation")]
13024 impl ::std::default::Default for WTS_SESSION_INFOA {
default() -> Self13025     fn default() -> Self {
13026         unsafe { ::std::mem::zeroed() }
13027     }
13028 }
13029 #[cfg(feature = "Win32_Foundation")]
13030 impl ::std::fmt::Debug for WTS_SESSION_INFOA {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13031     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13032         fmt.debug_struct("WTS_SESSION_INFOA").field("SessionId", &self.SessionId).field("pWinStationName", &self.pWinStationName).field("State", &self.State).finish()
13033     }
13034 }
13035 #[cfg(feature = "Win32_Foundation")]
13036 impl ::std::cmp::PartialEq for WTS_SESSION_INFOA {
eq(&self, other: &Self) -> bool13037     fn eq(&self, other: &Self) -> bool {
13038         self.SessionId == other.SessionId && self.pWinStationName == other.pWinStationName && self.State == other.State
13039     }
13040 }
13041 #[cfg(feature = "Win32_Foundation")]
13042 impl ::std::cmp::Eq for WTS_SESSION_INFOA {}
13043 #[cfg(feature = "Win32_Foundation")]
13044 unsafe impl ::windows::runtime::Abi for WTS_SESSION_INFOA {
13045     type Abi = Self;
13046     type DefaultType = Self;
13047 }
13048 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13049 #[repr(C)]
13050 #[cfg(feature = "Win32_Foundation")]
13051 pub struct WTS_SESSION_INFOW {
13052     pub SessionId: u32,
13053     pub pWinStationName: super::super::Foundation::PWSTR,
13054     pub State: WTS_CONNECTSTATE_CLASS,
13055 }
13056 #[cfg(feature = "Win32_Foundation")]
13057 impl WTS_SESSION_INFOW {}
13058 #[cfg(feature = "Win32_Foundation")]
13059 impl ::std::default::Default for WTS_SESSION_INFOW {
default() -> Self13060     fn default() -> Self {
13061         unsafe { ::std::mem::zeroed() }
13062     }
13063 }
13064 #[cfg(feature = "Win32_Foundation")]
13065 impl ::std::fmt::Debug for WTS_SESSION_INFOW {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13066     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13067         fmt.debug_struct("WTS_SESSION_INFOW").field("SessionId", &self.SessionId).field("pWinStationName", &self.pWinStationName).field("State", &self.State).finish()
13068     }
13069 }
13070 #[cfg(feature = "Win32_Foundation")]
13071 impl ::std::cmp::PartialEq for WTS_SESSION_INFOW {
eq(&self, other: &Self) -> bool13072     fn eq(&self, other: &Self) -> bool {
13073         self.SessionId == other.SessionId && self.pWinStationName == other.pWinStationName && self.State == other.State
13074     }
13075 }
13076 #[cfg(feature = "Win32_Foundation")]
13077 impl ::std::cmp::Eq for WTS_SESSION_INFOW {}
13078 #[cfg(feature = "Win32_Foundation")]
13079 unsafe impl ::windows::runtime::Abi for WTS_SESSION_INFOW {
13080     type Abi = Self;
13081     type DefaultType = Self;
13082 }
13083 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13084 #[repr(C)]
13085 #[cfg(feature = "Win32_Foundation")]
13086 pub struct WTS_SESSION_INFO_1A {
13087     pub ExecEnvId: u32,
13088     pub State: WTS_CONNECTSTATE_CLASS,
13089     pub SessionId: u32,
13090     pub pSessionName: super::super::Foundation::PSTR,
13091     pub pHostName: super::super::Foundation::PSTR,
13092     pub pUserName: super::super::Foundation::PSTR,
13093     pub pDomainName: super::super::Foundation::PSTR,
13094     pub pFarmName: super::super::Foundation::PSTR,
13095 }
13096 #[cfg(feature = "Win32_Foundation")]
13097 impl WTS_SESSION_INFO_1A {}
13098 #[cfg(feature = "Win32_Foundation")]
13099 impl ::std::default::Default for WTS_SESSION_INFO_1A {
default() -> Self13100     fn default() -> Self {
13101         unsafe { ::std::mem::zeroed() }
13102     }
13103 }
13104 #[cfg(feature = "Win32_Foundation")]
13105 impl ::std::fmt::Debug for WTS_SESSION_INFO_1A {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13106     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13107         fmt.debug_struct("WTS_SESSION_INFO_1A")
13108             .field("ExecEnvId", &self.ExecEnvId)
13109             .field("State", &self.State)
13110             .field("SessionId", &self.SessionId)
13111             .field("pSessionName", &self.pSessionName)
13112             .field("pHostName", &self.pHostName)
13113             .field("pUserName", &self.pUserName)
13114             .field("pDomainName", &self.pDomainName)
13115             .field("pFarmName", &self.pFarmName)
13116             .finish()
13117     }
13118 }
13119 #[cfg(feature = "Win32_Foundation")]
13120 impl ::std::cmp::PartialEq for WTS_SESSION_INFO_1A {
eq(&self, other: &Self) -> bool13121     fn eq(&self, other: &Self) -> bool {
13122         self.ExecEnvId == other.ExecEnvId && self.State == other.State && self.SessionId == other.SessionId && self.pSessionName == other.pSessionName && self.pHostName == other.pHostName && self.pUserName == other.pUserName && self.pDomainName == other.pDomainName && self.pFarmName == other.pFarmName
13123     }
13124 }
13125 #[cfg(feature = "Win32_Foundation")]
13126 impl ::std::cmp::Eq for WTS_SESSION_INFO_1A {}
13127 #[cfg(feature = "Win32_Foundation")]
13128 unsafe impl ::windows::runtime::Abi for WTS_SESSION_INFO_1A {
13129     type Abi = Self;
13130     type DefaultType = Self;
13131 }
13132 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13133 #[repr(C)]
13134 #[cfg(feature = "Win32_Foundation")]
13135 pub struct WTS_SESSION_INFO_1W {
13136     pub ExecEnvId: u32,
13137     pub State: WTS_CONNECTSTATE_CLASS,
13138     pub SessionId: u32,
13139     pub pSessionName: super::super::Foundation::PWSTR,
13140     pub pHostName: super::super::Foundation::PWSTR,
13141     pub pUserName: super::super::Foundation::PWSTR,
13142     pub pDomainName: super::super::Foundation::PWSTR,
13143     pub pFarmName: super::super::Foundation::PWSTR,
13144 }
13145 #[cfg(feature = "Win32_Foundation")]
13146 impl WTS_SESSION_INFO_1W {}
13147 #[cfg(feature = "Win32_Foundation")]
13148 impl ::std::default::Default for WTS_SESSION_INFO_1W {
default() -> Self13149     fn default() -> Self {
13150         unsafe { ::std::mem::zeroed() }
13151     }
13152 }
13153 #[cfg(feature = "Win32_Foundation")]
13154 impl ::std::fmt::Debug for WTS_SESSION_INFO_1W {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13155     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13156         fmt.debug_struct("WTS_SESSION_INFO_1W")
13157             .field("ExecEnvId", &self.ExecEnvId)
13158             .field("State", &self.State)
13159             .field("SessionId", &self.SessionId)
13160             .field("pSessionName", &self.pSessionName)
13161             .field("pHostName", &self.pHostName)
13162             .field("pUserName", &self.pUserName)
13163             .field("pDomainName", &self.pDomainName)
13164             .field("pFarmName", &self.pFarmName)
13165             .finish()
13166     }
13167 }
13168 #[cfg(feature = "Win32_Foundation")]
13169 impl ::std::cmp::PartialEq for WTS_SESSION_INFO_1W {
eq(&self, other: &Self) -> bool13170     fn eq(&self, other: &Self) -> bool {
13171         self.ExecEnvId == other.ExecEnvId && self.State == other.State && self.SessionId == other.SessionId && self.pSessionName == other.pSessionName && self.pHostName == other.pHostName && self.pUserName == other.pUserName && self.pDomainName == other.pDomainName && self.pFarmName == other.pFarmName
13172     }
13173 }
13174 #[cfg(feature = "Win32_Foundation")]
13175 impl ::std::cmp::Eq for WTS_SESSION_INFO_1W {}
13176 #[cfg(feature = "Win32_Foundation")]
13177 unsafe impl ::windows::runtime::Abi for WTS_SESSION_INFO_1W {
13178     type Abi = Self;
13179     type DefaultType = Self;
13180 }
13181 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13182 #[repr(C)]
13183 pub struct WTS_SMALL_RECT {
13184     pub Left: i16,
13185     pub Top: i16,
13186     pub Right: i16,
13187     pub Bottom: i16,
13188 }
13189 impl WTS_SMALL_RECT {}
13190 impl ::std::default::Default for WTS_SMALL_RECT {
default() -> Self13191     fn default() -> Self {
13192         unsafe { ::std::mem::zeroed() }
13193     }
13194 }
13195 impl ::std::fmt::Debug for WTS_SMALL_RECT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13196     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13197         fmt.debug_struct("WTS_SMALL_RECT").field("Left", &self.Left).field("Top", &self.Top).field("Right", &self.Right).field("Bottom", &self.Bottom).finish()
13198     }
13199 }
13200 impl ::std::cmp::PartialEq for WTS_SMALL_RECT {
eq(&self, other: &Self) -> bool13201     fn eq(&self, other: &Self) -> bool {
13202         self.Left == other.Left && self.Top == other.Top && self.Right == other.Right && self.Bottom == other.Bottom
13203     }
13204 }
13205 impl ::std::cmp::Eq for WTS_SMALL_RECT {}
13206 unsafe impl ::windows::runtime::Abi for WTS_SMALL_RECT {
13207     type Abi = Self;
13208     type DefaultType = Self;
13209 }
13210 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13211 #[repr(C)]
13212 pub struct WTS_SOCKADDR {
13213     pub sin_family: u16,
13214     pub u: WTS_SOCKADDR_0,
13215 }
13216 impl WTS_SOCKADDR {}
13217 impl ::std::default::Default for WTS_SOCKADDR {
default() -> Self13218     fn default() -> Self {
13219         unsafe { ::std::mem::zeroed() }
13220     }
13221 }
13222 impl ::std::cmp::PartialEq for WTS_SOCKADDR {
eq(&self, _other: &Self) -> bool13223     fn eq(&self, _other: &Self) -> bool {
13224         unimplemented!()
13225     }
13226 }
13227 impl ::std::cmp::Eq for WTS_SOCKADDR {}
13228 unsafe impl ::windows::runtime::Abi for WTS_SOCKADDR {
13229     type Abi = Self;
13230     type DefaultType = Self;
13231 }
13232 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13233 #[repr(C)]
13234 pub union WTS_SOCKADDR_0 {
13235     pub ipv4: WTS_SOCKADDR_0_0,
13236     pub ipv6: WTS_SOCKADDR_0_1,
13237 }
13238 impl WTS_SOCKADDR_0 {}
13239 impl ::std::default::Default for WTS_SOCKADDR_0 {
default() -> Self13240     fn default() -> Self {
13241         unsafe { ::std::mem::zeroed() }
13242     }
13243 }
13244 impl ::std::cmp::PartialEq for WTS_SOCKADDR_0 {
eq(&self, _other: &Self) -> bool13245     fn eq(&self, _other: &Self) -> bool {
13246         unimplemented!()
13247     }
13248 }
13249 impl ::std::cmp::Eq for WTS_SOCKADDR_0 {}
13250 unsafe impl ::windows::runtime::Abi for WTS_SOCKADDR_0 {
13251     type Abi = Self;
13252     type DefaultType = Self;
13253 }
13254 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13255 #[repr(C)]
13256 pub struct WTS_SOCKADDR_0_0 {
13257     pub sin_port: u16,
13258     pub IN_ADDR: u32,
13259     pub sin_zero: [u8; 8],
13260 }
13261 impl WTS_SOCKADDR_0_0 {}
13262 impl ::std::default::Default for WTS_SOCKADDR_0_0 {
default() -> Self13263     fn default() -> Self {
13264         unsafe { ::std::mem::zeroed() }
13265     }
13266 }
13267 impl ::std::fmt::Debug for WTS_SOCKADDR_0_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13268     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13269         fmt.debug_struct("_ipv4_e__Struct").field("sin_port", &self.sin_port).field("IN_ADDR", &self.IN_ADDR).field("sin_zero", &self.sin_zero).finish()
13270     }
13271 }
13272 impl ::std::cmp::PartialEq for WTS_SOCKADDR_0_0 {
eq(&self, other: &Self) -> bool13273     fn eq(&self, other: &Self) -> bool {
13274         self.sin_port == other.sin_port && self.IN_ADDR == other.IN_ADDR && self.sin_zero == other.sin_zero
13275     }
13276 }
13277 impl ::std::cmp::Eq for WTS_SOCKADDR_0_0 {}
13278 unsafe impl ::windows::runtime::Abi for WTS_SOCKADDR_0_0 {
13279     type Abi = Self;
13280     type DefaultType = Self;
13281 }
13282 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13283 #[repr(C)]
13284 pub struct WTS_SOCKADDR_0_1 {
13285     pub sin6_port: u16,
13286     pub sin6_flowinfo: u32,
13287     pub sin6_addr: [u16; 8],
13288     pub sin6_scope_id: u32,
13289 }
13290 impl WTS_SOCKADDR_0_1 {}
13291 impl ::std::default::Default for WTS_SOCKADDR_0_1 {
default() -> Self13292     fn default() -> Self {
13293         unsafe { ::std::mem::zeroed() }
13294     }
13295 }
13296 impl ::std::fmt::Debug for WTS_SOCKADDR_0_1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13297     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13298         fmt.debug_struct("_ipv6_e__Struct").field("sin6_port", &self.sin6_port).field("sin6_flowinfo", &self.sin6_flowinfo).field("sin6_addr", &self.sin6_addr).field("sin6_scope_id", &self.sin6_scope_id).finish()
13299     }
13300 }
13301 impl ::std::cmp::PartialEq for WTS_SOCKADDR_0_1 {
eq(&self, other: &Self) -> bool13302     fn eq(&self, other: &Self) -> bool {
13303         self.sin6_port == other.sin6_port && self.sin6_flowinfo == other.sin6_flowinfo && self.sin6_addr == other.sin6_addr && self.sin6_scope_id == other.sin6_scope_id
13304     }
13305 }
13306 impl ::std::cmp::Eq for WTS_SOCKADDR_0_1 {}
13307 unsafe impl ::windows::runtime::Abi for WTS_SOCKADDR_0_1 {
13308     type Abi = Self;
13309     type DefaultType = Self;
13310 }
13311 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13312 #[repr(C)]
13313 pub struct WTS_SYSTEMTIME {
13314     pub wYear: u16,
13315     pub wMonth: u16,
13316     pub wDayOfWeek: u16,
13317     pub wDay: u16,
13318     pub wHour: u16,
13319     pub wMinute: u16,
13320     pub wSecond: u16,
13321     pub wMilliseconds: u16,
13322 }
13323 impl WTS_SYSTEMTIME {}
13324 impl ::std::default::Default for WTS_SYSTEMTIME {
default() -> Self13325     fn default() -> Self {
13326         unsafe { ::std::mem::zeroed() }
13327     }
13328 }
13329 impl ::std::fmt::Debug for WTS_SYSTEMTIME {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13330     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13331         fmt.debug_struct("WTS_SYSTEMTIME")
13332             .field("wYear", &self.wYear)
13333             .field("wMonth", &self.wMonth)
13334             .field("wDayOfWeek", &self.wDayOfWeek)
13335             .field("wDay", &self.wDay)
13336             .field("wHour", &self.wHour)
13337             .field("wMinute", &self.wMinute)
13338             .field("wSecond", &self.wSecond)
13339             .field("wMilliseconds", &self.wMilliseconds)
13340             .finish()
13341     }
13342 }
13343 impl ::std::cmp::PartialEq for WTS_SYSTEMTIME {
eq(&self, other: &Self) -> bool13344     fn eq(&self, other: &Self) -> bool {
13345         self.wYear == other.wYear && self.wMonth == other.wMonth && self.wDayOfWeek == other.wDayOfWeek && self.wDay == other.wDay && self.wHour == other.wHour && self.wMinute == other.wMinute && self.wSecond == other.wSecond && self.wMilliseconds == other.wMilliseconds
13346     }
13347 }
13348 impl ::std::cmp::Eq for WTS_SYSTEMTIME {}
13349 unsafe impl ::windows::runtime::Abi for WTS_SYSTEMTIME {
13350     type Abi = Self;
13351     type DefaultType = Self;
13352 }
13353 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13354 #[repr(C)]
13355 pub struct WTS_TIME_ZONE_INFORMATION {
13356     pub Bias: i32,
13357     pub StandardName: [u16; 32],
13358     pub StandardDate: WTS_SYSTEMTIME,
13359     pub StandardBias: i32,
13360     pub DaylightName: [u16; 32],
13361     pub DaylightDate: WTS_SYSTEMTIME,
13362     pub DaylightBias: i32,
13363 }
13364 impl WTS_TIME_ZONE_INFORMATION {}
13365 impl ::std::default::Default for WTS_TIME_ZONE_INFORMATION {
default() -> Self13366     fn default() -> Self {
13367         unsafe { ::std::mem::zeroed() }
13368     }
13369 }
13370 impl ::std::fmt::Debug for WTS_TIME_ZONE_INFORMATION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13371     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13372         fmt.debug_struct("WTS_TIME_ZONE_INFORMATION")
13373             .field("Bias", &self.Bias)
13374             .field("StandardName", &self.StandardName)
13375             .field("StandardDate", &self.StandardDate)
13376             .field("StandardBias", &self.StandardBias)
13377             .field("DaylightName", &self.DaylightName)
13378             .field("DaylightDate", &self.DaylightDate)
13379             .field("DaylightBias", &self.DaylightBias)
13380             .finish()
13381     }
13382 }
13383 impl ::std::cmp::PartialEq for WTS_TIME_ZONE_INFORMATION {
eq(&self, other: &Self) -> bool13384     fn eq(&self, other: &Self) -> bool {
13385         self.Bias == other.Bias && self.StandardName == other.StandardName && self.StandardDate == other.StandardDate && self.StandardBias == other.StandardBias && self.DaylightName == other.DaylightName && self.DaylightDate == other.DaylightDate && self.DaylightBias == other.DaylightBias
13386     }
13387 }
13388 impl ::std::cmp::Eq for WTS_TIME_ZONE_INFORMATION {}
13389 unsafe impl ::windows::runtime::Abi for WTS_TIME_ZONE_INFORMATION {
13390     type Abi = Self;
13391     type DefaultType = Self;
13392 }
13393 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13394 #[repr(transparent)]
13395 pub struct WTS_TYPE_CLASS(pub i32);
13396 pub const WTSTypeProcessInfoLevel0: WTS_TYPE_CLASS = WTS_TYPE_CLASS(0i32);
13397 pub const WTSTypeProcessInfoLevel1: WTS_TYPE_CLASS = WTS_TYPE_CLASS(1i32);
13398 pub const WTSTypeSessionInfoLevel1: WTS_TYPE_CLASS = WTS_TYPE_CLASS(2i32);
13399 impl ::std::convert::From<i32> for WTS_TYPE_CLASS {
from(value: i32) -> Self13400     fn from(value: i32) -> Self {
13401         Self(value)
13402     }
13403 }
13404 unsafe impl ::windows::runtime::Abi for WTS_TYPE_CLASS {
13405     type Abi = Self;
13406     type DefaultType = Self;
13407 }
13408 pub const WTS_USERNAME_LENGTH: u32 = 255u32;
13409 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13410 #[repr(C)]
13411 pub struct WTS_USER_CREDENTIAL {
13412     pub UserName: [u16; 256],
13413     pub Password: [u16; 256],
13414     pub Domain: [u16; 256],
13415 }
13416 impl WTS_USER_CREDENTIAL {}
13417 impl ::std::default::Default for WTS_USER_CREDENTIAL {
default() -> Self13418     fn default() -> Self {
13419         unsafe { ::std::mem::zeroed() }
13420     }
13421 }
13422 impl ::std::fmt::Debug for WTS_USER_CREDENTIAL {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13423     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13424         fmt.debug_struct("WTS_USER_CREDENTIAL").field("UserName", &self.UserName).field("Password", &self.Password).field("Domain", &self.Domain).finish()
13425     }
13426 }
13427 impl ::std::cmp::PartialEq for WTS_USER_CREDENTIAL {
eq(&self, other: &Self) -> bool13428     fn eq(&self, other: &Self) -> bool {
13429         self.UserName == other.UserName && self.Password == other.Password && self.Domain == other.Domain
13430     }
13431 }
13432 impl ::std::cmp::Eq for WTS_USER_CREDENTIAL {}
13433 unsafe impl ::windows::runtime::Abi for WTS_USER_CREDENTIAL {
13434     type Abi = Self;
13435     type DefaultType = Self;
13436 }
13437 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13438 #[repr(C)]
13439 pub struct WTS_USER_DATA {
13440     pub WorkDirectory: [u16; 257],
13441     pub InitialProgram: [u16; 257],
13442     pub UserTimeZone: WTS_TIME_ZONE_INFORMATION,
13443 }
13444 impl WTS_USER_DATA {}
13445 impl ::std::default::Default for WTS_USER_DATA {
default() -> Self13446     fn default() -> Self {
13447         unsafe { ::std::mem::zeroed() }
13448     }
13449 }
13450 impl ::std::fmt::Debug for WTS_USER_DATA {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13451     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13452         fmt.debug_struct("WTS_USER_DATA").field("WorkDirectory", &self.WorkDirectory).field("InitialProgram", &self.InitialProgram).field("UserTimeZone", &self.UserTimeZone).finish()
13453     }
13454 }
13455 impl ::std::cmp::PartialEq for WTS_USER_DATA {
eq(&self, other: &Self) -> bool13456     fn eq(&self, other: &Self) -> bool {
13457         self.WorkDirectory == other.WorkDirectory && self.InitialProgram == other.InitialProgram && self.UserTimeZone == other.UserTimeZone
13458     }
13459 }
13460 impl ::std::cmp::Eq for WTS_USER_DATA {}
13461 unsafe impl ::windows::runtime::Abi for WTS_USER_DATA {
13462     type Abi = Self;
13463     type DefaultType = Self;
13464 }
13465 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13466 #[repr(C)]
13467 #[cfg(feature = "Win32_Foundation")]
13468 pub struct WTS_VALIDATION_INFORMATIONA {
13469     pub ProductInfo: _WTS_PRODUCT_INFOA,
13470     pub License: [u8; 16384],
13471     pub LicenseLength: u32,
13472     pub HardwareID: [u8; 20],
13473     pub HardwareIDLength: u32,
13474 }
13475 #[cfg(feature = "Win32_Foundation")]
13476 impl WTS_VALIDATION_INFORMATIONA {}
13477 #[cfg(feature = "Win32_Foundation")]
13478 impl ::std::default::Default for WTS_VALIDATION_INFORMATIONA {
default() -> Self13479     fn default() -> Self {
13480         unsafe { ::std::mem::zeroed() }
13481     }
13482 }
13483 #[cfg(feature = "Win32_Foundation")]
13484 impl ::std::fmt::Debug for WTS_VALIDATION_INFORMATIONA {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13485     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13486         fmt.debug_struct("WTS_VALIDATION_INFORMATIONA").field("ProductInfo", &self.ProductInfo).field("License", &self.License).field("LicenseLength", &self.LicenseLength).field("HardwareID", &self.HardwareID).field("HardwareIDLength", &self.HardwareIDLength).finish()
13487     }
13488 }
13489 #[cfg(feature = "Win32_Foundation")]
13490 impl ::std::cmp::PartialEq for WTS_VALIDATION_INFORMATIONA {
eq(&self, other: &Self) -> bool13491     fn eq(&self, other: &Self) -> bool {
13492         self.ProductInfo == other.ProductInfo && self.License == other.License && self.LicenseLength == other.LicenseLength && self.HardwareID == other.HardwareID && self.HardwareIDLength == other.HardwareIDLength
13493     }
13494 }
13495 #[cfg(feature = "Win32_Foundation")]
13496 impl ::std::cmp::Eq for WTS_VALIDATION_INFORMATIONA {}
13497 #[cfg(feature = "Win32_Foundation")]
13498 unsafe impl ::windows::runtime::Abi for WTS_VALIDATION_INFORMATIONA {
13499     type Abi = Self;
13500     type DefaultType = Self;
13501 }
13502 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13503 #[repr(C)]
13504 pub struct WTS_VALIDATION_INFORMATIONW {
13505     pub ProductInfo: _WTS_PRODUCT_INFOW,
13506     pub License: [u8; 16384],
13507     pub LicenseLength: u32,
13508     pub HardwareID: [u8; 20],
13509     pub HardwareIDLength: u32,
13510 }
13511 impl WTS_VALIDATION_INFORMATIONW {}
13512 impl ::std::default::Default for WTS_VALIDATION_INFORMATIONW {
default() -> Self13513     fn default() -> Self {
13514         unsafe { ::std::mem::zeroed() }
13515     }
13516 }
13517 impl ::std::fmt::Debug for WTS_VALIDATION_INFORMATIONW {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13518     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13519         fmt.debug_struct("WTS_VALIDATION_INFORMATIONW").field("ProductInfo", &self.ProductInfo).field("License", &self.License).field("LicenseLength", &self.LicenseLength).field("HardwareID", &self.HardwareID).field("HardwareIDLength", &self.HardwareIDLength).finish()
13520     }
13521 }
13522 impl ::std::cmp::PartialEq for WTS_VALIDATION_INFORMATIONW {
eq(&self, other: &Self) -> bool13523     fn eq(&self, other: &Self) -> bool {
13524         self.ProductInfo == other.ProductInfo && self.License == other.License && self.LicenseLength == other.LicenseLength && self.HardwareID == other.HardwareID && self.HardwareIDLength == other.HardwareIDLength
13525     }
13526 }
13527 impl ::std::cmp::Eq for WTS_VALIDATION_INFORMATIONW {}
13528 unsafe impl ::windows::runtime::Abi for WTS_VALIDATION_INFORMATIONW {
13529     type Abi = Self;
13530     type DefaultType = Self;
13531 }
13532 pub const WTS_VALUE_TYPE_BINARY: u32 = 3u32;
13533 pub const WTS_VALUE_TYPE_GUID: u32 = 4u32;
13534 pub const WTS_VALUE_TYPE_STRING: u32 = 2u32;
13535 pub const WTS_VALUE_TYPE_ULONG: u32 = 1u32;
13536 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13537 #[repr(transparent)]
13538 pub struct WTS_VIRTUAL_CLASS(pub i32);
13539 pub const WTSVirtualClientData: WTS_VIRTUAL_CLASS = WTS_VIRTUAL_CLASS(0i32);
13540 pub const WTSVirtualFileHandle: WTS_VIRTUAL_CLASS = WTS_VIRTUAL_CLASS(1i32);
13541 impl ::std::convert::From<i32> for WTS_VIRTUAL_CLASS {
from(value: i32) -> Self13542     fn from(value: i32) -> Self {
13543         Self(value)
13544     }
13545 }
13546 unsafe impl ::windows::runtime::Abi for WTS_VIRTUAL_CLASS {
13547     type Abi = Self;
13548     type DefaultType = Self;
13549 }
13550 pub const WTS_WSD_FASTREBOOT: u32 = 16u32;
13551 pub const WTS_WSD_LOGOFF: u32 = 1u32;
13552 pub const WTS_WSD_POWEROFF: u32 = 8u32;
13553 pub const WTS_WSD_REBOOT: u32 = 4u32;
13554 pub const WTS_WSD_SHUTDOWN: u32 = 2u32;
13555 pub const Workspace: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1327365286, 15021, 18657, [132, 6, 75, 194, 26, 80, 29, 124]);
13556 #[repr(transparent)]
13557 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
13558 pub struct _ITSWkspEvents(::windows::runtime::IUnknown);
13559 impl _ITSWkspEvents {}
13560 unsafe impl ::windows::runtime::Interface for _ITSWkspEvents {
13561     type Vtable = _ITSWkspEvents_abi;
13562     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3106061240, 19541, 20458, [132, 150, 190, 176, 180, 66, 133, 233]);
13563 }
13564 impl ::std::convert::From<_ITSWkspEvents> for ::windows::runtime::IUnknown {
from(value: _ITSWkspEvents) -> Self13565     fn from(value: _ITSWkspEvents) -> Self {
13566         unsafe { ::std::mem::transmute(value) }
13567     }
13568 }
13569 impl ::std::convert::From<&_ITSWkspEvents> for ::windows::runtime::IUnknown {
from(value: &_ITSWkspEvents) -> Self13570     fn from(value: &_ITSWkspEvents) -> Self {
13571         ::std::convert::From::from(::std::clone::Clone::clone(value))
13572     }
13573 }
13574 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for _ITSWkspEvents {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>13575     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
13576         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
13577     }
13578 }
13579 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &_ITSWkspEvents {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>13580     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
13581         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
13582     }
13583 }
13584 #[cfg(feature = "Win32_System_Ole_Automation")]
13585 impl ::std::convert::From<_ITSWkspEvents> for super::Ole::Automation::IDispatch {
from(value: _ITSWkspEvents) -> Self13586     fn from(value: _ITSWkspEvents) -> Self {
13587         unsafe { ::std::mem::transmute(value) }
13588     }
13589 }
13590 #[cfg(feature = "Win32_System_Ole_Automation")]
13591 impl ::std::convert::From<&_ITSWkspEvents> for super::Ole::Automation::IDispatch {
from(value: &_ITSWkspEvents) -> Self13592     fn from(value: &_ITSWkspEvents) -> Self {
13593         ::std::convert::From::from(::std::clone::Clone::clone(value))
13594     }
13595 }
13596 #[cfg(feature = "Win32_System_Ole_Automation")]
13597 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch> for _ITSWkspEvents {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch>13598     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch> {
13599         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IDispatch>::into(self))
13600     }
13601 }
13602 #[cfg(feature = "Win32_System_Ole_Automation")]
13603 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch> for &_ITSWkspEvents {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch>13604     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch> {
13605         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
13606     }
13607 }
13608 #[repr(C)]
13609 #[doc(hidden)]
13610 pub struct _ITSWkspEvents_abi(
13611     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13612     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
13613     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
13614     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
13615     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13616     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
13617     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
13618     #[cfg(not(feature = "Win32_Foundation"))] usize,
13619     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
13620     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
13621     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
13622 );
13623 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13624 #[repr(C)]
13625 #[cfg(feature = "Win32_Foundation")]
13626 pub struct _WTS_PRODUCT_INFOA {
13627     pub CompanyName: [super::super::Foundation::CHAR; 256],
13628     pub ProductID: [super::super::Foundation::CHAR; 4],
13629 }
13630 #[cfg(feature = "Win32_Foundation")]
13631 impl _WTS_PRODUCT_INFOA {}
13632 #[cfg(feature = "Win32_Foundation")]
13633 impl ::std::default::Default for _WTS_PRODUCT_INFOA {
default() -> Self13634     fn default() -> Self {
13635         unsafe { ::std::mem::zeroed() }
13636     }
13637 }
13638 #[cfg(feature = "Win32_Foundation")]
13639 impl ::std::fmt::Debug for _WTS_PRODUCT_INFOA {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13640     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13641         fmt.debug_struct("_WTS_PRODUCT_INFOA").field("CompanyName", &self.CompanyName).field("ProductID", &self.ProductID).finish()
13642     }
13643 }
13644 #[cfg(feature = "Win32_Foundation")]
13645 impl ::std::cmp::PartialEq for _WTS_PRODUCT_INFOA {
eq(&self, other: &Self) -> bool13646     fn eq(&self, other: &Self) -> bool {
13647         self.CompanyName == other.CompanyName && self.ProductID == other.ProductID
13648     }
13649 }
13650 #[cfg(feature = "Win32_Foundation")]
13651 impl ::std::cmp::Eq for _WTS_PRODUCT_INFOA {}
13652 #[cfg(feature = "Win32_Foundation")]
13653 unsafe impl ::windows::runtime::Abi for _WTS_PRODUCT_INFOA {
13654     type Abi = Self;
13655     type DefaultType = Self;
13656 }
13657 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13658 #[repr(C)]
13659 pub struct _WTS_PRODUCT_INFOW {
13660     pub CompanyName: [u16; 256],
13661     pub ProductID: [u16; 4],
13662 }
13663 impl _WTS_PRODUCT_INFOW {}
13664 impl ::std::default::Default for _WTS_PRODUCT_INFOW {
default() -> Self13665     fn default() -> Self {
13666         unsafe { ::std::mem::zeroed() }
13667     }
13668 }
13669 impl ::std::fmt::Debug for _WTS_PRODUCT_INFOW {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13670     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13671         fmt.debug_struct("_WTS_PRODUCT_INFOW").field("CompanyName", &self.CompanyName).field("ProductID", &self.ProductID).finish()
13672     }
13673 }
13674 impl ::std::cmp::PartialEq for _WTS_PRODUCT_INFOW {
eq(&self, other: &Self) -> bool13675     fn eq(&self, other: &Self) -> bool {
13676         self.CompanyName == other.CompanyName && self.ProductID == other.ProductID
13677     }
13678 }
13679 impl ::std::cmp::Eq for _WTS_PRODUCT_INFOW {}
13680 unsafe impl ::windows::runtime::Abi for _WTS_PRODUCT_INFOW {
13681     type Abi = Self;
13682     type DefaultType = Self;
13683 }
13684 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13685 #[repr(C)]
13686 #[cfg(feature = "Win32_Foundation")]
13687 pub struct pluginResource {
13688     pub alias: [u16; 256],
13689     pub name: [u16; 256],
13690     pub resourceFileContents: super::super::Foundation::PWSTR,
13691     pub fileExtension: [u16; 256],
13692     pub resourcePluginType: [u16; 256],
13693     pub isDiscoverable: u8,
13694     pub resourceType: i32,
13695     pub pceIconSize: u32,
13696     pub iconContents: *mut u8,
13697     pub pcePluginBlobSize: u32,
13698     pub blobContents: *mut u8,
13699 }
13700 #[cfg(feature = "Win32_Foundation")]
13701 impl pluginResource {}
13702 #[cfg(feature = "Win32_Foundation")]
13703 impl ::std::default::Default for pluginResource {
default() -> Self13704     fn default() -> Self {
13705         unsafe { ::std::mem::zeroed() }
13706     }
13707 }
13708 #[cfg(feature = "Win32_Foundation")]
13709 impl ::std::fmt::Debug for pluginResource {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13710     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13711         fmt.debug_struct("pluginResource")
13712             .field("alias", &self.alias)
13713             .field("name", &self.name)
13714             .field("resourceFileContents", &self.resourceFileContents)
13715             .field("fileExtension", &self.fileExtension)
13716             .field("resourcePluginType", &self.resourcePluginType)
13717             .field("isDiscoverable", &self.isDiscoverable)
13718             .field("resourceType", &self.resourceType)
13719             .field("pceIconSize", &self.pceIconSize)
13720             .field("iconContents", &self.iconContents)
13721             .field("pcePluginBlobSize", &self.pcePluginBlobSize)
13722             .field("blobContents", &self.blobContents)
13723             .finish()
13724     }
13725 }
13726 #[cfg(feature = "Win32_Foundation")]
13727 impl ::std::cmp::PartialEq for pluginResource {
eq(&self, other: &Self) -> bool13728     fn eq(&self, other: &Self) -> bool {
13729         self.alias == other.alias && self.name == other.name && self.resourceFileContents == other.resourceFileContents && self.fileExtension == other.fileExtension && self.resourcePluginType == other.resourcePluginType && self.isDiscoverable == other.isDiscoverable && self.resourceType == other.resourceType && self.pceIconSize == other.pceIconSize && self.iconContents == other.iconContents && self.pcePluginBlobSize == other.pcePluginBlobSize && self.blobContents == other.blobContents
13730     }
13731 }
13732 #[cfg(feature = "Win32_Foundation")]
13733 impl ::std::cmp::Eq for pluginResource {}
13734 #[cfg(feature = "Win32_Foundation")]
13735 unsafe impl ::windows::runtime::Abi for pluginResource {
13736     type Abi = Self;
13737     type DefaultType = Self;
13738 }
13739 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13740 #[repr(C)]
13741 #[cfg(feature = "Win32_Foundation")]
13742 pub struct pluginResource2 {
13743     pub resourceV1: pluginResource,
13744     pub pceFileAssocListSize: u32,
13745     pub fileAssocList: *mut pluginResource2FileAssociation,
13746     pub securityDescriptor: super::super::Foundation::PWSTR,
13747     pub pceFolderListSize: u32,
13748     pub folderList: *mut *mut u16,
13749 }
13750 #[cfg(feature = "Win32_Foundation")]
13751 impl pluginResource2 {}
13752 #[cfg(feature = "Win32_Foundation")]
13753 impl ::std::default::Default for pluginResource2 {
default() -> Self13754     fn default() -> Self {
13755         unsafe { ::std::mem::zeroed() }
13756     }
13757 }
13758 #[cfg(feature = "Win32_Foundation")]
13759 impl ::std::fmt::Debug for pluginResource2 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13760     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13761         fmt.debug_struct("pluginResource2")
13762             .field("resourceV1", &self.resourceV1)
13763             .field("pceFileAssocListSize", &self.pceFileAssocListSize)
13764             .field("fileAssocList", &self.fileAssocList)
13765             .field("securityDescriptor", &self.securityDescriptor)
13766             .field("pceFolderListSize", &self.pceFolderListSize)
13767             .field("folderList", &self.folderList)
13768             .finish()
13769     }
13770 }
13771 #[cfg(feature = "Win32_Foundation")]
13772 impl ::std::cmp::PartialEq for pluginResource2 {
eq(&self, other: &Self) -> bool13773     fn eq(&self, other: &Self) -> bool {
13774         self.resourceV1 == other.resourceV1 && self.pceFileAssocListSize == other.pceFileAssocListSize && self.fileAssocList == other.fileAssocList && self.securityDescriptor == other.securityDescriptor && self.pceFolderListSize == other.pceFolderListSize && self.folderList == other.folderList
13775     }
13776 }
13777 #[cfg(feature = "Win32_Foundation")]
13778 impl ::std::cmp::Eq for pluginResource2 {}
13779 #[cfg(feature = "Win32_Foundation")]
13780 unsafe impl ::windows::runtime::Abi for pluginResource2 {
13781     type Abi = Self;
13782     type DefaultType = Self;
13783 }
13784 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13785 #[repr(C)]
13786 pub struct pluginResource2FileAssociation {
13787     pub extName: [u16; 256],
13788     pub primaryHandler: u8,
13789     pub pceIconSize: u32,
13790     pub iconContents: *mut u8,
13791 }
13792 impl pluginResource2FileAssociation {}
13793 impl ::std::default::Default for pluginResource2FileAssociation {
default() -> Self13794     fn default() -> Self {
13795         unsafe { ::std::mem::zeroed() }
13796     }
13797 }
13798 impl ::std::fmt::Debug for pluginResource2FileAssociation {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13799     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13800         fmt.debug_struct("pluginResource2FileAssociation").field("extName", &self.extName).field("primaryHandler", &self.primaryHandler).field("pceIconSize", &self.pceIconSize).field("iconContents", &self.iconContents).finish()
13801     }
13802 }
13803 impl ::std::cmp::PartialEq for pluginResource2FileAssociation {
eq(&self, other: &Self) -> bool13804     fn eq(&self, other: &Self) -> bool {
13805         self.extName == other.extName && self.primaryHandler == other.primaryHandler && self.pceIconSize == other.pceIconSize && self.iconContents == other.iconContents
13806     }
13807 }
13808 impl ::std::cmp::Eq for pluginResource2FileAssociation {}
13809 unsafe impl ::windows::runtime::Abi for pluginResource2FileAssociation {
13810     type Abi = Self;
13811     type DefaultType = Self;
13812 }
13813