1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 pub const AEC_MODE_FULL_DUPLEX: u32 = 2u32;
3 pub const AEC_MODE_HALF_DUPLEX: u32 = 1u32;
4 pub const AEC_MODE_PASS_THROUGH: u32 = 0u32;
5 pub const AEC_STATUS_FD_CURRENTLY_CONVERGED: u32 = 8u32;
6 pub const AEC_STATUS_FD_HISTORY_CONTINUOUSLY_CONVERGED: u32 = 1u32;
7 pub const AEC_STATUS_FD_HISTORY_PREVIOUSLY_DIVERGED: u32 = 2u32;
8 pub const AEC_STATUS_FD_HISTORY_UNINITIALIZED: u32 = 0u32;
9 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10 #[repr(transparent)]
11 pub struct AMBISONICS_CHANNEL_ORDERING(pub i32);
12 pub const AMBISONICS_CHANNEL_ORDERING_ACN: AMBISONICS_CHANNEL_ORDERING = AMBISONICS_CHANNEL_ORDERING(0i32);
13 impl ::std::convert::From<i32> for AMBISONICS_CHANNEL_ORDERING {
from(value: i32) -> Self14     fn from(value: i32) -> Self {
15         Self(value)
16     }
17 }
18 unsafe impl ::windows::runtime::Abi for AMBISONICS_CHANNEL_ORDERING {
19     type Abi = Self;
20     type DefaultType = Self;
21 }
22 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
23 #[repr(transparent)]
24 pub struct AMBISONICS_NORMALIZATION(pub i32);
25 pub const AMBISONICS_NORMALIZATION_SN3D: AMBISONICS_NORMALIZATION = AMBISONICS_NORMALIZATION(0i32);
26 pub const AMBISONICS_NORMALIZATION_N3D: AMBISONICS_NORMALIZATION = AMBISONICS_NORMALIZATION(1i32);
27 impl ::std::convert::From<i32> for AMBISONICS_NORMALIZATION {
from(value: i32) -> Self28     fn from(value: i32) -> Self {
29         Self(value)
30     }
31 }
32 unsafe impl ::windows::runtime::Abi for AMBISONICS_NORMALIZATION {
33     type Abi = Self;
34     type DefaultType = Self;
35 }
36 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
37 #[repr(C)]
38 pub struct AMBISONICS_PARAMS {
39     pub u32Size: u32,
40     pub u32Version: u32,
41     pub u32Type: AMBISONICS_TYPE,
42     pub u32ChannelOrdering: AMBISONICS_CHANNEL_ORDERING,
43     pub u32Normalization: AMBISONICS_NORMALIZATION,
44     pub u32Order: u32,
45     pub u32NumChannels: u32,
46     pub pu32ChannelMap: *mut u32,
47 }
48 impl AMBISONICS_PARAMS {}
49 impl ::std::default::Default for AMBISONICS_PARAMS {
default() -> Self50     fn default() -> Self {
51         unsafe { ::std::mem::zeroed() }
52     }
53 }
54 impl ::std::fmt::Debug for AMBISONICS_PARAMS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result55     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
56         fmt.debug_struct("AMBISONICS_PARAMS")
57             .field("u32Size", &self.u32Size)
58             .field("u32Version", &self.u32Version)
59             .field("u32Type", &self.u32Type)
60             .field("u32ChannelOrdering", &self.u32ChannelOrdering)
61             .field("u32Normalization", &self.u32Normalization)
62             .field("u32Order", &self.u32Order)
63             .field("u32NumChannels", &self.u32NumChannels)
64             .field("pu32ChannelMap", &self.pu32ChannelMap)
65             .finish()
66     }
67 }
68 impl ::std::cmp::PartialEq for AMBISONICS_PARAMS {
eq(&self, other: &Self) -> bool69     fn eq(&self, other: &Self) -> bool {
70         self.u32Size == other.u32Size && self.u32Version == other.u32Version && self.u32Type == other.u32Type && self.u32ChannelOrdering == other.u32ChannelOrdering && self.u32Normalization == other.u32Normalization && self.u32Order == other.u32Order && self.u32NumChannels == other.u32NumChannels && self.pu32ChannelMap == other.pu32ChannelMap
71     }
72 }
73 impl ::std::cmp::Eq for AMBISONICS_PARAMS {}
74 unsafe impl ::windows::runtime::Abi for AMBISONICS_PARAMS {
75     type Abi = Self;
76     type DefaultType = Self;
77 }
78 pub const AMBISONICS_PARAM_VERSION_1: u32 = 1u32;
79 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
80 #[repr(transparent)]
81 pub struct AMBISONICS_TYPE(pub i32);
82 pub const AMBISONICS_TYPE_FULL3D: AMBISONICS_TYPE = AMBISONICS_TYPE(0i32);
83 impl ::std::convert::From<i32> for AMBISONICS_TYPE {
from(value: i32) -> Self84     fn from(value: i32) -> Self {
85         Self(value)
86     }
87 }
88 unsafe impl ::windows::runtime::Abi for AMBISONICS_TYPE {
89     type Abi = Self;
90     type DefaultType = Self;
91 }
92 #[derive(:: std :: clone :: Clone)]
93 #[repr(C)]
94 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Audio_DirectMusic", feature = "Win32_System_Com", feature = "Win32_System_PropertiesSystem"))]
95 pub struct APOInitSystemEffects3 {
96     pub APOInit: super::DirectMusic::APOInitBaseStruct,
97     pub pAPOEndpointProperties: ::std::option::Option<super::super::super::System::PropertiesSystem::IPropertyStore>,
98     pub pServiceProvider: ::std::option::Option<super::super::super::System::Com::IServiceProvider>,
99     pub pDeviceCollection: ::std::option::Option<IMMDeviceCollection>,
100     pub nSoftwareIoDeviceInCollection: u32,
101     pub nSoftwareIoConnectorIndex: u32,
102     pub AudioProcessingMode: ::windows::runtime::GUID,
103     pub InitializeForDiscoveryOnly: super::super::super::Foundation::BOOL,
104 }
105 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Audio_DirectMusic", feature = "Win32_System_Com", feature = "Win32_System_PropertiesSystem"))]
106 impl APOInitSystemEffects3 {}
107 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Audio_DirectMusic", feature = "Win32_System_Com", feature = "Win32_System_PropertiesSystem"))]
108 impl ::std::default::Default for APOInitSystemEffects3 {
default() -> Self109     fn default() -> Self {
110         unsafe { ::std::mem::zeroed() }
111     }
112 }
113 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Audio_DirectMusic", feature = "Win32_System_Com", feature = "Win32_System_PropertiesSystem"))]
114 impl ::std::fmt::Debug for APOInitSystemEffects3 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result115     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
116         fmt.debug_struct("APOInitSystemEffects3")
117             .field("APOInit", &self.APOInit)
118             .field("pAPOEndpointProperties", &self.pAPOEndpointProperties)
119             .field("pServiceProvider", &self.pServiceProvider)
120             .field("pDeviceCollection", &self.pDeviceCollection)
121             .field("nSoftwareIoDeviceInCollection", &self.nSoftwareIoDeviceInCollection)
122             .field("nSoftwareIoConnectorIndex", &self.nSoftwareIoConnectorIndex)
123             .field("AudioProcessingMode", &self.AudioProcessingMode)
124             .field("InitializeForDiscoveryOnly", &self.InitializeForDiscoveryOnly)
125             .finish()
126     }
127 }
128 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Audio_DirectMusic", feature = "Win32_System_Com", feature = "Win32_System_PropertiesSystem"))]
129 impl ::std::cmp::PartialEq for APOInitSystemEffects3 {
eq(&self, other: &Self) -> bool130     fn eq(&self, other: &Self) -> bool {
131         self.APOInit == other.APOInit && self.pAPOEndpointProperties == other.pAPOEndpointProperties && self.pServiceProvider == other.pServiceProvider && self.pDeviceCollection == other.pDeviceCollection && self.nSoftwareIoDeviceInCollection == other.nSoftwareIoDeviceInCollection && self.nSoftwareIoConnectorIndex == other.nSoftwareIoConnectorIndex && self.AudioProcessingMode == other.AudioProcessingMode && self.InitializeForDiscoveryOnly == other.InitializeForDiscoveryOnly
132     }
133 }
134 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Audio_DirectMusic", feature = "Win32_System_Com", feature = "Win32_System_PropertiesSystem"))]
135 impl ::std::cmp::Eq for APOInitSystemEffects3 {}
136 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Audio_DirectMusic", feature = "Win32_System_Com", feature = "Win32_System_PropertiesSystem"))]
137 unsafe impl ::windows::runtime::Abi for APOInitSystemEffects3 {
138     type Abi = ::std::mem::ManuallyDrop<Self>;
139     type DefaultType = Self;
140 }
141 pub const APO_CLASS_UUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1502215400, 40144, 18045, [138, 106, 84, 25, 227, 21, 41, 212]);
142 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
143 #[repr(C)]
144 #[cfg(feature = "Win32_System_RemoteDesktop")]
145 pub struct APO_CONNECTION_PROPERTY_V2 {
146     pub property: super::super::super::System::RemoteDesktop::APO_CONNECTION_PROPERTY,
147     pub u64QPCTime: u64,
148 }
149 #[cfg(feature = "Win32_System_RemoteDesktop")]
150 impl APO_CONNECTION_PROPERTY_V2 {}
151 #[cfg(feature = "Win32_System_RemoteDesktop")]
152 impl ::std::default::Default for APO_CONNECTION_PROPERTY_V2 {
default() -> Self153     fn default() -> Self {
154         unsafe { ::std::mem::zeroed() }
155     }
156 }
157 #[cfg(feature = "Win32_System_RemoteDesktop")]
158 impl ::std::fmt::Debug for APO_CONNECTION_PROPERTY_V2 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result159     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
160         fmt.debug_struct("APO_CONNECTION_PROPERTY_V2").field("property", &self.property).field("u64QPCTime", &self.u64QPCTime).finish()
161     }
162 }
163 #[cfg(feature = "Win32_System_RemoteDesktop")]
164 impl ::std::cmp::PartialEq for APO_CONNECTION_PROPERTY_V2 {
eq(&self, other: &Self) -> bool165     fn eq(&self, other: &Self) -> bool {
166         self.property == other.property && self.u64QPCTime == other.u64QPCTime
167     }
168 }
169 #[cfg(feature = "Win32_System_RemoteDesktop")]
170 impl ::std::cmp::Eq for APO_CONNECTION_PROPERTY_V2 {}
171 #[cfg(feature = "Win32_System_RemoteDesktop")]
172 unsafe impl ::windows::runtime::Abi for APO_CONNECTION_PROPERTY_V2 {
173     type Abi = Self;
174     type DefaultType = Self;
175 }
176 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
177 #[repr(transparent)]
178 pub struct APO_LOG_LEVEL(pub i32);
179 pub const APO_LOG_LEVEL_ALWAYS: APO_LOG_LEVEL = APO_LOG_LEVEL(0i32);
180 pub const APO_LOG_LEVEL_CRITICAL: APO_LOG_LEVEL = APO_LOG_LEVEL(1i32);
181 pub const APO_LOG_LEVEL_ERROR: APO_LOG_LEVEL = APO_LOG_LEVEL(2i32);
182 pub const APO_LOG_LEVEL_WARNING: APO_LOG_LEVEL = APO_LOG_LEVEL(3i32);
183 pub const APO_LOG_LEVEL_INFO: APO_LOG_LEVEL = APO_LOG_LEVEL(4i32);
184 pub const APO_LOG_LEVEL_VERBOSE: APO_LOG_LEVEL = APO_LOG_LEVEL(5i32);
185 impl ::std::convert::From<i32> for APO_LOG_LEVEL {
from(value: i32) -> Self186     fn from(value: i32) -> Self {
187         Self(value)
188     }
189 }
190 unsafe impl ::windows::runtime::Abi for APO_LOG_LEVEL {
191     type Abi = Self;
192     type DefaultType = Self;
193 }
194 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PropertiesSystem"))]
195 impl ::std::clone::Clone for APO_NOTIFICATION {
clone(&self) -> Self196     fn clone(&self) -> Self {
197         unimplemented!()
198     }
199 }
200 #[repr(C)]
201 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PropertiesSystem"))]
202 pub struct APO_NOTIFICATION {
203     pub r#type: APO_NOTIFICATION_TYPE,
204     pub Anonymous: APO_NOTIFICATION_0,
205 }
206 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PropertiesSystem"))]
207 impl APO_NOTIFICATION {}
208 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PropertiesSystem"))]
209 impl ::std::default::Default for APO_NOTIFICATION {
default() -> Self210     fn default() -> Self {
211         unsafe { ::std::mem::zeroed() }
212     }
213 }
214 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PropertiesSystem"))]
215 impl ::std::cmp::PartialEq for APO_NOTIFICATION {
eq(&self, _other: &Self) -> bool216     fn eq(&self, _other: &Self) -> bool {
217         unimplemented!()
218     }
219 }
220 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PropertiesSystem"))]
221 impl ::std::cmp::Eq for APO_NOTIFICATION {}
222 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PropertiesSystem"))]
223 unsafe impl ::windows::runtime::Abi for APO_NOTIFICATION {
224     type Abi = ::std::mem::ManuallyDrop<Self>;
225     type DefaultType = Self;
226 }
227 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PropertiesSystem"))]
228 impl ::std::clone::Clone for APO_NOTIFICATION_0 {
clone(&self) -> Self229     fn clone(&self) -> Self {
230         unimplemented!()
231     }
232 }
233 #[repr(C)]
234 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PropertiesSystem"))]
235 pub union APO_NOTIFICATION_0 {
236     pub audioEndpointVolumeChange: ::std::mem::ManuallyDrop<AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION>,
237     pub audioEndpointPropertyChange: ::std::mem::ManuallyDrop<AUDIO_ENDPOINT_PROPERTY_CHANGE_NOTIFICATION>,
238     pub audioSystemEffectsPropertyChange: ::std::mem::ManuallyDrop<AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_NOTIFICATION>,
239 }
240 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PropertiesSystem"))]
241 impl APO_NOTIFICATION_0 {}
242 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PropertiesSystem"))]
243 impl ::std::default::Default for APO_NOTIFICATION_0 {
default() -> Self244     fn default() -> Self {
245         unsafe { ::std::mem::zeroed() }
246     }
247 }
248 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PropertiesSystem"))]
249 impl ::std::cmp::PartialEq for APO_NOTIFICATION_0 {
eq(&self, _other: &Self) -> bool250     fn eq(&self, _other: &Self) -> bool {
251         unimplemented!()
252     }
253 }
254 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PropertiesSystem"))]
255 impl ::std::cmp::Eq for APO_NOTIFICATION_0 {}
256 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PropertiesSystem"))]
257 unsafe impl ::windows::runtime::Abi for APO_NOTIFICATION_0 {
258     type Abi = ::std::mem::ManuallyDrop<Self>;
259     type DefaultType = Self;
260 }
261 impl ::std::clone::Clone for APO_NOTIFICATION_DESCRIPTOR {
clone(&self) -> Self262     fn clone(&self) -> Self {
263         unimplemented!()
264     }
265 }
266 #[repr(C)]
267 pub struct APO_NOTIFICATION_DESCRIPTOR {
268     pub r#type: APO_NOTIFICATION_TYPE,
269     pub Anonymous: APO_NOTIFICATION_DESCRIPTOR_0,
270 }
271 impl APO_NOTIFICATION_DESCRIPTOR {}
272 impl ::std::default::Default for APO_NOTIFICATION_DESCRIPTOR {
default() -> Self273     fn default() -> Self {
274         unsafe { ::std::mem::zeroed() }
275     }
276 }
277 impl ::std::cmp::PartialEq for APO_NOTIFICATION_DESCRIPTOR {
eq(&self, _other: &Self) -> bool278     fn eq(&self, _other: &Self) -> bool {
279         unimplemented!()
280     }
281 }
282 impl ::std::cmp::Eq for APO_NOTIFICATION_DESCRIPTOR {}
283 unsafe impl ::windows::runtime::Abi for APO_NOTIFICATION_DESCRIPTOR {
284     type Abi = ::std::mem::ManuallyDrop<Self>;
285     type DefaultType = Self;
286 }
287 impl ::std::clone::Clone for APO_NOTIFICATION_DESCRIPTOR_0 {
clone(&self) -> Self288     fn clone(&self) -> Self {
289         unimplemented!()
290     }
291 }
292 #[repr(C)]
293 pub union APO_NOTIFICATION_DESCRIPTOR_0 {
294     pub audioEndpointVolume: ::std::mem::ManuallyDrop<AUDIO_ENDPOINT_VOLUME_APO_NOTIFICATION_DESCRIPTOR>,
295     pub audioEndpointPropertyChange: ::std::mem::ManuallyDrop<AUDIO_ENDPOINT_PROPERTY_CHANGE_APO_NOTIFICATION_DESCRIPTOR>,
296     pub audioSystemEffectsPropertyChange: ::std::mem::ManuallyDrop<AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_APO_NOTIFICATION_DESCRIPTOR>,
297 }
298 impl APO_NOTIFICATION_DESCRIPTOR_0 {}
299 impl ::std::default::Default for APO_NOTIFICATION_DESCRIPTOR_0 {
default() -> Self300     fn default() -> Self {
301         unsafe { ::std::mem::zeroed() }
302     }
303 }
304 impl ::std::cmp::PartialEq for APO_NOTIFICATION_DESCRIPTOR_0 {
eq(&self, _other: &Self) -> bool305     fn eq(&self, _other: &Self) -> bool {
306         unimplemented!()
307     }
308 }
309 impl ::std::cmp::Eq for APO_NOTIFICATION_DESCRIPTOR_0 {}
310 unsafe impl ::windows::runtime::Abi for APO_NOTIFICATION_DESCRIPTOR_0 {
311     type Abi = ::std::mem::ManuallyDrop<Self>;
312     type DefaultType = Self;
313 }
314 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
315 #[repr(transparent)]
316 pub struct APO_NOTIFICATION_TYPE(pub i32);
317 pub const APO_NOTIFICATION_TYPE_NONE: APO_NOTIFICATION_TYPE = APO_NOTIFICATION_TYPE(0i32);
318 pub const APO_NOTIFICATION_TYPE_ENDPOINT_VOLUME: APO_NOTIFICATION_TYPE = APO_NOTIFICATION_TYPE(1i32);
319 pub const APO_NOTIFICATION_TYPE_ENDPOINT_PROPERTY_CHANGE: APO_NOTIFICATION_TYPE = APO_NOTIFICATION_TYPE(2i32);
320 pub const APO_NOTIFICATION_TYPE_SYSTEM_EFFECTS_PROPERTY_CHANGE: APO_NOTIFICATION_TYPE = APO_NOTIFICATION_TYPE(3i32);
321 impl ::std::convert::From<i32> for APO_NOTIFICATION_TYPE {
from(value: i32) -> Self322     fn from(value: i32) -> Self {
323         Self(value)
324     }
325 }
326 unsafe impl ::windows::runtime::Abi for APO_NOTIFICATION_TYPE {
327     type Abi = Self;
328     type DefaultType = Self;
329 }
330 pub const AUDCLNT_E_ALREADY_INITIALIZED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287486i32 as _);
331 pub const AUDCLNT_E_BUFDURATION_PERIOD_NOT_EQUAL: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287469i32 as _);
332 pub const AUDCLNT_E_BUFFER_ERROR: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287464i32 as _);
333 pub const AUDCLNT_E_BUFFER_OPERATION_PENDING: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287477i32 as _);
334 pub const AUDCLNT_E_BUFFER_SIZE_ERROR: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287466i32 as _);
335 pub const AUDCLNT_E_BUFFER_SIZE_NOT_ALIGNED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287463i32 as _);
336 pub const AUDCLNT_E_BUFFER_TOO_LARGE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287482i32 as _);
337 pub const AUDCLNT_E_CPUUSAGE_EXCEEDED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287465i32 as _);
338 pub const AUDCLNT_E_DEVICE_INVALIDATED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287484i32 as _);
339 pub const AUDCLNT_E_DEVICE_IN_USE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287478i32 as _);
340 pub const AUDCLNT_E_EFFECT_NOT_AVAILABLE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287423i32 as _);
341 pub const AUDCLNT_E_EFFECT_STATE_READ_ONLY: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287422i32 as _);
342 pub const AUDCLNT_E_ENDPOINT_CREATE_FAILED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287473i32 as _);
343 pub const AUDCLNT_E_ENDPOINT_OFFLOAD_NOT_CAPABLE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287454i32 as _);
344 pub const AUDCLNT_E_ENGINE_FORMAT_LOCKED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287447i32 as _);
345 pub const AUDCLNT_E_ENGINE_PERIODICITY_LOCKED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287448i32 as _);
346 pub const AUDCLNT_E_EVENTHANDLE_NOT_EXPECTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287471i32 as _);
347 pub const AUDCLNT_E_EVENTHANDLE_NOT_SET: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287468i32 as _);
348 pub const AUDCLNT_E_EXCLUSIVE_MODE_NOT_ALLOWED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287474i32 as _);
349 pub const AUDCLNT_E_EXCLUSIVE_MODE_ONLY: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287470i32 as _);
350 pub const AUDCLNT_E_HEADTRACKING_ENABLED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287440i32 as _);
351 pub const AUDCLNT_E_HEADTRACKING_UNSUPPORTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287424i32 as _);
352 pub const AUDCLNT_E_INCORRECT_BUFFER_SIZE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287467i32 as _);
353 pub const AUDCLNT_E_INVALID_DEVICE_PERIOD: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287456i32 as _);
354 pub const AUDCLNT_E_INVALID_SIZE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287479i32 as _);
355 pub const AUDCLNT_E_INVALID_STREAM_FLAG: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287455i32 as _);
356 pub const AUDCLNT_E_NONOFFLOAD_MODE_ONLY: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287451i32 as _);
357 pub const AUDCLNT_E_NOT_INITIALIZED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287487i32 as _);
358 pub const AUDCLNT_E_NOT_STOPPED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287483i32 as _);
359 pub const AUDCLNT_E_OFFLOAD_MODE_ONLY: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287452i32 as _);
360 pub const AUDCLNT_E_OUT_OF_OFFLOAD_RESOURCES: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287453i32 as _);
361 pub const AUDCLNT_E_OUT_OF_ORDER: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287481i32 as _);
362 pub const AUDCLNT_E_RAW_MODE_UNSUPPORTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287449i32 as _);
363 pub const AUDCLNT_E_RESOURCES_INVALIDATED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287450i32 as _);
364 pub const AUDCLNT_E_SERVICE_NOT_RUNNING: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287472i32 as _);
365 pub const AUDCLNT_E_THREAD_NOT_REGISTERED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287476i32 as _);
366 pub const AUDCLNT_E_UNSUPPORTED_FORMAT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287480i32 as _);
367 pub const AUDCLNT_E_WRONG_ENDPOINT_TYPE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287485i32 as _);
368 pub const AUDCLNT_SESSIONFLAGS_DISPLAY_HIDE: u32 = 536870912u32;
369 pub const AUDCLNT_SESSIONFLAGS_DISPLAY_HIDEWHENEXPIRED: u32 = 1073741824u32;
370 pub const AUDCLNT_SESSIONFLAGS_EXPIREWHENUNOWNED: u32 = 268435456u32;
371 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
372 #[repr(transparent)]
373 pub struct AUDCLNT_SHAREMODE(pub i32);
374 pub const AUDCLNT_SHAREMODE_SHARED: AUDCLNT_SHAREMODE = AUDCLNT_SHAREMODE(0i32);
375 pub const AUDCLNT_SHAREMODE_EXCLUSIVE: AUDCLNT_SHAREMODE = AUDCLNT_SHAREMODE(1i32);
376 impl ::std::convert::From<i32> for AUDCLNT_SHAREMODE {
from(value: i32) -> Self377     fn from(value: i32) -> Self {
378         Self(value)
379     }
380 }
381 unsafe impl ::windows::runtime::Abi for AUDCLNT_SHAREMODE {
382     type Abi = Self;
383     type DefaultType = Self;
384 }
385 pub const AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM: u32 = 2147483648u32;
386 pub const AUDCLNT_STREAMFLAGS_CROSSPROCESS: u32 = 65536u32;
387 pub const AUDCLNT_STREAMFLAGS_EVENTCALLBACK: u32 = 262144u32;
388 pub const AUDCLNT_STREAMFLAGS_LOOPBACK: u32 = 131072u32;
389 pub const AUDCLNT_STREAMFLAGS_NOPERSIST: u32 = 524288u32;
390 pub const AUDCLNT_STREAMFLAGS_RATEADJUST: u32 = 1048576u32;
391 pub const AUDCLNT_STREAMFLAGS_SRC_DEFAULT_QUALITY: u32 = 134217728u32;
392 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
393 #[repr(transparent)]
394 pub struct AUDCLNT_STREAMOPTIONS(pub u32);
395 pub const AUDCLNT_STREAMOPTIONS_NONE: AUDCLNT_STREAMOPTIONS = AUDCLNT_STREAMOPTIONS(0u32);
396 pub const AUDCLNT_STREAMOPTIONS_RAW: AUDCLNT_STREAMOPTIONS = AUDCLNT_STREAMOPTIONS(1u32);
397 pub const AUDCLNT_STREAMOPTIONS_MATCH_FORMAT: AUDCLNT_STREAMOPTIONS = AUDCLNT_STREAMOPTIONS(2u32);
398 pub const AUDCLNT_STREAMOPTIONS_AMBISONICS: AUDCLNT_STREAMOPTIONS = AUDCLNT_STREAMOPTIONS(4u32);
399 impl ::std::convert::From<u32> for AUDCLNT_STREAMOPTIONS {
from(value: u32) -> Self400     fn from(value: u32) -> Self {
401         Self(value)
402     }
403 }
404 unsafe impl ::windows::runtime::Abi for AUDCLNT_STREAMOPTIONS {
405     type Abi = Self;
406     type DefaultType = Self;
407 }
408 impl ::std::ops::BitOr for AUDCLNT_STREAMOPTIONS {
409     type Output = Self;
bitor(self, rhs: Self) -> Self410     fn bitor(self, rhs: Self) -> Self {
411         Self(self.0 | rhs.0)
412     }
413 }
414 impl ::std::ops::BitAnd for AUDCLNT_STREAMOPTIONS {
415     type Output = Self;
bitand(self, rhs: Self) -> Self416     fn bitand(self, rhs: Self) -> Self {
417         Self(self.0 & rhs.0)
418     }
419 }
420 impl ::std::ops::BitOrAssign for AUDCLNT_STREAMOPTIONS {
bitor_assign(&mut self, rhs: Self)421     fn bitor_assign(&mut self, rhs: Self) {
422         self.0.bitor_assign(rhs.0)
423     }
424 }
425 impl ::std::ops::BitAndAssign for AUDCLNT_STREAMOPTIONS {
bitand_assign(&mut self, rhs: Self)426     fn bitand_assign(&mut self, rhs: Self) {
427         self.0.bitand_assign(rhs.0)
428     }
429 }
430 impl ::std::ops::Not for AUDCLNT_STREAMOPTIONS {
431     type Output = Self;
not(self) -> Self432     fn not(self) -> Self {
433         Self(self.0.not())
434     }
435 }
436 pub const AUDCLNT_S_BUFFER_EMPTY: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(143196161i32 as _);
437 pub const AUDCLNT_S_POSITION_STALLED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(143196163i32 as _);
438 pub const AUDCLNT_S_THREAD_ALREADY_REGISTERED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(143196162i32 as _);
439 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
440 #[repr(C)]
441 pub struct AUDIOCLIENT_ACTIVATION_PARAMS {
442     pub ActivationType: AUDIOCLIENT_ACTIVATION_TYPE,
443     pub Anonymous: AUDIOCLIENT_ACTIVATION_PARAMS_0,
444 }
445 impl AUDIOCLIENT_ACTIVATION_PARAMS {}
446 impl ::std::default::Default for AUDIOCLIENT_ACTIVATION_PARAMS {
default() -> Self447     fn default() -> Self {
448         unsafe { ::std::mem::zeroed() }
449     }
450 }
451 impl ::std::cmp::PartialEq for AUDIOCLIENT_ACTIVATION_PARAMS {
eq(&self, _other: &Self) -> bool452     fn eq(&self, _other: &Self) -> bool {
453         unimplemented!()
454     }
455 }
456 impl ::std::cmp::Eq for AUDIOCLIENT_ACTIVATION_PARAMS {}
457 unsafe impl ::windows::runtime::Abi for AUDIOCLIENT_ACTIVATION_PARAMS {
458     type Abi = Self;
459     type DefaultType = Self;
460 }
461 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
462 #[repr(C)]
463 pub union AUDIOCLIENT_ACTIVATION_PARAMS_0 {
464     pub ProcessLoopbackParams: AUDIOCLIENT_PROCESS_LOOPBACK_PARAMS,
465 }
466 impl AUDIOCLIENT_ACTIVATION_PARAMS_0 {}
467 impl ::std::default::Default for AUDIOCLIENT_ACTIVATION_PARAMS_0 {
default() -> Self468     fn default() -> Self {
469         unsafe { ::std::mem::zeroed() }
470     }
471 }
472 impl ::std::cmp::PartialEq for AUDIOCLIENT_ACTIVATION_PARAMS_0 {
eq(&self, _other: &Self) -> bool473     fn eq(&self, _other: &Self) -> bool {
474         unimplemented!()
475     }
476 }
477 impl ::std::cmp::Eq for AUDIOCLIENT_ACTIVATION_PARAMS_0 {}
478 unsafe impl ::windows::runtime::Abi for AUDIOCLIENT_ACTIVATION_PARAMS_0 {
479     type Abi = Self;
480     type DefaultType = Self;
481 }
482 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
483 #[repr(transparent)]
484 pub struct AUDIOCLIENT_ACTIVATION_TYPE(pub i32);
485 pub const AUDIOCLIENT_ACTIVATION_TYPE_DEFAULT: AUDIOCLIENT_ACTIVATION_TYPE = AUDIOCLIENT_ACTIVATION_TYPE(0i32);
486 pub const AUDIOCLIENT_ACTIVATION_TYPE_PROCESS_LOOPBACK: AUDIOCLIENT_ACTIVATION_TYPE = AUDIOCLIENT_ACTIVATION_TYPE(1i32);
487 impl ::std::convert::From<i32> for AUDIOCLIENT_ACTIVATION_TYPE {
from(value: i32) -> Self488     fn from(value: i32) -> Self {
489         Self(value)
490     }
491 }
492 unsafe impl ::windows::runtime::Abi for AUDIOCLIENT_ACTIVATION_TYPE {
493     type Abi = Self;
494     type DefaultType = Self;
495 }
496 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
497 #[repr(C)]
498 pub struct AUDIOCLIENT_PROCESS_LOOPBACK_PARAMS {
499     pub TargetProcessId: u32,
500     pub ProcessLoopbackMode: PROCESS_LOOPBACK_MODE,
501 }
502 impl AUDIOCLIENT_PROCESS_LOOPBACK_PARAMS {}
503 impl ::std::default::Default for AUDIOCLIENT_PROCESS_LOOPBACK_PARAMS {
default() -> Self504     fn default() -> Self {
505         unsafe { ::std::mem::zeroed() }
506     }
507 }
508 impl ::std::fmt::Debug for AUDIOCLIENT_PROCESS_LOOPBACK_PARAMS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result509     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
510         fmt.debug_struct("AUDIOCLIENT_PROCESS_LOOPBACK_PARAMS").field("TargetProcessId", &self.TargetProcessId).field("ProcessLoopbackMode", &self.ProcessLoopbackMode).finish()
511     }
512 }
513 impl ::std::cmp::PartialEq for AUDIOCLIENT_PROCESS_LOOPBACK_PARAMS {
eq(&self, other: &Self) -> bool514     fn eq(&self, other: &Self) -> bool {
515         self.TargetProcessId == other.TargetProcessId && self.ProcessLoopbackMode == other.ProcessLoopbackMode
516     }
517 }
518 impl ::std::cmp::Eq for AUDIOCLIENT_PROCESS_LOOPBACK_PARAMS {}
519 unsafe impl ::windows::runtime::Abi for AUDIOCLIENT_PROCESS_LOOPBACK_PARAMS {
520     type Abi = Self;
521     type DefaultType = Self;
522 }
523 pub const AUDIOCLOCK_CHARACTERISTIC_FIXED_FREQ: u32 = 1u32;
524 pub const AUDIOENDPOINT_CLASS_UUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3244708412, 65036, 19092, [165, 134, 241, 168, 12, 251, 191, 62]);
525 pub const AUDIOMODULE_MAX_DATA_SIZE: u32 = 64000u32;
526 pub const AUDIOMODULE_MAX_NAME_CCH_SIZE: u32 = 128u32;
527 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
528 #[repr(transparent)]
529 pub struct AUDIOPOSTURE_ORIENTATION(pub i32);
530 pub const AUDIOPOSTURE_ORIENTATION_NOTROTATED: AUDIOPOSTURE_ORIENTATION = AUDIOPOSTURE_ORIENTATION(0i32);
531 pub const AUDIOPOSTURE_ORIENTATION_ROTATED90DEGREESCOUNTERCLOCKWISE: AUDIOPOSTURE_ORIENTATION = AUDIOPOSTURE_ORIENTATION(1i32);
532 pub const AUDIOPOSTURE_ORIENTATION_ROTATED180DEGREESCOUNTERCLOCKWISE: AUDIOPOSTURE_ORIENTATION = AUDIOPOSTURE_ORIENTATION(2i32);
533 pub const AUDIOPOSTURE_ORIENTATION_ROTATED270DEGREESCOUNTERCLOCKWISE: AUDIOPOSTURE_ORIENTATION = AUDIOPOSTURE_ORIENTATION(3i32);
534 impl ::std::convert::From<i32> for AUDIOPOSTURE_ORIENTATION {
from(value: i32) -> Self535     fn from(value: i32) -> Self {
536         Self(value)
537     }
538 }
539 unsafe impl ::windows::runtime::Abi for AUDIOPOSTURE_ORIENTATION {
540     type Abi = Self;
541     type DefaultType = Self;
542 }
543 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
544 #[repr(C)]
545 #[cfg(feature = "Win32_Foundation")]
546 pub struct AUDIORESOURCEMANAGEMENT_RESOURCEGROUP {
547     pub ResourceGroupAcquired: super::super::super::Foundation::BOOL,
548     pub ResourceGroupName: [u16; 256],
549 }
550 #[cfg(feature = "Win32_Foundation")]
551 impl AUDIORESOURCEMANAGEMENT_RESOURCEGROUP {}
552 #[cfg(feature = "Win32_Foundation")]
553 impl ::std::default::Default for AUDIORESOURCEMANAGEMENT_RESOURCEGROUP {
default() -> Self554     fn default() -> Self {
555         unsafe { ::std::mem::zeroed() }
556     }
557 }
558 #[cfg(feature = "Win32_Foundation")]
559 impl ::std::fmt::Debug for AUDIORESOURCEMANAGEMENT_RESOURCEGROUP {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result560     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
561         fmt.debug_struct("AUDIORESOURCEMANAGEMENT_RESOURCEGROUP").field("ResourceGroupAcquired", &self.ResourceGroupAcquired).field("ResourceGroupName", &self.ResourceGroupName).finish()
562     }
563 }
564 #[cfg(feature = "Win32_Foundation")]
565 impl ::std::cmp::PartialEq for AUDIORESOURCEMANAGEMENT_RESOURCEGROUP {
eq(&self, other: &Self) -> bool566     fn eq(&self, other: &Self) -> bool {
567         self.ResourceGroupAcquired == other.ResourceGroupAcquired && self.ResourceGroupName == other.ResourceGroupName
568     }
569 }
570 #[cfg(feature = "Win32_Foundation")]
571 impl ::std::cmp::Eq for AUDIORESOURCEMANAGEMENT_RESOURCEGROUP {}
572 #[cfg(feature = "Win32_Foundation")]
573 unsafe impl ::windows::runtime::Abi for AUDIORESOURCEMANAGEMENT_RESOURCEGROUP {
574     type Abi = Self;
575     type DefaultType = Self;
576 }
577 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
578 #[repr(transparent)]
579 pub struct AUDIO_CURVE_TYPE(pub i32);
580 pub const AUDIO_CURVE_TYPE_NONE: AUDIO_CURVE_TYPE = AUDIO_CURVE_TYPE(0i32);
581 pub const AUDIO_CURVE_TYPE_WINDOWS_FADE: AUDIO_CURVE_TYPE = AUDIO_CURVE_TYPE(1i32);
582 impl ::std::convert::From<i32> for AUDIO_CURVE_TYPE {
from(value: i32) -> Self583     fn from(value: i32) -> Self {
584         Self(value)
585     }
586 }
587 unsafe impl ::windows::runtime::Abi for AUDIO_CURVE_TYPE {
588     type Abi = Self;
589     type DefaultType = Self;
590 }
591 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
592 #[repr(transparent)]
593 pub struct AUDIO_DUCKING_OPTIONS(pub u32);
594 pub const AUDIO_DUCKING_OPTIONS_DEFAULT: AUDIO_DUCKING_OPTIONS = AUDIO_DUCKING_OPTIONS(0u32);
595 pub const AUDIO_DUCKING_OPTIONS_DO_NOT_DUCK_OTHER_STREAMS: AUDIO_DUCKING_OPTIONS = AUDIO_DUCKING_OPTIONS(1u32);
596 impl ::std::convert::From<u32> for AUDIO_DUCKING_OPTIONS {
from(value: u32) -> Self597     fn from(value: u32) -> Self {
598         Self(value)
599     }
600 }
601 unsafe impl ::windows::runtime::Abi for AUDIO_DUCKING_OPTIONS {
602     type Abi = Self;
603     type DefaultType = Self;
604 }
605 impl ::std::ops::BitOr for AUDIO_DUCKING_OPTIONS {
606     type Output = Self;
bitor(self, rhs: Self) -> Self607     fn bitor(self, rhs: Self) -> Self {
608         Self(self.0 | rhs.0)
609     }
610 }
611 impl ::std::ops::BitAnd for AUDIO_DUCKING_OPTIONS {
612     type Output = Self;
bitand(self, rhs: Self) -> Self613     fn bitand(self, rhs: Self) -> Self {
614         Self(self.0 & rhs.0)
615     }
616 }
617 impl ::std::ops::BitOrAssign for AUDIO_DUCKING_OPTIONS {
bitor_assign(&mut self, rhs: Self)618     fn bitor_assign(&mut self, rhs: Self) {
619         self.0.bitor_assign(rhs.0)
620     }
621 }
622 impl ::std::ops::BitAndAssign for AUDIO_DUCKING_OPTIONS {
bitand_assign(&mut self, rhs: Self)623     fn bitand_assign(&mut self, rhs: Self) {
624         self.0.bitand_assign(rhs.0)
625     }
626 }
627 impl ::std::ops::Not for AUDIO_DUCKING_OPTIONS {
628     type Output = Self;
not(self) -> Self629     fn not(self) -> Self {
630         Self(self.0.not())
631     }
632 }
633 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
634 #[repr(C)]
635 #[cfg(feature = "Win32_Foundation")]
636 pub struct AUDIO_EFFECT {
637     pub id: ::windows::runtime::GUID,
638     pub canSetState: super::super::super::Foundation::BOOL,
639     pub state: AUDIO_EFFECT_STATE,
640 }
641 #[cfg(feature = "Win32_Foundation")]
642 impl AUDIO_EFFECT {}
643 #[cfg(feature = "Win32_Foundation")]
644 impl ::std::default::Default for AUDIO_EFFECT {
default() -> Self645     fn default() -> Self {
646         unsafe { ::std::mem::zeroed() }
647     }
648 }
649 #[cfg(feature = "Win32_Foundation")]
650 impl ::std::fmt::Debug for AUDIO_EFFECT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result651     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
652         fmt.debug_struct("AUDIO_EFFECT").field("id", &self.id).field("canSetState", &self.canSetState).field("state", &self.state).finish()
653     }
654 }
655 #[cfg(feature = "Win32_Foundation")]
656 impl ::std::cmp::PartialEq for AUDIO_EFFECT {
eq(&self, other: &Self) -> bool657     fn eq(&self, other: &Self) -> bool {
658         self.id == other.id && self.canSetState == other.canSetState && self.state == other.state
659     }
660 }
661 #[cfg(feature = "Win32_Foundation")]
662 impl ::std::cmp::Eq for AUDIO_EFFECT {}
663 #[cfg(feature = "Win32_Foundation")]
664 unsafe impl ::windows::runtime::Abi for AUDIO_EFFECT {
665     type Abi = Self;
666     type DefaultType = Self;
667 }
668 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
669 #[repr(transparent)]
670 pub struct AUDIO_EFFECT_STATE(pub i32);
671 pub const AUDIO_EFFECT_STATE_OFF: AUDIO_EFFECT_STATE = AUDIO_EFFECT_STATE(0i32);
672 pub const AUDIO_EFFECT_STATE_ON: AUDIO_EFFECT_STATE = AUDIO_EFFECT_STATE(1i32);
673 impl ::std::convert::From<i32> for AUDIO_EFFECT_STATE {
from(value: i32) -> Self674     fn from(value: i32) -> Self {
675         Self(value)
676     }
677 }
678 unsafe impl ::windows::runtime::Abi for AUDIO_EFFECT_STATE {
679     type Abi = Self;
680     type DefaultType = Self;
681 }
682 pub const AUDIO_EFFECT_TYPE_ACOUSTIC_ECHO_CANCELLATION: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1868869054, 33297, 4578, [140, 112, 44, 39, 215, 240, 1, 250]);
683 pub const AUDIO_EFFECT_TYPE_AUTOMATIC_GAIN_CONTROL: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1868869056, 33297, 4578, [140, 112, 44, 39, 215, 240, 1, 250]);
684 pub const AUDIO_EFFECT_TYPE_BASS_BOOST: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1868869061, 33297, 4578, [140, 112, 44, 39, 215, 240, 1, 250]);
685 pub const AUDIO_EFFECT_TYPE_BASS_MANAGEMENT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1868869066, 33297, 4578, [140, 112, 44, 39, 215, 240, 1, 250]);
686 pub const AUDIO_EFFECT_TYPE_BEAMFORMING: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1868869057, 33297, 4578, [140, 112, 44, 39, 215, 240, 1, 250]);
687 pub const AUDIO_EFFECT_TYPE_CONSTANT_TONE_REMOVAL: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1868869058, 33297, 4578, [140, 112, 44, 39, 215, 240, 1, 250]);
688 pub const AUDIO_EFFECT_TYPE_DEEP_NOISE_SUPPRESSION: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1868869072, 33297, 4578, [140, 112, 44, 39, 215, 240, 1, 250]);
689 pub const AUDIO_EFFECT_TYPE_DYNAMIC_RANGE_COMPRESSION: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1868869070, 33297, 4578, [140, 112, 44, 39, 215, 240, 1, 250]);
690 pub const AUDIO_EFFECT_TYPE_ENVIRONMENTAL_EFFECTS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1868869067, 33297, 4578, [140, 112, 44, 39, 215, 240, 1, 250]);
691 pub const AUDIO_EFFECT_TYPE_EQUALIZER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1868869059, 33297, 4578, [140, 112, 44, 39, 215, 240, 1, 250]);
692 pub const AUDIO_EFFECT_TYPE_FAR_FIELD_BEAMFORMING: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1868869071, 33297, 4578, [140, 112, 44, 39, 215, 240, 1, 250]);
693 pub const AUDIO_EFFECT_TYPE_LOUDNESS_EQUALIZER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1868869060, 33297, 4578, [140, 112, 44, 39, 215, 240, 1, 250]);
694 pub const AUDIO_EFFECT_TYPE_NOISE_SUPPRESSION: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1868869055, 33297, 4578, [140, 112, 44, 39, 215, 240, 1, 250]);
695 pub const AUDIO_EFFECT_TYPE_ROOM_CORRECTION: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1868869065, 33297, 4578, [140, 112, 44, 39, 215, 240, 1, 250]);
696 pub const AUDIO_EFFECT_TYPE_SPEAKER_COMPENSATION: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1868869069, 33297, 4578, [140, 112, 44, 39, 215, 240, 1, 250]);
697 pub const AUDIO_EFFECT_TYPE_SPEAKER_FILL: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1868869064, 33297, 4578, [140, 112, 44, 39, 215, 240, 1, 250]);
698 pub const AUDIO_EFFECT_TYPE_SPEAKER_PROTECTION: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1868869068, 33297, 4578, [140, 112, 44, 39, 215, 240, 1, 250]);
699 pub const AUDIO_EFFECT_TYPE_VIRTUAL_HEADPHONES: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1868869063, 33297, 4578, [140, 112, 44, 39, 215, 240, 1, 250]);
700 pub const AUDIO_EFFECT_TYPE_VIRTUAL_SURROUND: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1868869062, 33297, 4578, [140, 112, 44, 39, 215, 240, 1, 250]);
701 #[derive(:: std :: clone :: Clone)]
702 #[repr(C)]
703 pub struct AUDIO_ENDPOINT_PROPERTY_CHANGE_APO_NOTIFICATION_DESCRIPTOR {
704     pub device: ::std::option::Option<IMMDevice>,
705 }
706 impl AUDIO_ENDPOINT_PROPERTY_CHANGE_APO_NOTIFICATION_DESCRIPTOR {}
707 impl ::std::default::Default for AUDIO_ENDPOINT_PROPERTY_CHANGE_APO_NOTIFICATION_DESCRIPTOR {
default() -> Self708     fn default() -> Self {
709         unsafe { ::std::mem::zeroed() }
710     }
711 }
712 impl ::std::fmt::Debug for AUDIO_ENDPOINT_PROPERTY_CHANGE_APO_NOTIFICATION_DESCRIPTOR {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result713     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
714         fmt.debug_struct("AUDIO_ENDPOINT_PROPERTY_CHANGE_APO_NOTIFICATION_DESCRIPTOR").field("device", &self.device).finish()
715     }
716 }
717 impl ::std::cmp::PartialEq for AUDIO_ENDPOINT_PROPERTY_CHANGE_APO_NOTIFICATION_DESCRIPTOR {
eq(&self, other: &Self) -> bool718     fn eq(&self, other: &Self) -> bool {
719         self.device == other.device
720     }
721 }
722 impl ::std::cmp::Eq for AUDIO_ENDPOINT_PROPERTY_CHANGE_APO_NOTIFICATION_DESCRIPTOR {}
723 unsafe impl ::windows::runtime::Abi for AUDIO_ENDPOINT_PROPERTY_CHANGE_APO_NOTIFICATION_DESCRIPTOR {
724     type Abi = ::std::mem::ManuallyDrop<Self>;
725     type DefaultType = Self;
726 }
727 #[derive(:: std :: clone :: Clone)]
728 #[repr(C)]
729 #[cfg(feature = "Win32_System_PropertiesSystem")]
730 pub struct AUDIO_ENDPOINT_PROPERTY_CHANGE_NOTIFICATION {
731     pub endpoint: ::std::option::Option<IMMDevice>,
732     pub propertyStore: ::std::option::Option<super::super::super::System::PropertiesSystem::IPropertyStore>,
733     pub propertyKey: super::super::super::System::PropertiesSystem::PROPERTYKEY,
734 }
735 #[cfg(feature = "Win32_System_PropertiesSystem")]
736 impl AUDIO_ENDPOINT_PROPERTY_CHANGE_NOTIFICATION {}
737 #[cfg(feature = "Win32_System_PropertiesSystem")]
738 impl ::std::default::Default for AUDIO_ENDPOINT_PROPERTY_CHANGE_NOTIFICATION {
default() -> Self739     fn default() -> Self {
740         unsafe { ::std::mem::zeroed() }
741     }
742 }
743 #[cfg(feature = "Win32_System_PropertiesSystem")]
744 impl ::std::fmt::Debug for AUDIO_ENDPOINT_PROPERTY_CHANGE_NOTIFICATION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result745     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
746         fmt.debug_struct("AUDIO_ENDPOINT_PROPERTY_CHANGE_NOTIFICATION").field("endpoint", &self.endpoint).field("propertyStore", &self.propertyStore).field("propertyKey", &self.propertyKey).finish()
747     }
748 }
749 #[cfg(feature = "Win32_System_PropertiesSystem")]
750 impl ::std::cmp::PartialEq for AUDIO_ENDPOINT_PROPERTY_CHANGE_NOTIFICATION {
eq(&self, other: &Self) -> bool751     fn eq(&self, other: &Self) -> bool {
752         self.endpoint == other.endpoint && self.propertyStore == other.propertyStore && self.propertyKey == other.propertyKey
753     }
754 }
755 #[cfg(feature = "Win32_System_PropertiesSystem")]
756 impl ::std::cmp::Eq for AUDIO_ENDPOINT_PROPERTY_CHANGE_NOTIFICATION {}
757 #[cfg(feature = "Win32_System_PropertiesSystem")]
758 unsafe impl ::windows::runtime::Abi for AUDIO_ENDPOINT_PROPERTY_CHANGE_NOTIFICATION {
759     type Abi = ::std::mem::ManuallyDrop<Self>;
760     type DefaultType = Self;
761 }
762 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
763 #[repr(C)]
764 #[cfg(feature = "Win32_Media_Multimedia")]
765 pub struct AUDIO_ENDPOINT_SHARED_CREATE_PARAMS {
766     pub u32Size: u32,
767     pub u32TSSessionId: u32,
768     pub targetEndpointConnectorType: EndpointConnectorType,
769     pub wfxDeviceFormat: super::super::Multimedia::WAVEFORMATEX,
770 }
771 #[cfg(feature = "Win32_Media_Multimedia")]
772 impl AUDIO_ENDPOINT_SHARED_CREATE_PARAMS {}
773 #[cfg(feature = "Win32_Media_Multimedia")]
774 impl ::std::default::Default for AUDIO_ENDPOINT_SHARED_CREATE_PARAMS {
default() -> Self775     fn default() -> Self {
776         unsafe { ::std::mem::zeroed() }
777     }
778 }
779 #[cfg(feature = "Win32_Media_Multimedia")]
780 impl ::std::cmp::PartialEq for AUDIO_ENDPOINT_SHARED_CREATE_PARAMS {
eq(&self, _other: &Self) -> bool781     fn eq(&self, _other: &Self) -> bool {
782         unimplemented!()
783     }
784 }
785 #[cfg(feature = "Win32_Media_Multimedia")]
786 impl ::std::cmp::Eq for AUDIO_ENDPOINT_SHARED_CREATE_PARAMS {}
787 #[cfg(feature = "Win32_Media_Multimedia")]
788 unsafe impl ::windows::runtime::Abi for AUDIO_ENDPOINT_SHARED_CREATE_PARAMS {
789     type Abi = Self;
790     type DefaultType = Self;
791 }
792 #[derive(:: std :: clone :: Clone)]
793 #[repr(C)]
794 pub struct AUDIO_ENDPOINT_VOLUME_APO_NOTIFICATION_DESCRIPTOR {
795     pub device: ::std::option::Option<IMMDevice>,
796 }
797 impl AUDIO_ENDPOINT_VOLUME_APO_NOTIFICATION_DESCRIPTOR {}
798 impl ::std::default::Default for AUDIO_ENDPOINT_VOLUME_APO_NOTIFICATION_DESCRIPTOR {
default() -> Self799     fn default() -> Self {
800         unsafe { ::std::mem::zeroed() }
801     }
802 }
803 impl ::std::fmt::Debug for AUDIO_ENDPOINT_VOLUME_APO_NOTIFICATION_DESCRIPTOR {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result804     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
805         fmt.debug_struct("AUDIO_ENDPOINT_VOLUME_APO_NOTIFICATION_DESCRIPTOR").field("device", &self.device).finish()
806     }
807 }
808 impl ::std::cmp::PartialEq for AUDIO_ENDPOINT_VOLUME_APO_NOTIFICATION_DESCRIPTOR {
eq(&self, other: &Self) -> bool809     fn eq(&self, other: &Self) -> bool {
810         self.device == other.device
811     }
812 }
813 impl ::std::cmp::Eq for AUDIO_ENDPOINT_VOLUME_APO_NOTIFICATION_DESCRIPTOR {}
814 unsafe impl ::windows::runtime::Abi for AUDIO_ENDPOINT_VOLUME_APO_NOTIFICATION_DESCRIPTOR {
815     type Abi = ::std::mem::ManuallyDrop<Self>;
816     type DefaultType = Self;
817 }
818 #[derive(:: std :: clone :: Clone)]
819 #[repr(C)]
820 #[cfg(feature = "Win32_Foundation")]
821 pub struct AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION {
822     pub endpoint: ::std::option::Option<IMMDevice>,
823     pub volume: *mut AUDIO_VOLUME_NOTIFICATION_DATA,
824 }
825 #[cfg(feature = "Win32_Foundation")]
826 impl AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION {}
827 #[cfg(feature = "Win32_Foundation")]
828 impl ::std::default::Default for AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION {
default() -> Self829     fn default() -> Self {
830         unsafe { ::std::mem::zeroed() }
831     }
832 }
833 #[cfg(feature = "Win32_Foundation")]
834 impl ::std::fmt::Debug for AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result835     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
836         fmt.debug_struct("AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION").field("endpoint", &self.endpoint).field("volume", &self.volume).finish()
837     }
838 }
839 #[cfg(feature = "Win32_Foundation")]
840 impl ::std::cmp::PartialEq for AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION {
eq(&self, other: &Self) -> bool841     fn eq(&self, other: &Self) -> bool {
842         self.endpoint == other.endpoint && self.volume == other.volume
843     }
844 }
845 #[cfg(feature = "Win32_Foundation")]
846 impl ::std::cmp::Eq for AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION {}
847 #[cfg(feature = "Win32_Foundation")]
848 unsafe impl ::windows::runtime::Abi for AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION {
849     type Abi = ::std::mem::ManuallyDrop<Self>;
850     type DefaultType = Self;
851 }
852 pub const AUDIO_SIGNALPROCESSINGMODE_COMMUNICATIONS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2559906611, 47565, 18609, [160, 163, 255, 64, 104, 45, 115, 247]);
853 pub const AUDIO_SIGNALPROCESSINGMODE_DEFAULT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3247320958, 37693, 18789, [183, 209, 30, 239, 34, 141, 42, 243]);
854 pub const AUDIO_SIGNALPROCESSINGMODE_FAR_FIELD_SPEECH: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(680795322, 15334, 19064, [154, 118, 48, 253, 145, 85, 155, 100]);
855 pub const AUDIO_SIGNALPROCESSINGMODE_MEDIA: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1199571022, 28979, 16856, [140, 116, 102, 13, 173, 210, 192, 238]);
856 pub const AUDIO_SIGNALPROCESSINGMODE_MOVIE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2993679117, 60564, 18300, [148, 148, 209, 171, 142, 117, 63, 110]);
857 pub const AUDIO_SIGNALPROCESSINGMODE_NOTIFICATION: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2633148171, 62327, 16443, [189, 107, 54, 8, 99, 224, 53, 92]);
858 pub const AUDIO_SIGNALPROCESSINGMODE_RAW: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2660297248, 46227, 20433, [161, 168, 126, 19, 97, 169, 86, 207]);
859 pub const AUDIO_SIGNALPROCESSINGMODE_SPEECH: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4229758107, 47574, 19706, [181, 224, 75, 178, 22, 104, 120, 178]);
860 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
861 #[repr(transparent)]
862 pub struct AUDIO_STREAM_CATEGORY(pub i32);
863 pub const AudioCategory_Other: AUDIO_STREAM_CATEGORY = AUDIO_STREAM_CATEGORY(0i32);
864 pub const AudioCategory_ForegroundOnlyMedia: AUDIO_STREAM_CATEGORY = AUDIO_STREAM_CATEGORY(1i32);
865 pub const AudioCategory_Communications: AUDIO_STREAM_CATEGORY = AUDIO_STREAM_CATEGORY(3i32);
866 pub const AudioCategory_Alerts: AUDIO_STREAM_CATEGORY = AUDIO_STREAM_CATEGORY(4i32);
867 pub const AudioCategory_SoundEffects: AUDIO_STREAM_CATEGORY = AUDIO_STREAM_CATEGORY(5i32);
868 pub const AudioCategory_GameEffects: AUDIO_STREAM_CATEGORY = AUDIO_STREAM_CATEGORY(6i32);
869 pub const AudioCategory_GameMedia: AUDIO_STREAM_CATEGORY = AUDIO_STREAM_CATEGORY(7i32);
870 pub const AudioCategory_GameChat: AUDIO_STREAM_CATEGORY = AUDIO_STREAM_CATEGORY(8i32);
871 pub const AudioCategory_Speech: AUDIO_STREAM_CATEGORY = AUDIO_STREAM_CATEGORY(9i32);
872 pub const AudioCategory_Movie: AUDIO_STREAM_CATEGORY = AUDIO_STREAM_CATEGORY(10i32);
873 pub const AudioCategory_Media: AUDIO_STREAM_CATEGORY = AUDIO_STREAM_CATEGORY(11i32);
874 pub const AudioCategory_FarFieldSpeech: AUDIO_STREAM_CATEGORY = AUDIO_STREAM_CATEGORY(12i32);
875 pub const AudioCategory_UniformSpeech: AUDIO_STREAM_CATEGORY = AUDIO_STREAM_CATEGORY(13i32);
876 pub const AudioCategory_VoiceTyping: AUDIO_STREAM_CATEGORY = AUDIO_STREAM_CATEGORY(14i32);
877 impl ::std::convert::From<i32> for AUDIO_STREAM_CATEGORY {
from(value: i32) -> Self878     fn from(value: i32) -> Self {
879         Self(value)
880     }
881 }
882 unsafe impl ::windows::runtime::Abi for AUDIO_STREAM_CATEGORY {
883     type Abi = Self;
884     type DefaultType = Self;
885 }
886 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
887 #[repr(C)]
888 #[cfg(feature = "Win32_Foundation")]
889 pub struct AUDIO_SYSTEMEFFECT {
890     pub id: ::windows::runtime::GUID,
891     pub canSetState: super::super::super::Foundation::BOOL,
892     pub state: AUDIO_SYSTEMEFFECT_STATE,
893 }
894 #[cfg(feature = "Win32_Foundation")]
895 impl AUDIO_SYSTEMEFFECT {}
896 #[cfg(feature = "Win32_Foundation")]
897 impl ::std::default::Default for AUDIO_SYSTEMEFFECT {
default() -> Self898     fn default() -> Self {
899         unsafe { ::std::mem::zeroed() }
900     }
901 }
902 #[cfg(feature = "Win32_Foundation")]
903 impl ::std::fmt::Debug for AUDIO_SYSTEMEFFECT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result904     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
905         fmt.debug_struct("AUDIO_SYSTEMEFFECT").field("id", &self.id).field("canSetState", &self.canSetState).field("state", &self.state).finish()
906     }
907 }
908 #[cfg(feature = "Win32_Foundation")]
909 impl ::std::cmp::PartialEq for AUDIO_SYSTEMEFFECT {
eq(&self, other: &Self) -> bool910     fn eq(&self, other: &Self) -> bool {
911         self.id == other.id && self.canSetState == other.canSetState && self.state == other.state
912     }
913 }
914 #[cfg(feature = "Win32_Foundation")]
915 impl ::std::cmp::Eq for AUDIO_SYSTEMEFFECT {}
916 #[cfg(feature = "Win32_Foundation")]
917 unsafe impl ::windows::runtime::Abi for AUDIO_SYSTEMEFFECT {
918     type Abi = Self;
919     type DefaultType = Self;
920 }
921 #[derive(:: std :: clone :: Clone)]
922 #[repr(C)]
923 pub struct AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_APO_NOTIFICATION_DESCRIPTOR {
924     pub device: ::std::option::Option<IMMDevice>,
925     pub propertyStoreContext: ::windows::runtime::GUID,
926 }
927 impl AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_APO_NOTIFICATION_DESCRIPTOR {}
928 impl ::std::default::Default for AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_APO_NOTIFICATION_DESCRIPTOR {
default() -> Self929     fn default() -> Self {
930         unsafe { ::std::mem::zeroed() }
931     }
932 }
933 impl ::std::fmt::Debug for AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_APO_NOTIFICATION_DESCRIPTOR {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result934     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
935         fmt.debug_struct("AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_APO_NOTIFICATION_DESCRIPTOR").field("device", &self.device).field("propertyStoreContext", &self.propertyStoreContext).finish()
936     }
937 }
938 impl ::std::cmp::PartialEq for AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_APO_NOTIFICATION_DESCRIPTOR {
eq(&self, other: &Self) -> bool939     fn eq(&self, other: &Self) -> bool {
940         self.device == other.device && self.propertyStoreContext == other.propertyStoreContext
941     }
942 }
943 impl ::std::cmp::Eq for AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_APO_NOTIFICATION_DESCRIPTOR {}
944 unsafe impl ::windows::runtime::Abi for AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_APO_NOTIFICATION_DESCRIPTOR {
945     type Abi = ::std::mem::ManuallyDrop<Self>;
946     type DefaultType = Self;
947 }
948 #[derive(:: std :: clone :: Clone)]
949 #[repr(C)]
950 #[cfg(feature = "Win32_System_PropertiesSystem")]
951 pub struct AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_NOTIFICATION {
952     pub endpoint: ::std::option::Option<IMMDevice>,
953     pub propertyStoreContext: ::windows::runtime::GUID,
954     pub propertyStoreType: __MIDL___MIDL_itf_mmdeviceapi_0000_0008_0002,
955     pub propertyStore: ::std::option::Option<super::super::super::System::PropertiesSystem::IPropertyStore>,
956     pub propertyKey: super::super::super::System::PropertiesSystem::PROPERTYKEY,
957 }
958 #[cfg(feature = "Win32_System_PropertiesSystem")]
959 impl AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_NOTIFICATION {}
960 #[cfg(feature = "Win32_System_PropertiesSystem")]
961 impl ::std::default::Default for AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_NOTIFICATION {
default() -> Self962     fn default() -> Self {
963         unsafe { ::std::mem::zeroed() }
964     }
965 }
966 #[cfg(feature = "Win32_System_PropertiesSystem")]
967 impl ::std::fmt::Debug for AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_NOTIFICATION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result968     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
969         fmt.debug_struct("AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_NOTIFICATION")
970             .field("endpoint", &self.endpoint)
971             .field("propertyStoreContext", &self.propertyStoreContext)
972             .field("propertyStoreType", &self.propertyStoreType)
973             .field("propertyStore", &self.propertyStore)
974             .field("propertyKey", &self.propertyKey)
975             .finish()
976     }
977 }
978 #[cfg(feature = "Win32_System_PropertiesSystem")]
979 impl ::std::cmp::PartialEq for AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_NOTIFICATION {
eq(&self, other: &Self) -> bool980     fn eq(&self, other: &Self) -> bool {
981         self.endpoint == other.endpoint && self.propertyStoreContext == other.propertyStoreContext && self.propertyStoreType == other.propertyStoreType && self.propertyStore == other.propertyStore && self.propertyKey == other.propertyKey
982     }
983 }
984 #[cfg(feature = "Win32_System_PropertiesSystem")]
985 impl ::std::cmp::Eq for AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_NOTIFICATION {}
986 #[cfg(feature = "Win32_System_PropertiesSystem")]
987 unsafe impl ::windows::runtime::Abi for AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_NOTIFICATION {
988     type Abi = ::std::mem::ManuallyDrop<Self>;
989     type DefaultType = Self;
990 }
991 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
992 #[repr(transparent)]
993 pub struct AUDIO_SYSTEMEFFECT_STATE(pub i32);
994 pub const AUDIO_SYSTEMEFFECT_STATE_OFF: AUDIO_SYSTEMEFFECT_STATE = AUDIO_SYSTEMEFFECT_STATE(0i32);
995 pub const AUDIO_SYSTEMEFFECT_STATE_ON: AUDIO_SYSTEMEFFECT_STATE = AUDIO_SYSTEMEFFECT_STATE(1i32);
996 impl ::std::convert::From<i32> for AUDIO_SYSTEMEFFECT_STATE {
from(value: i32) -> Self997     fn from(value: i32) -> Self {
998         Self(value)
999     }
1000 }
1001 unsafe impl ::windows::runtime::Abi for AUDIO_SYSTEMEFFECT_STATE {
1002     type Abi = Self;
1003     type DefaultType = Self;
1004 }
1005 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1006 #[repr(C)]
1007 #[cfg(feature = "Win32_Foundation")]
1008 pub struct AUDIO_VOLUME_NOTIFICATION_DATA {
1009     pub guidEventContext: ::windows::runtime::GUID,
1010     pub bMuted: super::super::super::Foundation::BOOL,
1011     pub fMasterVolume: f32,
1012     pub nChannels: u32,
1013     pub afChannelVolumes: [f32; 1],
1014 }
1015 #[cfg(feature = "Win32_Foundation")]
1016 impl AUDIO_VOLUME_NOTIFICATION_DATA {}
1017 #[cfg(feature = "Win32_Foundation")]
1018 impl ::std::default::Default for AUDIO_VOLUME_NOTIFICATION_DATA {
default() -> Self1019     fn default() -> Self {
1020         unsafe { ::std::mem::zeroed() }
1021     }
1022 }
1023 #[cfg(feature = "Win32_Foundation")]
1024 impl ::std::fmt::Debug for AUDIO_VOLUME_NOTIFICATION_DATA {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1025     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1026         fmt.debug_struct("AUDIO_VOLUME_NOTIFICATION_DATA").field("guidEventContext", &self.guidEventContext).field("bMuted", &self.bMuted).field("fMasterVolume", &self.fMasterVolume).field("nChannels", &self.nChannels).field("afChannelVolumes", &self.afChannelVolumes).finish()
1027     }
1028 }
1029 #[cfg(feature = "Win32_Foundation")]
1030 impl ::std::cmp::PartialEq for AUDIO_VOLUME_NOTIFICATION_DATA {
eq(&self, other: &Self) -> bool1031     fn eq(&self, other: &Self) -> bool {
1032         self.guidEventContext == other.guidEventContext && self.bMuted == other.bMuted && self.fMasterVolume == other.fMasterVolume && self.nChannels == other.nChannels && self.afChannelVolumes == other.afChannelVolumes
1033     }
1034 }
1035 #[cfg(feature = "Win32_Foundation")]
1036 impl ::std::cmp::Eq for AUDIO_VOLUME_NOTIFICATION_DATA {}
1037 #[cfg(feature = "Win32_Foundation")]
1038 unsafe impl ::windows::runtime::Abi for AUDIO_VOLUME_NOTIFICATION_DATA {
1039     type Abi = Self;
1040     type DefaultType = Self;
1041 }
1042 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
1043 #[inline]
ActivateAudioInterfaceAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, IActivateAudioInterfaceCompletionHandler>>(deviceinterfacepath: Param0, riid: *const ::windows::runtime::GUID, activationparams: *const super::super::super::System::Com::StructuredStorage::PROPVARIANT, completionhandler: Param3) -> ::windows::runtime::Result<IActivateAudioInterfaceAsyncOperation>1044 pub unsafe fn ActivateAudioInterfaceAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, IActivateAudioInterfaceCompletionHandler>>(deviceinterfacepath: Param0, riid: *const ::windows::runtime::GUID, activationparams: *const super::super::super::System::Com::StructuredStorage::PROPVARIANT, completionhandler: Param3) -> ::windows::runtime::Result<IActivateAudioInterfaceAsyncOperation> {
1045     #[cfg(windows)]
1046     {
1047         #[link(name = "windows")]
1048         extern "system" {
1049             fn ActivateAudioInterfaceAsync(deviceinterfacepath: super::super::super::Foundation::PWSTR, riid: *const ::windows::runtime::GUID, activationparams: *const ::std::mem::ManuallyDrop<super::super::super::System::Com::StructuredStorage::PROPVARIANT>, completionhandler: ::windows::runtime::RawPtr, activationoperation: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
1050         }
1051         let mut result__: <IActivateAudioInterfaceAsyncOperation as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1052         ActivateAudioInterfaceAsync(deviceinterfacepath.into_param().abi(), ::std::mem::transmute(riid), ::std::mem::transmute(activationparams), completionhandler.into_param().abi(), &mut result__).from_abi::<IActivateAudioInterfaceAsyncOperation>(result__)
1053     }
1054     #[cfg(not(windows))]
1055     unimplemented!("Unsupported target OS");
1056 }
1057 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1058 #[repr(C)]
1059 pub struct AudioClient3ActivationParams {
1060     pub tracingContextId: ::windows::runtime::GUID,
1061 }
1062 impl AudioClient3ActivationParams {}
1063 impl ::std::default::Default for AudioClient3ActivationParams {
default() -> Self1064     fn default() -> Self {
1065         unsafe { ::std::mem::zeroed() }
1066     }
1067 }
1068 impl ::std::fmt::Debug for AudioClient3ActivationParams {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1069     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1070         fmt.debug_struct("AudioClient3ActivationParams").field("tracingContextId", &self.tracingContextId).finish()
1071     }
1072 }
1073 impl ::std::cmp::PartialEq for AudioClient3ActivationParams {
eq(&self, other: &Self) -> bool1074     fn eq(&self, other: &Self) -> bool {
1075         self.tracingContextId == other.tracingContextId
1076     }
1077 }
1078 impl ::std::cmp::Eq for AudioClient3ActivationParams {}
1079 unsafe impl ::windows::runtime::Abi for AudioClient3ActivationParams {
1080     type Abi = Self;
1081     type DefaultType = Self;
1082 }
1083 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1084 #[repr(C)]
1085 #[cfg(feature = "Win32_Foundation")]
1086 pub struct AudioClientProperties {
1087     pub cbSize: u32,
1088     pub bIsOffload: super::super::super::Foundation::BOOL,
1089     pub eCategory: AUDIO_STREAM_CATEGORY,
1090     pub Options: AUDCLNT_STREAMOPTIONS,
1091 }
1092 #[cfg(feature = "Win32_Foundation")]
1093 impl AudioClientProperties {}
1094 #[cfg(feature = "Win32_Foundation")]
1095 impl ::std::default::Default for AudioClientProperties {
default() -> Self1096     fn default() -> Self {
1097         unsafe { ::std::mem::zeroed() }
1098     }
1099 }
1100 #[cfg(feature = "Win32_Foundation")]
1101 impl ::std::fmt::Debug for AudioClientProperties {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1102     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1103         fmt.debug_struct("AudioClientProperties").field("cbSize", &self.cbSize).field("bIsOffload", &self.bIsOffload).field("eCategory", &self.eCategory).field("Options", &self.Options).finish()
1104     }
1105 }
1106 #[cfg(feature = "Win32_Foundation")]
1107 impl ::std::cmp::PartialEq for AudioClientProperties {
eq(&self, other: &Self) -> bool1108     fn eq(&self, other: &Self) -> bool {
1109         self.cbSize == other.cbSize && self.bIsOffload == other.bIsOffload && self.eCategory == other.eCategory && self.Options == other.Options
1110     }
1111 }
1112 #[cfg(feature = "Win32_Foundation")]
1113 impl ::std::cmp::Eq for AudioClientProperties {}
1114 #[cfg(feature = "Win32_Foundation")]
1115 unsafe impl ::windows::runtime::Abi for AudioClientProperties {
1116     type Abi = Self;
1117     type DefaultType = Self;
1118 }
1119 #[derive(:: std :: clone :: Clone)]
1120 #[repr(C)]
1121 #[cfg(feature = "Win32_Foundation")]
1122 pub struct AudioExtensionParams {
1123     pub AddPageParam: super::super::super::Foundation::LPARAM,
1124     pub pEndpoint: ::std::option::Option<IMMDevice>,
1125     pub pPnpInterface: ::std::option::Option<IMMDevice>,
1126     pub pPnpDevnode: ::std::option::Option<IMMDevice>,
1127 }
1128 #[cfg(feature = "Win32_Foundation")]
1129 impl AudioExtensionParams {}
1130 #[cfg(feature = "Win32_Foundation")]
1131 impl ::std::default::Default for AudioExtensionParams {
default() -> Self1132     fn default() -> Self {
1133         unsafe { ::std::mem::zeroed() }
1134     }
1135 }
1136 #[cfg(feature = "Win32_Foundation")]
1137 impl ::std::fmt::Debug for AudioExtensionParams {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1138     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1139         fmt.debug_struct("AudioExtensionParams").field("AddPageParam", &self.AddPageParam).field("pEndpoint", &self.pEndpoint).field("pPnpInterface", &self.pPnpInterface).field("pPnpDevnode", &self.pPnpDevnode).finish()
1140     }
1141 }
1142 #[cfg(feature = "Win32_Foundation")]
1143 impl ::std::cmp::PartialEq for AudioExtensionParams {
eq(&self, other: &Self) -> bool1144     fn eq(&self, other: &Self) -> bool {
1145         self.AddPageParam == other.AddPageParam && self.pEndpoint == other.pEndpoint && self.pPnpInterface == other.pPnpInterface && self.pPnpDevnode == other.pPnpDevnode
1146     }
1147 }
1148 #[cfg(feature = "Win32_Foundation")]
1149 impl ::std::cmp::Eq for AudioExtensionParams {}
1150 #[cfg(feature = "Win32_Foundation")]
1151 unsafe impl ::windows::runtime::Abi for AudioExtensionParams {
1152     type Abi = ::std::mem::ManuallyDrop<Self>;
1153     type DefaultType = Self;
1154 }
1155 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1156 #[repr(transparent)]
1157 pub struct AudioObjectType(pub u32);
1158 pub const AudioObjectType_None: AudioObjectType = AudioObjectType(0u32);
1159 pub const AudioObjectType_Dynamic: AudioObjectType = AudioObjectType(1u32);
1160 pub const AudioObjectType_FrontLeft: AudioObjectType = AudioObjectType(2u32);
1161 pub const AudioObjectType_FrontRight: AudioObjectType = AudioObjectType(4u32);
1162 pub const AudioObjectType_FrontCenter: AudioObjectType = AudioObjectType(8u32);
1163 pub const AudioObjectType_LowFrequency: AudioObjectType = AudioObjectType(16u32);
1164 pub const AudioObjectType_SideLeft: AudioObjectType = AudioObjectType(32u32);
1165 pub const AudioObjectType_SideRight: AudioObjectType = AudioObjectType(64u32);
1166 pub const AudioObjectType_BackLeft: AudioObjectType = AudioObjectType(128u32);
1167 pub const AudioObjectType_BackRight: AudioObjectType = AudioObjectType(256u32);
1168 pub const AudioObjectType_TopFrontLeft: AudioObjectType = AudioObjectType(512u32);
1169 pub const AudioObjectType_TopFrontRight: AudioObjectType = AudioObjectType(1024u32);
1170 pub const AudioObjectType_TopBackLeft: AudioObjectType = AudioObjectType(2048u32);
1171 pub const AudioObjectType_TopBackRight: AudioObjectType = AudioObjectType(4096u32);
1172 pub const AudioObjectType_BottomFrontLeft: AudioObjectType = AudioObjectType(8192u32);
1173 pub const AudioObjectType_BottomFrontRight: AudioObjectType = AudioObjectType(16384u32);
1174 pub const AudioObjectType_BottomBackLeft: AudioObjectType = AudioObjectType(32768u32);
1175 pub const AudioObjectType_BottomBackRight: AudioObjectType = AudioObjectType(65536u32);
1176 pub const AudioObjectType_BackCenter: AudioObjectType = AudioObjectType(131072u32);
1177 impl ::std::convert::From<u32> for AudioObjectType {
from(value: u32) -> Self1178     fn from(value: u32) -> Self {
1179         Self(value)
1180     }
1181 }
1182 unsafe impl ::windows::runtime::Abi for AudioObjectType {
1183     type Abi = Self;
1184     type DefaultType = Self;
1185 }
1186 impl ::std::ops::BitOr for AudioObjectType {
1187     type Output = Self;
bitor(self, rhs: Self) -> Self1188     fn bitor(self, rhs: Self) -> Self {
1189         Self(self.0 | rhs.0)
1190     }
1191 }
1192 impl ::std::ops::BitAnd for AudioObjectType {
1193     type Output = Self;
bitand(self, rhs: Self) -> Self1194     fn bitand(self, rhs: Self) -> Self {
1195         Self(self.0 & rhs.0)
1196     }
1197 }
1198 impl ::std::ops::BitOrAssign for AudioObjectType {
bitor_assign(&mut self, rhs: Self)1199     fn bitor_assign(&mut self, rhs: Self) {
1200         self.0.bitor_assign(rhs.0)
1201     }
1202 }
1203 impl ::std::ops::BitAndAssign for AudioObjectType {
bitand_assign(&mut self, rhs: Self)1204     fn bitand_assign(&mut self, rhs: Self) {
1205         self.0.bitand_assign(rhs.0)
1206     }
1207 }
1208 impl ::std::ops::Not for AudioObjectType {
1209     type Output = Self;
not(self) -> Self1210     fn not(self) -> Self {
1211         Self(self.0.not())
1212     }
1213 }
1214 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1215 #[repr(transparent)]
1216 pub struct AudioSessionDisconnectReason(pub i32);
1217 pub const DisconnectReasonDeviceRemoval: AudioSessionDisconnectReason = AudioSessionDisconnectReason(0i32);
1218 pub const DisconnectReasonServerShutdown: AudioSessionDisconnectReason = AudioSessionDisconnectReason(1i32);
1219 pub const DisconnectReasonFormatChanged: AudioSessionDisconnectReason = AudioSessionDisconnectReason(2i32);
1220 pub const DisconnectReasonSessionLogoff: AudioSessionDisconnectReason = AudioSessionDisconnectReason(3i32);
1221 pub const DisconnectReasonSessionDisconnected: AudioSessionDisconnectReason = AudioSessionDisconnectReason(4i32);
1222 pub const DisconnectReasonExclusiveModeOverride: AudioSessionDisconnectReason = AudioSessionDisconnectReason(5i32);
1223 impl ::std::convert::From<i32> for AudioSessionDisconnectReason {
from(value: i32) -> Self1224     fn from(value: i32) -> Self {
1225         Self(value)
1226     }
1227 }
1228 unsafe impl ::windows::runtime::Abi for AudioSessionDisconnectReason {
1229     type Abi = Self;
1230     type DefaultType = Self;
1231 }
1232 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1233 #[repr(transparent)]
1234 pub struct AudioSessionState(pub i32);
1235 pub const AudioSessionStateInactive: AudioSessionState = AudioSessionState(0i32);
1236 pub const AudioSessionStateActive: AudioSessionState = AudioSessionState(1i32);
1237 pub const AudioSessionStateExpired: AudioSessionState = AudioSessionState(2i32);
1238 impl ::std::convert::From<i32> for AudioSessionState {
from(value: i32) -> Self1239     fn from(value: i32) -> Self {
1240         Self(value)
1241     }
1242 }
1243 unsafe impl ::windows::runtime::Abi for AudioSessionState {
1244     type Abi = Self;
1245     type DefaultType = Self;
1246 }
1247 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1248 #[repr(transparent)]
1249 pub struct AudioStateMonitorSoundLevel(pub i32);
1250 pub const Muted: AudioStateMonitorSoundLevel = AudioStateMonitorSoundLevel(0i32);
1251 pub const Low: AudioStateMonitorSoundLevel = AudioStateMonitorSoundLevel(1i32);
1252 pub const Full: AudioStateMonitorSoundLevel = AudioStateMonitorSoundLevel(2i32);
1253 impl ::std::convert::From<i32> for AudioStateMonitorSoundLevel {
from(value: i32) -> Self1254     fn from(value: i32) -> Self {
1255         Self(value)
1256     }
1257 }
1258 unsafe impl ::windows::runtime::Abi for AudioStateMonitorSoundLevel {
1259     type Abi = Self;
1260     type DefaultType = Self;
1261 }
1262 pub const BLUETOOTHLE_MIDI_SERVICE_UUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(62393946, 60904, 19251, [167, 81, 108, 227, 78, 196, 199, 0]);
1263 pub const BLUETOOTH_MIDI_DATAIO_CHARACTERISTIC: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2004018651, 14440, 16658, [161, 169, 242, 102, 157, 16, 107, 243]);
1264 pub const BUS_INTERFACE_REFERENCE_VERSION: u32 = 256u32;
1265 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1266 #[repr(transparent)]
1267 pub struct CAPTURE_MEMORY_ALLOCATION_FLAGS(pub i32);
1268 pub const KS_CAPTURE_ALLOC_INVALID: CAPTURE_MEMORY_ALLOCATION_FLAGS = CAPTURE_MEMORY_ALLOCATION_FLAGS(0i32);
1269 pub const KS_CAPTURE_ALLOC_SYSTEM: CAPTURE_MEMORY_ALLOCATION_FLAGS = CAPTURE_MEMORY_ALLOCATION_FLAGS(1i32);
1270 pub const KS_CAPTURE_ALLOC_VRAM: CAPTURE_MEMORY_ALLOCATION_FLAGS = CAPTURE_MEMORY_ALLOCATION_FLAGS(2i32);
1271 pub const KS_CAPTURE_ALLOC_SYSTEM_AGP: CAPTURE_MEMORY_ALLOCATION_FLAGS = CAPTURE_MEMORY_ALLOCATION_FLAGS(4i32);
1272 pub const KS_CAPTURE_ALLOC_VRAM_MAPPED: CAPTURE_MEMORY_ALLOCATION_FLAGS = CAPTURE_MEMORY_ALLOCATION_FLAGS(8i32);
1273 pub const KS_CAPTURE_ALLOC_SECURE_BUFFER: CAPTURE_MEMORY_ALLOCATION_FLAGS = CAPTURE_MEMORY_ALLOCATION_FLAGS(16i32);
1274 impl ::std::convert::From<i32> for CAPTURE_MEMORY_ALLOCATION_FLAGS {
from(value: i32) -> Self1275     fn from(value: i32) -> Self {
1276         Self(value)
1277     }
1278 }
1279 unsafe impl ::windows::runtime::Abi for CAPTURE_MEMORY_ALLOCATION_FLAGS {
1280     type Abi = Self;
1281     type DefaultType = Self;
1282 }
1283 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1284 #[repr(C)]
1285 pub struct CC_BYTE_PAIR {
1286     pub Decoded: [u8; 2],
1287     pub Reserved: u16,
1288 }
1289 impl CC_BYTE_PAIR {}
1290 impl ::std::default::Default for CC_BYTE_PAIR {
default() -> Self1291     fn default() -> Self {
1292         unsafe { ::std::mem::zeroed() }
1293     }
1294 }
1295 impl ::std::fmt::Debug for CC_BYTE_PAIR {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1296     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1297         fmt.debug_struct("CC_BYTE_PAIR").field("Decoded", &self.Decoded).field("Reserved", &self.Reserved).finish()
1298     }
1299 }
1300 impl ::std::cmp::PartialEq for CC_BYTE_PAIR {
eq(&self, other: &Self) -> bool1301     fn eq(&self, other: &Self) -> bool {
1302         self.Decoded == other.Decoded && self.Reserved == other.Reserved
1303     }
1304 }
1305 impl ::std::cmp::Eq for CC_BYTE_PAIR {}
1306 unsafe impl ::windows::runtime::Abi for CC_BYTE_PAIR {
1307     type Abi = Self;
1308     type DefaultType = Self;
1309 }
1310 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1311 #[repr(C)]
1312 pub struct CC_HW_FIELD {
1313     pub ScanlinesRequested: VBICODECFILTERING_SCANLINES,
1314     pub fieldFlags: u32,
1315     pub PictureNumber: i64,
1316     pub Lines: [CC_BYTE_PAIR; 12],
1317 }
1318 impl CC_HW_FIELD {}
1319 impl ::std::default::Default for CC_HW_FIELD {
default() -> Self1320     fn default() -> Self {
1321         unsafe { ::std::mem::zeroed() }
1322     }
1323 }
1324 impl ::std::fmt::Debug for CC_HW_FIELD {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1325     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1326         fmt.debug_struct("CC_HW_FIELD").field("ScanlinesRequested", &self.ScanlinesRequested).field("fieldFlags", &self.fieldFlags).field("PictureNumber", &self.PictureNumber).field("Lines", &self.Lines).finish()
1327     }
1328 }
1329 impl ::std::cmp::PartialEq for CC_HW_FIELD {
eq(&self, other: &Self) -> bool1330     fn eq(&self, other: &Self) -> bool {
1331         self.ScanlinesRequested == other.ScanlinesRequested && self.fieldFlags == other.fieldFlags && self.PictureNumber == other.PictureNumber && self.Lines == other.Lines
1332     }
1333 }
1334 impl ::std::cmp::Eq for CC_HW_FIELD {}
1335 unsafe impl ::windows::runtime::Abi for CC_HW_FIELD {
1336     type Abi = Self;
1337     type DefaultType = Self;
1338 }
1339 pub const CC_MAX_HW_DECODE_LINES: u32 = 12u32;
1340 pub const CLSID_KsIBasicAudioInterfaceHandler: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3120081982, 3953, 4562, [183, 44, 0, 192, 79, 182, 189, 61]);
1341 pub const CODECAPI_ALLSETTINGS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1784118930, 33761, 16659, [173, 194, 79, 206, 195, 47, 131, 161]);
1342 pub const CODECAPI_AUDIO_ENCODER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3117521470, 63639, 17052, [188, 70, 129, 56, 183, 39, 43, 45]);
1343 pub const CODECAPI_CHANGELISTS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1655777999, 63152, 18393, [148, 86, 150, 242, 44, 78, 11, 157]);
1344 pub const CODECAPI_CURRENTCHANGELIST: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(481382019, 32114, 18007, [131, 253, 71, 162, 197, 185, 209, 61]);
1345 pub const CODECAPI_SETALLDEFAULTS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1818126972, 44280, 20309, [169, 153, 26, 98, 129, 9, 5, 27]);
1346 pub const CODECAPI_SUPPORTSEVENTS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(92385175, 30355, 19901, [157, 202, 63, 158, 189, 101, 133, 161]);
1347 pub const CODECAPI_VIDEO_ENCODER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1897064673, 15619, 18415, [142, 96, 3, 241, 207, 83, 115, 1]);
1348 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1349 #[repr(transparent)]
1350 pub struct CONSTRICTOR_OPTION(pub i32);
1351 pub const CONSTRICTOR_OPTION_DISABLE: CONSTRICTOR_OPTION = CONSTRICTOR_OPTION(0i32);
1352 pub const CONSTRICTOR_OPTION_MUTE: CONSTRICTOR_OPTION = CONSTRICTOR_OPTION(1i32);
1353 impl ::std::convert::From<i32> for CONSTRICTOR_OPTION {
from(value: i32) -> Self1354     fn from(value: i32) -> Self {
1355         Self(value)
1356     }
1357 }
1358 unsafe impl ::windows::runtime::Abi for CONSTRICTOR_OPTION {
1359     type Abi = Self;
1360     type DefaultType = Self;
1361 }
1362 #[inline]
CoRegisterMessageFilter<'a, Param0: ::windows::runtime::IntoParam<'a, IMessageFilter>>(lpmessagefilter: Param0) -> ::windows::runtime::Result<IMessageFilter>1363 pub unsafe fn CoRegisterMessageFilter<'a, Param0: ::windows::runtime::IntoParam<'a, IMessageFilter>>(lpmessagefilter: Param0) -> ::windows::runtime::Result<IMessageFilter> {
1364     #[cfg(windows)]
1365     {
1366         #[link(name = "windows")]
1367         extern "system" {
1368             fn CoRegisterMessageFilter(lpmessagefilter: ::windows::runtime::RawPtr, lplpmessagefilter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
1369         }
1370         let mut result__: <IMessageFilter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1371         CoRegisterMessageFilter(lpmessagefilter.into_param().abi(), &mut result__).from_abi::<IMessageFilter>(result__)
1372     }
1373     #[cfg(not(windows))]
1374     unimplemented!("Unsupported target OS");
1375 }
1376 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1377 #[repr(transparent)]
1378 pub struct ConnectorType(pub i32);
1379 impl ConnectorType {
1380     pub const Unknown_Connector: ConnectorType = ConnectorType(0i32);
1381     pub const Physical_Internal: ConnectorType = ConnectorType(1i32);
1382     pub const Physical_External: ConnectorType = ConnectorType(2i32);
1383     pub const Software_IO: ConnectorType = ConnectorType(3i32);
1384     pub const Software_Fixed: ConnectorType = ConnectorType(4i32);
1385     pub const Network: ConnectorType = ConnectorType(5i32);
1386 }
1387 impl ::std::convert::From<i32> for ConnectorType {
from(value: i32) -> Self1388     fn from(value: i32) -> Self {
1389         Self(value)
1390     }
1391 }
1392 unsafe impl ::windows::runtime::Abi for ConnectorType {
1393     type Abi = Self;
1394     type DefaultType = Self;
1395 }
1396 #[inline]
CreateCaptureAudioStateMonitor() -> ::windows::runtime::Result<IAudioStateMonitor>1397 pub unsafe fn CreateCaptureAudioStateMonitor() -> ::windows::runtime::Result<IAudioStateMonitor> {
1398     #[cfg(windows)]
1399     {
1400         #[link(name = "windows")]
1401         extern "system" {
1402             fn CreateCaptureAudioStateMonitor(audiostatemonitor: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
1403         }
1404         let mut result__: <IAudioStateMonitor as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1405         CreateCaptureAudioStateMonitor(&mut result__).from_abi::<IAudioStateMonitor>(result__)
1406     }
1407     #[cfg(not(windows))]
1408     unimplemented!("Unsupported target OS");
1409 }
1410 #[inline]
CreateCaptureAudioStateMonitorForCategory(category: AUDIO_STREAM_CATEGORY) -> ::windows::runtime::Result<IAudioStateMonitor>1411 pub unsafe fn CreateCaptureAudioStateMonitorForCategory(category: AUDIO_STREAM_CATEGORY) -> ::windows::runtime::Result<IAudioStateMonitor> {
1412     #[cfg(windows)]
1413     {
1414         #[link(name = "windows")]
1415         extern "system" {
1416             fn CreateCaptureAudioStateMonitorForCategory(category: AUDIO_STREAM_CATEGORY, audiostatemonitor: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
1417         }
1418         let mut result__: <IAudioStateMonitor as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1419         CreateCaptureAudioStateMonitorForCategory(::std::mem::transmute(category), &mut result__).from_abi::<IAudioStateMonitor>(result__)
1420     }
1421     #[cfg(not(windows))]
1422     unimplemented!("Unsupported target OS");
1423 }
1424 #[cfg(feature = "Win32_Foundation")]
1425 #[inline]
CreateCaptureAudioStateMonitorForCategoryAndDeviceId<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(category: AUDIO_STREAM_CATEGORY, deviceid: Param1) -> ::windows::runtime::Result<IAudioStateMonitor>1426 pub unsafe fn CreateCaptureAudioStateMonitorForCategoryAndDeviceId<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(category: AUDIO_STREAM_CATEGORY, deviceid: Param1) -> ::windows::runtime::Result<IAudioStateMonitor> {
1427     #[cfg(windows)]
1428     {
1429         #[link(name = "windows")]
1430         extern "system" {
1431             fn CreateCaptureAudioStateMonitorForCategoryAndDeviceId(category: AUDIO_STREAM_CATEGORY, deviceid: super::super::super::Foundation::PWSTR, audiostatemonitor: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
1432         }
1433         let mut result__: <IAudioStateMonitor as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1434         CreateCaptureAudioStateMonitorForCategoryAndDeviceId(::std::mem::transmute(category), deviceid.into_param().abi(), &mut result__).from_abi::<IAudioStateMonitor>(result__)
1435     }
1436     #[cfg(not(windows))]
1437     unimplemented!("Unsupported target OS");
1438 }
1439 #[inline]
CreateCaptureAudioStateMonitorForCategoryAndDeviceRole(category: AUDIO_STREAM_CATEGORY, role: ERole) -> ::windows::runtime::Result<IAudioStateMonitor>1440 pub unsafe fn CreateCaptureAudioStateMonitorForCategoryAndDeviceRole(category: AUDIO_STREAM_CATEGORY, role: ERole) -> ::windows::runtime::Result<IAudioStateMonitor> {
1441     #[cfg(windows)]
1442     {
1443         #[link(name = "windows")]
1444         extern "system" {
1445             fn CreateCaptureAudioStateMonitorForCategoryAndDeviceRole(category: AUDIO_STREAM_CATEGORY, role: ERole, audiostatemonitor: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
1446         }
1447         let mut result__: <IAudioStateMonitor as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1448         CreateCaptureAudioStateMonitorForCategoryAndDeviceRole(::std::mem::transmute(category), ::std::mem::transmute(role), &mut result__).from_abi::<IAudioStateMonitor>(result__)
1449     }
1450     #[cfg(not(windows))]
1451     unimplemented!("Unsupported target OS");
1452 }
1453 #[inline]
CreateRenderAudioStateMonitor() -> ::windows::runtime::Result<IAudioStateMonitor>1454 pub unsafe fn CreateRenderAudioStateMonitor() -> ::windows::runtime::Result<IAudioStateMonitor> {
1455     #[cfg(windows)]
1456     {
1457         #[link(name = "windows")]
1458         extern "system" {
1459             fn CreateRenderAudioStateMonitor(audiostatemonitor: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
1460         }
1461         let mut result__: <IAudioStateMonitor as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1462         CreateRenderAudioStateMonitor(&mut result__).from_abi::<IAudioStateMonitor>(result__)
1463     }
1464     #[cfg(not(windows))]
1465     unimplemented!("Unsupported target OS");
1466 }
1467 #[inline]
CreateRenderAudioStateMonitorForCategory(category: AUDIO_STREAM_CATEGORY) -> ::windows::runtime::Result<IAudioStateMonitor>1468 pub unsafe fn CreateRenderAudioStateMonitorForCategory(category: AUDIO_STREAM_CATEGORY) -> ::windows::runtime::Result<IAudioStateMonitor> {
1469     #[cfg(windows)]
1470     {
1471         #[link(name = "windows")]
1472         extern "system" {
1473             fn CreateRenderAudioStateMonitorForCategory(category: AUDIO_STREAM_CATEGORY, audiostatemonitor: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
1474         }
1475         let mut result__: <IAudioStateMonitor as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1476         CreateRenderAudioStateMonitorForCategory(::std::mem::transmute(category), &mut result__).from_abi::<IAudioStateMonitor>(result__)
1477     }
1478     #[cfg(not(windows))]
1479     unimplemented!("Unsupported target OS");
1480 }
1481 #[cfg(feature = "Win32_Foundation")]
1482 #[inline]
CreateRenderAudioStateMonitorForCategoryAndDeviceId<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(category: AUDIO_STREAM_CATEGORY, deviceid: Param1) -> ::windows::runtime::Result<IAudioStateMonitor>1483 pub unsafe fn CreateRenderAudioStateMonitorForCategoryAndDeviceId<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(category: AUDIO_STREAM_CATEGORY, deviceid: Param1) -> ::windows::runtime::Result<IAudioStateMonitor> {
1484     #[cfg(windows)]
1485     {
1486         #[link(name = "windows")]
1487         extern "system" {
1488             fn CreateRenderAudioStateMonitorForCategoryAndDeviceId(category: AUDIO_STREAM_CATEGORY, deviceid: super::super::super::Foundation::PWSTR, audiostatemonitor: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
1489         }
1490         let mut result__: <IAudioStateMonitor as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1491         CreateRenderAudioStateMonitorForCategoryAndDeviceId(::std::mem::transmute(category), deviceid.into_param().abi(), &mut result__).from_abi::<IAudioStateMonitor>(result__)
1492     }
1493     #[cfg(not(windows))]
1494     unimplemented!("Unsupported target OS");
1495 }
1496 #[inline]
CreateRenderAudioStateMonitorForCategoryAndDeviceRole(category: AUDIO_STREAM_CATEGORY, role: ERole) -> ::windows::runtime::Result<IAudioStateMonitor>1497 pub unsafe fn CreateRenderAudioStateMonitorForCategoryAndDeviceRole(category: AUDIO_STREAM_CATEGORY, role: ERole) -> ::windows::runtime::Result<IAudioStateMonitor> {
1498     #[cfg(windows)]
1499     {
1500         #[link(name = "windows")]
1501         extern "system" {
1502             fn CreateRenderAudioStateMonitorForCategoryAndDeviceRole(category: AUDIO_STREAM_CATEGORY, role: ERole, audiostatemonitor: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
1503         }
1504         let mut result__: <IAudioStateMonitor as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1505         CreateRenderAudioStateMonitorForCategoryAndDeviceRole(::std::mem::transmute(category), ::std::mem::transmute(role), &mut result__).from_abi::<IAudioStateMonitor>(result__)
1506     }
1507     #[cfg(not(windows))]
1508     unimplemented!("Unsupported target OS");
1509 }
1510 pub const DDPF_FOURCC: i32 = 4i32;
1511 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1512 #[repr(C)]
1513 pub struct DEVCAPS {
1514     pub CanRecord: i32,
1515     pub CanRecordStrobe: i32,
1516     pub HasAudio: i32,
1517     pub HasVideo: i32,
1518     pub UsesFiles: i32,
1519     pub CanSave: i32,
1520     pub DeviceType: i32,
1521     pub TCRead: i32,
1522     pub TCWrite: i32,
1523     pub CTLRead: i32,
1524     pub IndexRead: i32,
1525     pub Preroll: i32,
1526     pub Postroll: i32,
1527     pub SyncAcc: i32,
1528     pub NormRate: i32,
1529     pub CanPreview: i32,
1530     pub CanMonitorSrc: i32,
1531     pub CanTest: i32,
1532     pub VideoIn: i32,
1533     pub AudioIn: i32,
1534     pub Calibrate: i32,
1535     pub SeekType: i32,
1536     pub SimulatedHardware: i32,
1537 }
1538 impl DEVCAPS {}
1539 impl ::std::default::Default for DEVCAPS {
default() -> Self1540     fn default() -> Self {
1541         unsafe { ::std::mem::zeroed() }
1542     }
1543 }
1544 impl ::std::fmt::Debug for DEVCAPS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1545     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1546         fmt.debug_struct("DEVCAPS")
1547             .field("CanRecord", &self.CanRecord)
1548             .field("CanRecordStrobe", &self.CanRecordStrobe)
1549             .field("HasAudio", &self.HasAudio)
1550             .field("HasVideo", &self.HasVideo)
1551             .field("UsesFiles", &self.UsesFiles)
1552             .field("CanSave", &self.CanSave)
1553             .field("DeviceType", &self.DeviceType)
1554             .field("TCRead", &self.TCRead)
1555             .field("TCWrite", &self.TCWrite)
1556             .field("CTLRead", &self.CTLRead)
1557             .field("IndexRead", &self.IndexRead)
1558             .field("Preroll", &self.Preroll)
1559             .field("Postroll", &self.Postroll)
1560             .field("SyncAcc", &self.SyncAcc)
1561             .field("NormRate", &self.NormRate)
1562             .field("CanPreview", &self.CanPreview)
1563             .field("CanMonitorSrc", &self.CanMonitorSrc)
1564             .field("CanTest", &self.CanTest)
1565             .field("VideoIn", &self.VideoIn)
1566             .field("AudioIn", &self.AudioIn)
1567             .field("Calibrate", &self.Calibrate)
1568             .field("SeekType", &self.SeekType)
1569             .field("SimulatedHardware", &self.SimulatedHardware)
1570             .finish()
1571     }
1572 }
1573 impl ::std::cmp::PartialEq for DEVCAPS {
eq(&self, other: &Self) -> bool1574     fn eq(&self, other: &Self) -> bool {
1575         self.CanRecord == other.CanRecord
1576             && self.CanRecordStrobe == other.CanRecordStrobe
1577             && self.HasAudio == other.HasAudio
1578             && self.HasVideo == other.HasVideo
1579             && self.UsesFiles == other.UsesFiles
1580             && self.CanSave == other.CanSave
1581             && self.DeviceType == other.DeviceType
1582             && self.TCRead == other.TCRead
1583             && self.TCWrite == other.TCWrite
1584             && self.CTLRead == other.CTLRead
1585             && self.IndexRead == other.IndexRead
1586             && self.Preroll == other.Preroll
1587             && self.Postroll == other.Postroll
1588             && self.SyncAcc == other.SyncAcc
1589             && self.NormRate == other.NormRate
1590             && self.CanPreview == other.CanPreview
1591             && self.CanMonitorSrc == other.CanMonitorSrc
1592             && self.CanTest == other.CanTest
1593             && self.VideoIn == other.VideoIn
1594             && self.AudioIn == other.AudioIn
1595             && self.Calibrate == other.Calibrate
1596             && self.SeekType == other.SeekType
1597             && self.SimulatedHardware == other.SimulatedHardware
1598     }
1599 }
1600 impl ::std::cmp::Eq for DEVCAPS {}
1601 unsafe impl ::windows::runtime::Abi for DEVCAPS {
1602     type Abi = Self;
1603     type DefaultType = Self;
1604 }
1605 pub const DEVICE_STATEMASK_ALL: u32 = 15u32;
1606 pub const DEVICE_STATE_ACTIVE: u32 = 1u32;
1607 pub const DEVICE_STATE_DISABLED: u32 = 2u32;
1608 pub const DEVICE_STATE_NOTPRESENT: u32 = 4u32;
1609 pub const DEVICE_STATE_UNPLUGGED: u32 = 8u32;
1610 pub const DEVINTERFACE_AUDIOENDPOINTPLUGIN: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2670689126, 26028, 20390, [138, 228, 18, 60, 120, 184, 147, 19]);
1611 pub const DEVINTERFACE_AUDIO_CAPTURE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(787448254, 13306, 18432, [150, 112, 28, 212, 116, 151, 44, 63]);
1612 pub const DEVINTERFACE_AUDIO_RENDER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3862068397, 56556, 18761, [174, 138, 153, 30, 151, 106, 121, 210]);
1613 pub const DEVINTERFACE_MIDI_INPUT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1347150636, 52470, 19756, [183, 63, 111, 139, 55, 71, 226, 43]);
1614 pub const DEVINTERFACE_MIDI_OUTPUT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1841443616, 43827, 19684, [128, 212, 187, 179, 235, 191, 40, 20]);
1615 #[cfg(feature = "Win32_System_PropertiesSystem")]
1616 pub const DEVPKEY_KsAudio_Controller_DeviceInterface_Path: super::super::super::System::PropertiesSystem::PROPERTYKEY = super::super::super::System::PropertiesSystem::PROPERTYKEY {
1617     fmtid: ::windows::runtime::GUID::from_values(333448406, 45158, 17341, [145, 59, 164, 21, 205, 19, 218, 135]),
1618     pid: 3u32,
1619 };
1620 #[cfg(feature = "Win32_System_PropertiesSystem")]
1621 pub const DEVPKEY_KsAudio_PacketSize_Constraints: super::super::super::System::PropertiesSystem::PROPERTYKEY = super::super::super::System::PropertiesSystem::PROPERTYKEY {
1622     fmtid: ::windows::runtime::GUID::from_values(333448406, 45158, 17341, [145, 59, 164, 21, 205, 19, 218, 135]),
1623     pid: 2u32,
1624 };
1625 #[cfg(feature = "Win32_System_PropertiesSystem")]
1626 pub const DEVPKEY_KsAudio_PacketSize_Constraints2: super::super::super::System::PropertiesSystem::PROPERTYKEY = super::super::super::System::PropertiesSystem::PROPERTYKEY {
1627     fmtid: ::windows::runtime::GUID::from_values(2483353473, 29073, 16539, [139, 11, 128, 191, 110, 194, 41, 174]),
1628     pid: 2u32,
1629 };
1630 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1631 #[repr(C)]
1632 pub struct DIRECTX_AUDIO_ACTIVATION_PARAMS {
1633     pub cbDirectXAudioActivationParams: u32,
1634     pub guidAudioSession: ::windows::runtime::GUID,
1635     pub dwAudioStreamFlags: u32,
1636 }
1637 impl DIRECTX_AUDIO_ACTIVATION_PARAMS {}
1638 impl ::std::default::Default for DIRECTX_AUDIO_ACTIVATION_PARAMS {
default() -> Self1639     fn default() -> Self {
1640         unsafe { ::std::mem::zeroed() }
1641     }
1642 }
1643 impl ::std::fmt::Debug for DIRECTX_AUDIO_ACTIVATION_PARAMS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1644     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1645         fmt.debug_struct("DIRECTX_AUDIO_ACTIVATION_PARAMS").field("cbDirectXAudioActivationParams", &self.cbDirectXAudioActivationParams).field("guidAudioSession", &self.guidAudioSession).field("dwAudioStreamFlags", &self.dwAudioStreamFlags).finish()
1646     }
1647 }
1648 impl ::std::cmp::PartialEq for DIRECTX_AUDIO_ACTIVATION_PARAMS {
eq(&self, other: &Self) -> bool1649     fn eq(&self, other: &Self) -> bool {
1650         self.cbDirectXAudioActivationParams == other.cbDirectXAudioActivationParams && self.guidAudioSession == other.guidAudioSession && self.dwAudioStreamFlags == other.dwAudioStreamFlags
1651     }
1652 }
1653 impl ::std::cmp::Eq for DIRECTX_AUDIO_ACTIVATION_PARAMS {}
1654 unsafe impl ::windows::runtime::Abi for DIRECTX_AUDIO_ACTIVATION_PARAMS {
1655     type Abi = Self;
1656     type DefaultType = Self;
1657 }
1658 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1659 #[repr(C)]
1660 pub struct DS3DVECTOR {
1661     pub Anonymous1: DS3DVECTOR_0,
1662     pub Anonymous2: DS3DVECTOR_1,
1663     pub Anonymous3: DS3DVECTOR_2,
1664 }
1665 impl DS3DVECTOR {}
1666 impl ::std::default::Default for DS3DVECTOR {
default() -> Self1667     fn default() -> Self {
1668         unsafe { ::std::mem::zeroed() }
1669     }
1670 }
1671 impl ::std::cmp::PartialEq for DS3DVECTOR {
eq(&self, _other: &Self) -> bool1672     fn eq(&self, _other: &Self) -> bool {
1673         unimplemented!()
1674     }
1675 }
1676 impl ::std::cmp::Eq for DS3DVECTOR {}
1677 unsafe impl ::windows::runtime::Abi for DS3DVECTOR {
1678     type Abi = Self;
1679     type DefaultType = Self;
1680 }
1681 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1682 #[repr(C)]
1683 pub union DS3DVECTOR_0 {
1684     pub x: f32,
1685     pub dvX: f32,
1686 }
1687 impl DS3DVECTOR_0 {}
1688 impl ::std::default::Default for DS3DVECTOR_0 {
default() -> Self1689     fn default() -> Self {
1690         unsafe { ::std::mem::zeroed() }
1691     }
1692 }
1693 impl ::std::cmp::PartialEq for DS3DVECTOR_0 {
eq(&self, _other: &Self) -> bool1694     fn eq(&self, _other: &Self) -> bool {
1695         unimplemented!()
1696     }
1697 }
1698 impl ::std::cmp::Eq for DS3DVECTOR_0 {}
1699 unsafe impl ::windows::runtime::Abi for DS3DVECTOR_0 {
1700     type Abi = Self;
1701     type DefaultType = Self;
1702 }
1703 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1704 #[repr(C)]
1705 pub union DS3DVECTOR_1 {
1706     pub y: f32,
1707     pub dvY: f32,
1708 }
1709 impl DS3DVECTOR_1 {}
1710 impl ::std::default::Default for DS3DVECTOR_1 {
default() -> Self1711     fn default() -> Self {
1712         unsafe { ::std::mem::zeroed() }
1713     }
1714 }
1715 impl ::std::cmp::PartialEq for DS3DVECTOR_1 {
eq(&self, _other: &Self) -> bool1716     fn eq(&self, _other: &Self) -> bool {
1717         unimplemented!()
1718     }
1719 }
1720 impl ::std::cmp::Eq for DS3DVECTOR_1 {}
1721 unsafe impl ::windows::runtime::Abi for DS3DVECTOR_1 {
1722     type Abi = Self;
1723     type DefaultType = Self;
1724 }
1725 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1726 #[repr(C)]
1727 pub union DS3DVECTOR_2 {
1728     pub z: f32,
1729     pub dvZ: f32,
1730 }
1731 impl DS3DVECTOR_2 {}
1732 impl ::std::default::Default for DS3DVECTOR_2 {
default() -> Self1733     fn default() -> Self {
1734         unsafe { ::std::mem::zeroed() }
1735     }
1736 }
1737 impl ::std::cmp::PartialEq for DS3DVECTOR_2 {
eq(&self, _other: &Self) -> bool1738     fn eq(&self, _other: &Self) -> bool {
1739         unimplemented!()
1740     }
1741 }
1742 impl ::std::cmp::Eq for DS3DVECTOR_2 {}
1743 unsafe impl ::windows::runtime::Abi for DS3DVECTOR_2 {
1744     type Abi = Self;
1745     type DefaultType = Self;
1746 }
1747 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1748 #[repr(transparent)]
1749 pub struct DataFlow(pub i32);
1750 pub const In: DataFlow = DataFlow(0i32);
1751 pub const Out: DataFlow = DataFlow(1i32);
1752 impl ::std::convert::From<i32> for DataFlow {
from(value: i32) -> Self1753     fn from(value: i32) -> Self {
1754         Self(value)
1755     }
1756 }
1757 unsafe impl ::windows::runtime::Abi for DataFlow {
1758     type Abi = Self;
1759     type DefaultType = Self;
1760 }
1761 pub const DeviceTopology: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(502675920, 24257, 18346, [147, 121, 130, 141, 193, 170, 140, 89]);
1762 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1763 #[repr(transparent)]
1764 pub struct EDataFlow(pub i32);
1765 pub const eRender: EDataFlow = EDataFlow(0i32);
1766 pub const eCapture: EDataFlow = EDataFlow(1i32);
1767 pub const eAll: EDataFlow = EDataFlow(2i32);
1768 pub const EDataFlow_enum_count: EDataFlow = EDataFlow(3i32);
1769 impl ::std::convert::From<i32> for EDataFlow {
from(value: i32) -> Self1770     fn from(value: i32) -> Self {
1771         Self(value)
1772     }
1773 }
1774 unsafe impl ::windows::runtime::Abi for EDataFlow {
1775     type Abi = Self;
1776     type DefaultType = Self;
1777 }
1778 pub const ENCAPIPARAM_BITRATE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1238125635, 51843, 19156, [169, 175, 243, 105, 106, 246, 102, 223]);
1779 pub const ENCAPIPARAM_BITRATE_MODE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3999248988, 50963, 16593, [157, 88, 192, 215, 36, 30, 37, 15]);
1780 pub const ENCAPIPARAM_PEAK_BITRATE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1883182761, 15688, 17569, [176, 119, 1, 141, 255, 145, 93, 25]);
1781 pub const ENDPOINT_FORMAT_RESET_MIX_ONLY: u32 = 1u32;
1782 pub const ENDPOINT_HARDWARE_SUPPORT_METER: u32 = 4u32;
1783 pub const ENDPOINT_HARDWARE_SUPPORT_MUTE: u32 = 2u32;
1784 pub const ENDPOINT_HARDWARE_SUPPORT_VOLUME: u32 = 1u32;
1785 pub const ENDPOINT_SYSFX_DISABLED: u32 = 1u32;
1786 pub const ENDPOINT_SYSFX_ENABLED: u32 = 0u32;
1787 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1788 #[repr(transparent)]
1789 pub struct EPcxConnectionType(pub i32);
1790 pub const eConnTypeUnknown: EPcxConnectionType = EPcxConnectionType(0i32);
1791 pub const eConnType3Point5mm: EPcxConnectionType = EPcxConnectionType(1i32);
1792 pub const eConnTypeQuarter: EPcxConnectionType = EPcxConnectionType(2i32);
1793 pub const eConnTypeAtapiInternal: EPcxConnectionType = EPcxConnectionType(3i32);
1794 pub const eConnTypeRCA: EPcxConnectionType = EPcxConnectionType(4i32);
1795 pub const eConnTypeOptical: EPcxConnectionType = EPcxConnectionType(5i32);
1796 pub const eConnTypeOtherDigital: EPcxConnectionType = EPcxConnectionType(6i32);
1797 pub const eConnTypeOtherAnalog: EPcxConnectionType = EPcxConnectionType(7i32);
1798 pub const eConnTypeMultichannelAnalogDIN: EPcxConnectionType = EPcxConnectionType(8i32);
1799 pub const eConnTypeXlrProfessional: EPcxConnectionType = EPcxConnectionType(9i32);
1800 pub const eConnTypeRJ11Modem: EPcxConnectionType = EPcxConnectionType(10i32);
1801 pub const eConnTypeCombination: EPcxConnectionType = EPcxConnectionType(11i32);
1802 impl ::std::convert::From<i32> for EPcxConnectionType {
from(value: i32) -> Self1803     fn from(value: i32) -> Self {
1804         Self(value)
1805     }
1806 }
1807 unsafe impl ::windows::runtime::Abi for EPcxConnectionType {
1808     type Abi = Self;
1809     type DefaultType = Self;
1810 }
1811 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1812 #[repr(transparent)]
1813 pub struct EPcxGenLocation(pub i32);
1814 pub const eGenLocPrimaryBox: EPcxGenLocation = EPcxGenLocation(0i32);
1815 pub const eGenLocInternal: EPcxGenLocation = EPcxGenLocation(1i32);
1816 pub const eGenLocSeparate: EPcxGenLocation = EPcxGenLocation(2i32);
1817 pub const eGenLocOther: EPcxGenLocation = EPcxGenLocation(3i32);
1818 pub const EPcxGenLocation_enum_count: EPcxGenLocation = EPcxGenLocation(4i32);
1819 impl ::std::convert::From<i32> for EPcxGenLocation {
from(value: i32) -> Self1820     fn from(value: i32) -> Self {
1821         Self(value)
1822     }
1823 }
1824 unsafe impl ::windows::runtime::Abi for EPcxGenLocation {
1825     type Abi = Self;
1826     type DefaultType = Self;
1827 }
1828 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1829 #[repr(transparent)]
1830 pub struct EPcxGeoLocation(pub i32);
1831 pub const eGeoLocRear: EPcxGeoLocation = EPcxGeoLocation(1i32);
1832 pub const eGeoLocFront: EPcxGeoLocation = EPcxGeoLocation(2i32);
1833 pub const eGeoLocLeft: EPcxGeoLocation = EPcxGeoLocation(3i32);
1834 pub const eGeoLocRight: EPcxGeoLocation = EPcxGeoLocation(4i32);
1835 pub const eGeoLocTop: EPcxGeoLocation = EPcxGeoLocation(5i32);
1836 pub const eGeoLocBottom: EPcxGeoLocation = EPcxGeoLocation(6i32);
1837 pub const eGeoLocRearPanel: EPcxGeoLocation = EPcxGeoLocation(7i32);
1838 pub const eGeoLocRiser: EPcxGeoLocation = EPcxGeoLocation(8i32);
1839 pub const eGeoLocInsideMobileLid: EPcxGeoLocation = EPcxGeoLocation(9i32);
1840 pub const eGeoLocDrivebay: EPcxGeoLocation = EPcxGeoLocation(10i32);
1841 pub const eGeoLocHDMI: EPcxGeoLocation = EPcxGeoLocation(11i32);
1842 pub const eGeoLocOutsideMobileLid: EPcxGeoLocation = EPcxGeoLocation(12i32);
1843 pub const eGeoLocATAPI: EPcxGeoLocation = EPcxGeoLocation(13i32);
1844 pub const eGeoLocNotApplicable: EPcxGeoLocation = EPcxGeoLocation(14i32);
1845 pub const eGeoLocReserved6: EPcxGeoLocation = EPcxGeoLocation(15i32);
1846 pub const EPcxGeoLocation_enum_count: EPcxGeoLocation = EPcxGeoLocation(16i32);
1847 impl ::std::convert::From<i32> for EPcxGeoLocation {
from(value: i32) -> Self1848     fn from(value: i32) -> Self {
1849         Self(value)
1850     }
1851 }
1852 unsafe impl ::windows::runtime::Abi for EPcxGeoLocation {
1853     type Abi = Self;
1854     type DefaultType = Self;
1855 }
1856 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1857 #[repr(transparent)]
1858 pub struct EPxcPortConnection(pub i32);
1859 pub const ePortConnJack: EPxcPortConnection = EPxcPortConnection(0i32);
1860 pub const ePortConnIntegratedDevice: EPxcPortConnection = EPxcPortConnection(1i32);
1861 pub const ePortConnBothIntegratedAndJack: EPxcPortConnection = EPxcPortConnection(2i32);
1862 pub const ePortConnUnknown: EPxcPortConnection = EPxcPortConnection(3i32);
1863 impl ::std::convert::From<i32> for EPxcPortConnection {
from(value: i32) -> Self1864     fn from(value: i32) -> Self {
1865         Self(value)
1866     }
1867 }
1868 unsafe impl ::windows::runtime::Abi for EPxcPortConnection {
1869     type Abi = Self;
1870     type DefaultType = Self;
1871 }
1872 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1873 #[repr(transparent)]
1874 pub struct ERole(pub i32);
1875 pub const eConsole: ERole = ERole(0i32);
1876 pub const eMultimedia: ERole = ERole(1i32);
1877 pub const eCommunications: ERole = ERole(2i32);
1878 pub const ERole_enum_count: ERole = ERole(3i32);
1879 impl ::std::convert::From<i32> for ERole {
from(value: i32) -> Self1880     fn from(value: i32) -> Self {
1881         Self(value)
1882     }
1883 }
1884 unsafe impl ::windows::runtime::Abi for ERole {
1885     type Abi = Self;
1886     type DefaultType = Self;
1887 }
1888 pub const EVENTCONTEXT_VOLUMESLIDER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3804424670, 2481, 19204, [132, 229, 7, 147, 18, 37, 238, 4]);
1889 pub const EVENTSETID_CROSSBAR: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1781401153, 10468, 4560, [161, 140, 0, 160, 201, 17, 137, 86]);
1890 pub const EVENTSETID_TUNER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1781401094, 10468, 4560, [161, 140, 0, 160, 201, 17, 137, 86]);
1891 pub const EVENTSETID_VIDCAP_CAMERACONTROL_REGION_OF_INTEREST: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(803208285, 50994, 19366, [181, 223, 107, 77, 127, 200, 139, 139]);
1892 pub const EVENTSETID_VIDEODECODER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1781401121, 10468, 4560, [161, 140, 0, 160, 201, 17, 137, 86]);
1893 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1894 #[repr(transparent)]
1895 pub struct EndpointConnectorType(pub i32);
1896 pub const eHostProcessConnector: EndpointConnectorType = EndpointConnectorType(0i32);
1897 pub const eOffloadConnector: EndpointConnectorType = EndpointConnectorType(1i32);
1898 pub const eLoopbackConnector: EndpointConnectorType = EndpointConnectorType(2i32);
1899 pub const eKeywordDetectorConnector: EndpointConnectorType = EndpointConnectorType(3i32);
1900 pub const eConnectorCount: EndpointConnectorType = EndpointConnectorType(4i32);
1901 impl ::std::convert::From<i32> for EndpointConnectorType {
from(value: i32) -> Self1902     fn from(value: i32) -> Self {
1903         Self(value)
1904     }
1905 }
1906 unsafe impl ::windows::runtime::Abi for EndpointConnectorType {
1907     type Abi = Self;
1908     type DefaultType = Self;
1909 }
1910 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1911 #[repr(transparent)]
1912 pub struct EndpointFormFactor(pub i32);
1913 pub const RemoteNetworkDevice: EndpointFormFactor = EndpointFormFactor(0i32);
1914 pub const Speakers: EndpointFormFactor = EndpointFormFactor(1i32);
1915 pub const LineLevel: EndpointFormFactor = EndpointFormFactor(2i32);
1916 pub const Headphones: EndpointFormFactor = EndpointFormFactor(3i32);
1917 pub const Microphone: EndpointFormFactor = EndpointFormFactor(4i32);
1918 pub const Headset: EndpointFormFactor = EndpointFormFactor(5i32);
1919 pub const Handset: EndpointFormFactor = EndpointFormFactor(6i32);
1920 pub const UnknownDigitalPassthrough: EndpointFormFactor = EndpointFormFactor(7i32);
1921 pub const SPDIF: EndpointFormFactor = EndpointFormFactor(8i32);
1922 pub const DigitalAudioDisplayDevice: EndpointFormFactor = EndpointFormFactor(9i32);
1923 pub const UnknownFormFactor: EndpointFormFactor = EndpointFormFactor(10i32);
1924 pub const EndpointFormFactor_enum_count: EndpointFormFactor = EndpointFormFactor(11i32);
1925 impl ::std::convert::From<i32> for EndpointFormFactor {
from(value: i32) -> Self1926     fn from(value: i32) -> Self {
1927         Self(value)
1928     }
1929 }
1930 unsafe impl ::windows::runtime::Abi for EndpointFormFactor {
1931     type Abi = Self;
1932     type DefaultType = Self;
1933 }
1934 pub const GUID_NULL: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0]);
1935 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy, :: std :: fmt :: Debug, :: std :: cmp :: PartialEq, :: std :: cmp :: Eq)]
1936 #[repr(transparent)]
1937 pub struct HTASK(pub isize);
1938 impl ::std::default::Default for HTASK {
default() -> Self1939     fn default() -> Self {
1940         unsafe { ::std::mem::zeroed() }
1941     }
1942 }
1943 unsafe impl ::windows::runtime::Handle for HTASK {}
1944 unsafe impl ::windows::runtime::Abi for HTASK {
1945     type Abi = Self;
1946     type DefaultType = Self;
1947 }
1948 #[repr(transparent)]
1949 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1950 pub struct IActivateAudioInterfaceAsyncOperation(::windows::runtime::IUnknown);
1951 impl IActivateAudioInterfaceAsyncOperation {
GetActivateResult(&self, activateresult: *mut ::windows::runtime::HRESULT, activatedinterface: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()>1952     pub unsafe fn GetActivateResult(&self, activateresult: *mut ::windows::runtime::HRESULT, activatedinterface: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()> {
1953         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(activateresult), ::std::mem::transmute(activatedinterface)).ok()
1954     }
1955 }
1956 unsafe impl ::windows::runtime::Interface for IActivateAudioInterfaceAsyncOperation {
1957     type Vtable = IActivateAudioInterfaceAsyncOperation_abi;
1958     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1923231096, 52708, 17181, [184, 204, 132, 58, 113, 25, 155, 109]);
1959 }
1960 impl ::std::convert::From<IActivateAudioInterfaceAsyncOperation> for ::windows::runtime::IUnknown {
from(value: IActivateAudioInterfaceAsyncOperation) -> Self1961     fn from(value: IActivateAudioInterfaceAsyncOperation) -> Self {
1962         unsafe { ::std::mem::transmute(value) }
1963     }
1964 }
1965 impl ::std::convert::From<&IActivateAudioInterfaceAsyncOperation> for ::windows::runtime::IUnknown {
from(value: &IActivateAudioInterfaceAsyncOperation) -> Self1966     fn from(value: &IActivateAudioInterfaceAsyncOperation) -> Self {
1967         ::std::convert::From::from(::std::clone::Clone::clone(value))
1968     }
1969 }
1970 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IActivateAudioInterfaceAsyncOperation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1971     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1972         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1973     }
1974 }
1975 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IActivateAudioInterfaceAsyncOperation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1976     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1977         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1978     }
1979 }
1980 #[repr(C)]
1981 #[doc(hidden)]
1982 pub struct IActivateAudioInterfaceAsyncOperation_abi(
1983     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1984     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1985     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1986     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, activateresult: *mut ::windows::runtime::HRESULT, activatedinterface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1987 );
1988 #[repr(transparent)]
1989 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1990 pub struct IActivateAudioInterfaceCompletionHandler(::windows::runtime::IUnknown);
1991 impl IActivateAudioInterfaceCompletionHandler {
ActivateCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, IActivateAudioInterfaceAsyncOperation>>(&self, activateoperation: Param0) -> ::windows::runtime::Result<()>1992     pub unsafe fn ActivateCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, IActivateAudioInterfaceAsyncOperation>>(&self, activateoperation: Param0) -> ::windows::runtime::Result<()> {
1993         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), activateoperation.into_param().abi()).ok()
1994     }
1995 }
1996 unsafe impl ::windows::runtime::Interface for IActivateAudioInterfaceCompletionHandler {
1997     type Vtable = IActivateAudioInterfaceCompletionHandler_abi;
1998     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1104759211, 39010, 17482, [128, 246, 194, 97, 51, 77, 165, 235]);
1999 }
2000 impl ::std::convert::From<IActivateAudioInterfaceCompletionHandler> for ::windows::runtime::IUnknown {
from(value: IActivateAudioInterfaceCompletionHandler) -> Self2001     fn from(value: IActivateAudioInterfaceCompletionHandler) -> Self {
2002         unsafe { ::std::mem::transmute(value) }
2003     }
2004 }
2005 impl ::std::convert::From<&IActivateAudioInterfaceCompletionHandler> for ::windows::runtime::IUnknown {
from(value: &IActivateAudioInterfaceCompletionHandler) -> Self2006     fn from(value: &IActivateAudioInterfaceCompletionHandler) -> Self {
2007         ::std::convert::From::from(::std::clone::Clone::clone(value))
2008     }
2009 }
2010 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IActivateAudioInterfaceCompletionHandler {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2011     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2012         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2013     }
2014 }
2015 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IActivateAudioInterfaceCompletionHandler {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2016     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2017         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2018     }
2019 }
2020 #[repr(C)]
2021 #[doc(hidden)]
2022 pub struct IActivateAudioInterfaceCompletionHandler_abi(
2023     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2024     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2025     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2026     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, activateoperation: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2027 );
2028 #[repr(transparent)]
2029 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2030 pub struct IAudioAmbisonicsControl(::windows::runtime::IUnknown);
2031 impl IAudioAmbisonicsControl {
SetData(&self, pambisonicsparams: *const AMBISONICS_PARAMS, cbambisonicsparams: u32) -> ::windows::runtime::Result<()>2032     pub unsafe fn SetData(&self, pambisonicsparams: *const AMBISONICS_PARAMS, cbambisonicsparams: u32) -> ::windows::runtime::Result<()> {
2033         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pambisonicsparams), ::std::mem::transmute(cbambisonicsparams)).ok()
2034     }
2035     #[cfg(feature = "Win32_Foundation")]
SetHeadTracking<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, benableheadtracking: Param0) -> ::windows::runtime::Result<()>2036     pub unsafe fn SetHeadTracking<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, benableheadtracking: Param0) -> ::windows::runtime::Result<()> {
2037         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), benableheadtracking.into_param().abi()).ok()
2038     }
2039     #[cfg(feature = "Win32_Foundation")]
GetHeadTracking(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL>2040     pub unsafe fn GetHeadTracking(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL> {
2041         let mut result__: <super::super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2042         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::super::Foundation::BOOL>(result__)
2043     }
SetRotation(&self, x: f32, y: f32, z: f32, w: f32) -> ::windows::runtime::Result<()>2044     pub unsafe fn SetRotation(&self, x: f32, y: f32, z: f32, w: f32) -> ::windows::runtime::Result<()> {
2045         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(x), ::std::mem::transmute(y), ::std::mem::transmute(z), ::std::mem::transmute(w)).ok()
2046     }
2047 }
2048 unsafe impl ::windows::runtime::Interface for IAudioAmbisonicsControl {
2049     type Vtable = IAudioAmbisonicsControl_abi;
2050     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(678579345, 57141, 18518, [159, 118, 214, 162, 100, 19, 243, 223]);
2051 }
2052 impl ::std::convert::From<IAudioAmbisonicsControl> for ::windows::runtime::IUnknown {
from(value: IAudioAmbisonicsControl) -> Self2053     fn from(value: IAudioAmbisonicsControl) -> Self {
2054         unsafe { ::std::mem::transmute(value) }
2055     }
2056 }
2057 impl ::std::convert::From<&IAudioAmbisonicsControl> for ::windows::runtime::IUnknown {
from(value: &IAudioAmbisonicsControl) -> Self2058     fn from(value: &IAudioAmbisonicsControl) -> Self {
2059         ::std::convert::From::from(::std::clone::Clone::clone(value))
2060     }
2061 }
2062 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioAmbisonicsControl {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2063     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2064         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2065     }
2066 }
2067 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioAmbisonicsControl {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2068     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2069         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2070     }
2071 }
2072 #[repr(C)]
2073 #[doc(hidden)]
2074 pub struct IAudioAmbisonicsControl_abi(
2075     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2076     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2077     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2078     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pambisonicsparams: *const AMBISONICS_PARAMS, cbambisonicsparams: u32) -> ::windows::runtime::HRESULT,
2079     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, benableheadtracking: super::super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
2080     #[cfg(not(feature = "Win32_Foundation"))] usize,
2081     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbenableheadtracking: *mut super::super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
2082     #[cfg(not(feature = "Win32_Foundation"))] usize,
2083     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, x: f32, y: f32, z: f32, w: f32) -> ::windows::runtime::HRESULT,
2084 );
2085 #[repr(transparent)]
2086 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2087 pub struct IAudioAutoGainControl(::windows::runtime::IUnknown);
2088 impl IAudioAutoGainControl {
2089     #[cfg(feature = "Win32_Foundation")]
GetEnabled(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL>2090     pub unsafe fn GetEnabled(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL> {
2091         let mut result__: <super::super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2092         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::super::Foundation::BOOL>(result__)
2093     }
2094     #[cfg(feature = "Win32_Foundation")]
SetEnabled<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, benable: Param0, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>2095     pub unsafe fn SetEnabled<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, benable: Param0, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
2096         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), benable.into_param().abi(), ::std::mem::transmute(pguideventcontext)).ok()
2097     }
2098 }
2099 unsafe impl ::windows::runtime::Interface for IAudioAutoGainControl {
2100     type Vtable = IAudioAutoGainControl_abi;
2101     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2235572180, 28132, 19357, [152, 105, 45, 103, 83, 168, 47, 60]);
2102 }
2103 impl ::std::convert::From<IAudioAutoGainControl> for ::windows::runtime::IUnknown {
from(value: IAudioAutoGainControl) -> Self2104     fn from(value: IAudioAutoGainControl) -> Self {
2105         unsafe { ::std::mem::transmute(value) }
2106     }
2107 }
2108 impl ::std::convert::From<&IAudioAutoGainControl> for ::windows::runtime::IUnknown {
from(value: &IAudioAutoGainControl) -> Self2109     fn from(value: &IAudioAutoGainControl) -> Self {
2110         ::std::convert::From::from(::std::clone::Clone::clone(value))
2111     }
2112 }
2113 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioAutoGainControl {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2114     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2115         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2116     }
2117 }
2118 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioAutoGainControl {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2119     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2120         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2121     }
2122 }
2123 #[repr(C)]
2124 #[doc(hidden)]
2125 pub struct IAudioAutoGainControl_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(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbenabled: *mut super::super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
2130     #[cfg(not(feature = "Win32_Foundation"))] usize,
2131     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, benable: super::super::super::Foundation::BOOL, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2132     #[cfg(not(feature = "Win32_Foundation"))] usize,
2133 );
2134 #[repr(transparent)]
2135 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2136 pub struct IAudioBass(::windows::runtime::IUnknown);
2137 impl IAudioBass {
GetChannelCount(&self) -> ::windows::runtime::Result<u32>2138     pub unsafe fn GetChannelCount(&self) -> ::windows::runtime::Result<u32> {
2139         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2140         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2141     }
GetLevelRange(&self, nchannel: u32, pfminleveldb: *mut f32, pfmaxleveldb: *mut f32, pfstepping: *mut f32) -> ::windows::runtime::Result<()>2142     pub unsafe fn GetLevelRange(&self, nchannel: u32, pfminleveldb: *mut f32, pfmaxleveldb: *mut f32, pfstepping: *mut f32) -> ::windows::runtime::Result<()> {
2143         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(nchannel), ::std::mem::transmute(pfminleveldb), ::std::mem::transmute(pfmaxleveldb), ::std::mem::transmute(pfstepping)).ok()
2144     }
GetLevel(&self, nchannel: u32) -> ::windows::runtime::Result<f32>2145     pub unsafe fn GetLevel(&self, nchannel: u32) -> ::windows::runtime::Result<f32> {
2146         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2147         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(nchannel), &mut result__).from_abi::<f32>(result__)
2148     }
SetLevel(&self, nchannel: u32, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>2149     pub unsafe fn SetLevel(&self, nchannel: u32, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
2150         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(nchannel), ::std::mem::transmute(fleveldb), ::std::mem::transmute(pguideventcontext)).ok()
2151     }
SetLevelUniform(&self, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>2152     pub unsafe fn SetLevelUniform(&self, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
2153         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(fleveldb), ::std::mem::transmute(pguideventcontext)).ok()
2154     }
SetLevelAllChannels(&self, alevelsdb: *const f32, cchannels: u32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>2155     pub unsafe fn SetLevelAllChannels(&self, alevelsdb: *const f32, cchannels: u32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
2156         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(alevelsdb), ::std::mem::transmute(cchannels), ::std::mem::transmute(pguideventcontext)).ok()
2157     }
2158 }
2159 unsafe impl ::windows::runtime::Interface for IAudioBass {
2160     type Vtable = IAudioBass_abi;
2161     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2729550297, 19891, 16989, [162, 178, 189, 51, 92, 179, 226, 229]);
2162 }
2163 impl ::std::convert::From<IAudioBass> for ::windows::runtime::IUnknown {
from(value: IAudioBass) -> Self2164     fn from(value: IAudioBass) -> Self {
2165         unsafe { ::std::mem::transmute(value) }
2166     }
2167 }
2168 impl ::std::convert::From<&IAudioBass> for ::windows::runtime::IUnknown {
from(value: &IAudioBass) -> Self2169     fn from(value: &IAudioBass) -> Self {
2170         ::std::convert::From::from(::std::clone::Clone::clone(value))
2171     }
2172 }
2173 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioBass {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2174     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2175         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2176     }
2177 }
2178 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioBass {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2179     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2180         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2181     }
2182 }
2183 impl ::std::convert::From<IAudioBass> for IPerChannelDbLevel {
from(value: IAudioBass) -> Self2184     fn from(value: IAudioBass) -> Self {
2185         unsafe { ::std::mem::transmute(value) }
2186     }
2187 }
2188 impl ::std::convert::From<&IAudioBass> for IPerChannelDbLevel {
from(value: &IAudioBass) -> Self2189     fn from(value: &IAudioBass) -> Self {
2190         ::std::convert::From::from(::std::clone::Clone::clone(value))
2191     }
2192 }
2193 impl<'a> ::windows::runtime::IntoParam<'a, IPerChannelDbLevel> for IAudioBass {
into_param(self) -> ::windows::runtime::Param<'a, IPerChannelDbLevel>2194     fn into_param(self) -> ::windows::runtime::Param<'a, IPerChannelDbLevel> {
2195         ::windows::runtime::Param::Owned(::std::convert::Into::<IPerChannelDbLevel>::into(self))
2196     }
2197 }
2198 impl<'a> ::windows::runtime::IntoParam<'a, IPerChannelDbLevel> for &IAudioBass {
into_param(self) -> ::windows::runtime::Param<'a, IPerChannelDbLevel>2199     fn into_param(self) -> ::windows::runtime::Param<'a, IPerChannelDbLevel> {
2200         ::windows::runtime::Param::Owned(::std::convert::Into::<IPerChannelDbLevel>::into(::std::clone::Clone::clone(self)))
2201     }
2202 }
2203 #[repr(C)]
2204 #[doc(hidden)]
2205 pub struct IAudioBass_abi(
2206     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2207     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2208     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2209     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcchannels: *mut u32) -> ::windows::runtime::HRESULT,
2210     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nchannel: u32, pfminleveldb: *mut f32, pfmaxleveldb: *mut f32, pfstepping: *mut f32) -> ::windows::runtime::HRESULT,
2211     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nchannel: u32, pfleveldb: *mut f32) -> ::windows::runtime::HRESULT,
2212     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nchannel: u32, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2213     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2214     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, alevelsdb: *const f32, cchannels: u32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2215 );
2216 #[repr(transparent)]
2217 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2218 pub struct IAudioCaptureClient(::windows::runtime::IUnknown);
2219 impl IAudioCaptureClient {
GetBuffer(&self, ppdata: *mut *mut u8, pnumframestoread: *mut u32, pdwflags: *mut u32, pu64deviceposition: *mut u64, pu64qpcposition: *mut u64) -> ::windows::runtime::Result<()>2220     pub unsafe fn GetBuffer(&self, ppdata: *mut *mut u8, pnumframestoread: *mut u32, pdwflags: *mut u32, pu64deviceposition: *mut u64, pu64qpcposition: *mut u64) -> ::windows::runtime::Result<()> {
2221         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppdata), ::std::mem::transmute(pnumframestoread), ::std::mem::transmute(pdwflags), ::std::mem::transmute(pu64deviceposition), ::std::mem::transmute(pu64qpcposition)).ok()
2222     }
ReleaseBuffer(&self, numframesread: u32) -> ::windows::runtime::Result<()>2223     pub unsafe fn ReleaseBuffer(&self, numframesread: u32) -> ::windows::runtime::Result<()> {
2224         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(numframesread)).ok()
2225     }
GetNextPacketSize(&self) -> ::windows::runtime::Result<u32>2226     pub unsafe fn GetNextPacketSize(&self) -> ::windows::runtime::Result<u32> {
2227         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2228         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2229     }
2230 }
2231 unsafe impl ::windows::runtime::Interface for IAudioCaptureClient {
2232     type Vtable = IAudioCaptureClient_abi;
2233     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3366829412, 59166, 18592, [164, 222, 24, 92, 57, 92, 211, 23]);
2234 }
2235 impl ::std::convert::From<IAudioCaptureClient> for ::windows::runtime::IUnknown {
from(value: IAudioCaptureClient) -> Self2236     fn from(value: IAudioCaptureClient) -> Self {
2237         unsafe { ::std::mem::transmute(value) }
2238     }
2239 }
2240 impl ::std::convert::From<&IAudioCaptureClient> for ::windows::runtime::IUnknown {
from(value: &IAudioCaptureClient) -> Self2241     fn from(value: &IAudioCaptureClient) -> Self {
2242         ::std::convert::From::from(::std::clone::Clone::clone(value))
2243     }
2244 }
2245 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioCaptureClient {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2246     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2247         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2248     }
2249 }
2250 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioCaptureClient {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2251     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2252         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2253     }
2254 }
2255 #[repr(C)]
2256 #[doc(hidden)]
2257 pub struct IAudioCaptureClient_abi(
2258     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2259     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2260     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2261     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppdata: *mut *mut u8, pnumframestoread: *mut u32, pdwflags: *mut u32, pu64deviceposition: *mut u64, pu64qpcposition: *mut u64) -> ::windows::runtime::HRESULT,
2262     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numframesread: u32) -> ::windows::runtime::HRESULT,
2263     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnumframesinnextpacket: *mut u32) -> ::windows::runtime::HRESULT,
2264 );
2265 #[repr(transparent)]
2266 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2267 pub struct IAudioChannelConfig(::windows::runtime::IUnknown);
2268 impl IAudioChannelConfig {
SetChannelConfig(&self, dwconfig: u32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>2269     pub unsafe fn SetChannelConfig(&self, dwconfig: u32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
2270         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwconfig), ::std::mem::transmute(pguideventcontext)).ok()
2271     }
GetChannelConfig(&self) -> ::windows::runtime::Result<u32>2272     pub unsafe fn GetChannelConfig(&self) -> ::windows::runtime::Result<u32> {
2273         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2274         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2275     }
2276 }
2277 unsafe impl ::windows::runtime::Interface for IAudioChannelConfig {
2278     type Vtable = IAudioChannelConfig_abi;
2279     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3138503791, 60456, 18748, [184, 138, 93, 184, 128, 98, 206, 152]);
2280 }
2281 impl ::std::convert::From<IAudioChannelConfig> for ::windows::runtime::IUnknown {
from(value: IAudioChannelConfig) -> Self2282     fn from(value: IAudioChannelConfig) -> Self {
2283         unsafe { ::std::mem::transmute(value) }
2284     }
2285 }
2286 impl ::std::convert::From<&IAudioChannelConfig> for ::windows::runtime::IUnknown {
from(value: &IAudioChannelConfig) -> Self2287     fn from(value: &IAudioChannelConfig) -> Self {
2288         ::std::convert::From::from(::std::clone::Clone::clone(value))
2289     }
2290 }
2291 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioChannelConfig {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2292     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2293         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2294     }
2295 }
2296 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioChannelConfig {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2297     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2298         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2299     }
2300 }
2301 #[repr(C)]
2302 #[doc(hidden)]
2303 pub struct IAudioChannelConfig_abi(
2304     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2305     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2306     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2307     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwconfig: u32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2308     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwconfig: *mut u32) -> ::windows::runtime::HRESULT,
2309 );
2310 #[repr(transparent)]
2311 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2312 pub struct IAudioClient(::windows::runtime::IUnknown);
2313 impl IAudioClient {
2314     #[cfg(feature = "Win32_Media_Multimedia")]
Initialize(&self, sharemode: AUDCLNT_SHAREMODE, streamflags: u32, hnsbufferduration: i64, hnsperiodicity: i64, pformat: *const super::super::Multimedia::WAVEFORMATEX, audiosessionguid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>2315     pub unsafe fn Initialize(&self, sharemode: AUDCLNT_SHAREMODE, streamflags: u32, hnsbufferduration: i64, hnsperiodicity: i64, pformat: *const super::super::Multimedia::WAVEFORMATEX, audiosessionguid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
2316         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(sharemode), ::std::mem::transmute(streamflags), ::std::mem::transmute(hnsbufferduration), ::std::mem::transmute(hnsperiodicity), ::std::mem::transmute(pformat), ::std::mem::transmute(audiosessionguid)).ok()
2317     }
GetBufferSize(&self) -> ::windows::runtime::Result<u32>2318     pub unsafe fn GetBufferSize(&self) -> ::windows::runtime::Result<u32> {
2319         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2320         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2321     }
GetStreamLatency(&self) -> ::windows::runtime::Result<i64>2322     pub unsafe fn GetStreamLatency(&self) -> ::windows::runtime::Result<i64> {
2323         let mut result__: <i64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2324         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i64>(result__)
2325     }
GetCurrentPadding(&self) -> ::windows::runtime::Result<u32>2326     pub unsafe fn GetCurrentPadding(&self) -> ::windows::runtime::Result<u32> {
2327         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2328         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2329     }
2330     #[cfg(feature = "Win32_Media_Multimedia")]
IsFormatSupported(&self, sharemode: AUDCLNT_SHAREMODE, pformat: *const super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<*mut super::super::Multimedia::WAVEFORMATEX>2331     pub unsafe fn IsFormatSupported(&self, sharemode: AUDCLNT_SHAREMODE, pformat: *const super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<*mut super::super::Multimedia::WAVEFORMATEX> {
2332         let mut result__: <*mut super::super::Multimedia::WAVEFORMATEX as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2333         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(sharemode), ::std::mem::transmute(pformat), &mut result__).from_abi::<*mut super::super::Multimedia::WAVEFORMATEX>(result__)
2334     }
2335     #[cfg(feature = "Win32_Media_Multimedia")]
GetMixFormat(&self) -> ::windows::runtime::Result<*mut super::super::Multimedia::WAVEFORMATEX>2336     pub unsafe fn GetMixFormat(&self) -> ::windows::runtime::Result<*mut super::super::Multimedia::WAVEFORMATEX> {
2337         let mut result__: <*mut super::super::Multimedia::WAVEFORMATEX as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2338         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::Multimedia::WAVEFORMATEX>(result__)
2339     }
GetDevicePeriod(&self, phnsdefaultdeviceperiod: *mut i64, phnsminimumdeviceperiod: *mut i64) -> ::windows::runtime::Result<()>2340     pub unsafe fn GetDevicePeriod(&self, phnsdefaultdeviceperiod: *mut i64, phnsminimumdeviceperiod: *mut i64) -> ::windows::runtime::Result<()> {
2341         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(phnsdefaultdeviceperiod), ::std::mem::transmute(phnsminimumdeviceperiod)).ok()
2342     }
Start(&self) -> ::windows::runtime::Result<()>2343     pub unsafe fn Start(&self) -> ::windows::runtime::Result<()> {
2344         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
2345     }
Stop(&self) -> ::windows::runtime::Result<()>2346     pub unsafe fn Stop(&self) -> ::windows::runtime::Result<()> {
2347         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
2348     }
Reset(&self) -> ::windows::runtime::Result<()>2349     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
2350         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self)).ok()
2351     }
2352     #[cfg(feature = "Win32_Foundation")]
SetEventHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HANDLE>>(&self, eventhandle: Param0) -> ::windows::runtime::Result<()>2353     pub unsafe fn SetEventHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HANDLE>>(&self, eventhandle: Param0) -> ::windows::runtime::Result<()> {
2354         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), eventhandle.into_param().abi()).ok()
2355     }
GetService(&self, riid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>2356     pub unsafe fn GetService(&self, riid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
2357         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(ppv)).ok()
2358     }
2359 }
2360 unsafe impl ::windows::runtime::Interface for IAudioClient {
2361     type Vtable = IAudioClient_abi;
2362     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(481930572, 56314, 19506, [177, 120, 194, 245, 104, 167, 3, 178]);
2363 }
2364 impl ::std::convert::From<IAudioClient> for ::windows::runtime::IUnknown {
from(value: IAudioClient) -> Self2365     fn from(value: IAudioClient) -> Self {
2366         unsafe { ::std::mem::transmute(value) }
2367     }
2368 }
2369 impl ::std::convert::From<&IAudioClient> for ::windows::runtime::IUnknown {
from(value: &IAudioClient) -> Self2370     fn from(value: &IAudioClient) -> Self {
2371         ::std::convert::From::from(::std::clone::Clone::clone(value))
2372     }
2373 }
2374 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioClient {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2375     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2376         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2377     }
2378 }
2379 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioClient {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2380     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2381         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2382     }
2383 }
2384 #[repr(C)]
2385 #[doc(hidden)]
2386 pub struct IAudioClient_abi(
2387     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2388     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2389     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2390     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sharemode: AUDCLNT_SHAREMODE, streamflags: u32, hnsbufferduration: i64, hnsperiodicity: i64, pformat: *const super::super::Multimedia::WAVEFORMATEX, audiosessionguid: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2391     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
2392     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnumbufferframes: *mut u32) -> ::windows::runtime::HRESULT,
2393     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, phnslatency: *mut i64) -> ::windows::runtime::HRESULT,
2394     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnumpaddingframes: *mut u32) -> ::windows::runtime::HRESULT,
2395     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sharemode: AUDCLNT_SHAREMODE, pformat: *const super::super::Multimedia::WAVEFORMATEX, ppclosestmatch: *mut *mut super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::HRESULT,
2396     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
2397     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppdeviceformat: *mut *mut super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::HRESULT,
2398     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
2399     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, phnsdefaultdeviceperiod: *mut i64, phnsminimumdeviceperiod: *mut i64) -> ::windows::runtime::HRESULT,
2400     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2401     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2402     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2403     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventhandle: super::super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
2404     #[cfg(not(feature = "Win32_Foundation"))] usize,
2405     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
2406 );
2407 #[repr(transparent)]
2408 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2409 pub struct IAudioClient2(::windows::runtime::IUnknown);
2410 impl IAudioClient2 {
2411     #[cfg(feature = "Win32_Media_Multimedia")]
Initialize(&self, sharemode: AUDCLNT_SHAREMODE, streamflags: u32, hnsbufferduration: i64, hnsperiodicity: i64, pformat: *const super::super::Multimedia::WAVEFORMATEX, audiosessionguid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>2412     pub unsafe fn Initialize(&self, sharemode: AUDCLNT_SHAREMODE, streamflags: u32, hnsbufferduration: i64, hnsperiodicity: i64, pformat: *const super::super::Multimedia::WAVEFORMATEX, audiosessionguid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
2413         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(sharemode), ::std::mem::transmute(streamflags), ::std::mem::transmute(hnsbufferduration), ::std::mem::transmute(hnsperiodicity), ::std::mem::transmute(pformat), ::std::mem::transmute(audiosessionguid)).ok()
2414     }
GetBufferSize(&self) -> ::windows::runtime::Result<u32>2415     pub unsafe fn GetBufferSize(&self) -> ::windows::runtime::Result<u32> {
2416         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2417         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2418     }
GetStreamLatency(&self) -> ::windows::runtime::Result<i64>2419     pub unsafe fn GetStreamLatency(&self) -> ::windows::runtime::Result<i64> {
2420         let mut result__: <i64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2421         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i64>(result__)
2422     }
GetCurrentPadding(&self) -> ::windows::runtime::Result<u32>2423     pub unsafe fn GetCurrentPadding(&self) -> ::windows::runtime::Result<u32> {
2424         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2425         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2426     }
2427     #[cfg(feature = "Win32_Media_Multimedia")]
IsFormatSupported(&self, sharemode: AUDCLNT_SHAREMODE, pformat: *const super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<*mut super::super::Multimedia::WAVEFORMATEX>2428     pub unsafe fn IsFormatSupported(&self, sharemode: AUDCLNT_SHAREMODE, pformat: *const super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<*mut super::super::Multimedia::WAVEFORMATEX> {
2429         let mut result__: <*mut super::super::Multimedia::WAVEFORMATEX as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2430         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(sharemode), ::std::mem::transmute(pformat), &mut result__).from_abi::<*mut super::super::Multimedia::WAVEFORMATEX>(result__)
2431     }
2432     #[cfg(feature = "Win32_Media_Multimedia")]
GetMixFormat(&self) -> ::windows::runtime::Result<*mut super::super::Multimedia::WAVEFORMATEX>2433     pub unsafe fn GetMixFormat(&self) -> ::windows::runtime::Result<*mut super::super::Multimedia::WAVEFORMATEX> {
2434         let mut result__: <*mut super::super::Multimedia::WAVEFORMATEX as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2435         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::Multimedia::WAVEFORMATEX>(result__)
2436     }
GetDevicePeriod(&self, phnsdefaultdeviceperiod: *mut i64, phnsminimumdeviceperiod: *mut i64) -> ::windows::runtime::Result<()>2437     pub unsafe fn GetDevicePeriod(&self, phnsdefaultdeviceperiod: *mut i64, phnsminimumdeviceperiod: *mut i64) -> ::windows::runtime::Result<()> {
2438         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(phnsdefaultdeviceperiod), ::std::mem::transmute(phnsminimumdeviceperiod)).ok()
2439     }
Start(&self) -> ::windows::runtime::Result<()>2440     pub unsafe fn Start(&self) -> ::windows::runtime::Result<()> {
2441         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
2442     }
Stop(&self) -> ::windows::runtime::Result<()>2443     pub unsafe fn Stop(&self) -> ::windows::runtime::Result<()> {
2444         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
2445     }
Reset(&self) -> ::windows::runtime::Result<()>2446     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
2447         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self)).ok()
2448     }
2449     #[cfg(feature = "Win32_Foundation")]
SetEventHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HANDLE>>(&self, eventhandle: Param0) -> ::windows::runtime::Result<()>2450     pub unsafe fn SetEventHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HANDLE>>(&self, eventhandle: Param0) -> ::windows::runtime::Result<()> {
2451         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), eventhandle.into_param().abi()).ok()
2452     }
GetService(&self, riid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>2453     pub unsafe fn GetService(&self, riid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
2454         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(ppv)).ok()
2455     }
2456     #[cfg(feature = "Win32_Foundation")]
IsOffloadCapable(&self, category: AUDIO_STREAM_CATEGORY) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL>2457     pub unsafe fn IsOffloadCapable(&self, category: AUDIO_STREAM_CATEGORY) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL> {
2458         let mut result__: <super::super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2459         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(category), &mut result__).from_abi::<super::super::super::Foundation::BOOL>(result__)
2460     }
2461     #[cfg(feature = "Win32_Foundation")]
SetClientProperties(&self, pproperties: *const AudioClientProperties) -> ::windows::runtime::Result<()>2462     pub unsafe fn SetClientProperties(&self, pproperties: *const AudioClientProperties) -> ::windows::runtime::Result<()> {
2463         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(pproperties)).ok()
2464     }
2465     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
GetBufferSizeLimits<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, pformat: *const super::super::Multimedia::WAVEFORMATEX, beventdriven: Param1, phnsminbufferduration: *mut i64, phnsmaxbufferduration: *mut i64) -> ::windows::runtime::Result<()>2466     pub unsafe fn GetBufferSizeLimits<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, pformat: *const super::super::Multimedia::WAVEFORMATEX, beventdriven: Param1, phnsminbufferduration: *mut i64, phnsmaxbufferduration: *mut i64) -> ::windows::runtime::Result<()> {
2467         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(pformat), beventdriven.into_param().abi(), ::std::mem::transmute(phnsminbufferduration), ::std::mem::transmute(phnsmaxbufferduration)).ok()
2468     }
2469 }
2470 unsafe impl ::windows::runtime::Interface for IAudioClient2 {
2471     type Vtable = IAudioClient2_abi;
2472     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1919383757, 62986, 20186, [130, 222, 228, 118, 16, 205, 120, 170]);
2473 }
2474 impl ::std::convert::From<IAudioClient2> for ::windows::runtime::IUnknown {
from(value: IAudioClient2) -> Self2475     fn from(value: IAudioClient2) -> Self {
2476         unsafe { ::std::mem::transmute(value) }
2477     }
2478 }
2479 impl ::std::convert::From<&IAudioClient2> for ::windows::runtime::IUnknown {
from(value: &IAudioClient2) -> Self2480     fn from(value: &IAudioClient2) -> Self {
2481         ::std::convert::From::from(::std::clone::Clone::clone(value))
2482     }
2483 }
2484 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioClient2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2485     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2486         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2487     }
2488 }
2489 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioClient2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2490     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2491         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2492     }
2493 }
2494 impl ::std::convert::From<IAudioClient2> for IAudioClient {
from(value: IAudioClient2) -> Self2495     fn from(value: IAudioClient2) -> Self {
2496         unsafe { ::std::mem::transmute(value) }
2497     }
2498 }
2499 impl ::std::convert::From<&IAudioClient2> for IAudioClient {
from(value: &IAudioClient2) -> Self2500     fn from(value: &IAudioClient2) -> Self {
2501         ::std::convert::From::from(::std::clone::Clone::clone(value))
2502     }
2503 }
2504 impl<'a> ::windows::runtime::IntoParam<'a, IAudioClient> for IAudioClient2 {
into_param(self) -> ::windows::runtime::Param<'a, IAudioClient>2505     fn into_param(self) -> ::windows::runtime::Param<'a, IAudioClient> {
2506         ::windows::runtime::Param::Owned(::std::convert::Into::<IAudioClient>::into(self))
2507     }
2508 }
2509 impl<'a> ::windows::runtime::IntoParam<'a, IAudioClient> for &IAudioClient2 {
into_param(self) -> ::windows::runtime::Param<'a, IAudioClient>2510     fn into_param(self) -> ::windows::runtime::Param<'a, IAudioClient> {
2511         ::windows::runtime::Param::Owned(::std::convert::Into::<IAudioClient>::into(::std::clone::Clone::clone(self)))
2512     }
2513 }
2514 #[repr(C)]
2515 #[doc(hidden)]
2516 pub struct IAudioClient2_abi(
2517     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2518     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2519     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2520     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sharemode: AUDCLNT_SHAREMODE, streamflags: u32, hnsbufferduration: i64, hnsperiodicity: i64, pformat: *const super::super::Multimedia::WAVEFORMATEX, audiosessionguid: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2521     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
2522     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnumbufferframes: *mut u32) -> ::windows::runtime::HRESULT,
2523     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, phnslatency: *mut i64) -> ::windows::runtime::HRESULT,
2524     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnumpaddingframes: *mut u32) -> ::windows::runtime::HRESULT,
2525     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sharemode: AUDCLNT_SHAREMODE, pformat: *const super::super::Multimedia::WAVEFORMATEX, ppclosestmatch: *mut *mut super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::HRESULT,
2526     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
2527     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppdeviceformat: *mut *mut super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::HRESULT,
2528     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
2529     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, phnsdefaultdeviceperiod: *mut i64, phnsminimumdeviceperiod: *mut i64) -> ::windows::runtime::HRESULT,
2530     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2531     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2532     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2533     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventhandle: super::super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
2534     #[cfg(not(feature = "Win32_Foundation"))] usize,
2535     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
2536     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, category: AUDIO_STREAM_CATEGORY, pboffloadcapable: *mut super::super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
2537     #[cfg(not(feature = "Win32_Foundation"))] usize,
2538     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pproperties: *const AudioClientProperties) -> ::windows::runtime::HRESULT,
2539     #[cfg(not(feature = "Win32_Foundation"))] usize,
2540     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pformat: *const super::super::Multimedia::WAVEFORMATEX, beventdriven: super::super::super::Foundation::BOOL, phnsminbufferduration: *mut i64, phnsmaxbufferduration: *mut i64) -> ::windows::runtime::HRESULT,
2541     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia")))] usize,
2542 );
2543 #[repr(transparent)]
2544 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2545 pub struct IAudioClient3(::windows::runtime::IUnknown);
2546 impl IAudioClient3 {
2547     #[cfg(feature = "Win32_Media_Multimedia")]
Initialize(&self, sharemode: AUDCLNT_SHAREMODE, streamflags: u32, hnsbufferduration: i64, hnsperiodicity: i64, pformat: *const super::super::Multimedia::WAVEFORMATEX, audiosessionguid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>2548     pub unsafe fn Initialize(&self, sharemode: AUDCLNT_SHAREMODE, streamflags: u32, hnsbufferduration: i64, hnsperiodicity: i64, pformat: *const super::super::Multimedia::WAVEFORMATEX, audiosessionguid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
2549         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(sharemode), ::std::mem::transmute(streamflags), ::std::mem::transmute(hnsbufferduration), ::std::mem::transmute(hnsperiodicity), ::std::mem::transmute(pformat), ::std::mem::transmute(audiosessionguid)).ok()
2550     }
GetBufferSize(&self) -> ::windows::runtime::Result<u32>2551     pub unsafe fn GetBufferSize(&self) -> ::windows::runtime::Result<u32> {
2552         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2553         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2554     }
GetStreamLatency(&self) -> ::windows::runtime::Result<i64>2555     pub unsafe fn GetStreamLatency(&self) -> ::windows::runtime::Result<i64> {
2556         let mut result__: <i64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2557         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i64>(result__)
2558     }
GetCurrentPadding(&self) -> ::windows::runtime::Result<u32>2559     pub unsafe fn GetCurrentPadding(&self) -> ::windows::runtime::Result<u32> {
2560         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2561         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2562     }
2563     #[cfg(feature = "Win32_Media_Multimedia")]
IsFormatSupported(&self, sharemode: AUDCLNT_SHAREMODE, pformat: *const super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<*mut super::super::Multimedia::WAVEFORMATEX>2564     pub unsafe fn IsFormatSupported(&self, sharemode: AUDCLNT_SHAREMODE, pformat: *const super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<*mut super::super::Multimedia::WAVEFORMATEX> {
2565         let mut result__: <*mut super::super::Multimedia::WAVEFORMATEX as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2566         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(sharemode), ::std::mem::transmute(pformat), &mut result__).from_abi::<*mut super::super::Multimedia::WAVEFORMATEX>(result__)
2567     }
2568     #[cfg(feature = "Win32_Media_Multimedia")]
GetMixFormat(&self) -> ::windows::runtime::Result<*mut super::super::Multimedia::WAVEFORMATEX>2569     pub unsafe fn GetMixFormat(&self) -> ::windows::runtime::Result<*mut super::super::Multimedia::WAVEFORMATEX> {
2570         let mut result__: <*mut super::super::Multimedia::WAVEFORMATEX as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2571         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::Multimedia::WAVEFORMATEX>(result__)
2572     }
GetDevicePeriod(&self, phnsdefaultdeviceperiod: *mut i64, phnsminimumdeviceperiod: *mut i64) -> ::windows::runtime::Result<()>2573     pub unsafe fn GetDevicePeriod(&self, phnsdefaultdeviceperiod: *mut i64, phnsminimumdeviceperiod: *mut i64) -> ::windows::runtime::Result<()> {
2574         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(phnsdefaultdeviceperiod), ::std::mem::transmute(phnsminimumdeviceperiod)).ok()
2575     }
Start(&self) -> ::windows::runtime::Result<()>2576     pub unsafe fn Start(&self) -> ::windows::runtime::Result<()> {
2577         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
2578     }
Stop(&self) -> ::windows::runtime::Result<()>2579     pub unsafe fn Stop(&self) -> ::windows::runtime::Result<()> {
2580         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
2581     }
Reset(&self) -> ::windows::runtime::Result<()>2582     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
2583         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self)).ok()
2584     }
2585     #[cfg(feature = "Win32_Foundation")]
SetEventHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HANDLE>>(&self, eventhandle: Param0) -> ::windows::runtime::Result<()>2586     pub unsafe fn SetEventHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HANDLE>>(&self, eventhandle: Param0) -> ::windows::runtime::Result<()> {
2587         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), eventhandle.into_param().abi()).ok()
2588     }
GetService(&self, riid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>2589     pub unsafe fn GetService(&self, riid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
2590         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(ppv)).ok()
2591     }
2592     #[cfg(feature = "Win32_Foundation")]
IsOffloadCapable(&self, category: AUDIO_STREAM_CATEGORY) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL>2593     pub unsafe fn IsOffloadCapable(&self, category: AUDIO_STREAM_CATEGORY) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL> {
2594         let mut result__: <super::super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2595         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(category), &mut result__).from_abi::<super::super::super::Foundation::BOOL>(result__)
2596     }
2597     #[cfg(feature = "Win32_Foundation")]
SetClientProperties(&self, pproperties: *const AudioClientProperties) -> ::windows::runtime::Result<()>2598     pub unsafe fn SetClientProperties(&self, pproperties: *const AudioClientProperties) -> ::windows::runtime::Result<()> {
2599         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(pproperties)).ok()
2600     }
2601     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
GetBufferSizeLimits<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, pformat: *const super::super::Multimedia::WAVEFORMATEX, beventdriven: Param1, phnsminbufferduration: *mut i64, phnsmaxbufferduration: *mut i64) -> ::windows::runtime::Result<()>2602     pub unsafe fn GetBufferSizeLimits<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, pformat: *const super::super::Multimedia::WAVEFORMATEX, beventdriven: Param1, phnsminbufferduration: *mut i64, phnsmaxbufferduration: *mut i64) -> ::windows::runtime::Result<()> {
2603         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(pformat), beventdriven.into_param().abi(), ::std::mem::transmute(phnsminbufferduration), ::std::mem::transmute(phnsmaxbufferduration)).ok()
2604     }
2605     #[cfg(feature = "Win32_Media_Multimedia")]
GetSharedModeEnginePeriod(&self, pformat: *const super::super::Multimedia::WAVEFORMATEX, pdefaultperiodinframes: *mut u32, pfundamentalperiodinframes: *mut u32, pminperiodinframes: *mut u32, pmaxperiodinframes: *mut u32) -> ::windows::runtime::Result<()>2606     pub unsafe fn GetSharedModeEnginePeriod(&self, pformat: *const super::super::Multimedia::WAVEFORMATEX, pdefaultperiodinframes: *mut u32, pfundamentalperiodinframes: *mut u32, pminperiodinframes: *mut u32, pmaxperiodinframes: *mut u32) -> ::windows::runtime::Result<()> {
2607         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(pformat), ::std::mem::transmute(pdefaultperiodinframes), ::std::mem::transmute(pfundamentalperiodinframes), ::std::mem::transmute(pminperiodinframes), ::std::mem::transmute(pmaxperiodinframes)).ok()
2608     }
2609     #[cfg(feature = "Win32_Media_Multimedia")]
GetCurrentSharedModeEnginePeriod(&self, ppformat: *mut *mut super::super::Multimedia::WAVEFORMATEX, pcurrentperiodinframes: *mut u32) -> ::windows::runtime::Result<()>2610     pub unsafe fn GetCurrentSharedModeEnginePeriod(&self, ppformat: *mut *mut super::super::Multimedia::WAVEFORMATEX, pcurrentperiodinframes: *mut u32) -> ::windows::runtime::Result<()> {
2611         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppformat), ::std::mem::transmute(pcurrentperiodinframes)).ok()
2612     }
2613     #[cfg(feature = "Win32_Media_Multimedia")]
InitializeSharedAudioStream(&self, streamflags: u32, periodinframes: u32, pformat: *const super::super::Multimedia::WAVEFORMATEX, audiosessionguid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>2614     pub unsafe fn InitializeSharedAudioStream(&self, streamflags: u32, periodinframes: u32, pformat: *const super::super::Multimedia::WAVEFORMATEX, audiosessionguid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
2615         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(streamflags), ::std::mem::transmute(periodinframes), ::std::mem::transmute(pformat), ::std::mem::transmute(audiosessionguid)).ok()
2616     }
2617 }
2618 unsafe impl ::windows::runtime::Interface for IAudioClient3 {
2619     type Vtable = IAudioClient3_abi;
2620     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2127883783, 36455, 19668, [140, 26, 43, 122, 89, 135, 173, 66]);
2621 }
2622 impl ::std::convert::From<IAudioClient3> for ::windows::runtime::IUnknown {
from(value: IAudioClient3) -> Self2623     fn from(value: IAudioClient3) -> Self {
2624         unsafe { ::std::mem::transmute(value) }
2625     }
2626 }
2627 impl ::std::convert::From<&IAudioClient3> for ::windows::runtime::IUnknown {
from(value: &IAudioClient3) -> Self2628     fn from(value: &IAudioClient3) -> Self {
2629         ::std::convert::From::from(::std::clone::Clone::clone(value))
2630     }
2631 }
2632 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioClient3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2633     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2634         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2635     }
2636 }
2637 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioClient3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2638     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2639         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2640     }
2641 }
2642 impl ::std::convert::From<IAudioClient3> for IAudioClient2 {
from(value: IAudioClient3) -> Self2643     fn from(value: IAudioClient3) -> Self {
2644         unsafe { ::std::mem::transmute(value) }
2645     }
2646 }
2647 impl ::std::convert::From<&IAudioClient3> for IAudioClient2 {
from(value: &IAudioClient3) -> Self2648     fn from(value: &IAudioClient3) -> Self {
2649         ::std::convert::From::from(::std::clone::Clone::clone(value))
2650     }
2651 }
2652 impl<'a> ::windows::runtime::IntoParam<'a, IAudioClient2> for IAudioClient3 {
into_param(self) -> ::windows::runtime::Param<'a, IAudioClient2>2653     fn into_param(self) -> ::windows::runtime::Param<'a, IAudioClient2> {
2654         ::windows::runtime::Param::Owned(::std::convert::Into::<IAudioClient2>::into(self))
2655     }
2656 }
2657 impl<'a> ::windows::runtime::IntoParam<'a, IAudioClient2> for &IAudioClient3 {
into_param(self) -> ::windows::runtime::Param<'a, IAudioClient2>2658     fn into_param(self) -> ::windows::runtime::Param<'a, IAudioClient2> {
2659         ::windows::runtime::Param::Owned(::std::convert::Into::<IAudioClient2>::into(::std::clone::Clone::clone(self)))
2660     }
2661 }
2662 impl ::std::convert::From<IAudioClient3> for IAudioClient {
from(value: IAudioClient3) -> Self2663     fn from(value: IAudioClient3) -> Self {
2664         unsafe { ::std::mem::transmute(value) }
2665     }
2666 }
2667 impl ::std::convert::From<&IAudioClient3> for IAudioClient {
from(value: &IAudioClient3) -> Self2668     fn from(value: &IAudioClient3) -> Self {
2669         ::std::convert::From::from(::std::clone::Clone::clone(value))
2670     }
2671 }
2672 impl<'a> ::windows::runtime::IntoParam<'a, IAudioClient> for IAudioClient3 {
into_param(self) -> ::windows::runtime::Param<'a, IAudioClient>2673     fn into_param(self) -> ::windows::runtime::Param<'a, IAudioClient> {
2674         ::windows::runtime::Param::Owned(::std::convert::Into::<IAudioClient>::into(self))
2675     }
2676 }
2677 impl<'a> ::windows::runtime::IntoParam<'a, IAudioClient> for &IAudioClient3 {
into_param(self) -> ::windows::runtime::Param<'a, IAudioClient>2678     fn into_param(self) -> ::windows::runtime::Param<'a, IAudioClient> {
2679         ::windows::runtime::Param::Owned(::std::convert::Into::<IAudioClient>::into(::std::clone::Clone::clone(self)))
2680     }
2681 }
2682 #[repr(C)]
2683 #[doc(hidden)]
2684 pub struct IAudioClient3_abi(
2685     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2686     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2687     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2688     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sharemode: AUDCLNT_SHAREMODE, streamflags: u32, hnsbufferduration: i64, hnsperiodicity: i64, pformat: *const super::super::Multimedia::WAVEFORMATEX, audiosessionguid: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2689     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
2690     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnumbufferframes: *mut u32) -> ::windows::runtime::HRESULT,
2691     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, phnslatency: *mut i64) -> ::windows::runtime::HRESULT,
2692     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnumpaddingframes: *mut u32) -> ::windows::runtime::HRESULT,
2693     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sharemode: AUDCLNT_SHAREMODE, pformat: *const super::super::Multimedia::WAVEFORMATEX, ppclosestmatch: *mut *mut super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::HRESULT,
2694     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
2695     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppdeviceformat: *mut *mut super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::HRESULT,
2696     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
2697     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, phnsdefaultdeviceperiod: *mut i64, phnsminimumdeviceperiod: *mut i64) -> ::windows::runtime::HRESULT,
2698     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2699     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2700     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2701     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventhandle: super::super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
2702     #[cfg(not(feature = "Win32_Foundation"))] usize,
2703     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
2704     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, category: AUDIO_STREAM_CATEGORY, pboffloadcapable: *mut super::super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
2705     #[cfg(not(feature = "Win32_Foundation"))] usize,
2706     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pproperties: *const AudioClientProperties) -> ::windows::runtime::HRESULT,
2707     #[cfg(not(feature = "Win32_Foundation"))] usize,
2708     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pformat: *const super::super::Multimedia::WAVEFORMATEX, beventdriven: super::super::super::Foundation::BOOL, phnsminbufferduration: *mut i64, phnsmaxbufferduration: *mut i64) -> ::windows::runtime::HRESULT,
2709     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia")))] usize,
2710     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pformat: *const super::super::Multimedia::WAVEFORMATEX, pdefaultperiodinframes: *mut u32, pfundamentalperiodinframes: *mut u32, pminperiodinframes: *mut u32, pmaxperiodinframes: *mut u32) -> ::windows::runtime::HRESULT,
2711     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
2712     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppformat: *mut *mut super::super::Multimedia::WAVEFORMATEX, pcurrentperiodinframes: *mut u32) -> ::windows::runtime::HRESULT,
2713     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
2714     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, streamflags: u32, periodinframes: u32, pformat: *const super::super::Multimedia::WAVEFORMATEX, audiosessionguid: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2715     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
2716 );
2717 #[repr(transparent)]
2718 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2719 pub struct IAudioClientDuckingControl(::windows::runtime::IUnknown);
2720 impl IAudioClientDuckingControl {
SetDuckingOptionsForCurrentStream(&self, options: AUDIO_DUCKING_OPTIONS) -> ::windows::runtime::Result<()>2721     pub unsafe fn SetDuckingOptionsForCurrentStream(&self, options: AUDIO_DUCKING_OPTIONS) -> ::windows::runtime::Result<()> {
2722         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(options)).ok()
2723     }
2724 }
2725 unsafe impl ::windows::runtime::Interface for IAudioClientDuckingControl {
2726     type Vtable = IAudioClientDuckingControl_abi;
2727     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3347698561, 41612, 16744, [178, 143, 211, 168, 55, 146, 77, 195]);
2728 }
2729 impl ::std::convert::From<IAudioClientDuckingControl> for ::windows::runtime::IUnknown {
from(value: IAudioClientDuckingControl) -> Self2730     fn from(value: IAudioClientDuckingControl) -> Self {
2731         unsafe { ::std::mem::transmute(value) }
2732     }
2733 }
2734 impl ::std::convert::From<&IAudioClientDuckingControl> for ::windows::runtime::IUnknown {
from(value: &IAudioClientDuckingControl) -> Self2735     fn from(value: &IAudioClientDuckingControl) -> Self {
2736         ::std::convert::From::from(::std::clone::Clone::clone(value))
2737     }
2738 }
2739 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioClientDuckingControl {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2740     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2741         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2742     }
2743 }
2744 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioClientDuckingControl {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2745     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2746         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2747     }
2748 }
2749 #[repr(C)]
2750 #[doc(hidden)]
2751 pub struct IAudioClientDuckingControl_abi(
2752     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2753     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2754     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2755     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: AUDIO_DUCKING_OPTIONS) -> ::windows::runtime::HRESULT,
2756 );
2757 #[repr(transparent)]
2758 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2759 pub struct IAudioClock(::windows::runtime::IUnknown);
2760 impl IAudioClock {
GetFrequency(&self) -> ::windows::runtime::Result<u64>2761     pub unsafe fn GetFrequency(&self) -> ::windows::runtime::Result<u64> {
2762         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2763         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u64>(result__)
2764     }
GetPosition(&self, pu64position: *mut u64, pu64qpcposition: *mut u64) -> ::windows::runtime::Result<()>2765     pub unsafe fn GetPosition(&self, pu64position: *mut u64, pu64qpcposition: *mut u64) -> ::windows::runtime::Result<()> {
2766         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pu64position), ::std::mem::transmute(pu64qpcposition)).ok()
2767     }
GetCharacteristics(&self) -> ::windows::runtime::Result<u32>2768     pub unsafe fn GetCharacteristics(&self) -> ::windows::runtime::Result<u32> {
2769         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2770         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2771     }
2772 }
2773 unsafe impl ::windows::runtime::Interface for IAudioClock {
2774     type Vtable = IAudioClock_abi;
2775     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3445829967, 16314, 18971, [129, 44, 239, 150, 53, 135, 40, 231]);
2776 }
2777 impl ::std::convert::From<IAudioClock> for ::windows::runtime::IUnknown {
from(value: IAudioClock) -> Self2778     fn from(value: IAudioClock) -> Self {
2779         unsafe { ::std::mem::transmute(value) }
2780     }
2781 }
2782 impl ::std::convert::From<&IAudioClock> for ::windows::runtime::IUnknown {
from(value: &IAudioClock) -> Self2783     fn from(value: &IAudioClock) -> Self {
2784         ::std::convert::From::from(::std::clone::Clone::clone(value))
2785     }
2786 }
2787 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioClock {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2788     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2789         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2790     }
2791 }
2792 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioClock {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2793     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2794         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2795     }
2796 }
2797 #[repr(C)]
2798 #[doc(hidden)]
2799 pub struct IAudioClock_abi(
2800     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2801     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2802     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2803     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pu64frequency: *mut u64) -> ::windows::runtime::HRESULT,
2804     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pu64position: *mut u64, pu64qpcposition: *mut u64) -> ::windows::runtime::HRESULT,
2805     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwcharacteristics: *mut u32) -> ::windows::runtime::HRESULT,
2806 );
2807 #[repr(transparent)]
2808 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2809 pub struct IAudioClock2(::windows::runtime::IUnknown);
2810 impl IAudioClock2 {
GetDevicePosition(&self, deviceposition: *mut u64, qpcposition: *mut u64) -> ::windows::runtime::Result<()>2811     pub unsafe fn GetDevicePosition(&self, deviceposition: *mut u64, qpcposition: *mut u64) -> ::windows::runtime::Result<()> {
2812         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(deviceposition), ::std::mem::transmute(qpcposition)).ok()
2813     }
2814 }
2815 unsafe impl ::windows::runtime::Interface for IAudioClock2 {
2816     type Vtable = IAudioClock2_abi;
2817     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1867120499, 26407, 18860, [160, 8, 217, 140, 245, 231, 0, 72]);
2818 }
2819 impl ::std::convert::From<IAudioClock2> for ::windows::runtime::IUnknown {
from(value: IAudioClock2) -> Self2820     fn from(value: IAudioClock2) -> Self {
2821         unsafe { ::std::mem::transmute(value) }
2822     }
2823 }
2824 impl ::std::convert::From<&IAudioClock2> for ::windows::runtime::IUnknown {
from(value: &IAudioClock2) -> Self2825     fn from(value: &IAudioClock2) -> Self {
2826         ::std::convert::From::from(::std::clone::Clone::clone(value))
2827     }
2828 }
2829 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioClock2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2830     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2831         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2832     }
2833 }
2834 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioClock2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2835     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2836         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2837     }
2838 }
2839 #[repr(C)]
2840 #[doc(hidden)]
2841 pub struct IAudioClock2_abi(
2842     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2843     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2844     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2845     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, deviceposition: *mut u64, qpcposition: *mut u64) -> ::windows::runtime::HRESULT,
2846 );
2847 #[repr(transparent)]
2848 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2849 pub struct IAudioClockAdjustment(::windows::runtime::IUnknown);
2850 impl IAudioClockAdjustment {
SetSampleRate(&self, flsamplerate: f32) -> ::windows::runtime::Result<()>2851     pub unsafe fn SetSampleRate(&self, flsamplerate: f32) -> ::windows::runtime::Result<()> {
2852         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(flsamplerate)).ok()
2853     }
2854 }
2855 unsafe impl ::windows::runtime::Interface for IAudioClockAdjustment {
2856     type Vtable = IAudioClockAdjustment_abi;
2857     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4142186656, 18137, 20408, [190, 33, 87, 163, 239, 43, 98, 108]);
2858 }
2859 impl ::std::convert::From<IAudioClockAdjustment> for ::windows::runtime::IUnknown {
from(value: IAudioClockAdjustment) -> Self2860     fn from(value: IAudioClockAdjustment) -> Self {
2861         unsafe { ::std::mem::transmute(value) }
2862     }
2863 }
2864 impl ::std::convert::From<&IAudioClockAdjustment> for ::windows::runtime::IUnknown {
from(value: &IAudioClockAdjustment) -> Self2865     fn from(value: &IAudioClockAdjustment) -> Self {
2866         ::std::convert::From::from(::std::clone::Clone::clone(value))
2867     }
2868 }
2869 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioClockAdjustment {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2870     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2871         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2872     }
2873 }
2874 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioClockAdjustment {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2875     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2876         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2877     }
2878 }
2879 #[repr(C)]
2880 #[doc(hidden)]
2881 pub struct IAudioClockAdjustment_abi(
2882     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2883     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2884     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2885     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flsamplerate: f32) -> ::windows::runtime::HRESULT,
2886 );
2887 #[repr(transparent)]
2888 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2889 pub struct IAudioEffectsChangedNotificationClient(::windows::runtime::IUnknown);
2890 impl IAudioEffectsChangedNotificationClient {
OnAudioEffectsChanged(&self) -> ::windows::runtime::Result<()>2891     pub unsafe fn OnAudioEffectsChanged(&self) -> ::windows::runtime::Result<()> {
2892         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
2893     }
2894 }
2895 unsafe impl ::windows::runtime::Interface for IAudioEffectsChangedNotificationClient {
2896     type Vtable = IAudioEffectsChangedNotificationClient_abi;
2897     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2782843983, 15453, 19243, [189, 30, 93, 193, 238, 32, 187, 246]);
2898 }
2899 impl ::std::convert::From<IAudioEffectsChangedNotificationClient> for ::windows::runtime::IUnknown {
from(value: IAudioEffectsChangedNotificationClient) -> Self2900     fn from(value: IAudioEffectsChangedNotificationClient) -> Self {
2901         unsafe { ::std::mem::transmute(value) }
2902     }
2903 }
2904 impl ::std::convert::From<&IAudioEffectsChangedNotificationClient> for ::windows::runtime::IUnknown {
from(value: &IAudioEffectsChangedNotificationClient) -> Self2905     fn from(value: &IAudioEffectsChangedNotificationClient) -> Self {
2906         ::std::convert::From::from(::std::clone::Clone::clone(value))
2907     }
2908 }
2909 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioEffectsChangedNotificationClient {
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 &IAudioEffectsChangedNotificationClient {
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 #[repr(C)]
2920 #[doc(hidden)]
2921 pub struct IAudioEffectsChangedNotificationClient_abi(
2922     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2923     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2924     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2925     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2926 );
2927 #[repr(transparent)]
2928 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2929 pub struct IAudioEffectsManager(::windows::runtime::IUnknown);
2930 impl IAudioEffectsManager {
RegisterAudioEffectsChangedNotificationCallback<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioEffectsChangedNotificationClient>>(&self, client: Param0) -> ::windows::runtime::Result<()>2931     pub unsafe fn RegisterAudioEffectsChangedNotificationCallback<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioEffectsChangedNotificationClient>>(&self, client: Param0) -> ::windows::runtime::Result<()> {
2932         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), client.into_param().abi()).ok()
2933     }
UnregisterAudioEffectsChangedNotificationCallback<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioEffectsChangedNotificationClient>>(&self, client: Param0) -> ::windows::runtime::Result<()>2934     pub unsafe fn UnregisterAudioEffectsChangedNotificationCallback<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioEffectsChangedNotificationClient>>(&self, client: Param0) -> ::windows::runtime::Result<()> {
2935         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), client.into_param().abi()).ok()
2936     }
2937     #[cfg(feature = "Win32_Foundation")]
GetAudioEffects(&self, effects: *mut *mut AUDIO_EFFECT, numeffects: *mut u32) -> ::windows::runtime::Result<()>2938     pub unsafe fn GetAudioEffects(&self, effects: *mut *mut AUDIO_EFFECT, numeffects: *mut u32) -> ::windows::runtime::Result<()> {
2939         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(effects), ::std::mem::transmute(numeffects)).ok()
2940     }
SetAudioEffectState<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, effectid: Param0, state: AUDIO_EFFECT_STATE) -> ::windows::runtime::Result<()>2941     pub unsafe fn SetAudioEffectState<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, effectid: Param0, state: AUDIO_EFFECT_STATE) -> ::windows::runtime::Result<()> {
2942         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), effectid.into_param().abi(), ::std::mem::transmute(state)).ok()
2943     }
2944 }
2945 unsafe impl ::windows::runtime::Interface for IAudioEffectsManager {
2946     type Vtable = IAudioEffectsManager_abi;
2947     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1147188142, 19268, 17703, [134, 118, 117, 72, 168, 172, 210, 96]);
2948 }
2949 impl ::std::convert::From<IAudioEffectsManager> for ::windows::runtime::IUnknown {
from(value: IAudioEffectsManager) -> Self2950     fn from(value: IAudioEffectsManager) -> Self {
2951         unsafe { ::std::mem::transmute(value) }
2952     }
2953 }
2954 impl ::std::convert::From<&IAudioEffectsManager> for ::windows::runtime::IUnknown {
from(value: &IAudioEffectsManager) -> Self2955     fn from(value: &IAudioEffectsManager) -> Self {
2956         ::std::convert::From::from(::std::clone::Clone::clone(value))
2957     }
2958 }
2959 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioEffectsManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2960     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2961         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2962     }
2963 }
2964 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioEffectsManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2965     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2966         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2967     }
2968 }
2969 #[repr(C)]
2970 #[doc(hidden)]
2971 pub struct IAudioEffectsManager_abi(
2972     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2973     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2974     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2975     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, client: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2976     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, client: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2977     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, effects: *mut *mut AUDIO_EFFECT, numeffects: *mut u32) -> ::windows::runtime::HRESULT,
2978     #[cfg(not(feature = "Win32_Foundation"))] usize,
2979     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, effectid: ::windows::runtime::GUID, state: AUDIO_EFFECT_STATE) -> ::windows::runtime::HRESULT,
2980 );
2981 #[repr(transparent)]
2982 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2983 pub struct IAudioEndpointFormatControl(::windows::runtime::IUnknown);
2984 impl IAudioEndpointFormatControl {
ResetToDefault(&self, resetflags: u32) -> ::windows::runtime::Result<()>2985     pub unsafe fn ResetToDefault(&self, resetflags: u32) -> ::windows::runtime::Result<()> {
2986         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(resetflags)).ok()
2987     }
2988 }
2989 unsafe impl ::windows::runtime::Interface for IAudioEndpointFormatControl {
2990     type Vtable = IAudioEndpointFormatControl_abi;
2991     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2018311488, 40841, 17774, [161, 166, 135, 59, 0, 106, 102, 78]);
2992 }
2993 impl ::std::convert::From<IAudioEndpointFormatControl> for ::windows::runtime::IUnknown {
from(value: IAudioEndpointFormatControl) -> Self2994     fn from(value: IAudioEndpointFormatControl) -> Self {
2995         unsafe { ::std::mem::transmute(value) }
2996     }
2997 }
2998 impl ::std::convert::From<&IAudioEndpointFormatControl> for ::windows::runtime::IUnknown {
from(value: &IAudioEndpointFormatControl) -> Self2999     fn from(value: &IAudioEndpointFormatControl) -> Self {
3000         ::std::convert::From::from(::std::clone::Clone::clone(value))
3001     }
3002 }
3003 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioEndpointFormatControl {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3004     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3005         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3006     }
3007 }
3008 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioEndpointFormatControl {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3009     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3010         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3011     }
3012 }
3013 #[repr(C)]
3014 #[doc(hidden)]
3015 pub struct IAudioEndpointFormatControl_abi(
3016     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3017     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3018     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3019     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, resetflags: u32) -> ::windows::runtime::HRESULT,
3020 );
3021 #[repr(transparent)]
3022 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3023 pub struct IAudioEndpointLastBufferControl(::windows::runtime::IUnknown);
3024 impl IAudioEndpointLastBufferControl {
3025     #[cfg(feature = "Win32_Foundation")]
IsLastBufferControlSupported(&self) -> super::super::super::Foundation::BOOL3026     pub unsafe fn IsLastBufferControlSupported(&self) -> super::super::super::Foundation::BOOL {
3027         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)))
3028     }
3029     #[cfg(feature = "Win32_System_RemoteDesktop")]
ReleaseOutputDataPointerForLastBuffer(&self, pconnectionproperty: *const super::super::super::System::RemoteDesktop::APO_CONNECTION_PROPERTY)3030     pub unsafe fn ReleaseOutputDataPointerForLastBuffer(&self, pconnectionproperty: *const super::super::super::System::RemoteDesktop::APO_CONNECTION_PROPERTY) {
3031         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pconnectionproperty)))
3032     }
3033 }
3034 unsafe impl ::windows::runtime::Interface for IAudioEndpointLastBufferControl {
3035     type Vtable = IAudioEndpointLastBufferControl_abi;
3036     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4166127059, 36765, 17463, [152, 97, 98, 245, 132, 195, 61, 214]);
3037 }
3038 impl ::std::convert::From<IAudioEndpointLastBufferControl> for ::windows::runtime::IUnknown {
from(value: IAudioEndpointLastBufferControl) -> Self3039     fn from(value: IAudioEndpointLastBufferControl) -> Self {
3040         unsafe { ::std::mem::transmute(value) }
3041     }
3042 }
3043 impl ::std::convert::From<&IAudioEndpointLastBufferControl> for ::windows::runtime::IUnknown {
from(value: &IAudioEndpointLastBufferControl) -> Self3044     fn from(value: &IAudioEndpointLastBufferControl) -> Self {
3045         ::std::convert::From::from(::std::clone::Clone::clone(value))
3046     }
3047 }
3048 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioEndpointLastBufferControl {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3049     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3050         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3051     }
3052 }
3053 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioEndpointLastBufferControl {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3054     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3055         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3056     }
3057 }
3058 #[repr(C)]
3059 #[doc(hidden)]
3060 pub struct IAudioEndpointLastBufferControl_abi(
3061     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3062     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3063     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3064     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::super::Foundation::BOOL,
3065     #[cfg(not(feature = "Win32_Foundation"))] usize,
3066     #[cfg(feature = "Win32_System_RemoteDesktop")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pconnectionproperty: *const super::super::super::System::RemoteDesktop::APO_CONNECTION_PROPERTY),
3067     #[cfg(not(feature = "Win32_System_RemoteDesktop"))] usize,
3068 );
3069 #[repr(transparent)]
3070 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3071 pub struct IAudioEndpointOffloadStreamMeter(::windows::runtime::IUnknown);
3072 impl IAudioEndpointOffloadStreamMeter {
GetMeterChannelCount(&self) -> ::windows::runtime::Result<u32>3073     pub unsafe fn GetMeterChannelCount(&self) -> ::windows::runtime::Result<u32> {
3074         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3075         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3076     }
GetMeteringData(&self, u32channelcount: u32) -> ::windows::runtime::Result<f32>3077     pub unsafe fn GetMeteringData(&self, u32channelcount: u32) -> ::windows::runtime::Result<f32> {
3078         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3079         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(u32channelcount), &mut result__).from_abi::<f32>(result__)
3080     }
3081 }
3082 unsafe impl ::windows::runtime::Interface for IAudioEndpointOffloadStreamMeter {
3083     type Vtable = IAudioEndpointOffloadStreamMeter_abi;
3084     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3780406734, 40401, 16779, [154, 178, 52, 140, 237, 22, 28, 134]);
3085 }
3086 impl ::std::convert::From<IAudioEndpointOffloadStreamMeter> for ::windows::runtime::IUnknown {
from(value: IAudioEndpointOffloadStreamMeter) -> Self3087     fn from(value: IAudioEndpointOffloadStreamMeter) -> Self {
3088         unsafe { ::std::mem::transmute(value) }
3089     }
3090 }
3091 impl ::std::convert::From<&IAudioEndpointOffloadStreamMeter> for ::windows::runtime::IUnknown {
from(value: &IAudioEndpointOffloadStreamMeter) -> Self3092     fn from(value: &IAudioEndpointOffloadStreamMeter) -> Self {
3093         ::std::convert::From::from(::std::clone::Clone::clone(value))
3094     }
3095 }
3096 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioEndpointOffloadStreamMeter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3097     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3098         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3099     }
3100 }
3101 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioEndpointOffloadStreamMeter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3102     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3103         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3104     }
3105 }
3106 #[repr(C)]
3107 #[doc(hidden)]
3108 pub struct IAudioEndpointOffloadStreamMeter_abi(
3109     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3110     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3111     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3112     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pu32channelcount: *mut u32) -> ::windows::runtime::HRESULT,
3113     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, u32channelcount: u32, pf32peakvalues: *mut f32) -> ::windows::runtime::HRESULT,
3114 );
3115 #[repr(transparent)]
3116 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3117 pub struct IAudioEndpointOffloadStreamMute(::windows::runtime::IUnknown);
3118 impl IAudioEndpointOffloadStreamMute {
SetMute(&self, bmuted: u8) -> ::windows::runtime::Result<()>3119     pub unsafe fn SetMute(&self, bmuted: u8) -> ::windows::runtime::Result<()> {
3120         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(bmuted)).ok()
3121     }
GetMute(&self) -> ::windows::runtime::Result<u8>3122     pub unsafe fn GetMute(&self) -> ::windows::runtime::Result<u8> {
3123         let mut result__: <u8 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3124         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u8>(result__)
3125     }
3126 }
3127 unsafe impl ::windows::runtime::Interface for IAudioEndpointOffloadStreamMute {
3128     type Vtable = IAudioEndpointOffloadStreamMute_abi;
3129     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3756135253, 24258, 16608, [141, 107, 113, 10, 195, 192, 2, 73]);
3130 }
3131 impl ::std::convert::From<IAudioEndpointOffloadStreamMute> for ::windows::runtime::IUnknown {
from(value: IAudioEndpointOffloadStreamMute) -> Self3132     fn from(value: IAudioEndpointOffloadStreamMute) -> Self {
3133         unsafe { ::std::mem::transmute(value) }
3134     }
3135 }
3136 impl ::std::convert::From<&IAudioEndpointOffloadStreamMute> for ::windows::runtime::IUnknown {
from(value: &IAudioEndpointOffloadStreamMute) -> Self3137     fn from(value: &IAudioEndpointOffloadStreamMute) -> Self {
3138         ::std::convert::From::from(::std::clone::Clone::clone(value))
3139     }
3140 }
3141 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioEndpointOffloadStreamMute {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3142     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3143         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3144     }
3145 }
3146 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioEndpointOffloadStreamMute {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3147     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3148         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3149     }
3150 }
3151 #[repr(C)]
3152 #[doc(hidden)]
3153 pub struct IAudioEndpointOffloadStreamMute_abi(
3154     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3155     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3156     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3157     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bmuted: u8) -> ::windows::runtime::HRESULT,
3158     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbmuted: *mut u8) -> ::windows::runtime::HRESULT,
3159 );
3160 #[repr(transparent)]
3161 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3162 pub struct IAudioEndpointOffloadStreamVolume(::windows::runtime::IUnknown);
3163 impl IAudioEndpointOffloadStreamVolume {
GetVolumeChannelCount(&self) -> ::windows::runtime::Result<u32>3164     pub unsafe fn GetVolumeChannelCount(&self) -> ::windows::runtime::Result<u32> {
3165         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3166         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3167     }
SetChannelVolumes(&self, u32channelcount: u32, pf32volumes: *const f32, u32curvetype: AUDIO_CURVE_TYPE, pcurveduration: *const i64) -> ::windows::runtime::Result<()>3168     pub unsafe fn SetChannelVolumes(&self, u32channelcount: u32, pf32volumes: *const f32, u32curvetype: AUDIO_CURVE_TYPE, pcurveduration: *const i64) -> ::windows::runtime::Result<()> {
3169         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(u32channelcount), ::std::mem::transmute(pf32volumes), ::std::mem::transmute(u32curvetype), ::std::mem::transmute(pcurveduration)).ok()
3170     }
GetChannelVolumes(&self, u32channelcount: u32) -> ::windows::runtime::Result<f32>3171     pub unsafe fn GetChannelVolumes(&self, u32channelcount: u32) -> ::windows::runtime::Result<f32> {
3172         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3173         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(u32channelcount), &mut result__).from_abi::<f32>(result__)
3174     }
3175 }
3176 unsafe impl ::windows::runtime::Interface for IAudioEndpointOffloadStreamVolume {
3177     type Vtable = IAudioEndpointOffloadStreamVolume_abi;
3178     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1693572425, 29130, 17025, [134, 114, 58, 158, 221, 209, 208, 182]);
3179 }
3180 impl ::std::convert::From<IAudioEndpointOffloadStreamVolume> for ::windows::runtime::IUnknown {
from(value: IAudioEndpointOffloadStreamVolume) -> Self3181     fn from(value: IAudioEndpointOffloadStreamVolume) -> Self {
3182         unsafe { ::std::mem::transmute(value) }
3183     }
3184 }
3185 impl ::std::convert::From<&IAudioEndpointOffloadStreamVolume> for ::windows::runtime::IUnknown {
from(value: &IAudioEndpointOffloadStreamVolume) -> Self3186     fn from(value: &IAudioEndpointOffloadStreamVolume) -> Self {
3187         ::std::convert::From::from(::std::clone::Clone::clone(value))
3188     }
3189 }
3190 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioEndpointOffloadStreamVolume {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3191     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3192         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3193     }
3194 }
3195 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioEndpointOffloadStreamVolume {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3196     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3197         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3198     }
3199 }
3200 #[repr(C)]
3201 #[doc(hidden)]
3202 pub struct IAudioEndpointOffloadStreamVolume_abi(
3203     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3204     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3205     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3206     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pu32channelcount: *mut u32) -> ::windows::runtime::HRESULT,
3207     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, u32channelcount: u32, pf32volumes: *const f32, u32curvetype: AUDIO_CURVE_TYPE, pcurveduration: *const i64) -> ::windows::runtime::HRESULT,
3208     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, u32channelcount: u32, pf32volumes: *mut f32) -> ::windows::runtime::HRESULT,
3209 );
3210 #[repr(transparent)]
3211 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3212 pub struct IAudioEndpointVolume(::windows::runtime::IUnknown);
3213 impl IAudioEndpointVolume {
RegisterControlChangeNotify<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioEndpointVolumeCallback>>(&self, pnotify: Param0) -> ::windows::runtime::Result<()>3214     pub unsafe fn RegisterControlChangeNotify<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioEndpointVolumeCallback>>(&self, pnotify: Param0) -> ::windows::runtime::Result<()> {
3215         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pnotify.into_param().abi()).ok()
3216     }
UnregisterControlChangeNotify<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioEndpointVolumeCallback>>(&self, pnotify: Param0) -> ::windows::runtime::Result<()>3217     pub unsafe fn UnregisterControlChangeNotify<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioEndpointVolumeCallback>>(&self, pnotify: Param0) -> ::windows::runtime::Result<()> {
3218         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pnotify.into_param().abi()).ok()
3219     }
GetChannelCount(&self) -> ::windows::runtime::Result<u32>3220     pub unsafe fn GetChannelCount(&self) -> ::windows::runtime::Result<u32> {
3221         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3222         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3223     }
SetMasterVolumeLevel(&self, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>3224     pub unsafe fn SetMasterVolumeLevel(&self, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
3225         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(fleveldb), ::std::mem::transmute(pguideventcontext)).ok()
3226     }
SetMasterVolumeLevelScalar(&self, flevel: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>3227     pub unsafe fn SetMasterVolumeLevelScalar(&self, flevel: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
3228         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(flevel), ::std::mem::transmute(pguideventcontext)).ok()
3229     }
GetMasterVolumeLevel(&self) -> ::windows::runtime::Result<f32>3230     pub unsafe fn GetMasterVolumeLevel(&self) -> ::windows::runtime::Result<f32> {
3231         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3232         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
3233     }
GetMasterVolumeLevelScalar(&self) -> ::windows::runtime::Result<f32>3234     pub unsafe fn GetMasterVolumeLevelScalar(&self) -> ::windows::runtime::Result<f32> {
3235         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3236         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
3237     }
SetChannelVolumeLevel(&self, nchannel: u32, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>3238     pub unsafe fn SetChannelVolumeLevel(&self, nchannel: u32, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
3239         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(nchannel), ::std::mem::transmute(fleveldb), ::std::mem::transmute(pguideventcontext)).ok()
3240     }
SetChannelVolumeLevelScalar(&self, nchannel: u32, flevel: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>3241     pub unsafe fn SetChannelVolumeLevelScalar(&self, nchannel: u32, flevel: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
3242         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(nchannel), ::std::mem::transmute(flevel), ::std::mem::transmute(pguideventcontext)).ok()
3243     }
GetChannelVolumeLevel(&self, nchannel: u32) -> ::windows::runtime::Result<f32>3244     pub unsafe fn GetChannelVolumeLevel(&self, nchannel: u32) -> ::windows::runtime::Result<f32> {
3245         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3246         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(nchannel), &mut result__).from_abi::<f32>(result__)
3247     }
GetChannelVolumeLevelScalar(&self, nchannel: u32) -> ::windows::runtime::Result<f32>3248     pub unsafe fn GetChannelVolumeLevelScalar(&self, nchannel: u32) -> ::windows::runtime::Result<f32> {
3249         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3250         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(nchannel), &mut result__).from_abi::<f32>(result__)
3251     }
3252     #[cfg(feature = "Win32_Foundation")]
SetMute<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, bmute: Param0, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>3253     pub unsafe fn SetMute<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, bmute: Param0, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
3254         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), bmute.into_param().abi(), ::std::mem::transmute(pguideventcontext)).ok()
3255     }
3256     #[cfg(feature = "Win32_Foundation")]
GetMute(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL>3257     pub unsafe fn GetMute(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL> {
3258         let mut result__: <super::super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3259         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::super::Foundation::BOOL>(result__)
3260     }
GetVolumeStepInfo(&self, pnstep: *mut u32, pnstepcount: *mut u32) -> ::windows::runtime::Result<()>3261     pub unsafe fn GetVolumeStepInfo(&self, pnstep: *mut u32, pnstepcount: *mut u32) -> ::windows::runtime::Result<()> {
3262         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(pnstep), ::std::mem::transmute(pnstepcount)).ok()
3263     }
VolumeStepUp(&self, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>3264     pub unsafe fn VolumeStepUp(&self, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
3265         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(pguideventcontext)).ok()
3266     }
VolumeStepDown(&self, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>3267     pub unsafe fn VolumeStepDown(&self, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
3268         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(pguideventcontext)).ok()
3269     }
QueryHardwareSupport(&self) -> ::windows::runtime::Result<u32>3270     pub unsafe fn QueryHardwareSupport(&self) -> ::windows::runtime::Result<u32> {
3271         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3272         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3273     }
GetVolumeRange(&self, pflvolumemindb: *mut f32, pflvolumemaxdb: *mut f32, pflvolumeincrementdb: *mut f32) -> ::windows::runtime::Result<()>3274     pub unsafe fn GetVolumeRange(&self, pflvolumemindb: *mut f32, pflvolumemaxdb: *mut f32, pflvolumeincrementdb: *mut f32) -> ::windows::runtime::Result<()> {
3275         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(pflvolumemindb), ::std::mem::transmute(pflvolumemaxdb), ::std::mem::transmute(pflvolumeincrementdb)).ok()
3276     }
3277 }
3278 unsafe impl ::windows::runtime::Interface for IAudioEndpointVolume {
3279     type Vtable = IAudioEndpointVolume_abi;
3280     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1558129794, 33822, 17734, [151, 34, 12, 247, 64, 120, 34, 154]);
3281 }
3282 impl ::std::convert::From<IAudioEndpointVolume> for ::windows::runtime::IUnknown {
from(value: IAudioEndpointVolume) -> Self3283     fn from(value: IAudioEndpointVolume) -> Self {
3284         unsafe { ::std::mem::transmute(value) }
3285     }
3286 }
3287 impl ::std::convert::From<&IAudioEndpointVolume> for ::windows::runtime::IUnknown {
from(value: &IAudioEndpointVolume) -> Self3288     fn from(value: &IAudioEndpointVolume) -> Self {
3289         ::std::convert::From::from(::std::clone::Clone::clone(value))
3290     }
3291 }
3292 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioEndpointVolume {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3293     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3294         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3295     }
3296 }
3297 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioEndpointVolume {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3298     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3299         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3300     }
3301 }
3302 #[repr(C)]
3303 #[doc(hidden)]
3304 pub struct IAudioEndpointVolume_abi(
3305     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3306     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3307     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3308     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnotify: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3309     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnotify: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3310     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnchannelcount: *mut u32) -> ::windows::runtime::HRESULT,
3311     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3312     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flevel: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3313     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfleveldb: *mut f32) -> ::windows::runtime::HRESULT,
3314     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pflevel: *mut f32) -> ::windows::runtime::HRESULT,
3315     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nchannel: u32, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3316     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nchannel: u32, flevel: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3317     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nchannel: u32, pfleveldb: *mut f32) -> ::windows::runtime::HRESULT,
3318     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nchannel: u32, pflevel: *mut f32) -> ::windows::runtime::HRESULT,
3319     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bmute: super::super::super::Foundation::BOOL, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3320     #[cfg(not(feature = "Win32_Foundation"))] usize,
3321     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbmute: *mut super::super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3322     #[cfg(not(feature = "Win32_Foundation"))] usize,
3323     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnstep: *mut u32, pnstepcount: *mut u32) -> ::windows::runtime::HRESULT,
3324     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3325     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3326     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwhardwaresupportmask: *mut u32) -> ::windows::runtime::HRESULT,
3327     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pflvolumemindb: *mut f32, pflvolumemaxdb: *mut f32, pflvolumeincrementdb: *mut f32) -> ::windows::runtime::HRESULT,
3328 );
3329 #[repr(transparent)]
3330 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3331 pub struct IAudioEndpointVolumeCallback(::windows::runtime::IUnknown);
3332 impl IAudioEndpointVolumeCallback {
3333     #[cfg(feature = "Win32_Foundation")]
OnNotify(&self, pnotify: *mut AUDIO_VOLUME_NOTIFICATION_DATA) -> ::windows::runtime::Result<()>3334     pub unsafe fn OnNotify(&self, pnotify: *mut AUDIO_VOLUME_NOTIFICATION_DATA) -> ::windows::runtime::Result<()> {
3335         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pnotify)).ok()
3336     }
3337 }
3338 unsafe impl ::windows::runtime::Interface for IAudioEndpointVolumeCallback {
3339     type Vtable = IAudioEndpointVolumeCallback_abi;
3340     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1702364410, 54957, 17558, [138, 96, 53, 39, 82, 175, 79, 137]);
3341 }
3342 impl ::std::convert::From<IAudioEndpointVolumeCallback> for ::windows::runtime::IUnknown {
from(value: IAudioEndpointVolumeCallback) -> Self3343     fn from(value: IAudioEndpointVolumeCallback) -> Self {
3344         unsafe { ::std::mem::transmute(value) }
3345     }
3346 }
3347 impl ::std::convert::From<&IAudioEndpointVolumeCallback> for ::windows::runtime::IUnknown {
from(value: &IAudioEndpointVolumeCallback) -> Self3348     fn from(value: &IAudioEndpointVolumeCallback) -> Self {
3349         ::std::convert::From::from(::std::clone::Clone::clone(value))
3350     }
3351 }
3352 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioEndpointVolumeCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3353     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3354         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3355     }
3356 }
3357 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioEndpointVolumeCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3358     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3359         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3360     }
3361 }
3362 #[repr(C)]
3363 #[doc(hidden)]
3364 pub struct IAudioEndpointVolumeCallback_abi(
3365     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3366     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3367     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3368     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnotify: *mut AUDIO_VOLUME_NOTIFICATION_DATA) -> ::windows::runtime::HRESULT,
3369     #[cfg(not(feature = "Win32_Foundation"))] usize,
3370 );
3371 #[repr(transparent)]
3372 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3373 pub struct IAudioEndpointVolumeEx(::windows::runtime::IUnknown);
3374 impl IAudioEndpointVolumeEx {
RegisterControlChangeNotify<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioEndpointVolumeCallback>>(&self, pnotify: Param0) -> ::windows::runtime::Result<()>3375     pub unsafe fn RegisterControlChangeNotify<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioEndpointVolumeCallback>>(&self, pnotify: Param0) -> ::windows::runtime::Result<()> {
3376         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pnotify.into_param().abi()).ok()
3377     }
UnregisterControlChangeNotify<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioEndpointVolumeCallback>>(&self, pnotify: Param0) -> ::windows::runtime::Result<()>3378     pub unsafe fn UnregisterControlChangeNotify<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioEndpointVolumeCallback>>(&self, pnotify: Param0) -> ::windows::runtime::Result<()> {
3379         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pnotify.into_param().abi()).ok()
3380     }
GetChannelCount(&self) -> ::windows::runtime::Result<u32>3381     pub unsafe fn GetChannelCount(&self) -> ::windows::runtime::Result<u32> {
3382         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3383         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3384     }
SetMasterVolumeLevel(&self, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>3385     pub unsafe fn SetMasterVolumeLevel(&self, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
3386         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(fleveldb), ::std::mem::transmute(pguideventcontext)).ok()
3387     }
SetMasterVolumeLevelScalar(&self, flevel: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>3388     pub unsafe fn SetMasterVolumeLevelScalar(&self, flevel: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
3389         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(flevel), ::std::mem::transmute(pguideventcontext)).ok()
3390     }
GetMasterVolumeLevel(&self) -> ::windows::runtime::Result<f32>3391     pub unsafe fn GetMasterVolumeLevel(&self) -> ::windows::runtime::Result<f32> {
3392         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3393         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
3394     }
GetMasterVolumeLevelScalar(&self) -> ::windows::runtime::Result<f32>3395     pub unsafe fn GetMasterVolumeLevelScalar(&self) -> ::windows::runtime::Result<f32> {
3396         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3397         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
3398     }
SetChannelVolumeLevel(&self, nchannel: u32, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>3399     pub unsafe fn SetChannelVolumeLevel(&self, nchannel: u32, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
3400         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(nchannel), ::std::mem::transmute(fleveldb), ::std::mem::transmute(pguideventcontext)).ok()
3401     }
SetChannelVolumeLevelScalar(&self, nchannel: u32, flevel: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>3402     pub unsafe fn SetChannelVolumeLevelScalar(&self, nchannel: u32, flevel: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
3403         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(nchannel), ::std::mem::transmute(flevel), ::std::mem::transmute(pguideventcontext)).ok()
3404     }
GetChannelVolumeLevel(&self, nchannel: u32) -> ::windows::runtime::Result<f32>3405     pub unsafe fn GetChannelVolumeLevel(&self, nchannel: u32) -> ::windows::runtime::Result<f32> {
3406         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3407         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(nchannel), &mut result__).from_abi::<f32>(result__)
3408     }
GetChannelVolumeLevelScalar(&self, nchannel: u32) -> ::windows::runtime::Result<f32>3409     pub unsafe fn GetChannelVolumeLevelScalar(&self, nchannel: u32) -> ::windows::runtime::Result<f32> {
3410         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3411         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(nchannel), &mut result__).from_abi::<f32>(result__)
3412     }
3413     #[cfg(feature = "Win32_Foundation")]
SetMute<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, bmute: Param0, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>3414     pub unsafe fn SetMute<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, bmute: Param0, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
3415         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), bmute.into_param().abi(), ::std::mem::transmute(pguideventcontext)).ok()
3416     }
3417     #[cfg(feature = "Win32_Foundation")]
GetMute(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL>3418     pub unsafe fn GetMute(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL> {
3419         let mut result__: <super::super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3420         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::super::Foundation::BOOL>(result__)
3421     }
GetVolumeStepInfo(&self, pnstep: *mut u32, pnstepcount: *mut u32) -> ::windows::runtime::Result<()>3422     pub unsafe fn GetVolumeStepInfo(&self, pnstep: *mut u32, pnstepcount: *mut u32) -> ::windows::runtime::Result<()> {
3423         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(pnstep), ::std::mem::transmute(pnstepcount)).ok()
3424     }
VolumeStepUp(&self, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>3425     pub unsafe fn VolumeStepUp(&self, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
3426         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(pguideventcontext)).ok()
3427     }
VolumeStepDown(&self, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>3428     pub unsafe fn VolumeStepDown(&self, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
3429         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(pguideventcontext)).ok()
3430     }
QueryHardwareSupport(&self) -> ::windows::runtime::Result<u32>3431     pub unsafe fn QueryHardwareSupport(&self) -> ::windows::runtime::Result<u32> {
3432         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3433         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3434     }
GetVolumeRange(&self, pflvolumemindb: *mut f32, pflvolumemaxdb: *mut f32, pflvolumeincrementdb: *mut f32) -> ::windows::runtime::Result<()>3435     pub unsafe fn GetVolumeRange(&self, pflvolumemindb: *mut f32, pflvolumemaxdb: *mut f32, pflvolumeincrementdb: *mut f32) -> ::windows::runtime::Result<()> {
3436         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(pflvolumemindb), ::std::mem::transmute(pflvolumemaxdb), ::std::mem::transmute(pflvolumeincrementdb)).ok()
3437     }
GetVolumeRangeChannel(&self, ichannel: u32, pflvolumemindb: *mut f32, pflvolumemaxdb: *mut f32, pflvolumeincrementdb: *mut f32) -> ::windows::runtime::Result<()>3438     pub unsafe fn GetVolumeRangeChannel(&self, ichannel: u32, pflvolumemindb: *mut f32, pflvolumemaxdb: *mut f32, pflvolumeincrementdb: *mut f32) -> ::windows::runtime::Result<()> {
3439         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(ichannel), ::std::mem::transmute(pflvolumemindb), ::std::mem::transmute(pflvolumemaxdb), ::std::mem::transmute(pflvolumeincrementdb)).ok()
3440     }
3441 }
3442 unsafe impl ::windows::runtime::Interface for IAudioEndpointVolumeEx {
3443     type Vtable = IAudioEndpointVolumeEx_abi;
3444     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1726027652, 63125, 20264, [165, 5, 167, 8, 0, 129, 167, 143]);
3445 }
3446 impl ::std::convert::From<IAudioEndpointVolumeEx> for ::windows::runtime::IUnknown {
from(value: IAudioEndpointVolumeEx) -> Self3447     fn from(value: IAudioEndpointVolumeEx) -> Self {
3448         unsafe { ::std::mem::transmute(value) }
3449     }
3450 }
3451 impl ::std::convert::From<&IAudioEndpointVolumeEx> for ::windows::runtime::IUnknown {
from(value: &IAudioEndpointVolumeEx) -> Self3452     fn from(value: &IAudioEndpointVolumeEx) -> Self {
3453         ::std::convert::From::from(::std::clone::Clone::clone(value))
3454     }
3455 }
3456 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioEndpointVolumeEx {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3457     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3458         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3459     }
3460 }
3461 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioEndpointVolumeEx {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3462     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3463         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3464     }
3465 }
3466 impl ::std::convert::From<IAudioEndpointVolumeEx> for IAudioEndpointVolume {
from(value: IAudioEndpointVolumeEx) -> Self3467     fn from(value: IAudioEndpointVolumeEx) -> Self {
3468         unsafe { ::std::mem::transmute(value) }
3469     }
3470 }
3471 impl ::std::convert::From<&IAudioEndpointVolumeEx> for IAudioEndpointVolume {
from(value: &IAudioEndpointVolumeEx) -> Self3472     fn from(value: &IAudioEndpointVolumeEx) -> Self {
3473         ::std::convert::From::from(::std::clone::Clone::clone(value))
3474     }
3475 }
3476 impl<'a> ::windows::runtime::IntoParam<'a, IAudioEndpointVolume> for IAudioEndpointVolumeEx {
into_param(self) -> ::windows::runtime::Param<'a, IAudioEndpointVolume>3477     fn into_param(self) -> ::windows::runtime::Param<'a, IAudioEndpointVolume> {
3478         ::windows::runtime::Param::Owned(::std::convert::Into::<IAudioEndpointVolume>::into(self))
3479     }
3480 }
3481 impl<'a> ::windows::runtime::IntoParam<'a, IAudioEndpointVolume> for &IAudioEndpointVolumeEx {
into_param(self) -> ::windows::runtime::Param<'a, IAudioEndpointVolume>3482     fn into_param(self) -> ::windows::runtime::Param<'a, IAudioEndpointVolume> {
3483         ::windows::runtime::Param::Owned(::std::convert::Into::<IAudioEndpointVolume>::into(::std::clone::Clone::clone(self)))
3484     }
3485 }
3486 #[repr(C)]
3487 #[doc(hidden)]
3488 pub struct IAudioEndpointVolumeEx_abi(
3489     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3490     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3491     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3492     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnotify: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3493     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnotify: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3494     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnchannelcount: *mut u32) -> ::windows::runtime::HRESULT,
3495     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3496     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flevel: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3497     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfleveldb: *mut f32) -> ::windows::runtime::HRESULT,
3498     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pflevel: *mut f32) -> ::windows::runtime::HRESULT,
3499     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nchannel: u32, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3500     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nchannel: u32, flevel: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3501     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nchannel: u32, pfleveldb: *mut f32) -> ::windows::runtime::HRESULT,
3502     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nchannel: u32, pflevel: *mut f32) -> ::windows::runtime::HRESULT,
3503     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bmute: super::super::super::Foundation::BOOL, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3504     #[cfg(not(feature = "Win32_Foundation"))] usize,
3505     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbmute: *mut super::super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3506     #[cfg(not(feature = "Win32_Foundation"))] usize,
3507     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnstep: *mut u32, pnstepcount: *mut u32) -> ::windows::runtime::HRESULT,
3508     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3509     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3510     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwhardwaresupportmask: *mut u32) -> ::windows::runtime::HRESULT,
3511     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pflvolumemindb: *mut f32, pflvolumemaxdb: *mut f32, pflvolumeincrementdb: *mut f32) -> ::windows::runtime::HRESULT,
3512     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ichannel: u32, pflvolumemindb: *mut f32, pflvolumemaxdb: *mut f32, pflvolumeincrementdb: *mut f32) -> ::windows::runtime::HRESULT,
3513 );
3514 #[repr(transparent)]
3515 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3516 pub struct IAudioFormatEnumerator(::windows::runtime::IUnknown);
3517 impl IAudioFormatEnumerator {
GetCount(&self) -> ::windows::runtime::Result<u32>3518     pub unsafe fn GetCount(&self) -> ::windows::runtime::Result<u32> {
3519         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3520         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3521     }
3522     #[cfg(feature = "Win32_Media_Multimedia")]
GetFormat(&self, index: u32) -> ::windows::runtime::Result<*mut super::super::Multimedia::WAVEFORMATEX>3523     pub unsafe fn GetFormat(&self, index: u32) -> ::windows::runtime::Result<*mut super::super::Multimedia::WAVEFORMATEX> {
3524         let mut result__: <*mut super::super::Multimedia::WAVEFORMATEX as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3525         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<*mut super::super::Multimedia::WAVEFORMATEX>(result__)
3526     }
3527 }
3528 unsafe impl ::windows::runtime::Interface for IAudioFormatEnumerator {
3529     type Vtable = IAudioFormatEnumerator_abi;
3530     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3705317464, 35162, 18978, [165, 235, 103, 189, 165, 6, 9, 109]);
3531 }
3532 impl ::std::convert::From<IAudioFormatEnumerator> for ::windows::runtime::IUnknown {
from(value: IAudioFormatEnumerator) -> Self3533     fn from(value: IAudioFormatEnumerator) -> Self {
3534         unsafe { ::std::mem::transmute(value) }
3535     }
3536 }
3537 impl ::std::convert::From<&IAudioFormatEnumerator> for ::windows::runtime::IUnknown {
from(value: &IAudioFormatEnumerator) -> Self3538     fn from(value: &IAudioFormatEnumerator) -> Self {
3539         ::std::convert::From::from(::std::clone::Clone::clone(value))
3540     }
3541 }
3542 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioFormatEnumerator {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3543     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3544         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3545     }
3546 }
3547 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioFormatEnumerator {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3548     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3549         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3550     }
3551 }
3552 #[repr(C)]
3553 #[doc(hidden)]
3554 pub struct IAudioFormatEnumerator_abi(
3555     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3556     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3557     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3558     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32) -> ::windows::runtime::HRESULT,
3559     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: u32, format: *mut *mut super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::HRESULT,
3560     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
3561 );
3562 #[repr(transparent)]
3563 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3564 pub struct IAudioInputSelector(::windows::runtime::IUnknown);
3565 impl IAudioInputSelector {
GetSelection(&self) -> ::windows::runtime::Result<u32>3566     pub unsafe fn GetSelection(&self) -> ::windows::runtime::Result<u32> {
3567         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3568         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3569     }
SetSelection(&self, nidselect: u32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>3570     pub unsafe fn SetSelection(&self, nidselect: u32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
3571         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(nidselect), ::std::mem::transmute(pguideventcontext)).ok()
3572     }
3573 }
3574 unsafe impl ::windows::runtime::Interface for IAudioInputSelector {
3575     type Vtable = IAudioInputSelector_abi;
3576     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1325652994, 24174, 18003, [143, 114, 160, 48, 193, 35, 213, 152]);
3577 }
3578 impl ::std::convert::From<IAudioInputSelector> for ::windows::runtime::IUnknown {
from(value: IAudioInputSelector) -> Self3579     fn from(value: IAudioInputSelector) -> Self {
3580         unsafe { ::std::mem::transmute(value) }
3581     }
3582 }
3583 impl ::std::convert::From<&IAudioInputSelector> for ::windows::runtime::IUnknown {
from(value: &IAudioInputSelector) -> Self3584     fn from(value: &IAudioInputSelector) -> Self {
3585         ::std::convert::From::from(::std::clone::Clone::clone(value))
3586     }
3587 }
3588 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioInputSelector {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3589     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3590         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3591     }
3592 }
3593 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioInputSelector {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3594     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3595         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3596     }
3597 }
3598 #[repr(C)]
3599 #[doc(hidden)]
3600 pub struct IAudioInputSelector_abi(
3601     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3602     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3603     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3604     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnidselected: *mut u32) -> ::windows::runtime::HRESULT,
3605     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nidselect: u32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3606 );
3607 #[repr(transparent)]
3608 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3609 pub struct IAudioLfxControl(::windows::runtime::IUnknown);
3610 impl IAudioLfxControl {
3611     #[cfg(feature = "Win32_Foundation")]
SetLocalEffectsState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, benabled: Param0) -> ::windows::runtime::Result<()>3612     pub unsafe fn SetLocalEffectsState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, benabled: Param0) -> ::windows::runtime::Result<()> {
3613         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), benabled.into_param().abi()).ok()
3614     }
3615     #[cfg(feature = "Win32_Foundation")]
GetLocalEffectsState(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL>3616     pub unsafe fn GetLocalEffectsState(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL> {
3617         let mut result__: <super::super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3618         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::super::Foundation::BOOL>(result__)
3619     }
3620 }
3621 unsafe impl ::windows::runtime::Interface for IAudioLfxControl {
3622     type Vtable = IAudioLfxControl_abi;
3623     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(124414242, 55298, 20355, [186, 246, 64, 157, 156, 161, 27, 254]);
3624 }
3625 impl ::std::convert::From<IAudioLfxControl> for ::windows::runtime::IUnknown {
from(value: IAudioLfxControl) -> Self3626     fn from(value: IAudioLfxControl) -> Self {
3627         unsafe { ::std::mem::transmute(value) }
3628     }
3629 }
3630 impl ::std::convert::From<&IAudioLfxControl> for ::windows::runtime::IUnknown {
from(value: &IAudioLfxControl) -> Self3631     fn from(value: &IAudioLfxControl) -> Self {
3632         ::std::convert::From::from(::std::clone::Clone::clone(value))
3633     }
3634 }
3635 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioLfxControl {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3636     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3637         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3638     }
3639 }
3640 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioLfxControl {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3641     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3642         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3643     }
3644 }
3645 #[repr(C)]
3646 #[doc(hidden)]
3647 pub struct IAudioLfxControl_abi(
3648     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3649     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3650     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3651     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, benabled: super::super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3652     #[cfg(not(feature = "Win32_Foundation"))] usize,
3653     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbenabled: *mut super::super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3654     #[cfg(not(feature = "Win32_Foundation"))] usize,
3655 );
3656 #[repr(transparent)]
3657 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3658 pub struct IAudioLoudness(::windows::runtime::IUnknown);
3659 impl IAudioLoudness {
3660     #[cfg(feature = "Win32_Foundation")]
GetEnabled(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL>3661     pub unsafe fn GetEnabled(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL> {
3662         let mut result__: <super::super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3663         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::super::Foundation::BOOL>(result__)
3664     }
3665     #[cfg(feature = "Win32_Foundation")]
SetEnabled<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, benable: Param0, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>3666     pub unsafe fn SetEnabled<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, benable: Param0, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
3667         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), benable.into_param().abi(), ::std::mem::transmute(pguideventcontext)).ok()
3668     }
3669 }
3670 unsafe impl ::windows::runtime::Interface for IAudioLoudness {
3671     type Vtable = IAudioLoudness_abi;
3672     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2106266679, 56659, 17232, [156, 27, 30, 226, 137, 11, 217, 56]);
3673 }
3674 impl ::std::convert::From<IAudioLoudness> for ::windows::runtime::IUnknown {
from(value: IAudioLoudness) -> Self3675     fn from(value: IAudioLoudness) -> Self {
3676         unsafe { ::std::mem::transmute(value) }
3677     }
3678 }
3679 impl ::std::convert::From<&IAudioLoudness> for ::windows::runtime::IUnknown {
from(value: &IAudioLoudness) -> Self3680     fn from(value: &IAudioLoudness) -> Self {
3681         ::std::convert::From::from(::std::clone::Clone::clone(value))
3682     }
3683 }
3684 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioLoudness {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3685     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3686         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3687     }
3688 }
3689 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioLoudness {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3690     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3691         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3692     }
3693 }
3694 #[repr(C)]
3695 #[doc(hidden)]
3696 pub struct IAudioLoudness_abi(
3697     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3698     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3699     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3700     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbenabled: *mut super::super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3701     #[cfg(not(feature = "Win32_Foundation"))] usize,
3702     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, benable: super::super::super::Foundation::BOOL, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3703     #[cfg(not(feature = "Win32_Foundation"))] usize,
3704 );
3705 #[repr(transparent)]
3706 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3707 pub struct IAudioMeterInformation(::windows::runtime::IUnknown);
3708 impl IAudioMeterInformation {
GetPeakValue(&self) -> ::windows::runtime::Result<f32>3709     pub unsafe fn GetPeakValue(&self) -> ::windows::runtime::Result<f32> {
3710         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3711         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
3712     }
GetMeteringChannelCount(&self) -> ::windows::runtime::Result<u32>3713     pub unsafe fn GetMeteringChannelCount(&self) -> ::windows::runtime::Result<u32> {
3714         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3715         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3716     }
GetChannelsPeakValues(&self, u32channelcount: u32, afpeakvalues: *mut f32) -> ::windows::runtime::Result<()>3717     pub unsafe fn GetChannelsPeakValues(&self, u32channelcount: u32, afpeakvalues: *mut f32) -> ::windows::runtime::Result<()> {
3718         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(u32channelcount), ::std::mem::transmute(afpeakvalues)).ok()
3719     }
QueryHardwareSupport(&self) -> ::windows::runtime::Result<u32>3720     pub unsafe fn QueryHardwareSupport(&self) -> ::windows::runtime::Result<u32> {
3721         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3722         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3723     }
3724 }
3725 unsafe impl ::windows::runtime::Interface for IAudioMeterInformation {
3726     type Vtable = IAudioMeterInformation_abi;
3727     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3223459574, 35943, 19291, [157, 0, 208, 8, 231, 62, 0, 100]);
3728 }
3729 impl ::std::convert::From<IAudioMeterInformation> for ::windows::runtime::IUnknown {
from(value: IAudioMeterInformation) -> Self3730     fn from(value: IAudioMeterInformation) -> Self {
3731         unsafe { ::std::mem::transmute(value) }
3732     }
3733 }
3734 impl ::std::convert::From<&IAudioMeterInformation> for ::windows::runtime::IUnknown {
from(value: &IAudioMeterInformation) -> Self3735     fn from(value: &IAudioMeterInformation) -> Self {
3736         ::std::convert::From::from(::std::clone::Clone::clone(value))
3737     }
3738 }
3739 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioMeterInformation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3740     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3741         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3742     }
3743 }
3744 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioMeterInformation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3745     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3746         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3747     }
3748 }
3749 #[repr(C)]
3750 #[doc(hidden)]
3751 pub struct IAudioMeterInformation_abi(
3752     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3753     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3754     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3755     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfpeak: *mut f32) -> ::windows::runtime::HRESULT,
3756     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnchannelcount: *mut u32) -> ::windows::runtime::HRESULT,
3757     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, u32channelcount: u32, afpeakvalues: *mut f32) -> ::windows::runtime::HRESULT,
3758     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwhardwaresupportmask: *mut u32) -> ::windows::runtime::HRESULT,
3759 );
3760 #[repr(transparent)]
3761 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3762 pub struct IAudioMidrange(::windows::runtime::IUnknown);
3763 impl IAudioMidrange {
GetChannelCount(&self) -> ::windows::runtime::Result<u32>3764     pub unsafe fn GetChannelCount(&self) -> ::windows::runtime::Result<u32> {
3765         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3766         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3767     }
GetLevelRange(&self, nchannel: u32, pfminleveldb: *mut f32, pfmaxleveldb: *mut f32, pfstepping: *mut f32) -> ::windows::runtime::Result<()>3768     pub unsafe fn GetLevelRange(&self, nchannel: u32, pfminleveldb: *mut f32, pfmaxleveldb: *mut f32, pfstepping: *mut f32) -> ::windows::runtime::Result<()> {
3769         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(nchannel), ::std::mem::transmute(pfminleveldb), ::std::mem::transmute(pfmaxleveldb), ::std::mem::transmute(pfstepping)).ok()
3770     }
GetLevel(&self, nchannel: u32) -> ::windows::runtime::Result<f32>3771     pub unsafe fn GetLevel(&self, nchannel: u32) -> ::windows::runtime::Result<f32> {
3772         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3773         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(nchannel), &mut result__).from_abi::<f32>(result__)
3774     }
SetLevel(&self, nchannel: u32, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>3775     pub unsafe fn SetLevel(&self, nchannel: u32, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
3776         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(nchannel), ::std::mem::transmute(fleveldb), ::std::mem::transmute(pguideventcontext)).ok()
3777     }
SetLevelUniform(&self, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>3778     pub unsafe fn SetLevelUniform(&self, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
3779         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(fleveldb), ::std::mem::transmute(pguideventcontext)).ok()
3780     }
SetLevelAllChannels(&self, alevelsdb: *const f32, cchannels: u32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>3781     pub unsafe fn SetLevelAllChannels(&self, alevelsdb: *const f32, cchannels: u32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
3782         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(alevelsdb), ::std::mem::transmute(cchannels), ::std::mem::transmute(pguideventcontext)).ok()
3783     }
3784 }
3785 unsafe impl ::windows::runtime::Interface for IAudioMidrange {
3786     type Vtable = IAudioMidrange_abi;
3787     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1582610135, 46155, 16601, [154, 158, 230, 145, 217, 206, 110, 223]);
3788 }
3789 impl ::std::convert::From<IAudioMidrange> for ::windows::runtime::IUnknown {
from(value: IAudioMidrange) -> Self3790     fn from(value: IAudioMidrange) -> Self {
3791         unsafe { ::std::mem::transmute(value) }
3792     }
3793 }
3794 impl ::std::convert::From<&IAudioMidrange> for ::windows::runtime::IUnknown {
from(value: &IAudioMidrange) -> Self3795     fn from(value: &IAudioMidrange) -> Self {
3796         ::std::convert::From::from(::std::clone::Clone::clone(value))
3797     }
3798 }
3799 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioMidrange {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3800     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3801         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3802     }
3803 }
3804 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioMidrange {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3805     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3806         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3807     }
3808 }
3809 impl ::std::convert::From<IAudioMidrange> for IPerChannelDbLevel {
from(value: IAudioMidrange) -> Self3810     fn from(value: IAudioMidrange) -> Self {
3811         unsafe { ::std::mem::transmute(value) }
3812     }
3813 }
3814 impl ::std::convert::From<&IAudioMidrange> for IPerChannelDbLevel {
from(value: &IAudioMidrange) -> Self3815     fn from(value: &IAudioMidrange) -> Self {
3816         ::std::convert::From::from(::std::clone::Clone::clone(value))
3817     }
3818 }
3819 impl<'a> ::windows::runtime::IntoParam<'a, IPerChannelDbLevel> for IAudioMidrange {
into_param(self) -> ::windows::runtime::Param<'a, IPerChannelDbLevel>3820     fn into_param(self) -> ::windows::runtime::Param<'a, IPerChannelDbLevel> {
3821         ::windows::runtime::Param::Owned(::std::convert::Into::<IPerChannelDbLevel>::into(self))
3822     }
3823 }
3824 impl<'a> ::windows::runtime::IntoParam<'a, IPerChannelDbLevel> for &IAudioMidrange {
into_param(self) -> ::windows::runtime::Param<'a, IPerChannelDbLevel>3825     fn into_param(self) -> ::windows::runtime::Param<'a, IPerChannelDbLevel> {
3826         ::windows::runtime::Param::Owned(::std::convert::Into::<IPerChannelDbLevel>::into(::std::clone::Clone::clone(self)))
3827     }
3828 }
3829 #[repr(C)]
3830 #[doc(hidden)]
3831 pub struct IAudioMidrange_abi(
3832     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3833     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3834     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3835     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcchannels: *mut u32) -> ::windows::runtime::HRESULT,
3836     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nchannel: u32, pfminleveldb: *mut f32, pfmaxleveldb: *mut f32, pfstepping: *mut f32) -> ::windows::runtime::HRESULT,
3837     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nchannel: u32, pfleveldb: *mut f32) -> ::windows::runtime::HRESULT,
3838     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nchannel: u32, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3839     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3840     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, alevelsdb: *const f32, cchannels: u32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3841 );
3842 #[repr(transparent)]
3843 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3844 pub struct IAudioMute(::windows::runtime::IUnknown);
3845 impl IAudioMute {
3846     #[cfg(feature = "Win32_Foundation")]
SetMute<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, bmuted: Param0, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>3847     pub unsafe fn SetMute<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, bmuted: Param0, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
3848         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), bmuted.into_param().abi(), ::std::mem::transmute(pguideventcontext)).ok()
3849     }
3850     #[cfg(feature = "Win32_Foundation")]
GetMute(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL>3851     pub unsafe fn GetMute(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL> {
3852         let mut result__: <super::super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3853         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::super::Foundation::BOOL>(result__)
3854     }
3855 }
3856 unsafe impl ::windows::runtime::Interface for IAudioMute {
3857     type Vtable = IAudioMute_abi;
3858     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3745885930, 46922, 19307, [175, 173, 35, 102, 182, 170, 1, 46]);
3859 }
3860 impl ::std::convert::From<IAudioMute> for ::windows::runtime::IUnknown {
from(value: IAudioMute) -> Self3861     fn from(value: IAudioMute) -> Self {
3862         unsafe { ::std::mem::transmute(value) }
3863     }
3864 }
3865 impl ::std::convert::From<&IAudioMute> for ::windows::runtime::IUnknown {
from(value: &IAudioMute) -> Self3866     fn from(value: &IAudioMute) -> Self {
3867         ::std::convert::From::from(::std::clone::Clone::clone(value))
3868     }
3869 }
3870 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioMute {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3871     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3872         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3873     }
3874 }
3875 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioMute {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3876     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3877         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3878     }
3879 }
3880 #[repr(C)]
3881 #[doc(hidden)]
3882 pub struct IAudioMute_abi(
3883     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3884     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3885     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3886     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bmuted: super::super::super::Foundation::BOOL, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3887     #[cfg(not(feature = "Win32_Foundation"))] usize,
3888     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbmuted: *mut super::super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3889     #[cfg(not(feature = "Win32_Foundation"))] usize,
3890 );
3891 #[repr(transparent)]
3892 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3893 pub struct IAudioOutputSelector(::windows::runtime::IUnknown);
3894 impl IAudioOutputSelector {
GetSelection(&self) -> ::windows::runtime::Result<u32>3895     pub unsafe fn GetSelection(&self) -> ::windows::runtime::Result<u32> {
3896         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3897         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3898     }
SetSelection(&self, nidselect: u32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>3899     pub unsafe fn SetSelection(&self, nidselect: u32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
3900         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(nidselect), ::std::mem::transmute(pguideventcontext)).ok()
3901     }
3902 }
3903 unsafe impl ::windows::runtime::Interface for IAudioOutputSelector {
3904     type Vtable = IAudioOutputSelector_abi;
3905     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3142672233, 38055, 17054, [139, 156, 39, 27, 63, 17, 163, 171]);
3906 }
3907 impl ::std::convert::From<IAudioOutputSelector> for ::windows::runtime::IUnknown {
from(value: IAudioOutputSelector) -> Self3908     fn from(value: IAudioOutputSelector) -> Self {
3909         unsafe { ::std::mem::transmute(value) }
3910     }
3911 }
3912 impl ::std::convert::From<&IAudioOutputSelector> for ::windows::runtime::IUnknown {
from(value: &IAudioOutputSelector) -> Self3913     fn from(value: &IAudioOutputSelector) -> Self {
3914         ::std::convert::From::from(::std::clone::Clone::clone(value))
3915     }
3916 }
3917 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioOutputSelector {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3918     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3919         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3920     }
3921 }
3922 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioOutputSelector {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3923     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3924         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3925     }
3926 }
3927 #[repr(C)]
3928 #[doc(hidden)]
3929 pub struct IAudioOutputSelector_abi(
3930     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3931     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3932     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3933     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnidselected: *mut u32) -> ::windows::runtime::HRESULT,
3934     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nidselect: u32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3935 );
3936 #[repr(transparent)]
3937 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3938 pub struct IAudioPeakMeter(::windows::runtime::IUnknown);
3939 impl IAudioPeakMeter {
GetChannelCount(&self) -> ::windows::runtime::Result<u32>3940     pub unsafe fn GetChannelCount(&self) -> ::windows::runtime::Result<u32> {
3941         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3942         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3943     }
GetLevel(&self, nchannel: u32) -> ::windows::runtime::Result<f32>3944     pub unsafe fn GetLevel(&self, nchannel: u32) -> ::windows::runtime::Result<f32> {
3945         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3946         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(nchannel), &mut result__).from_abi::<f32>(result__)
3947     }
3948 }
3949 unsafe impl ::windows::runtime::Interface for IAudioPeakMeter {
3950     type Vtable = IAudioPeakMeter_abi;
3951     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3715732028, 1433, 17888, [184, 182, 200, 223, 125, 182, 231, 150]);
3952 }
3953 impl ::std::convert::From<IAudioPeakMeter> for ::windows::runtime::IUnknown {
from(value: IAudioPeakMeter) -> Self3954     fn from(value: IAudioPeakMeter) -> Self {
3955         unsafe { ::std::mem::transmute(value) }
3956     }
3957 }
3958 impl ::std::convert::From<&IAudioPeakMeter> for ::windows::runtime::IUnknown {
from(value: &IAudioPeakMeter) -> Self3959     fn from(value: &IAudioPeakMeter) -> Self {
3960         ::std::convert::From::from(::std::clone::Clone::clone(value))
3961     }
3962 }
3963 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioPeakMeter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3964     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3965         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3966     }
3967 }
3968 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioPeakMeter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3969     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3970         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3971     }
3972 }
3973 #[repr(C)]
3974 #[doc(hidden)]
3975 pub struct IAudioPeakMeter_abi(
3976     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3977     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3978     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3979     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcchannels: *mut u32) -> ::windows::runtime::HRESULT,
3980     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nchannel: u32, pflevel: *mut f32) -> ::windows::runtime::HRESULT,
3981 );
3982 #[repr(transparent)]
3983 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3984 pub struct IAudioProcessingObjectLoggingService(::windows::runtime::IUnknown);
3985 impl IAudioProcessingObjectLoggingService {
3986     #[cfg(feature = "Win32_Foundation")]
ApoLog<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, level: APO_LOG_LEVEL, format: Param1)3987     pub unsafe fn ApoLog<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, level: APO_LOG_LEVEL, format: Param1) {
3988         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(level), format.into_param().abi()))
3989     }
3990 }
3991 unsafe impl ::windows::runtime::Interface for IAudioProcessingObjectLoggingService {
3992     type Vtable = IAudioProcessingObjectLoggingService_abi;
3993     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1770979591, 5957, 18184, [149, 165, 216, 68, 120, 166, 42, 101]);
3994 }
3995 impl ::std::convert::From<IAudioProcessingObjectLoggingService> for ::windows::runtime::IUnknown {
from(value: IAudioProcessingObjectLoggingService) -> Self3996     fn from(value: IAudioProcessingObjectLoggingService) -> Self {
3997         unsafe { ::std::mem::transmute(value) }
3998     }
3999 }
4000 impl ::std::convert::From<&IAudioProcessingObjectLoggingService> for ::windows::runtime::IUnknown {
from(value: &IAudioProcessingObjectLoggingService) -> Self4001     fn from(value: &IAudioProcessingObjectLoggingService) -> Self {
4002         ::std::convert::From::from(::std::clone::Clone::clone(value))
4003     }
4004 }
4005 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioProcessingObjectLoggingService {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4006     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4007         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4008     }
4009 }
4010 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioProcessingObjectLoggingService {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4011     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4012         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4013     }
4014 }
4015 #[repr(C)]
4016 #[doc(hidden)]
4017 pub struct IAudioProcessingObjectLoggingService_abi(
4018     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4019     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4020     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4021     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, level: APO_LOG_LEVEL, format: super::super::super::Foundation::PWSTR),
4022     #[cfg(not(feature = "Win32_Foundation"))] usize,
4023 );
4024 #[repr(transparent)]
4025 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4026 pub struct IAudioProcessingObjectNotifications(::windows::runtime::IUnknown);
4027 impl IAudioProcessingObjectNotifications {
GetApoNotificationRegistrationInfo(&self, aponotifications: *mut *mut APO_NOTIFICATION_DESCRIPTOR, count: *mut u32) -> ::windows::runtime::Result<()>4028     pub unsafe fn GetApoNotificationRegistrationInfo(&self, aponotifications: *mut *mut APO_NOTIFICATION_DESCRIPTOR, count: *mut u32) -> ::windows::runtime::Result<()> {
4029         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(aponotifications), ::std::mem::transmute(count)).ok()
4030     }
4031     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PropertiesSystem"))]
HandleNotification(&self, aponotification: *const APO_NOTIFICATION)4032     pub unsafe fn HandleNotification(&self, aponotification: *const APO_NOTIFICATION) {
4033         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(aponotification)))
4034     }
4035 }
4036 unsafe impl ::windows::runtime::Interface for IAudioProcessingObjectNotifications {
4037     type Vtable = IAudioProcessingObjectNotifications_abi;
4038     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1454425967, 765, 19233, [165, 46, 159, 130, 25, 252, 134, 228]);
4039 }
4040 impl ::std::convert::From<IAudioProcessingObjectNotifications> for ::windows::runtime::IUnknown {
from(value: IAudioProcessingObjectNotifications) -> Self4041     fn from(value: IAudioProcessingObjectNotifications) -> Self {
4042         unsafe { ::std::mem::transmute(value) }
4043     }
4044 }
4045 impl ::std::convert::From<&IAudioProcessingObjectNotifications> for ::windows::runtime::IUnknown {
from(value: &IAudioProcessingObjectNotifications) -> Self4046     fn from(value: &IAudioProcessingObjectNotifications) -> Self {
4047         ::std::convert::From::from(::std::clone::Clone::clone(value))
4048     }
4049 }
4050 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioProcessingObjectNotifications {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4051     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4052         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4053     }
4054 }
4055 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioProcessingObjectNotifications {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4056     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4057         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4058     }
4059 }
4060 #[repr(C)]
4061 #[doc(hidden)]
4062 pub struct IAudioProcessingObjectNotifications_abi(
4063     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4064     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4065     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4066     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, aponotifications: *mut *mut APO_NOTIFICATION_DESCRIPTOR, count: *mut u32) -> ::windows::runtime::HRESULT,
4067     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PropertiesSystem"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, aponotification: *const ::std::mem::ManuallyDrop<APO_NOTIFICATION>),
4068     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_PropertiesSystem")))] usize,
4069 );
4070 #[repr(transparent)]
4071 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4072 pub struct IAudioProcessingObjectRTQueueService(::windows::runtime::IUnknown);
4073 impl IAudioProcessingObjectRTQueueService {
GetRealTimeWorkQueue(&self) -> ::windows::runtime::Result<u32>4074     pub unsafe fn GetRealTimeWorkQueue(&self) -> ::windows::runtime::Result<u32> {
4075         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4076         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4077     }
4078 }
4079 unsafe impl ::windows::runtime::Interface for IAudioProcessingObjectRTQueueService {
4080     type Vtable = IAudioProcessingObjectRTQueueService_abi;
4081     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2899729967, 38235, 19287, [185, 191, 172, 41, 123, 183, 82, 201]);
4082 }
4083 impl ::std::convert::From<IAudioProcessingObjectRTQueueService> for ::windows::runtime::IUnknown {
from(value: IAudioProcessingObjectRTQueueService) -> Self4084     fn from(value: IAudioProcessingObjectRTQueueService) -> Self {
4085         unsafe { ::std::mem::transmute(value) }
4086     }
4087 }
4088 impl ::std::convert::From<&IAudioProcessingObjectRTQueueService> for ::windows::runtime::IUnknown {
from(value: &IAudioProcessingObjectRTQueueService) -> Self4089     fn from(value: &IAudioProcessingObjectRTQueueService) -> Self {
4090         ::std::convert::From::from(::std::clone::Clone::clone(value))
4091     }
4092 }
4093 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioProcessingObjectRTQueueService {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4094     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4095         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4096     }
4097 }
4098 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioProcessingObjectRTQueueService {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4099     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4100         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4101     }
4102 }
4103 #[repr(C)]
4104 #[doc(hidden)]
4105 pub struct IAudioProcessingObjectRTQueueService_abi(
4106     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4107     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4108     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4109     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, workqueueid: *mut u32) -> ::windows::runtime::HRESULT,
4110 );
4111 #[repr(transparent)]
4112 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4113 pub struct IAudioRenderClient(::windows::runtime::IUnknown);
4114 impl IAudioRenderClient {
GetBuffer(&self, numframesrequested: u32) -> ::windows::runtime::Result<*mut u8>4115     pub unsafe fn GetBuffer(&self, numframesrequested: u32) -> ::windows::runtime::Result<*mut u8> {
4116         let mut result__: <*mut u8 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4117         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(numframesrequested), &mut result__).from_abi::<*mut u8>(result__)
4118     }
ReleaseBuffer(&self, numframeswritten: u32, dwflags: u32) -> ::windows::runtime::Result<()>4119     pub unsafe fn ReleaseBuffer(&self, numframeswritten: u32, dwflags: u32) -> ::windows::runtime::Result<()> {
4120         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(numframeswritten), ::std::mem::transmute(dwflags)).ok()
4121     }
4122 }
4123 unsafe impl ::windows::runtime::Interface for IAudioRenderClient {
4124     type Vtable = IAudioRenderClient_abi;
4125     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4069829884, 12614, 17539, [167, 191, 173, 220, 167, 194, 96, 226]);
4126 }
4127 impl ::std::convert::From<IAudioRenderClient> for ::windows::runtime::IUnknown {
from(value: IAudioRenderClient) -> Self4128     fn from(value: IAudioRenderClient) -> Self {
4129         unsafe { ::std::mem::transmute(value) }
4130     }
4131 }
4132 impl ::std::convert::From<&IAudioRenderClient> for ::windows::runtime::IUnknown {
from(value: &IAudioRenderClient) -> Self4133     fn from(value: &IAudioRenderClient) -> Self {
4134         ::std::convert::From::from(::std::clone::Clone::clone(value))
4135     }
4136 }
4137 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioRenderClient {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4138     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4139         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4140     }
4141 }
4142 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioRenderClient {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4143     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4144         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4145     }
4146 }
4147 #[repr(C)]
4148 #[doc(hidden)]
4149 pub struct IAudioRenderClient_abi(
4150     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4151     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4152     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4153     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numframesrequested: u32, ppdata: *mut *mut u8) -> ::windows::runtime::HRESULT,
4154     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numframeswritten: u32, dwflags: u32) -> ::windows::runtime::HRESULT,
4155 );
4156 #[repr(transparent)]
4157 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4158 pub struct IAudioSessionControl(::windows::runtime::IUnknown);
4159 impl IAudioSessionControl {
GetState(&self) -> ::windows::runtime::Result<AudioSessionState>4160     pub unsafe fn GetState(&self) -> ::windows::runtime::Result<AudioSessionState> {
4161         let mut result__: <AudioSessionState as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4162         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<AudioSessionState>(result__)
4163     }
4164     #[cfg(feature = "Win32_Foundation")]
GetDisplayName(&self) -> ::windows::runtime::Result<super::super::super::Foundation::PWSTR>4165     pub unsafe fn GetDisplayName(&self) -> ::windows::runtime::Result<super::super::super::Foundation::PWSTR> {
4166         let mut result__: <super::super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4167         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::super::Foundation::PWSTR>(result__)
4168     }
4169     #[cfg(feature = "Win32_Foundation")]
SetDisplayName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, value: Param0, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>4170     pub unsafe fn SetDisplayName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, value: Param0, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
4171         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), value.into_param().abi(), ::std::mem::transmute(eventcontext)).ok()
4172     }
4173     #[cfg(feature = "Win32_Foundation")]
GetIconPath(&self) -> ::windows::runtime::Result<super::super::super::Foundation::PWSTR>4174     pub unsafe fn GetIconPath(&self) -> ::windows::runtime::Result<super::super::super::Foundation::PWSTR> {
4175         let mut result__: <super::super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4176         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::super::Foundation::PWSTR>(result__)
4177     }
4178     #[cfg(feature = "Win32_Foundation")]
SetIconPath<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, value: Param0, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>4179     pub unsafe fn SetIconPath<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, value: Param0, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
4180         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), value.into_param().abi(), ::std::mem::transmute(eventcontext)).ok()
4181     }
GetGroupingParam(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>4182     pub unsafe fn GetGroupingParam(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
4183         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4184         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
4185     }
SetGroupingParam(&self, r#override: *const ::windows::runtime::GUID, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>4186     pub unsafe fn SetGroupingParam(&self, r#override: *const ::windows::runtime::GUID, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
4187         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#override), ::std::mem::transmute(eventcontext)).ok()
4188     }
RegisterAudioSessionNotification<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioSessionEvents>>(&self, newnotifications: Param0) -> ::windows::runtime::Result<()>4189     pub unsafe fn RegisterAudioSessionNotification<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioSessionEvents>>(&self, newnotifications: Param0) -> ::windows::runtime::Result<()> {
4190         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), newnotifications.into_param().abi()).ok()
4191     }
UnregisterAudioSessionNotification<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioSessionEvents>>(&self, newnotifications: Param0) -> ::windows::runtime::Result<()>4192     pub unsafe fn UnregisterAudioSessionNotification<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioSessionEvents>>(&self, newnotifications: Param0) -> ::windows::runtime::Result<()> {
4193         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), newnotifications.into_param().abi()).ok()
4194     }
4195 }
4196 unsafe impl ::windows::runtime::Interface for IAudioSessionControl {
4197     type Vtable = IAudioSessionControl_abi;
4198     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4105282969, 29286, 17177, [168, 202, 231, 10, 203, 17, 232, 205]);
4199 }
4200 impl ::std::convert::From<IAudioSessionControl> for ::windows::runtime::IUnknown {
from(value: IAudioSessionControl) -> Self4201     fn from(value: IAudioSessionControl) -> Self {
4202         unsafe { ::std::mem::transmute(value) }
4203     }
4204 }
4205 impl ::std::convert::From<&IAudioSessionControl> for ::windows::runtime::IUnknown {
from(value: &IAudioSessionControl) -> Self4206     fn from(value: &IAudioSessionControl) -> Self {
4207         ::std::convert::From::from(::std::clone::Clone::clone(value))
4208     }
4209 }
4210 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioSessionControl {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4211     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4212         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4213     }
4214 }
4215 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioSessionControl {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4216     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4217         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4218     }
4219 }
4220 #[repr(C)]
4221 #[doc(hidden)]
4222 pub struct IAudioSessionControl_abi(
4223     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4224     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4225     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4226     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut AudioSessionState) -> ::windows::runtime::HRESULT,
4227     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut super::super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4228     #[cfg(not(feature = "Win32_Foundation"))] usize,
4229     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::super::Foundation::PWSTR, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4230     #[cfg(not(feature = "Win32_Foundation"))] usize,
4231     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut super::super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4232     #[cfg(not(feature = "Win32_Foundation"))] usize,
4233     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::super::Foundation::PWSTR, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4234     #[cfg(not(feature = "Win32_Foundation"))] usize,
4235     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4236     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#override: *const ::windows::runtime::GUID, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4237     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newnotifications: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4238     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newnotifications: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4239 );
4240 #[repr(transparent)]
4241 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4242 pub struct IAudioSessionControl2(::windows::runtime::IUnknown);
4243 impl IAudioSessionControl2 {
GetState(&self) -> ::windows::runtime::Result<AudioSessionState>4244     pub unsafe fn GetState(&self) -> ::windows::runtime::Result<AudioSessionState> {
4245         let mut result__: <AudioSessionState as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4246         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<AudioSessionState>(result__)
4247     }
4248     #[cfg(feature = "Win32_Foundation")]
GetDisplayName(&self) -> ::windows::runtime::Result<super::super::super::Foundation::PWSTR>4249     pub unsafe fn GetDisplayName(&self) -> ::windows::runtime::Result<super::super::super::Foundation::PWSTR> {
4250         let mut result__: <super::super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4251         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::super::Foundation::PWSTR>(result__)
4252     }
4253     #[cfg(feature = "Win32_Foundation")]
SetDisplayName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, value: Param0, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>4254     pub unsafe fn SetDisplayName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, value: Param0, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
4255         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), value.into_param().abi(), ::std::mem::transmute(eventcontext)).ok()
4256     }
4257     #[cfg(feature = "Win32_Foundation")]
GetIconPath(&self) -> ::windows::runtime::Result<super::super::super::Foundation::PWSTR>4258     pub unsafe fn GetIconPath(&self) -> ::windows::runtime::Result<super::super::super::Foundation::PWSTR> {
4259         let mut result__: <super::super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4260         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::super::Foundation::PWSTR>(result__)
4261     }
4262     #[cfg(feature = "Win32_Foundation")]
SetIconPath<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, value: Param0, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>4263     pub unsafe fn SetIconPath<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, value: Param0, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
4264         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), value.into_param().abi(), ::std::mem::transmute(eventcontext)).ok()
4265     }
GetGroupingParam(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>4266     pub unsafe fn GetGroupingParam(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
4267         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4268         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
4269     }
SetGroupingParam(&self, r#override: *const ::windows::runtime::GUID, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>4270     pub unsafe fn SetGroupingParam(&self, r#override: *const ::windows::runtime::GUID, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
4271         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#override), ::std::mem::transmute(eventcontext)).ok()
4272     }
RegisterAudioSessionNotification<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioSessionEvents>>(&self, newnotifications: Param0) -> ::windows::runtime::Result<()>4273     pub unsafe fn RegisterAudioSessionNotification<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioSessionEvents>>(&self, newnotifications: Param0) -> ::windows::runtime::Result<()> {
4274         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), newnotifications.into_param().abi()).ok()
4275     }
UnregisterAudioSessionNotification<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioSessionEvents>>(&self, newnotifications: Param0) -> ::windows::runtime::Result<()>4276     pub unsafe fn UnregisterAudioSessionNotification<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioSessionEvents>>(&self, newnotifications: Param0) -> ::windows::runtime::Result<()> {
4277         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), newnotifications.into_param().abi()).ok()
4278     }
4279     #[cfg(feature = "Win32_Foundation")]
GetSessionIdentifier(&self) -> ::windows::runtime::Result<super::super::super::Foundation::PWSTR>4280     pub unsafe fn GetSessionIdentifier(&self) -> ::windows::runtime::Result<super::super::super::Foundation::PWSTR> {
4281         let mut result__: <super::super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4282         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::super::Foundation::PWSTR>(result__)
4283     }
4284     #[cfg(feature = "Win32_Foundation")]
GetSessionInstanceIdentifier(&self) -> ::windows::runtime::Result<super::super::super::Foundation::PWSTR>4285     pub unsafe fn GetSessionInstanceIdentifier(&self) -> ::windows::runtime::Result<super::super::super::Foundation::PWSTR> {
4286         let mut result__: <super::super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4287         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::super::Foundation::PWSTR>(result__)
4288     }
GetProcessId(&self) -> ::windows::runtime::Result<u32>4289     pub unsafe fn GetProcessId(&self) -> ::windows::runtime::Result<u32> {
4290         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4291         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4292     }
IsSystemSoundsSession(&self) -> ::windows::runtime::Result<()>4293     pub unsafe fn IsSystemSoundsSession(&self) -> ::windows::runtime::Result<()> {
4294         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self)).ok()
4295     }
4296     #[cfg(feature = "Win32_Foundation")]
SetDuckingPreference<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, optout: Param0) -> ::windows::runtime::Result<()>4297     pub unsafe fn SetDuckingPreference<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, optout: Param0) -> ::windows::runtime::Result<()> {
4298         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), optout.into_param().abi()).ok()
4299     }
4300 }
4301 unsafe impl ::windows::runtime::Interface for IAudioSessionControl2 {
4302     type Vtable = IAudioSessionControl2_abi;
4303     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3216506760, 29241, 20425, [143, 162, 7, 201, 80, 190, 156, 109]);
4304 }
4305 impl ::std::convert::From<IAudioSessionControl2> for ::windows::runtime::IUnknown {
from(value: IAudioSessionControl2) -> Self4306     fn from(value: IAudioSessionControl2) -> Self {
4307         unsafe { ::std::mem::transmute(value) }
4308     }
4309 }
4310 impl ::std::convert::From<&IAudioSessionControl2> for ::windows::runtime::IUnknown {
from(value: &IAudioSessionControl2) -> Self4311     fn from(value: &IAudioSessionControl2) -> Self {
4312         ::std::convert::From::from(::std::clone::Clone::clone(value))
4313     }
4314 }
4315 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioSessionControl2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4316     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4317         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4318     }
4319 }
4320 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioSessionControl2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4321     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4322         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4323     }
4324 }
4325 impl ::std::convert::From<IAudioSessionControl2> for IAudioSessionControl {
from(value: IAudioSessionControl2) -> Self4326     fn from(value: IAudioSessionControl2) -> Self {
4327         unsafe { ::std::mem::transmute(value) }
4328     }
4329 }
4330 impl ::std::convert::From<&IAudioSessionControl2> for IAudioSessionControl {
from(value: &IAudioSessionControl2) -> Self4331     fn from(value: &IAudioSessionControl2) -> Self {
4332         ::std::convert::From::from(::std::clone::Clone::clone(value))
4333     }
4334 }
4335 impl<'a> ::windows::runtime::IntoParam<'a, IAudioSessionControl> for IAudioSessionControl2 {
into_param(self) -> ::windows::runtime::Param<'a, IAudioSessionControl>4336     fn into_param(self) -> ::windows::runtime::Param<'a, IAudioSessionControl> {
4337         ::windows::runtime::Param::Owned(::std::convert::Into::<IAudioSessionControl>::into(self))
4338     }
4339 }
4340 impl<'a> ::windows::runtime::IntoParam<'a, IAudioSessionControl> for &IAudioSessionControl2 {
into_param(self) -> ::windows::runtime::Param<'a, IAudioSessionControl>4341     fn into_param(self) -> ::windows::runtime::Param<'a, IAudioSessionControl> {
4342         ::windows::runtime::Param::Owned(::std::convert::Into::<IAudioSessionControl>::into(::std::clone::Clone::clone(self)))
4343     }
4344 }
4345 #[repr(C)]
4346 #[doc(hidden)]
4347 pub struct IAudioSessionControl2_abi(
4348     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4349     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4350     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4351     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut AudioSessionState) -> ::windows::runtime::HRESULT,
4352     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut super::super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4353     #[cfg(not(feature = "Win32_Foundation"))] usize,
4354     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::super::Foundation::PWSTR, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4355     #[cfg(not(feature = "Win32_Foundation"))] usize,
4356     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut super::super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4357     #[cfg(not(feature = "Win32_Foundation"))] usize,
4358     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::super::Foundation::PWSTR, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4359     #[cfg(not(feature = "Win32_Foundation"))] usize,
4360     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4361     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#override: *const ::windows::runtime::GUID, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4362     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newnotifications: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4363     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newnotifications: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4364     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut super::super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4365     #[cfg(not(feature = "Win32_Foundation"))] usize,
4366     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut super::super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4367     #[cfg(not(feature = "Win32_Foundation"))] usize,
4368     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut u32) -> ::windows::runtime::HRESULT,
4369     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4370     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, optout: super::super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4371     #[cfg(not(feature = "Win32_Foundation"))] usize,
4372 );
4373 #[repr(transparent)]
4374 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4375 pub struct IAudioSessionEnumerator(::windows::runtime::IUnknown);
4376 impl IAudioSessionEnumerator {
GetCount(&self) -> ::windows::runtime::Result<i32>4377     pub unsafe fn GetCount(&self) -> ::windows::runtime::Result<i32> {
4378         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4379         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4380     }
GetSession(&self, sessioncount: i32) -> ::windows::runtime::Result<IAudioSessionControl>4381     pub unsafe fn GetSession(&self, sessioncount: i32) -> ::windows::runtime::Result<IAudioSessionControl> {
4382         let mut result__: <IAudioSessionControl as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4383         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(sessioncount), &mut result__).from_abi::<IAudioSessionControl>(result__)
4384     }
4385 }
4386 unsafe impl ::windows::runtime::Interface for IAudioSessionEnumerator {
4387     type Vtable = IAudioSessionEnumerator_abi;
4388     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3807755025, 1392, 16586, [172, 221, 58, 160, 18, 119, 222, 232]);
4389 }
4390 impl ::std::convert::From<IAudioSessionEnumerator> for ::windows::runtime::IUnknown {
from(value: IAudioSessionEnumerator) -> Self4391     fn from(value: IAudioSessionEnumerator) -> Self {
4392         unsafe { ::std::mem::transmute(value) }
4393     }
4394 }
4395 impl ::std::convert::From<&IAudioSessionEnumerator> for ::windows::runtime::IUnknown {
from(value: &IAudioSessionEnumerator) -> Self4396     fn from(value: &IAudioSessionEnumerator) -> Self {
4397         ::std::convert::From::from(::std::clone::Clone::clone(value))
4398     }
4399 }
4400 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioSessionEnumerator {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4401     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4402         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4403     }
4404 }
4405 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioSessionEnumerator {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4406     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4407         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4408     }
4409 }
4410 #[repr(C)]
4411 #[doc(hidden)]
4412 pub struct IAudioSessionEnumerator_abi(
4413     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4414     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4415     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4416     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sessioncount: *mut i32) -> ::windows::runtime::HRESULT,
4417     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sessioncount: i32, session: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4418 );
4419 #[repr(transparent)]
4420 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4421 pub struct IAudioSessionEvents(::windows::runtime::IUnknown);
4422 impl IAudioSessionEvents {
4423     #[cfg(feature = "Win32_Foundation")]
OnDisplayNameChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, newdisplayname: Param0, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>4424     pub unsafe fn OnDisplayNameChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, newdisplayname: Param0, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
4425         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), newdisplayname.into_param().abi(), ::std::mem::transmute(eventcontext)).ok()
4426     }
4427     #[cfg(feature = "Win32_Foundation")]
OnIconPathChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, newiconpath: Param0, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>4428     pub unsafe fn OnIconPathChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, newiconpath: Param0, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
4429         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), newiconpath.into_param().abi(), ::std::mem::transmute(eventcontext)).ok()
4430     }
4431     #[cfg(feature = "Win32_Foundation")]
OnSimpleVolumeChanged<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, newvolume: f32, newmute: Param1, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>4432     pub unsafe fn OnSimpleVolumeChanged<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, newvolume: f32, newmute: Param1, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
4433         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(newvolume), newmute.into_param().abi(), ::std::mem::transmute(eventcontext)).ok()
4434     }
OnChannelVolumeChanged(&self, channelcount: u32, newchannelvolumearray: *const f32, changedchannel: u32, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>4435     pub unsafe fn OnChannelVolumeChanged(&self, channelcount: u32, newchannelvolumearray: *const f32, changedchannel: u32, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
4436         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(channelcount), ::std::mem::transmute(newchannelvolumearray), ::std::mem::transmute(changedchannel), ::std::mem::transmute(eventcontext)).ok()
4437     }
OnGroupingParamChanged(&self, newgroupingparam: *const ::windows::runtime::GUID, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>4438     pub unsafe fn OnGroupingParamChanged(&self, newgroupingparam: *const ::windows::runtime::GUID, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
4439         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(newgroupingparam), ::std::mem::transmute(eventcontext)).ok()
4440     }
OnStateChanged(&self, newstate: AudioSessionState) -> ::windows::runtime::Result<()>4441     pub unsafe fn OnStateChanged(&self, newstate: AudioSessionState) -> ::windows::runtime::Result<()> {
4442         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(newstate)).ok()
4443     }
OnSessionDisconnected(&self, disconnectreason: AudioSessionDisconnectReason) -> ::windows::runtime::Result<()>4444     pub unsafe fn OnSessionDisconnected(&self, disconnectreason: AudioSessionDisconnectReason) -> ::windows::runtime::Result<()> {
4445         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(disconnectreason)).ok()
4446     }
4447 }
4448 unsafe impl ::windows::runtime::Interface for IAudioSessionEvents {
4449     type Vtable = IAudioSessionEvents_abi;
4450     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(613518028, 25779, 14273, [140, 169, 116, 166, 110, 153, 87, 168]);
4451 }
4452 impl ::std::convert::From<IAudioSessionEvents> for ::windows::runtime::IUnknown {
from(value: IAudioSessionEvents) -> Self4453     fn from(value: IAudioSessionEvents) -> Self {
4454         unsafe { ::std::mem::transmute(value) }
4455     }
4456 }
4457 impl ::std::convert::From<&IAudioSessionEvents> for ::windows::runtime::IUnknown {
from(value: &IAudioSessionEvents) -> Self4458     fn from(value: &IAudioSessionEvents) -> Self {
4459         ::std::convert::From::from(::std::clone::Clone::clone(value))
4460     }
4461 }
4462 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioSessionEvents {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4463     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4464         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4465     }
4466 }
4467 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioSessionEvents {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4468     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4469         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4470     }
4471 }
4472 #[repr(C)]
4473 #[doc(hidden)]
4474 pub struct IAudioSessionEvents_abi(
4475     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4476     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4477     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4478     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newdisplayname: super::super::super::Foundation::PWSTR, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4479     #[cfg(not(feature = "Win32_Foundation"))] usize,
4480     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newiconpath: super::super::super::Foundation::PWSTR, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4481     #[cfg(not(feature = "Win32_Foundation"))] usize,
4482     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newvolume: f32, newmute: super::super::super::Foundation::BOOL, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4483     #[cfg(not(feature = "Win32_Foundation"))] usize,
4484     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, channelcount: u32, newchannelvolumearray: *const f32, changedchannel: u32, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4485     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newgroupingparam: *const ::windows::runtime::GUID, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4486     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newstate: AudioSessionState) -> ::windows::runtime::HRESULT,
4487     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, disconnectreason: AudioSessionDisconnectReason) -> ::windows::runtime::HRESULT,
4488 );
4489 #[repr(transparent)]
4490 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4491 pub struct IAudioSessionManager(::windows::runtime::IUnknown);
4492 impl IAudioSessionManager {
GetAudioSessionControl(&self, audiosessionguid: *const ::windows::runtime::GUID, streamflags: u32) -> ::windows::runtime::Result<IAudioSessionControl>4493     pub unsafe fn GetAudioSessionControl(&self, audiosessionguid: *const ::windows::runtime::GUID, streamflags: u32) -> ::windows::runtime::Result<IAudioSessionControl> {
4494         let mut result__: <IAudioSessionControl as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4495         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(audiosessionguid), ::std::mem::transmute(streamflags), &mut result__).from_abi::<IAudioSessionControl>(result__)
4496     }
GetSimpleAudioVolume(&self, audiosessionguid: *const ::windows::runtime::GUID, streamflags: u32) -> ::windows::runtime::Result<ISimpleAudioVolume>4497     pub unsafe fn GetSimpleAudioVolume(&self, audiosessionguid: *const ::windows::runtime::GUID, streamflags: u32) -> ::windows::runtime::Result<ISimpleAudioVolume> {
4498         let mut result__: <ISimpleAudioVolume as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4499         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(audiosessionguid), ::std::mem::transmute(streamflags), &mut result__).from_abi::<ISimpleAudioVolume>(result__)
4500     }
4501 }
4502 unsafe impl ::windows::runtime::Interface for IAudioSessionManager {
4503     type Vtable = IAudioSessionManager_abi;
4504     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3215553009, 19806, 16571, [147, 94, 150, 112, 57, 191, 190, 228]);
4505 }
4506 impl ::std::convert::From<IAudioSessionManager> for ::windows::runtime::IUnknown {
from(value: IAudioSessionManager) -> Self4507     fn from(value: IAudioSessionManager) -> Self {
4508         unsafe { ::std::mem::transmute(value) }
4509     }
4510 }
4511 impl ::std::convert::From<&IAudioSessionManager> for ::windows::runtime::IUnknown {
from(value: &IAudioSessionManager) -> Self4512     fn from(value: &IAudioSessionManager) -> Self {
4513         ::std::convert::From::from(::std::clone::Clone::clone(value))
4514     }
4515 }
4516 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioSessionManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4517     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4518         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4519     }
4520 }
4521 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioSessionManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4522     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4523         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4524     }
4525 }
4526 #[repr(C)]
4527 #[doc(hidden)]
4528 pub struct IAudioSessionManager_abi(
4529     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4530     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4531     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4532     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audiosessionguid: *const ::windows::runtime::GUID, streamflags: u32, sessioncontrol: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4533     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audiosessionguid: *const ::windows::runtime::GUID, streamflags: u32, audiovolume: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4534 );
4535 #[repr(transparent)]
4536 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4537 pub struct IAudioSessionManager2(::windows::runtime::IUnknown);
4538 impl IAudioSessionManager2 {
GetAudioSessionControl(&self, audiosessionguid: *const ::windows::runtime::GUID, streamflags: u32) -> ::windows::runtime::Result<IAudioSessionControl>4539     pub unsafe fn GetAudioSessionControl(&self, audiosessionguid: *const ::windows::runtime::GUID, streamflags: u32) -> ::windows::runtime::Result<IAudioSessionControl> {
4540         let mut result__: <IAudioSessionControl as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4541         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(audiosessionguid), ::std::mem::transmute(streamflags), &mut result__).from_abi::<IAudioSessionControl>(result__)
4542     }
GetSimpleAudioVolume(&self, audiosessionguid: *const ::windows::runtime::GUID, streamflags: u32) -> ::windows::runtime::Result<ISimpleAudioVolume>4543     pub unsafe fn GetSimpleAudioVolume(&self, audiosessionguid: *const ::windows::runtime::GUID, streamflags: u32) -> ::windows::runtime::Result<ISimpleAudioVolume> {
4544         let mut result__: <ISimpleAudioVolume as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4545         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(audiosessionguid), ::std::mem::transmute(streamflags), &mut result__).from_abi::<ISimpleAudioVolume>(result__)
4546     }
GetSessionEnumerator(&self) -> ::windows::runtime::Result<IAudioSessionEnumerator>4547     pub unsafe fn GetSessionEnumerator(&self) -> ::windows::runtime::Result<IAudioSessionEnumerator> {
4548         let mut result__: <IAudioSessionEnumerator as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4549         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IAudioSessionEnumerator>(result__)
4550     }
RegisterSessionNotification<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioSessionNotification>>(&self, sessionnotification: Param0) -> ::windows::runtime::Result<()>4551     pub unsafe fn RegisterSessionNotification<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioSessionNotification>>(&self, sessionnotification: Param0) -> ::windows::runtime::Result<()> {
4552         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), sessionnotification.into_param().abi()).ok()
4553     }
UnregisterSessionNotification<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioSessionNotification>>(&self, sessionnotification: Param0) -> ::windows::runtime::Result<()>4554     pub unsafe fn UnregisterSessionNotification<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioSessionNotification>>(&self, sessionnotification: Param0) -> ::windows::runtime::Result<()> {
4555         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), sessionnotification.into_param().abi()).ok()
4556     }
4557     #[cfg(feature = "Win32_Foundation")]
RegisterDuckNotification<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, IAudioVolumeDuckNotification>>(&self, sessionid: Param0, ducknotification: Param1) -> ::windows::runtime::Result<()>4558     pub unsafe fn RegisterDuckNotification<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, IAudioVolumeDuckNotification>>(&self, sessionid: Param0, ducknotification: Param1) -> ::windows::runtime::Result<()> {
4559         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), sessionid.into_param().abi(), ducknotification.into_param().abi()).ok()
4560     }
UnregisterDuckNotification<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioVolumeDuckNotification>>(&self, ducknotification: Param0) -> ::windows::runtime::Result<()>4561     pub unsafe fn UnregisterDuckNotification<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioVolumeDuckNotification>>(&self, ducknotification: Param0) -> ::windows::runtime::Result<()> {
4562         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ducknotification.into_param().abi()).ok()
4563     }
4564 }
4565 unsafe impl ::windows::runtime::Interface for IAudioSessionManager2 {
4566     type Vtable = IAudioSessionManager2_abi;
4567     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2007669152, 7126, 18511, [139, 199, 44, 101, 76, 154, 155, 111]);
4568 }
4569 impl ::std::convert::From<IAudioSessionManager2> for ::windows::runtime::IUnknown {
from(value: IAudioSessionManager2) -> Self4570     fn from(value: IAudioSessionManager2) -> Self {
4571         unsafe { ::std::mem::transmute(value) }
4572     }
4573 }
4574 impl ::std::convert::From<&IAudioSessionManager2> for ::windows::runtime::IUnknown {
from(value: &IAudioSessionManager2) -> Self4575     fn from(value: &IAudioSessionManager2) -> Self {
4576         ::std::convert::From::from(::std::clone::Clone::clone(value))
4577     }
4578 }
4579 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioSessionManager2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4580     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4581         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4582     }
4583 }
4584 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioSessionManager2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4585     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4586         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4587     }
4588 }
4589 impl ::std::convert::From<IAudioSessionManager2> for IAudioSessionManager {
from(value: IAudioSessionManager2) -> Self4590     fn from(value: IAudioSessionManager2) -> Self {
4591         unsafe { ::std::mem::transmute(value) }
4592     }
4593 }
4594 impl ::std::convert::From<&IAudioSessionManager2> for IAudioSessionManager {
from(value: &IAudioSessionManager2) -> Self4595     fn from(value: &IAudioSessionManager2) -> Self {
4596         ::std::convert::From::from(::std::clone::Clone::clone(value))
4597     }
4598 }
4599 impl<'a> ::windows::runtime::IntoParam<'a, IAudioSessionManager> for IAudioSessionManager2 {
into_param(self) -> ::windows::runtime::Param<'a, IAudioSessionManager>4600     fn into_param(self) -> ::windows::runtime::Param<'a, IAudioSessionManager> {
4601         ::windows::runtime::Param::Owned(::std::convert::Into::<IAudioSessionManager>::into(self))
4602     }
4603 }
4604 impl<'a> ::windows::runtime::IntoParam<'a, IAudioSessionManager> for &IAudioSessionManager2 {
into_param(self) -> ::windows::runtime::Param<'a, IAudioSessionManager>4605     fn into_param(self) -> ::windows::runtime::Param<'a, IAudioSessionManager> {
4606         ::windows::runtime::Param::Owned(::std::convert::Into::<IAudioSessionManager>::into(::std::clone::Clone::clone(self)))
4607     }
4608 }
4609 #[repr(C)]
4610 #[doc(hidden)]
4611 pub struct IAudioSessionManager2_abi(
4612     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4613     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4614     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4615     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audiosessionguid: *const ::windows::runtime::GUID, streamflags: u32, sessioncontrol: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4616     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audiosessionguid: *const ::windows::runtime::GUID, streamflags: u32, audiovolume: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4617     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sessionenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4618     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sessionnotification: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4619     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sessionnotification: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4620     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sessionid: super::super::super::Foundation::PWSTR, ducknotification: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4621     #[cfg(not(feature = "Win32_Foundation"))] usize,
4622     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ducknotification: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4623 );
4624 #[repr(transparent)]
4625 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4626 pub struct IAudioSessionNotification(::windows::runtime::IUnknown);
4627 impl IAudioSessionNotification {
OnSessionCreated<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioSessionControl>>(&self, newsession: Param0) -> ::windows::runtime::Result<()>4628     pub unsafe fn OnSessionCreated<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioSessionControl>>(&self, newsession: Param0) -> ::windows::runtime::Result<()> {
4629         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), newsession.into_param().abi()).ok()
4630     }
4631 }
4632 unsafe impl ::windows::runtime::Interface for IAudioSessionNotification {
4633     type Vtable = IAudioSessionNotification_abi;
4634     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1679675915, 19777, 18892, [171, 163, 23, 75, 148, 119, 187, 8]);
4635 }
4636 impl ::std::convert::From<IAudioSessionNotification> for ::windows::runtime::IUnknown {
from(value: IAudioSessionNotification) -> Self4637     fn from(value: IAudioSessionNotification) -> Self {
4638         unsafe { ::std::mem::transmute(value) }
4639     }
4640 }
4641 impl ::std::convert::From<&IAudioSessionNotification> for ::windows::runtime::IUnknown {
from(value: &IAudioSessionNotification) -> Self4642     fn from(value: &IAudioSessionNotification) -> Self {
4643         ::std::convert::From::from(::std::clone::Clone::clone(value))
4644     }
4645 }
4646 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioSessionNotification {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4647     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4648         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4649     }
4650 }
4651 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioSessionNotification {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4652     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4653         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4654     }
4655 }
4656 #[repr(C)]
4657 #[doc(hidden)]
4658 pub struct IAudioSessionNotification_abi(
4659     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4660     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4661     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4662     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newsession: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4663 );
4664 #[repr(transparent)]
4665 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4666 pub struct IAudioStateMonitor(::windows::runtime::IUnknown);
4667 impl IAudioStateMonitor {
RegisterCallback(&self, callback: ::std::option::Option<PAudioStateMonitorCallback>, context: *const ::std::ffi::c_void) -> ::windows::runtime::Result<i64>4668     pub unsafe fn RegisterCallback(&self, callback: ::std::option::Option<PAudioStateMonitorCallback>, context: *const ::std::ffi::c_void) -> ::windows::runtime::Result<i64> {
4669         let mut result__: <i64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4670         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(callback), ::std::mem::transmute(context), &mut result__).from_abi::<i64>(result__)
4671     }
UnregisterCallback(&self, registration: i64)4672     pub unsafe fn UnregisterCallback(&self, registration: i64) {
4673         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(registration)))
4674     }
GetSoundLevel(&self) -> AudioStateMonitorSoundLevel4675     pub unsafe fn GetSoundLevel(&self) -> AudioStateMonitorSoundLevel {
4676         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)))
4677     }
4678 }
4679 unsafe impl ::windows::runtime::Interface for IAudioStateMonitor {
4680     type Vtable = IAudioStateMonitor_abi;
4681     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1673365304, 58125, 19575, [191, 92, 131, 78, 135, 198, 87, 226]);
4682 }
4683 impl ::std::convert::From<IAudioStateMonitor> for ::windows::runtime::IUnknown {
from(value: IAudioStateMonitor) -> Self4684     fn from(value: IAudioStateMonitor) -> Self {
4685         unsafe { ::std::mem::transmute(value) }
4686     }
4687 }
4688 impl ::std::convert::From<&IAudioStateMonitor> for ::windows::runtime::IUnknown {
from(value: &IAudioStateMonitor) -> Self4689     fn from(value: &IAudioStateMonitor) -> Self {
4690         ::std::convert::From::from(::std::clone::Clone::clone(value))
4691     }
4692 }
4693 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioStateMonitor {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4694     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4695         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4696     }
4697 }
4698 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioStateMonitor {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4699     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4700         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4701     }
4702 }
4703 #[repr(C)]
4704 #[doc(hidden)]
4705 pub struct IAudioStateMonitor_abi(
4706     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4707     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4708     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4709     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, callback: ::windows::runtime::RawPtr, context: *const ::std::ffi::c_void, registration: *mut i64) -> ::windows::runtime::HRESULT,
4710     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, registration: i64),
4711     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> AudioStateMonitorSoundLevel,
4712 );
4713 #[repr(transparent)]
4714 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4715 pub struct IAudioStreamVolume(::windows::runtime::IUnknown);
4716 impl IAudioStreamVolume {
GetChannelCount(&self) -> ::windows::runtime::Result<u32>4717     pub unsafe fn GetChannelCount(&self) -> ::windows::runtime::Result<u32> {
4718         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4719         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4720     }
SetChannelVolume(&self, dwindex: u32, flevel: f32) -> ::windows::runtime::Result<()>4721     pub unsafe fn SetChannelVolume(&self, dwindex: u32, flevel: f32) -> ::windows::runtime::Result<()> {
4722         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwindex), ::std::mem::transmute(flevel)).ok()
4723     }
GetChannelVolume(&self, dwindex: u32) -> ::windows::runtime::Result<f32>4724     pub unsafe fn GetChannelVolume(&self, dwindex: u32) -> ::windows::runtime::Result<f32> {
4725         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4726         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwindex), &mut result__).from_abi::<f32>(result__)
4727     }
SetAllVolumes(&self, dwcount: u32, pfvolumes: *const f32) -> ::windows::runtime::Result<()>4728     pub unsafe fn SetAllVolumes(&self, dwcount: u32, pfvolumes: *const f32) -> ::windows::runtime::Result<()> {
4729         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcount), ::std::mem::transmute(pfvolumes)).ok()
4730     }
GetAllVolumes(&self, dwcount: u32, pfvolumes: *mut f32) -> ::windows::runtime::Result<()>4731     pub unsafe fn GetAllVolumes(&self, dwcount: u32, pfvolumes: *mut f32) -> ::windows::runtime::Result<()> {
4732         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcount), ::std::mem::transmute(pfvolumes)).ok()
4733     }
4734 }
4735 unsafe impl ::windows::runtime::Interface for IAudioStreamVolume {
4736     type Vtable = IAudioStreamVolume_abi;
4737     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2466334855, 9261, 16488, [138, 21, 207, 94, 147, 185, 15, 227]);
4738 }
4739 impl ::std::convert::From<IAudioStreamVolume> for ::windows::runtime::IUnknown {
from(value: IAudioStreamVolume) -> Self4740     fn from(value: IAudioStreamVolume) -> Self {
4741         unsafe { ::std::mem::transmute(value) }
4742     }
4743 }
4744 impl ::std::convert::From<&IAudioStreamVolume> for ::windows::runtime::IUnknown {
from(value: &IAudioStreamVolume) -> Self4745     fn from(value: &IAudioStreamVolume) -> Self {
4746         ::std::convert::From::from(::std::clone::Clone::clone(value))
4747     }
4748 }
4749 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioStreamVolume {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4750     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4751         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4752     }
4753 }
4754 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioStreamVolume {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4755     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4756         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4757     }
4758 }
4759 #[repr(C)]
4760 #[doc(hidden)]
4761 pub struct IAudioStreamVolume_abi(
4762     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4763     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4764     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4765     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwcount: *mut u32) -> ::windows::runtime::HRESULT,
4766     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwindex: u32, flevel: f32) -> ::windows::runtime::HRESULT,
4767     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwindex: u32, pflevel: *mut f32) -> ::windows::runtime::HRESULT,
4768     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcount: u32, pfvolumes: *const f32) -> ::windows::runtime::HRESULT,
4769     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcount: u32, pfvolumes: *mut f32) -> ::windows::runtime::HRESULT,
4770 );
4771 #[repr(transparent)]
4772 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4773 pub struct IAudioSystemEffects3(::windows::runtime::IUnknown);
4774 impl IAudioSystemEffects3 {
4775     #[cfg(feature = "Win32_Foundation")]
GetEffectsList<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HANDLE>>(&self, ppeffectsids: *mut *mut ::windows::runtime::GUID, pceffects: *mut u32, event: Param2) -> ::windows::runtime::Result<()>4776     pub unsafe fn GetEffectsList<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HANDLE>>(&self, ppeffectsids: *mut *mut ::windows::runtime::GUID, pceffects: *mut u32, event: Param2) -> ::windows::runtime::Result<()> {
4777         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppeffectsids), ::std::mem::transmute(pceffects), event.into_param().abi()).ok()
4778     }
4779     #[cfg(feature = "Win32_Foundation")]
GetControllableSystemEffectsList<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HANDLE>>(&self, effects: *mut *mut AUDIO_SYSTEMEFFECT, numeffects: *mut u32, event: Param2) -> ::windows::runtime::Result<()>4780     pub unsafe fn GetControllableSystemEffectsList<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HANDLE>>(&self, effects: *mut *mut AUDIO_SYSTEMEFFECT, numeffects: *mut u32, event: Param2) -> ::windows::runtime::Result<()> {
4781         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(effects), ::std::mem::transmute(numeffects), event.into_param().abi()).ok()
4782     }
SetAudioSystemEffectState<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, effectid: Param0, state: AUDIO_SYSTEMEFFECT_STATE) -> ::windows::runtime::Result<()>4783     pub unsafe fn SetAudioSystemEffectState<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, effectid: Param0, state: AUDIO_SYSTEMEFFECT_STATE) -> ::windows::runtime::Result<()> {
4784         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), effectid.into_param().abi(), ::std::mem::transmute(state)).ok()
4785     }
4786 }
4787 unsafe impl ::windows::runtime::Interface for IAudioSystemEffects3 {
4788     type Vtable = IAudioSystemEffects3_abi;
4789     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3314233805, 64618, 16981, [188, 31, 173, 41, 187, 10, 74, 23]);
4790 }
4791 impl ::std::convert::From<IAudioSystemEffects3> for ::windows::runtime::IUnknown {
from(value: IAudioSystemEffects3) -> Self4792     fn from(value: IAudioSystemEffects3) -> Self {
4793         unsafe { ::std::mem::transmute(value) }
4794     }
4795 }
4796 impl ::std::convert::From<&IAudioSystemEffects3> for ::windows::runtime::IUnknown {
from(value: &IAudioSystemEffects3) -> Self4797     fn from(value: &IAudioSystemEffects3) -> Self {
4798         ::std::convert::From::from(::std::clone::Clone::clone(value))
4799     }
4800 }
4801 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioSystemEffects3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4802     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4803         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4804     }
4805 }
4806 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioSystemEffects3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4807     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4808         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4809     }
4810 }
4811 #[cfg(feature = "Win32_Media_Audio_DirectMusic")]
4812 impl ::std::convert::From<IAudioSystemEffects3> for super::DirectMusic::IAudioSystemEffects2 {
from(value: IAudioSystemEffects3) -> Self4813     fn from(value: IAudioSystemEffects3) -> Self {
4814         unsafe { ::std::mem::transmute(value) }
4815     }
4816 }
4817 #[cfg(feature = "Win32_Media_Audio_DirectMusic")]
4818 impl ::std::convert::From<&IAudioSystemEffects3> for super::DirectMusic::IAudioSystemEffects2 {
from(value: &IAudioSystemEffects3) -> Self4819     fn from(value: &IAudioSystemEffects3) -> Self {
4820         ::std::convert::From::from(::std::clone::Clone::clone(value))
4821     }
4822 }
4823 #[cfg(feature = "Win32_Media_Audio_DirectMusic")]
4824 impl<'a> ::windows::runtime::IntoParam<'a, super::DirectMusic::IAudioSystemEffects2> for IAudioSystemEffects3 {
into_param(self) -> ::windows::runtime::Param<'a, super::DirectMusic::IAudioSystemEffects2>4825     fn into_param(self) -> ::windows::runtime::Param<'a, super::DirectMusic::IAudioSystemEffects2> {
4826         ::windows::runtime::Param::Owned(::std::convert::Into::<super::DirectMusic::IAudioSystemEffects2>::into(self))
4827     }
4828 }
4829 #[cfg(feature = "Win32_Media_Audio_DirectMusic")]
4830 impl<'a> ::windows::runtime::IntoParam<'a, super::DirectMusic::IAudioSystemEffects2> for &IAudioSystemEffects3 {
into_param(self) -> ::windows::runtime::Param<'a, super::DirectMusic::IAudioSystemEffects2>4831     fn into_param(self) -> ::windows::runtime::Param<'a, super::DirectMusic::IAudioSystemEffects2> {
4832         ::windows::runtime::Param::Owned(::std::convert::Into::<super::DirectMusic::IAudioSystemEffects2>::into(::std::clone::Clone::clone(self)))
4833     }
4834 }
4835 #[cfg(feature = "Win32_Media_Audio_DirectMusic")]
4836 impl ::std::convert::From<IAudioSystemEffects3> for super::DirectMusic::IAudioSystemEffects {
from(value: IAudioSystemEffects3) -> Self4837     fn from(value: IAudioSystemEffects3) -> Self {
4838         unsafe { ::std::mem::transmute(value) }
4839     }
4840 }
4841 #[cfg(feature = "Win32_Media_Audio_DirectMusic")]
4842 impl ::std::convert::From<&IAudioSystemEffects3> for super::DirectMusic::IAudioSystemEffects {
from(value: &IAudioSystemEffects3) -> Self4843     fn from(value: &IAudioSystemEffects3) -> Self {
4844         ::std::convert::From::from(::std::clone::Clone::clone(value))
4845     }
4846 }
4847 #[cfg(feature = "Win32_Media_Audio_DirectMusic")]
4848 impl<'a> ::windows::runtime::IntoParam<'a, super::DirectMusic::IAudioSystemEffects> for IAudioSystemEffects3 {
into_param(self) -> ::windows::runtime::Param<'a, super::DirectMusic::IAudioSystemEffects>4849     fn into_param(self) -> ::windows::runtime::Param<'a, super::DirectMusic::IAudioSystemEffects> {
4850         ::windows::runtime::Param::Owned(::std::convert::Into::<super::DirectMusic::IAudioSystemEffects>::into(self))
4851     }
4852 }
4853 #[cfg(feature = "Win32_Media_Audio_DirectMusic")]
4854 impl<'a> ::windows::runtime::IntoParam<'a, super::DirectMusic::IAudioSystemEffects> for &IAudioSystemEffects3 {
into_param(self) -> ::windows::runtime::Param<'a, super::DirectMusic::IAudioSystemEffects>4855     fn into_param(self) -> ::windows::runtime::Param<'a, super::DirectMusic::IAudioSystemEffects> {
4856         ::windows::runtime::Param::Owned(::std::convert::Into::<super::DirectMusic::IAudioSystemEffects>::into(::std::clone::Clone::clone(self)))
4857     }
4858 }
4859 #[repr(C)]
4860 #[doc(hidden)]
4861 pub struct IAudioSystemEffects3_abi(
4862     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4863     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4864     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4865     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppeffectsids: *mut *mut ::windows::runtime::GUID, pceffects: *mut u32, event: super::super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
4866     #[cfg(not(feature = "Win32_Foundation"))] usize,
4867     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, effects: *mut *mut AUDIO_SYSTEMEFFECT, numeffects: *mut u32, event: super::super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
4868     #[cfg(not(feature = "Win32_Foundation"))] usize,
4869     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, effectid: ::windows::runtime::GUID, state: AUDIO_SYSTEMEFFECT_STATE) -> ::windows::runtime::HRESULT,
4870 );
4871 #[repr(transparent)]
4872 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4873 pub struct IAudioSystemEffectsPropertyChangeNotificationClient(::windows::runtime::IUnknown);
4874 impl IAudioSystemEffectsPropertyChangeNotificationClient {
4875     #[cfg(feature = "Win32_System_PropertiesSystem")]
OnPropertyChanged<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::System::PropertiesSystem::PROPERTYKEY>>(&self, r#type: __MIDL___MIDL_itf_mmdeviceapi_0000_0008_0002, key: Param1) -> ::windows::runtime::Result<()>4876     pub unsafe fn OnPropertyChanged<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::System::PropertiesSystem::PROPERTYKEY>>(&self, r#type: __MIDL___MIDL_itf_mmdeviceapi_0000_0008_0002, key: Param1) -> ::windows::runtime::Result<()> {
4877         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#type), key.into_param().abi()).ok()
4878     }
4879 }
4880 unsafe impl ::windows::runtime::Interface for IAudioSystemEffectsPropertyChangeNotificationClient {
4881     type Vtable = IAudioSystemEffectsPropertyChangeNotificationClient_abi;
4882     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(537173312, 22229, 16398, [162, 239, 56, 85, 153, 254, 237, 73]);
4883 }
4884 impl ::std::convert::From<IAudioSystemEffectsPropertyChangeNotificationClient> for ::windows::runtime::IUnknown {
from(value: IAudioSystemEffectsPropertyChangeNotificationClient) -> Self4885     fn from(value: IAudioSystemEffectsPropertyChangeNotificationClient) -> Self {
4886         unsafe { ::std::mem::transmute(value) }
4887     }
4888 }
4889 impl ::std::convert::From<&IAudioSystemEffectsPropertyChangeNotificationClient> for ::windows::runtime::IUnknown {
from(value: &IAudioSystemEffectsPropertyChangeNotificationClient) -> Self4890     fn from(value: &IAudioSystemEffectsPropertyChangeNotificationClient) -> Self {
4891         ::std::convert::From::from(::std::clone::Clone::clone(value))
4892     }
4893 }
4894 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioSystemEffectsPropertyChangeNotificationClient {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4895     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4896         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4897     }
4898 }
4899 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioSystemEffectsPropertyChangeNotificationClient {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4900     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4901         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4902     }
4903 }
4904 #[repr(C)]
4905 #[doc(hidden)]
4906 pub struct IAudioSystemEffectsPropertyChangeNotificationClient_abi(
4907     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4908     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4909     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4910     #[cfg(feature = "Win32_System_PropertiesSystem")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: __MIDL___MIDL_itf_mmdeviceapi_0000_0008_0002, key: super::super::super::System::PropertiesSystem::PROPERTYKEY) -> ::windows::runtime::HRESULT,
4911     #[cfg(not(feature = "Win32_System_PropertiesSystem"))] usize,
4912 );
4913 #[repr(transparent)]
4914 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4915 pub struct IAudioSystemEffectsPropertyStore(::windows::runtime::IUnknown);
4916 impl IAudioSystemEffectsPropertyStore {
4917     #[cfg(feature = "Win32_System_PropertiesSystem")]
OpenDefaultPropertyStore(&self, stgmaccess: u32) -> ::windows::runtime::Result<super::super::super::System::PropertiesSystem::IPropertyStore>4918     pub unsafe fn OpenDefaultPropertyStore(&self, stgmaccess: u32) -> ::windows::runtime::Result<super::super::super::System::PropertiesSystem::IPropertyStore> {
4919         let mut result__: <super::super::super::System::PropertiesSystem::IPropertyStore as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4920         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(stgmaccess), &mut result__).from_abi::<super::super::super::System::PropertiesSystem::IPropertyStore>(result__)
4921     }
4922     #[cfg(feature = "Win32_System_PropertiesSystem")]
OpenUserPropertyStore(&self, stgmaccess: u32) -> ::windows::runtime::Result<super::super::super::System::PropertiesSystem::IPropertyStore>4923     pub unsafe fn OpenUserPropertyStore(&self, stgmaccess: u32) -> ::windows::runtime::Result<super::super::super::System::PropertiesSystem::IPropertyStore> {
4924         let mut result__: <super::super::super::System::PropertiesSystem::IPropertyStore as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4925         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(stgmaccess), &mut result__).from_abi::<super::super::super::System::PropertiesSystem::IPropertyStore>(result__)
4926     }
4927     #[cfg(feature = "Win32_System_PropertiesSystem")]
OpenVolatilePropertyStore(&self, stgmaccess: u32) -> ::windows::runtime::Result<super::super::super::System::PropertiesSystem::IPropertyStore>4928     pub unsafe fn OpenVolatilePropertyStore(&self, stgmaccess: u32) -> ::windows::runtime::Result<super::super::super::System::PropertiesSystem::IPropertyStore> {
4929         let mut result__: <super::super::super::System::PropertiesSystem::IPropertyStore as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4930         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(stgmaccess), &mut result__).from_abi::<super::super::super::System::PropertiesSystem::IPropertyStore>(result__)
4931     }
ResetUserPropertyStore(&self) -> ::windows::runtime::Result<()>4932     pub unsafe fn ResetUserPropertyStore(&self) -> ::windows::runtime::Result<()> {
4933         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
4934     }
ResetVolatilePropertyStore(&self) -> ::windows::runtime::Result<()>4935     pub unsafe fn ResetVolatilePropertyStore(&self) -> ::windows::runtime::Result<()> {
4936         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
4937     }
RegisterPropertyChangeNotification<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioSystemEffectsPropertyChangeNotificationClient>>(&self, callback: Param0) -> ::windows::runtime::Result<()>4938     pub unsafe fn RegisterPropertyChangeNotification<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioSystemEffectsPropertyChangeNotificationClient>>(&self, callback: Param0) -> ::windows::runtime::Result<()> {
4939         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), callback.into_param().abi()).ok()
4940     }
UnregisterPropertyChangeNotification<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioSystemEffectsPropertyChangeNotificationClient>>(&self, callback: Param0) -> ::windows::runtime::Result<()>4941     pub unsafe fn UnregisterPropertyChangeNotification<'a, Param0: ::windows::runtime::IntoParam<'a, IAudioSystemEffectsPropertyChangeNotificationClient>>(&self, callback: Param0) -> ::windows::runtime::Result<()> {
4942         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), callback.into_param().abi()).ok()
4943     }
4944 }
4945 unsafe impl ::windows::runtime::Interface for IAudioSystemEffectsPropertyStore {
4946     type Vtable = IAudioSystemEffectsPropertyStore_abi;
4947     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(808118265, 55264, 17380, [151, 27, 31, 130, 147, 97, 61, 42]);
4948 }
4949 impl ::std::convert::From<IAudioSystemEffectsPropertyStore> for ::windows::runtime::IUnknown {
from(value: IAudioSystemEffectsPropertyStore) -> Self4950     fn from(value: IAudioSystemEffectsPropertyStore) -> Self {
4951         unsafe { ::std::mem::transmute(value) }
4952     }
4953 }
4954 impl ::std::convert::From<&IAudioSystemEffectsPropertyStore> for ::windows::runtime::IUnknown {
from(value: &IAudioSystemEffectsPropertyStore) -> Self4955     fn from(value: &IAudioSystemEffectsPropertyStore) -> Self {
4956         ::std::convert::From::from(::std::clone::Clone::clone(value))
4957     }
4958 }
4959 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioSystemEffectsPropertyStore {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4960     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4961         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4962     }
4963 }
4964 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioSystemEffectsPropertyStore {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4965     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4966         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4967     }
4968 }
4969 #[repr(C)]
4970 #[doc(hidden)]
4971 pub struct IAudioSystemEffectsPropertyStore_abi(
4972     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4973     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4974     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4975     #[cfg(feature = "Win32_System_PropertiesSystem")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, stgmaccess: u32, propstore: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4976     #[cfg(not(feature = "Win32_System_PropertiesSystem"))] usize,
4977     #[cfg(feature = "Win32_System_PropertiesSystem")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, stgmaccess: u32, propstore: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4978     #[cfg(not(feature = "Win32_System_PropertiesSystem"))] usize,
4979     #[cfg(feature = "Win32_System_PropertiesSystem")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, stgmaccess: u32, propstore: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4980     #[cfg(not(feature = "Win32_System_PropertiesSystem"))] usize,
4981     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4982     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4983     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, callback: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4984     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, callback: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4985 );
4986 #[repr(transparent)]
4987 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4988 pub struct IAudioTreble(::windows::runtime::IUnknown);
4989 impl IAudioTreble {
GetChannelCount(&self) -> ::windows::runtime::Result<u32>4990     pub unsafe fn GetChannelCount(&self) -> ::windows::runtime::Result<u32> {
4991         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4992         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4993     }
GetLevelRange(&self, nchannel: u32, pfminleveldb: *mut f32, pfmaxleveldb: *mut f32, pfstepping: *mut f32) -> ::windows::runtime::Result<()>4994     pub unsafe fn GetLevelRange(&self, nchannel: u32, pfminleveldb: *mut f32, pfmaxleveldb: *mut f32, pfstepping: *mut f32) -> ::windows::runtime::Result<()> {
4995         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(nchannel), ::std::mem::transmute(pfminleveldb), ::std::mem::transmute(pfmaxleveldb), ::std::mem::transmute(pfstepping)).ok()
4996     }
GetLevel(&self, nchannel: u32) -> ::windows::runtime::Result<f32>4997     pub unsafe fn GetLevel(&self, nchannel: u32) -> ::windows::runtime::Result<f32> {
4998         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4999         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(nchannel), &mut result__).from_abi::<f32>(result__)
5000     }
SetLevel(&self, nchannel: u32, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>5001     pub unsafe fn SetLevel(&self, nchannel: u32, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
5002         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(nchannel), ::std::mem::transmute(fleveldb), ::std::mem::transmute(pguideventcontext)).ok()
5003     }
SetLevelUniform(&self, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>5004     pub unsafe fn SetLevelUniform(&self, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
5005         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(fleveldb), ::std::mem::transmute(pguideventcontext)).ok()
5006     }
SetLevelAllChannels(&self, alevelsdb: *const f32, cchannels: u32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>5007     pub unsafe fn SetLevelAllChannels(&self, alevelsdb: *const f32, cchannels: u32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
5008         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(alevelsdb), ::std::mem::transmute(cchannels), ::std::mem::transmute(pguideventcontext)).ok()
5009     }
5010 }
5011 unsafe impl ::windows::runtime::Interface for IAudioTreble {
5012     type Vtable = IAudioTreble_abi;
5013     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(175208466, 26958, 18695, [183, 75, 186, 250, 92, 253, 202, 123]);
5014 }
5015 impl ::std::convert::From<IAudioTreble> for ::windows::runtime::IUnknown {
from(value: IAudioTreble) -> Self5016     fn from(value: IAudioTreble) -> Self {
5017         unsafe { ::std::mem::transmute(value) }
5018     }
5019 }
5020 impl ::std::convert::From<&IAudioTreble> for ::windows::runtime::IUnknown {
from(value: &IAudioTreble) -> Self5021     fn from(value: &IAudioTreble) -> Self {
5022         ::std::convert::From::from(::std::clone::Clone::clone(value))
5023     }
5024 }
5025 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioTreble {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5026     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5027         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5028     }
5029 }
5030 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioTreble {
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(::std::clone::Clone::clone(self)))
5033     }
5034 }
5035 impl ::std::convert::From<IAudioTreble> for IPerChannelDbLevel {
from(value: IAudioTreble) -> Self5036     fn from(value: IAudioTreble) -> Self {
5037         unsafe { ::std::mem::transmute(value) }
5038     }
5039 }
5040 impl ::std::convert::From<&IAudioTreble> for IPerChannelDbLevel {
from(value: &IAudioTreble) -> Self5041     fn from(value: &IAudioTreble) -> Self {
5042         ::std::convert::From::from(::std::clone::Clone::clone(value))
5043     }
5044 }
5045 impl<'a> ::windows::runtime::IntoParam<'a, IPerChannelDbLevel> for IAudioTreble {
into_param(self) -> ::windows::runtime::Param<'a, IPerChannelDbLevel>5046     fn into_param(self) -> ::windows::runtime::Param<'a, IPerChannelDbLevel> {
5047         ::windows::runtime::Param::Owned(::std::convert::Into::<IPerChannelDbLevel>::into(self))
5048     }
5049 }
5050 impl<'a> ::windows::runtime::IntoParam<'a, IPerChannelDbLevel> for &IAudioTreble {
into_param(self) -> ::windows::runtime::Param<'a, IPerChannelDbLevel>5051     fn into_param(self) -> ::windows::runtime::Param<'a, IPerChannelDbLevel> {
5052         ::windows::runtime::Param::Owned(::std::convert::Into::<IPerChannelDbLevel>::into(::std::clone::Clone::clone(self)))
5053     }
5054 }
5055 #[repr(C)]
5056 #[doc(hidden)]
5057 pub struct IAudioTreble_abi(
5058     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5059     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5060     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5061     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcchannels: *mut u32) -> ::windows::runtime::HRESULT,
5062     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nchannel: u32, pfminleveldb: *mut f32, pfmaxleveldb: *mut f32, pfstepping: *mut f32) -> ::windows::runtime::HRESULT,
5063     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nchannel: u32, pfleveldb: *mut f32) -> ::windows::runtime::HRESULT,
5064     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nchannel: u32, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
5065     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
5066     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, alevelsdb: *const f32, cchannels: u32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
5067 );
5068 #[repr(transparent)]
5069 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5070 pub struct IAudioVolumeDuckNotification(::windows::runtime::IUnknown);
5071 impl IAudioVolumeDuckNotification {
5072     #[cfg(feature = "Win32_Foundation")]
OnVolumeDuckNotification<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, sessionid: Param0, countcommunicationsessions: u32) -> ::windows::runtime::Result<()>5073     pub unsafe fn OnVolumeDuckNotification<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, sessionid: Param0, countcommunicationsessions: u32) -> ::windows::runtime::Result<()> {
5074         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), sessionid.into_param().abi(), ::std::mem::transmute(countcommunicationsessions)).ok()
5075     }
5076     #[cfg(feature = "Win32_Foundation")]
OnVolumeUnduckNotification<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, sessionid: Param0) -> ::windows::runtime::Result<()>5077     pub unsafe fn OnVolumeUnduckNotification<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, sessionid: Param0) -> ::windows::runtime::Result<()> {
5078         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), sessionid.into_param().abi()).ok()
5079     }
5080 }
5081 unsafe impl ::windows::runtime::Interface for IAudioVolumeDuckNotification {
5082     type Vtable = IAudioVolumeDuckNotification_abi;
5083     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3283256532, 27961, 17241, [179, 207, 181, 109, 219, 59, 179, 156]);
5084 }
5085 impl ::std::convert::From<IAudioVolumeDuckNotification> for ::windows::runtime::IUnknown {
from(value: IAudioVolumeDuckNotification) -> Self5086     fn from(value: IAudioVolumeDuckNotification) -> Self {
5087         unsafe { ::std::mem::transmute(value) }
5088     }
5089 }
5090 impl ::std::convert::From<&IAudioVolumeDuckNotification> for ::windows::runtime::IUnknown {
from(value: &IAudioVolumeDuckNotification) -> Self5091     fn from(value: &IAudioVolumeDuckNotification) -> Self {
5092         ::std::convert::From::from(::std::clone::Clone::clone(value))
5093     }
5094 }
5095 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioVolumeDuckNotification {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5096     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5097         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5098     }
5099 }
5100 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioVolumeDuckNotification {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5101     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5102         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5103     }
5104 }
5105 #[repr(C)]
5106 #[doc(hidden)]
5107 pub struct IAudioVolumeDuckNotification_abi(
5108     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5109     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5110     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5111     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sessionid: super::super::super::Foundation::PWSTR, countcommunicationsessions: u32) -> ::windows::runtime::HRESULT,
5112     #[cfg(not(feature = "Win32_Foundation"))] usize,
5113     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sessionid: super::super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
5114     #[cfg(not(feature = "Win32_Foundation"))] usize,
5115 );
5116 #[repr(transparent)]
5117 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5118 pub struct IAudioVolumeLevel(::windows::runtime::IUnknown);
5119 impl IAudioVolumeLevel {
GetChannelCount(&self) -> ::windows::runtime::Result<u32>5120     pub unsafe fn GetChannelCount(&self) -> ::windows::runtime::Result<u32> {
5121         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5122         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
5123     }
GetLevelRange(&self, nchannel: u32, pfminleveldb: *mut f32, pfmaxleveldb: *mut f32, pfstepping: *mut f32) -> ::windows::runtime::Result<()>5124     pub unsafe fn GetLevelRange(&self, nchannel: u32, pfminleveldb: *mut f32, pfmaxleveldb: *mut f32, pfstepping: *mut f32) -> ::windows::runtime::Result<()> {
5125         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(nchannel), ::std::mem::transmute(pfminleveldb), ::std::mem::transmute(pfmaxleveldb), ::std::mem::transmute(pfstepping)).ok()
5126     }
GetLevel(&self, nchannel: u32) -> ::windows::runtime::Result<f32>5127     pub unsafe fn GetLevel(&self, nchannel: u32) -> ::windows::runtime::Result<f32> {
5128         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5129         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(nchannel), &mut result__).from_abi::<f32>(result__)
5130     }
SetLevel(&self, nchannel: u32, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>5131     pub unsafe fn SetLevel(&self, nchannel: u32, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
5132         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(nchannel), ::std::mem::transmute(fleveldb), ::std::mem::transmute(pguideventcontext)).ok()
5133     }
SetLevelUniform(&self, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>5134     pub unsafe fn SetLevelUniform(&self, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
5135         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(fleveldb), ::std::mem::transmute(pguideventcontext)).ok()
5136     }
SetLevelAllChannels(&self, alevelsdb: *const f32, cchannels: u32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>5137     pub unsafe fn SetLevelAllChannels(&self, alevelsdb: *const f32, cchannels: u32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
5138         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(alevelsdb), ::std::mem::transmute(cchannels), ::std::mem::transmute(pguideventcontext)).ok()
5139     }
5140 }
5141 unsafe impl ::windows::runtime::Interface for IAudioVolumeLevel {
5142     type Vtable = IAudioVolumeLevel_abi;
5143     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2142745743, 21277, 17570, [188, 179, 90, 213, 161, 52, 179, 220]);
5144 }
5145 impl ::std::convert::From<IAudioVolumeLevel> for ::windows::runtime::IUnknown {
from(value: IAudioVolumeLevel) -> Self5146     fn from(value: IAudioVolumeLevel) -> Self {
5147         unsafe { ::std::mem::transmute(value) }
5148     }
5149 }
5150 impl ::std::convert::From<&IAudioVolumeLevel> for ::windows::runtime::IUnknown {
from(value: &IAudioVolumeLevel) -> Self5151     fn from(value: &IAudioVolumeLevel) -> Self {
5152         ::std::convert::From::from(::std::clone::Clone::clone(value))
5153     }
5154 }
5155 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAudioVolumeLevel {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5156     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5157         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5158     }
5159 }
5160 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAudioVolumeLevel {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5161     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5162         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5163     }
5164 }
5165 impl ::std::convert::From<IAudioVolumeLevel> for IPerChannelDbLevel {
from(value: IAudioVolumeLevel) -> Self5166     fn from(value: IAudioVolumeLevel) -> Self {
5167         unsafe { ::std::mem::transmute(value) }
5168     }
5169 }
5170 impl ::std::convert::From<&IAudioVolumeLevel> for IPerChannelDbLevel {
from(value: &IAudioVolumeLevel) -> Self5171     fn from(value: &IAudioVolumeLevel) -> Self {
5172         ::std::convert::From::from(::std::clone::Clone::clone(value))
5173     }
5174 }
5175 impl<'a> ::windows::runtime::IntoParam<'a, IPerChannelDbLevel> for IAudioVolumeLevel {
into_param(self) -> ::windows::runtime::Param<'a, IPerChannelDbLevel>5176     fn into_param(self) -> ::windows::runtime::Param<'a, IPerChannelDbLevel> {
5177         ::windows::runtime::Param::Owned(::std::convert::Into::<IPerChannelDbLevel>::into(self))
5178     }
5179 }
5180 impl<'a> ::windows::runtime::IntoParam<'a, IPerChannelDbLevel> for &IAudioVolumeLevel {
into_param(self) -> ::windows::runtime::Param<'a, IPerChannelDbLevel>5181     fn into_param(self) -> ::windows::runtime::Param<'a, IPerChannelDbLevel> {
5182         ::windows::runtime::Param::Owned(::std::convert::Into::<IPerChannelDbLevel>::into(::std::clone::Clone::clone(self)))
5183     }
5184 }
5185 #[repr(C)]
5186 #[doc(hidden)]
5187 pub struct IAudioVolumeLevel_abi(
5188     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5189     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5190     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5191     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcchannels: *mut u32) -> ::windows::runtime::HRESULT,
5192     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nchannel: u32, pfminleveldb: *mut f32, pfmaxleveldb: *mut f32, pfstepping: *mut f32) -> ::windows::runtime::HRESULT,
5193     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nchannel: u32, pfleveldb: *mut f32) -> ::windows::runtime::HRESULT,
5194     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nchannel: u32, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
5195     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
5196     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, alevelsdb: *const f32, cchannels: u32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
5197 );
5198 #[repr(transparent)]
5199 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5200 pub struct IChannelAudioVolume(::windows::runtime::IUnknown);
5201 impl IChannelAudioVolume {
GetChannelCount(&self) -> ::windows::runtime::Result<u32>5202     pub unsafe fn GetChannelCount(&self) -> ::windows::runtime::Result<u32> {
5203         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5204         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
5205     }
SetChannelVolume(&self, dwindex: u32, flevel: f32, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>5206     pub unsafe fn SetChannelVolume(&self, dwindex: u32, flevel: f32, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
5207         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwindex), ::std::mem::transmute(flevel), ::std::mem::transmute(eventcontext)).ok()
5208     }
GetChannelVolume(&self, dwindex: u32) -> ::windows::runtime::Result<f32>5209     pub unsafe fn GetChannelVolume(&self, dwindex: u32) -> ::windows::runtime::Result<f32> {
5210         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5211         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwindex), &mut result__).from_abi::<f32>(result__)
5212     }
SetAllVolumes(&self, dwcount: u32, pfvolumes: *const f32, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>5213     pub unsafe fn SetAllVolumes(&self, dwcount: u32, pfvolumes: *const f32, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
5214         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcount), ::std::mem::transmute(pfvolumes), ::std::mem::transmute(eventcontext)).ok()
5215     }
GetAllVolumes(&self, dwcount: u32, pfvolumes: *mut f32) -> ::windows::runtime::Result<()>5216     pub unsafe fn GetAllVolumes(&self, dwcount: u32, pfvolumes: *mut f32) -> ::windows::runtime::Result<()> {
5217         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcount), ::std::mem::transmute(pfvolumes)).ok()
5218     }
5219 }
5220 unsafe impl ::windows::runtime::Interface for IChannelAudioVolume {
5221     type Vtable = IChannelAudioVolume_abi;
5222     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(471173217, 46387, 19248, [177, 207, 232, 83, 229, 28, 89, 184]);
5223 }
5224 impl ::std::convert::From<IChannelAudioVolume> for ::windows::runtime::IUnknown {
from(value: IChannelAudioVolume) -> Self5225     fn from(value: IChannelAudioVolume) -> Self {
5226         unsafe { ::std::mem::transmute(value) }
5227     }
5228 }
5229 impl ::std::convert::From<&IChannelAudioVolume> for ::windows::runtime::IUnknown {
from(value: &IChannelAudioVolume) -> Self5230     fn from(value: &IChannelAudioVolume) -> Self {
5231         ::std::convert::From::from(::std::clone::Clone::clone(value))
5232     }
5233 }
5234 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IChannelAudioVolume {
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 &IChannelAudioVolume {
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 IChannelAudioVolume_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, pdwcount: *mut u32) -> ::windows::runtime::HRESULT,
5251     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwindex: u32, flevel: f32, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
5252     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwindex: u32, pflevel: *mut f32) -> ::windows::runtime::HRESULT,
5253     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcount: u32, pfvolumes: *const f32, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
5254     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcount: u32, pfvolumes: *mut f32) -> ::windows::runtime::HRESULT,
5255 );
5256 #[repr(transparent)]
5257 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5258 pub struct IConnector(::windows::runtime::IUnknown);
5259 impl IConnector {
GetType(&self) -> ::windows::runtime::Result<ConnectorType>5260     pub unsafe fn GetType(&self) -> ::windows::runtime::Result<ConnectorType> {
5261         let mut result__: <ConnectorType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5262         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ConnectorType>(result__)
5263     }
GetDataFlow(&self) -> ::windows::runtime::Result<DataFlow>5264     pub unsafe fn GetDataFlow(&self) -> ::windows::runtime::Result<DataFlow> {
5265         let mut result__: <DataFlow as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5266         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DataFlow>(result__)
5267     }
ConnectTo<'a, Param0: ::windows::runtime::IntoParam<'a, IConnector>>(&self, pconnectto: Param0) -> ::windows::runtime::Result<()>5268     pub unsafe fn ConnectTo<'a, Param0: ::windows::runtime::IntoParam<'a, IConnector>>(&self, pconnectto: Param0) -> ::windows::runtime::Result<()> {
5269         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pconnectto.into_param().abi()).ok()
5270     }
Disconnect(&self) -> ::windows::runtime::Result<()>5271     pub unsafe fn Disconnect(&self) -> ::windows::runtime::Result<()> {
5272         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
5273     }
5274     #[cfg(feature = "Win32_Foundation")]
IsConnected(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL>5275     pub unsafe fn IsConnected(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL> {
5276         let mut result__: <super::super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5277         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::super::Foundation::BOOL>(result__)
5278     }
GetConnectedTo(&self) -> ::windows::runtime::Result<IConnector>5279     pub unsafe fn GetConnectedTo(&self) -> ::windows::runtime::Result<IConnector> {
5280         let mut result__: <IConnector as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5281         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IConnector>(result__)
5282     }
5283     #[cfg(feature = "Win32_Foundation")]
GetConnectorIdConnectedTo(&self) -> ::windows::runtime::Result<super::super::super::Foundation::PWSTR>5284     pub unsafe fn GetConnectorIdConnectedTo(&self) -> ::windows::runtime::Result<super::super::super::Foundation::PWSTR> {
5285         let mut result__: <super::super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5286         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::super::Foundation::PWSTR>(result__)
5287     }
5288     #[cfg(feature = "Win32_Foundation")]
GetDeviceIdConnectedTo(&self) -> ::windows::runtime::Result<super::super::super::Foundation::PWSTR>5289     pub unsafe fn GetDeviceIdConnectedTo(&self) -> ::windows::runtime::Result<super::super::super::Foundation::PWSTR> {
5290         let mut result__: <super::super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5291         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::super::Foundation::PWSTR>(result__)
5292     }
5293 }
5294 unsafe impl ::windows::runtime::Interface for IConnector {
5295     type Vtable = IConnector_abi;
5296     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2620145752, 9205, 16862, [135, 122, 223, 58, 242, 54, 160, 158]);
5297 }
5298 impl ::std::convert::From<IConnector> for ::windows::runtime::IUnknown {
from(value: IConnector) -> Self5299     fn from(value: IConnector) -> Self {
5300         unsafe { ::std::mem::transmute(value) }
5301     }
5302 }
5303 impl ::std::convert::From<&IConnector> for ::windows::runtime::IUnknown {
from(value: &IConnector) -> Self5304     fn from(value: &IConnector) -> Self {
5305         ::std::convert::From::from(::std::clone::Clone::clone(value))
5306     }
5307 }
5308 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IConnector {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5309     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5310         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5311     }
5312 }
5313 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IConnector {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5314     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5315         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5316     }
5317 }
5318 #[repr(C)]
5319 #[doc(hidden)]
5320 pub struct IConnector_abi(
5321     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5322     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5323     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5324     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptype: *mut ConnectorType) -> ::windows::runtime::HRESULT,
5325     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pflow: *mut DataFlow) -> ::windows::runtime::HRESULT,
5326     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pconnectto: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5327     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5328     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbconnected: *mut super::super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
5329     #[cfg(not(feature = "Win32_Foundation"))] usize,
5330     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppconto: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5331     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppwstrconnectorid: *mut super::super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
5332     #[cfg(not(feature = "Win32_Foundation"))] usize,
5333     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppwstrdeviceid: *mut super::super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
5334     #[cfg(not(feature = "Win32_Foundation"))] usize,
5335 );
5336 #[repr(transparent)]
5337 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5338 pub struct IControlChangeNotify(::windows::runtime::IUnknown);
5339 impl IControlChangeNotify {
OnNotify(&self, dwsenderprocessid: u32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>5340     pub unsafe fn OnNotify(&self, dwsenderprocessid: u32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
5341         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwsenderprocessid), ::std::mem::transmute(pguideventcontext)).ok()
5342     }
5343 }
5344 unsafe impl ::windows::runtime::Interface for IControlChangeNotify {
5345     type Vtable = IControlChangeNotify_abi;
5346     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2694124525, 50953, 19745, [189, 123, 95, 52, 196, 127, 57, 71]);
5347 }
5348 impl ::std::convert::From<IControlChangeNotify> for ::windows::runtime::IUnknown {
from(value: IControlChangeNotify) -> Self5349     fn from(value: IControlChangeNotify) -> Self {
5350         unsafe { ::std::mem::transmute(value) }
5351     }
5352 }
5353 impl ::std::convert::From<&IControlChangeNotify> for ::windows::runtime::IUnknown {
from(value: &IControlChangeNotify) -> Self5354     fn from(value: &IControlChangeNotify) -> Self {
5355         ::std::convert::From::from(::std::clone::Clone::clone(value))
5356     }
5357 }
5358 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IControlChangeNotify {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5359     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5360         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5361     }
5362 }
5363 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IControlChangeNotify {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5364     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5365         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5366     }
5367 }
5368 #[repr(C)]
5369 #[doc(hidden)]
5370 pub struct IControlChangeNotify_abi(
5371     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5372     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5373     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5374     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwsenderprocessid: u32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
5375 );
5376 #[repr(transparent)]
5377 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5378 pub struct IControlInterface(::windows::runtime::IUnknown);
5379 impl IControlInterface {
5380     #[cfg(feature = "Win32_Foundation")]
GetName(&self) -> ::windows::runtime::Result<super::super::super::Foundation::PWSTR>5381     pub unsafe fn GetName(&self) -> ::windows::runtime::Result<super::super::super::Foundation::PWSTR> {
5382         let mut result__: <super::super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5383         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::super::Foundation::PWSTR>(result__)
5384     }
GetIID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>5385     pub unsafe fn GetIID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
5386         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5387         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
5388     }
5389 }
5390 unsafe impl ::windows::runtime::Interface for IControlInterface {
5391     type Vtable = IControlInterface_abi;
5392     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1171487807, 20800, 17482, [174, 36, 64, 7, 137, 243, 203, 243]);
5393 }
5394 impl ::std::convert::From<IControlInterface> for ::windows::runtime::IUnknown {
from(value: IControlInterface) -> Self5395     fn from(value: IControlInterface) -> Self {
5396         unsafe { ::std::mem::transmute(value) }
5397     }
5398 }
5399 impl ::std::convert::From<&IControlInterface> for ::windows::runtime::IUnknown {
from(value: &IControlInterface) -> Self5400     fn from(value: &IControlInterface) -> Self {
5401         ::std::convert::From::from(::std::clone::Clone::clone(value))
5402     }
5403 }
5404 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IControlInterface {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5405     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5406         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5407     }
5408 }
5409 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IControlInterface {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5410     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5411         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5412     }
5413 }
5414 #[repr(C)]
5415 #[doc(hidden)]
5416 pub struct IControlInterface_abi(
5417     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5418     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5419     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5420     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppwstrname: *mut super::super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
5421     #[cfg(not(feature = "Win32_Foundation"))] usize,
5422     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, piid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
5423 );
5424 #[repr(transparent)]
5425 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5426 pub struct IDeviceSpecificProperty(::windows::runtime::IUnknown);
5427 impl IDeviceSpecificProperty {
GetType(&self) -> ::windows::runtime::Result<u16>5428     pub unsafe fn GetType(&self) -> ::windows::runtime::Result<u16> {
5429         let mut result__: <u16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5430         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u16>(result__)
5431     }
GetValue(&self, pvvalue: *mut ::std::ffi::c_void, pcbvalue: *mut u32) -> ::windows::runtime::Result<()>5432     pub unsafe fn GetValue(&self, pvvalue: *mut ::std::ffi::c_void, pcbvalue: *mut u32) -> ::windows::runtime::Result<()> {
5433         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pvvalue), ::std::mem::transmute(pcbvalue)).ok()
5434     }
SetValue(&self, pvvalue: *const ::std::ffi::c_void, cbvalue: u32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>5435     pub unsafe fn SetValue(&self, pvvalue: *const ::std::ffi::c_void, cbvalue: u32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
5436         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pvvalue), ::std::mem::transmute(cbvalue), ::std::mem::transmute(pguideventcontext)).ok()
5437     }
Get4BRange(&self, plmin: *mut i32, plmax: *mut i32, plstepping: *mut i32) -> ::windows::runtime::Result<()>5438     pub unsafe fn Get4BRange(&self, plmin: *mut i32, plmax: *mut i32, plstepping: *mut i32) -> ::windows::runtime::Result<()> {
5439         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(plmin), ::std::mem::transmute(plmax), ::std::mem::transmute(plstepping)).ok()
5440     }
5441 }
5442 unsafe impl ::windows::runtime::Interface for IDeviceSpecificProperty {
5443     type Vtable = IDeviceSpecificProperty_abi;
5444     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(992132287, 9606, 19184, [133, 131, 32, 93, 57, 27, 128, 124]);
5445 }
5446 impl ::std::convert::From<IDeviceSpecificProperty> for ::windows::runtime::IUnknown {
from(value: IDeviceSpecificProperty) -> Self5447     fn from(value: IDeviceSpecificProperty) -> Self {
5448         unsafe { ::std::mem::transmute(value) }
5449     }
5450 }
5451 impl ::std::convert::From<&IDeviceSpecificProperty> for ::windows::runtime::IUnknown {
from(value: &IDeviceSpecificProperty) -> Self5452     fn from(value: &IDeviceSpecificProperty) -> Self {
5453         ::std::convert::From::from(::std::clone::Clone::clone(value))
5454     }
5455 }
5456 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDeviceSpecificProperty {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5457     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5458         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5459     }
5460 }
5461 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDeviceSpecificProperty {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5462     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5463         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5464     }
5465 }
5466 #[repr(C)]
5467 #[doc(hidden)]
5468 pub struct IDeviceSpecificProperty_abi(
5469     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5470     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5471     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5472     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvtype: *mut u16) -> ::windows::runtime::HRESULT,
5473     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvvalue: *mut ::std::ffi::c_void, pcbvalue: *mut u32) -> ::windows::runtime::HRESULT,
5474     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvvalue: *const ::std::ffi::c_void, cbvalue: u32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
5475     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plmin: *mut i32, plmax: *mut i32, plstepping: *mut i32) -> ::windows::runtime::HRESULT,
5476 );
5477 #[repr(transparent)]
5478 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5479 pub struct IDeviceTopology(::windows::runtime::IUnknown);
5480 impl IDeviceTopology {
GetConnectorCount(&self) -> ::windows::runtime::Result<u32>5481     pub unsafe fn GetConnectorCount(&self) -> ::windows::runtime::Result<u32> {
5482         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5483         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
5484     }
GetConnector(&self, nindex: u32) -> ::windows::runtime::Result<IConnector>5485     pub unsafe fn GetConnector(&self, nindex: u32) -> ::windows::runtime::Result<IConnector> {
5486         let mut result__: <IConnector as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5487         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(nindex), &mut result__).from_abi::<IConnector>(result__)
5488     }
GetSubunitCount(&self) -> ::windows::runtime::Result<u32>5489     pub unsafe fn GetSubunitCount(&self) -> ::windows::runtime::Result<u32> {
5490         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5491         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
5492     }
GetSubunit(&self, nindex: u32) -> ::windows::runtime::Result<ISubunit>5493     pub unsafe fn GetSubunit(&self, nindex: u32) -> ::windows::runtime::Result<ISubunit> {
5494         let mut result__: <ISubunit as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5495         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(nindex), &mut result__).from_abi::<ISubunit>(result__)
5496     }
GetPartById(&self, nid: u32) -> ::windows::runtime::Result<IPart>5497     pub unsafe fn GetPartById(&self, nid: u32) -> ::windows::runtime::Result<IPart> {
5498         let mut result__: <IPart as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5499         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(nid), &mut result__).from_abi::<IPart>(result__)
5500     }
5501     #[cfg(feature = "Win32_Foundation")]
GetDeviceId(&self) -> ::windows::runtime::Result<super::super::super::Foundation::PWSTR>5502     pub unsafe fn GetDeviceId(&self) -> ::windows::runtime::Result<super::super::super::Foundation::PWSTR> {
5503         let mut result__: <super::super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5504         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::super::Foundation::PWSTR>(result__)
5505     }
5506     #[cfg(feature = "Win32_Foundation")]
GetSignalPath<'a, Param0: ::windows::runtime::IntoParam<'a, IPart>, Param1: ::windows::runtime::IntoParam<'a, IPart>, Param2: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, pipartfrom: Param0, pipartto: Param1, brejectmixedpaths: Param2) -> ::windows::runtime::Result<IPartsList>5507     pub unsafe fn GetSignalPath<'a, Param0: ::windows::runtime::IntoParam<'a, IPart>, Param1: ::windows::runtime::IntoParam<'a, IPart>, Param2: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, pipartfrom: Param0, pipartto: Param1, brejectmixedpaths: Param2) -> ::windows::runtime::Result<IPartsList> {
5508         let mut result__: <IPartsList as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5509         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), pipartfrom.into_param().abi(), pipartto.into_param().abi(), brejectmixedpaths.into_param().abi(), &mut result__).from_abi::<IPartsList>(result__)
5510     }
5511 }
5512 unsafe impl ::windows::runtime::Interface for IDeviceTopology {
5513     type Vtable = IDeviceTopology_abi;
5514     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(705118334, 25751, 18968, [151, 135, 50, 247, 155, 208, 217, 143]);
5515 }
5516 impl ::std::convert::From<IDeviceTopology> for ::windows::runtime::IUnknown {
from(value: IDeviceTopology) -> Self5517     fn from(value: IDeviceTopology) -> Self {
5518         unsafe { ::std::mem::transmute(value) }
5519     }
5520 }
5521 impl ::std::convert::From<&IDeviceTopology> for ::windows::runtime::IUnknown {
from(value: &IDeviceTopology) -> Self5522     fn from(value: &IDeviceTopology) -> Self {
5523         ::std::convert::From::from(::std::clone::Clone::clone(value))
5524     }
5525 }
5526 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDeviceTopology {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5527     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5528         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5529     }
5530 }
5531 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDeviceTopology {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5532     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5533         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5534     }
5535 }
5536 #[repr(C)]
5537 #[doc(hidden)]
5538 pub struct IDeviceTopology_abi(
5539     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5540     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5541     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5542     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcount: *mut u32) -> ::windows::runtime::HRESULT,
5543     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nindex: u32, ppconnector: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5544     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcount: *mut u32) -> ::windows::runtime::HRESULT,
5545     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nindex: u32, ppsubunit: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5546     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nid: u32, pppart: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5547     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppwstrdeviceid: *mut super::super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
5548     #[cfg(not(feature = "Win32_Foundation"))] usize,
5549     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pipartfrom: ::windows::runtime::RawPtr, pipartto: ::windows::runtime::RawPtr, brejectmixedpaths: super::super::super::Foundation::BOOL, ppparts: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5550     #[cfg(not(feature = "Win32_Foundation"))] usize,
5551 );
5552 #[repr(transparent)]
5553 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5554 pub struct IHardwareAudioEngineBase(::windows::runtime::IUnknown);
5555 impl IHardwareAudioEngineBase {
5556     #[cfg(feature = "Win32_Foundation")]
GetAvailableOffloadConnectorCount<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, _pwstrdeviceid: Param0, _uconnectorid: u32) -> ::windows::runtime::Result<u32>5557     pub unsafe fn GetAvailableOffloadConnectorCount<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, _pwstrdeviceid: Param0, _uconnectorid: u32) -> ::windows::runtime::Result<u32> {
5558         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5559         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), _pwstrdeviceid.into_param().abi(), ::std::mem::transmute(_uconnectorid), &mut result__).from_abi::<u32>(result__)
5560     }
5561     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
GetEngineFormat<'a, Param0: ::windows::runtime::IntoParam<'a, IMMDevice>, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, pdevice: Param0, _brequestdeviceformat: Param1, _ppwfxformat: *mut *mut super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()>5562     pub unsafe fn GetEngineFormat<'a, Param0: ::windows::runtime::IntoParam<'a, IMMDevice>, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, pdevice: Param0, _brequestdeviceformat: Param1, _ppwfxformat: *mut *mut super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()> {
5563         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), _brequestdeviceformat.into_param().abi(), ::std::mem::transmute(_ppwfxformat)).ok()
5564     }
5565     #[cfg(feature = "Win32_Media_Multimedia")]
SetEngineDeviceFormat<'a, Param0: ::windows::runtime::IntoParam<'a, IMMDevice>>(&self, pdevice: Param0, _pwfxformat: *mut super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()>5566     pub unsafe fn SetEngineDeviceFormat<'a, Param0: ::windows::runtime::IntoParam<'a, IMMDevice>>(&self, pdevice: Param0, _pwfxformat: *mut super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()> {
5567         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), ::std::mem::transmute(_pwfxformat)).ok()
5568     }
5569     #[cfg(feature = "Win32_Foundation")]
SetGfxState<'a, Param0: ::windows::runtime::IntoParam<'a, IMMDevice>, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, pdevice: Param0, _benable: Param1) -> ::windows::runtime::Result<()>5570     pub unsafe fn SetGfxState<'a, Param0: ::windows::runtime::IntoParam<'a, IMMDevice>, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, pdevice: Param0, _benable: Param1) -> ::windows::runtime::Result<()> {
5571         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), _benable.into_param().abi()).ok()
5572     }
5573     #[cfg(feature = "Win32_Foundation")]
GetGfxState<'a, Param0: ::windows::runtime::IntoParam<'a, IMMDevice>>(&self, pdevice: Param0) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL>5574     pub unsafe fn GetGfxState<'a, Param0: ::windows::runtime::IntoParam<'a, IMMDevice>>(&self, pdevice: Param0) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL> {
5575         let mut result__: <super::super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5576         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), &mut result__).from_abi::<super::super::super::Foundation::BOOL>(result__)
5577     }
5578 }
5579 unsafe impl ::windows::runtime::Interface for IHardwareAudioEngineBase {
5580     type Vtable = IHardwareAudioEngineBase_abi;
5581     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3990676452, 62401, 17722, [180, 97, 34, 53, 99, 203, 216, 134]);
5582 }
5583 impl ::std::convert::From<IHardwareAudioEngineBase> for ::windows::runtime::IUnknown {
from(value: IHardwareAudioEngineBase) -> Self5584     fn from(value: IHardwareAudioEngineBase) -> Self {
5585         unsafe { ::std::mem::transmute(value) }
5586     }
5587 }
5588 impl ::std::convert::From<&IHardwareAudioEngineBase> for ::windows::runtime::IUnknown {
from(value: &IHardwareAudioEngineBase) -> Self5589     fn from(value: &IHardwareAudioEngineBase) -> Self {
5590         ::std::convert::From::from(::std::clone::Clone::clone(value))
5591     }
5592 }
5593 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IHardwareAudioEngineBase {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5594     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5595         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5596     }
5597 }
5598 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IHardwareAudioEngineBase {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5599     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5600         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5601     }
5602 }
5603 #[repr(C)]
5604 #[doc(hidden)]
5605 pub struct IHardwareAudioEngineBase_abi(
5606     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5607     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5608     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5609     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, _pwstrdeviceid: super::super::super::Foundation::PWSTR, _uconnectorid: u32, _pavailableconnectorinstancecount: *mut u32) -> ::windows::runtime::HRESULT,
5610     #[cfg(not(feature = "Win32_Foundation"))] usize,
5611     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, _brequestdeviceformat: super::super::super::Foundation::BOOL, _ppwfxformat: *mut *mut super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::HRESULT,
5612     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia")))] usize,
5613     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, _pwfxformat: *mut super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::HRESULT,
5614     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
5615     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, _benable: super::super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
5616     #[cfg(not(feature = "Win32_Foundation"))] usize,
5617     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, _pbenable: *mut super::super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
5618     #[cfg(not(feature = "Win32_Foundation"))] usize,
5619 );
5620 #[repr(transparent)]
5621 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5622 pub struct IKsFormatSupport(::windows::runtime::IUnknown);
5623 impl IKsFormatSupport {
5624     #[cfg(feature = "Win32_Foundation")]
IsFormatSupported(&self, pksformat: *mut KSDATAFORMAT, cbformat: u32, pbsupported: *mut super::super::super::Foundation::BOOL) -> ::windows::runtime::Result<()>5625     pub unsafe fn IsFormatSupported(&self, pksformat: *mut KSDATAFORMAT, cbformat: u32, pbsupported: *mut super::super::super::Foundation::BOOL) -> ::windows::runtime::Result<()> {
5626         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pksformat), ::std::mem::transmute(cbformat), ::std::mem::transmute(pbsupported)).ok()
5627     }
GetDevicePreferredFormat(&self) -> ::windows::runtime::Result<*mut KSDATAFORMAT>5628     pub unsafe fn GetDevicePreferredFormat(&self) -> ::windows::runtime::Result<*mut KSDATAFORMAT> {
5629         let mut result__: <*mut KSDATAFORMAT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5630         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut KSDATAFORMAT>(result__)
5631     }
5632 }
5633 unsafe impl ::windows::runtime::Interface for IKsFormatSupport {
5634     type Vtable = IKsFormatSupport_abi;
5635     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1018472093, 47983, 19755, [149, 183, 69, 45, 44, 21, 93, 181]);
5636 }
5637 impl ::std::convert::From<IKsFormatSupport> for ::windows::runtime::IUnknown {
from(value: IKsFormatSupport) -> Self5638     fn from(value: IKsFormatSupport) -> Self {
5639         unsafe { ::std::mem::transmute(value) }
5640     }
5641 }
5642 impl ::std::convert::From<&IKsFormatSupport> for ::windows::runtime::IUnknown {
from(value: &IKsFormatSupport) -> Self5643     fn from(value: &IKsFormatSupport) -> Self {
5644         ::std::convert::From::from(::std::clone::Clone::clone(value))
5645     }
5646 }
5647 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IKsFormatSupport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5648     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5649         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5650     }
5651 }
5652 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IKsFormatSupport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5653     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5654         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5655     }
5656 }
5657 #[repr(C)]
5658 #[doc(hidden)]
5659 pub struct IKsFormatSupport_abi(
5660     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5661     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5662     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5663     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pksformat: *mut KSDATAFORMAT, cbformat: u32, pbsupported: *mut super::super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
5664     #[cfg(not(feature = "Win32_Foundation"))] usize,
5665     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppksformat: *mut *mut KSDATAFORMAT) -> ::windows::runtime::HRESULT,
5666 );
5667 #[repr(transparent)]
5668 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5669 pub struct IKsJackContainerId(::windows::runtime::IUnknown);
5670 impl IKsJackContainerId {
GetJackContainerId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>5671     pub unsafe fn GetJackContainerId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
5672         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5673         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
5674     }
5675 }
5676 unsafe impl ::windows::runtime::Interface for IKsJackContainerId {
5677     type Vtable = IKsJackContainerId_abi;
5678     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3382375523, 54825, 20164, [140, 0, 229, 77, 104, 21, 66, 72]);
5679 }
5680 impl ::std::convert::From<IKsJackContainerId> for ::windows::runtime::IUnknown {
from(value: IKsJackContainerId) -> Self5681     fn from(value: IKsJackContainerId) -> Self {
5682         unsafe { ::std::mem::transmute(value) }
5683     }
5684 }
5685 impl ::std::convert::From<&IKsJackContainerId> for ::windows::runtime::IUnknown {
from(value: &IKsJackContainerId) -> Self5686     fn from(value: &IKsJackContainerId) -> Self {
5687         ::std::convert::From::from(::std::clone::Clone::clone(value))
5688     }
5689 }
5690 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IKsJackContainerId {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5691     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5692         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5693     }
5694 }
5695 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IKsJackContainerId {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5696     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5697         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5698     }
5699 }
5700 #[repr(C)]
5701 #[doc(hidden)]
5702 pub struct IKsJackContainerId_abi(
5703     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5704     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5705     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5706     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pjackcontainerid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
5707 );
5708 #[repr(transparent)]
5709 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5710 pub struct IKsJackDescription(::windows::runtime::IUnknown);
5711 impl IKsJackDescription {
GetJackCount(&self) -> ::windows::runtime::Result<u32>5712     pub unsafe fn GetJackCount(&self) -> ::windows::runtime::Result<u32> {
5713         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5714         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
5715     }
5716     #[cfg(feature = "Win32_Foundation")]
GetJackDescription(&self, njack: u32) -> ::windows::runtime::Result<KSJACK_DESCRIPTION>5717     pub unsafe fn GetJackDescription(&self, njack: u32) -> ::windows::runtime::Result<KSJACK_DESCRIPTION> {
5718         let mut result__: <KSJACK_DESCRIPTION as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5719         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(njack), &mut result__).from_abi::<KSJACK_DESCRIPTION>(result__)
5720     }
5721 }
5722 unsafe impl ::windows::runtime::Interface for IKsJackDescription {
5723     type Vtable = IKsJackDescription_abi;
5724     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1158281047, 11590, 17975, [142, 98, 206, 125, 185, 68, 245, 123]);
5725 }
5726 impl ::std::convert::From<IKsJackDescription> for ::windows::runtime::IUnknown {
from(value: IKsJackDescription) -> Self5727     fn from(value: IKsJackDescription) -> Self {
5728         unsafe { ::std::mem::transmute(value) }
5729     }
5730 }
5731 impl ::std::convert::From<&IKsJackDescription> for ::windows::runtime::IUnknown {
from(value: &IKsJackDescription) -> Self5732     fn from(value: &IKsJackDescription) -> Self {
5733         ::std::convert::From::from(::std::clone::Clone::clone(value))
5734     }
5735 }
5736 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IKsJackDescription {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5737     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5738         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5739     }
5740 }
5741 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IKsJackDescription {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5742     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5743         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5744     }
5745 }
5746 #[repr(C)]
5747 #[doc(hidden)]
5748 pub struct IKsJackDescription_abi(
5749     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5750     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5751     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5752     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcjacks: *mut u32) -> ::windows::runtime::HRESULT,
5753     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, njack: u32, pdescription: *mut KSJACK_DESCRIPTION) -> ::windows::runtime::HRESULT,
5754     #[cfg(not(feature = "Win32_Foundation"))] usize,
5755 );
5756 #[repr(transparent)]
5757 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5758 pub struct IKsJackDescription2(::windows::runtime::IUnknown);
5759 impl IKsJackDescription2 {
GetJackCount(&self) -> ::windows::runtime::Result<u32>5760     pub unsafe fn GetJackCount(&self) -> ::windows::runtime::Result<u32> {
5761         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5762         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
5763     }
GetJackDescription2(&self, njack: u32) -> ::windows::runtime::Result<KSJACK_DESCRIPTION2>5764     pub unsafe fn GetJackDescription2(&self, njack: u32) -> ::windows::runtime::Result<KSJACK_DESCRIPTION2> {
5765         let mut result__: <KSJACK_DESCRIPTION2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5766         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(njack), &mut result__).from_abi::<KSJACK_DESCRIPTION2>(result__)
5767     }
5768 }
5769 unsafe impl ::windows::runtime::Interface for IKsJackDescription2 {
5770     type Vtable = IKsJackDescription2_abi;
5771     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1200568987, 57545, 18471, [146, 40, 111, 85, 5, 255, 231, 106]);
5772 }
5773 impl ::std::convert::From<IKsJackDescription2> for ::windows::runtime::IUnknown {
from(value: IKsJackDescription2) -> Self5774     fn from(value: IKsJackDescription2) -> Self {
5775         unsafe { ::std::mem::transmute(value) }
5776     }
5777 }
5778 impl ::std::convert::From<&IKsJackDescription2> for ::windows::runtime::IUnknown {
from(value: &IKsJackDescription2) -> Self5779     fn from(value: &IKsJackDescription2) -> Self {
5780         ::std::convert::From::from(::std::clone::Clone::clone(value))
5781     }
5782 }
5783 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IKsJackDescription2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5784     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5785         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5786     }
5787 }
5788 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IKsJackDescription2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5789     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5790         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5791     }
5792 }
5793 #[repr(C)]
5794 #[doc(hidden)]
5795 pub struct IKsJackDescription2_abi(
5796     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5797     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5798     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5799     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcjacks: *mut u32) -> ::windows::runtime::HRESULT,
5800     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, njack: u32, pdescription2: *mut KSJACK_DESCRIPTION2) -> ::windows::runtime::HRESULT,
5801 );
5802 #[repr(transparent)]
5803 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5804 pub struct IKsJackSinkInformation(::windows::runtime::IUnknown);
5805 impl IKsJackSinkInformation {
5806     #[cfg(feature = "Win32_Foundation")]
GetJackSinkInformation(&self) -> ::windows::runtime::Result<KSJACK_SINK_INFORMATION>5807     pub unsafe fn GetJackSinkInformation(&self) -> ::windows::runtime::Result<KSJACK_SINK_INFORMATION> {
5808         let mut result__: <KSJACK_SINK_INFORMATION as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5809         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<KSJACK_SINK_INFORMATION>(result__)
5810     }
5811 }
5812 unsafe impl ::windows::runtime::Interface for IKsJackSinkInformation {
5813     type Vtable = IKsJackSinkInformation_abi;
5814     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3653071597, 10511, 17793, [159, 243, 97, 2, 122, 143, 229, 50]);
5815 }
5816 impl ::std::convert::From<IKsJackSinkInformation> for ::windows::runtime::IUnknown {
from(value: IKsJackSinkInformation) -> Self5817     fn from(value: IKsJackSinkInformation) -> Self {
5818         unsafe { ::std::mem::transmute(value) }
5819     }
5820 }
5821 impl ::std::convert::From<&IKsJackSinkInformation> for ::windows::runtime::IUnknown {
from(value: &IKsJackSinkInformation) -> Self5822     fn from(value: &IKsJackSinkInformation) -> Self {
5823         ::std::convert::From::from(::std::clone::Clone::clone(value))
5824     }
5825 }
5826 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IKsJackSinkInformation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5827     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5828         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5829     }
5830 }
5831 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IKsJackSinkInformation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5832     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5833         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5834     }
5835 }
5836 #[repr(C)]
5837 #[doc(hidden)]
5838 pub struct IKsJackSinkInformation_abi(
5839     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5840     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5841     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5842     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pjacksinkinformation: *mut KSJACK_SINK_INFORMATION) -> ::windows::runtime::HRESULT,
5843     #[cfg(not(feature = "Win32_Foundation"))] usize,
5844 );
5845 #[repr(transparent)]
5846 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5847 pub struct IMMDevice(::windows::runtime::IUnknown);
5848 impl IMMDevice {
5849     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
Activate(&self, iid: *const ::windows::runtime::GUID, dwclsctx: u32, pactivationparams: *const super::super::super::System::Com::StructuredStorage::PROPVARIANT, ppinterface: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>5850     pub unsafe fn Activate(&self, iid: *const ::windows::runtime::GUID, dwclsctx: u32, pactivationparams: *const super::super::super::System::Com::StructuredStorage::PROPVARIANT, ppinterface: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
5851         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(iid), ::std::mem::transmute(dwclsctx), ::std::mem::transmute(pactivationparams), ::std::mem::transmute(ppinterface)).ok()
5852     }
5853     #[cfg(feature = "Win32_System_PropertiesSystem")]
OpenPropertyStore(&self, stgmaccess: u32) -> ::windows::runtime::Result<super::super::super::System::PropertiesSystem::IPropertyStore>5854     pub unsafe fn OpenPropertyStore(&self, stgmaccess: u32) -> ::windows::runtime::Result<super::super::super::System::PropertiesSystem::IPropertyStore> {
5855         let mut result__: <super::super::super::System::PropertiesSystem::IPropertyStore as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5856         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(stgmaccess), &mut result__).from_abi::<super::super::super::System::PropertiesSystem::IPropertyStore>(result__)
5857     }
5858     #[cfg(feature = "Win32_Foundation")]
GetId(&self) -> ::windows::runtime::Result<super::super::super::Foundation::PWSTR>5859     pub unsafe fn GetId(&self) -> ::windows::runtime::Result<super::super::super::Foundation::PWSTR> {
5860         let mut result__: <super::super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5861         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::super::Foundation::PWSTR>(result__)
5862     }
GetState(&self) -> ::windows::runtime::Result<u32>5863     pub unsafe fn GetState(&self) -> ::windows::runtime::Result<u32> {
5864         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5865         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
5866     }
5867 }
5868 unsafe impl ::windows::runtime::Interface for IMMDevice {
5869     type Vtable = IMMDevice_abi;
5870     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3597010495, 5511, 20035, [129, 241, 185, 72, 232, 7, 54, 63]);
5871 }
5872 impl ::std::convert::From<IMMDevice> for ::windows::runtime::IUnknown {
from(value: IMMDevice) -> Self5873     fn from(value: IMMDevice) -> Self {
5874         unsafe { ::std::mem::transmute(value) }
5875     }
5876 }
5877 impl ::std::convert::From<&IMMDevice> for ::windows::runtime::IUnknown {
from(value: &IMMDevice) -> Self5878     fn from(value: &IMMDevice) -> Self {
5879         ::std::convert::From::from(::std::clone::Clone::clone(value))
5880     }
5881 }
5882 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMMDevice {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5883     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5884         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5885     }
5886 }
5887 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMMDevice {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5888     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5889         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5890     }
5891 }
5892 #[repr(C)]
5893 #[doc(hidden)]
5894 pub struct IMMDevice_abi(
5895     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5896     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5897     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5898     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: *const ::windows::runtime::GUID, dwclsctx: u32, pactivationparams: *const ::std::mem::ManuallyDrop<super::super::super::System::Com::StructuredStorage::PROPVARIANT>, ppinterface: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
5899     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation")))] usize,
5900     #[cfg(feature = "Win32_System_PropertiesSystem")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, stgmaccess: u32, ppproperties: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5901     #[cfg(not(feature = "Win32_System_PropertiesSystem"))] usize,
5902     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppstrid: *mut super::super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
5903     #[cfg(not(feature = "Win32_Foundation"))] usize,
5904     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwstate: *mut u32) -> ::windows::runtime::HRESULT,
5905 );
5906 #[repr(transparent)]
5907 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5908 pub struct IMMDeviceActivator(::windows::runtime::IUnknown);
5909 impl IMMDeviceActivator {
5910     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
Activate<'a, Param1: ::windows::runtime::IntoParam<'a, IMMDevice>>(&self, iid: *const ::windows::runtime::GUID, pdevice: Param1, pactivationparams: *const super::super::super::System::Com::StructuredStorage::PROPVARIANT, ppinterface: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>5911     pub unsafe fn Activate<'a, Param1: ::windows::runtime::IntoParam<'a, IMMDevice>>(&self, iid: *const ::windows::runtime::GUID, pdevice: Param1, pactivationparams: *const super::super::super::System::Com::StructuredStorage::PROPVARIANT, ppinterface: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
5912         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(iid), pdevice.into_param().abi(), ::std::mem::transmute(pactivationparams), ::std::mem::transmute(ppinterface)).ok()
5913     }
5914 }
5915 unsafe impl ::windows::runtime::Interface for IMMDeviceActivator {
5916     type Vtable = IMMDeviceActivator_abi;
5917     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(990711460, 53417, 19214, [147, 91, 9, 81, 103, 70, 250, 192]);
5918 }
5919 impl ::std::convert::From<IMMDeviceActivator> for ::windows::runtime::IUnknown {
from(value: IMMDeviceActivator) -> Self5920     fn from(value: IMMDeviceActivator) -> Self {
5921         unsafe { ::std::mem::transmute(value) }
5922     }
5923 }
5924 impl ::std::convert::From<&IMMDeviceActivator> for ::windows::runtime::IUnknown {
from(value: &IMMDeviceActivator) -> Self5925     fn from(value: &IMMDeviceActivator) -> Self {
5926         ::std::convert::From::from(::std::clone::Clone::clone(value))
5927     }
5928 }
5929 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMMDeviceActivator {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5930     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5931         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5932     }
5933 }
5934 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMMDeviceActivator {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5935     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5936         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5937     }
5938 }
5939 #[repr(C)]
5940 #[doc(hidden)]
5941 pub struct IMMDeviceActivator_abi(
5942     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5943     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5944     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5945     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: *const ::windows::runtime::GUID, pdevice: ::windows::runtime::RawPtr, pactivationparams: *const ::std::mem::ManuallyDrop<super::super::super::System::Com::StructuredStorage::PROPVARIANT>, ppinterface: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
5946     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation")))] usize,
5947 );
5948 #[repr(transparent)]
5949 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5950 pub struct IMMDeviceCollection(::windows::runtime::IUnknown);
5951 impl IMMDeviceCollection {
GetCount(&self) -> ::windows::runtime::Result<u32>5952     pub unsafe fn GetCount(&self) -> ::windows::runtime::Result<u32> {
5953         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5954         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
5955     }
Item(&self, ndevice: u32) -> ::windows::runtime::Result<IMMDevice>5956     pub unsafe fn Item(&self, ndevice: u32) -> ::windows::runtime::Result<IMMDevice> {
5957         let mut result__: <IMMDevice as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5958         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(ndevice), &mut result__).from_abi::<IMMDevice>(result__)
5959     }
5960 }
5961 unsafe impl ::windows::runtime::Interface for IMMDeviceCollection {
5962     type Vtable = IMMDeviceCollection_abi;
5963     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(198681022, 31258, 17627, [131, 151, 204, 83, 146, 56, 123, 94]);
5964 }
5965 impl ::std::convert::From<IMMDeviceCollection> for ::windows::runtime::IUnknown {
from(value: IMMDeviceCollection) -> Self5966     fn from(value: IMMDeviceCollection) -> Self {
5967         unsafe { ::std::mem::transmute(value) }
5968     }
5969 }
5970 impl ::std::convert::From<&IMMDeviceCollection> for ::windows::runtime::IUnknown {
from(value: &IMMDeviceCollection) -> Self5971     fn from(value: &IMMDeviceCollection) -> Self {
5972         ::std::convert::From::from(::std::clone::Clone::clone(value))
5973     }
5974 }
5975 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMMDeviceCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5976     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5977         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5978     }
5979 }
5980 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMMDeviceCollection {
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(::std::clone::Clone::clone(self)))
5983     }
5984 }
5985 #[repr(C)]
5986 #[doc(hidden)]
5987 pub struct IMMDeviceCollection_abi(
5988     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5989     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5990     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5991     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcdevices: *mut u32) -> ::windows::runtime::HRESULT,
5992     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ndevice: u32, ppdevice: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5993 );
5994 #[repr(transparent)]
5995 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5996 pub struct IMMDeviceEnumerator(::windows::runtime::IUnknown);
5997 impl IMMDeviceEnumerator {
EnumAudioEndpoints(&self, dataflow: EDataFlow, dwstatemask: u32) -> ::windows::runtime::Result<IMMDeviceCollection>5998     pub unsafe fn EnumAudioEndpoints(&self, dataflow: EDataFlow, dwstatemask: u32) -> ::windows::runtime::Result<IMMDeviceCollection> {
5999         let mut result__: <IMMDeviceCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6000         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(dataflow), ::std::mem::transmute(dwstatemask), &mut result__).from_abi::<IMMDeviceCollection>(result__)
6001     }
GetDefaultAudioEndpoint(&self, dataflow: EDataFlow, role: ERole) -> ::windows::runtime::Result<IMMDevice>6002     pub unsafe fn GetDefaultAudioEndpoint(&self, dataflow: EDataFlow, role: ERole) -> ::windows::runtime::Result<IMMDevice> {
6003         let mut result__: <IMMDevice as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6004         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(dataflow), ::std::mem::transmute(role), &mut result__).from_abi::<IMMDevice>(result__)
6005     }
6006     #[cfg(feature = "Win32_Foundation")]
GetDevice<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, pwstrid: Param0) -> ::windows::runtime::Result<IMMDevice>6007     pub unsafe fn GetDevice<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, pwstrid: Param0) -> ::windows::runtime::Result<IMMDevice> {
6008         let mut result__: <IMMDevice as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6009         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pwstrid.into_param().abi(), &mut result__).from_abi::<IMMDevice>(result__)
6010     }
RegisterEndpointNotificationCallback<'a, Param0: ::windows::runtime::IntoParam<'a, IMMNotificationClient>>(&self, pclient: Param0) -> ::windows::runtime::Result<()>6011     pub unsafe fn RegisterEndpointNotificationCallback<'a, Param0: ::windows::runtime::IntoParam<'a, IMMNotificationClient>>(&self, pclient: Param0) -> ::windows::runtime::Result<()> {
6012         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pclient.into_param().abi()).ok()
6013     }
UnregisterEndpointNotificationCallback<'a, Param0: ::windows::runtime::IntoParam<'a, IMMNotificationClient>>(&self, pclient: Param0) -> ::windows::runtime::Result<()>6014     pub unsafe fn UnregisterEndpointNotificationCallback<'a, Param0: ::windows::runtime::IntoParam<'a, IMMNotificationClient>>(&self, pclient: Param0) -> ::windows::runtime::Result<()> {
6015         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pclient.into_param().abi()).ok()
6016     }
6017 }
6018 unsafe impl ::windows::runtime::Interface for IMMDeviceEnumerator {
6019     type Vtable = IMMDeviceEnumerator_abi;
6020     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2841011410, 38420, 20277, [167, 70, 222, 141, 182, 54, 23, 230]);
6021 }
6022 impl ::std::convert::From<IMMDeviceEnumerator> for ::windows::runtime::IUnknown {
from(value: IMMDeviceEnumerator) -> Self6023     fn from(value: IMMDeviceEnumerator) -> Self {
6024         unsafe { ::std::mem::transmute(value) }
6025     }
6026 }
6027 impl ::std::convert::From<&IMMDeviceEnumerator> for ::windows::runtime::IUnknown {
from(value: &IMMDeviceEnumerator) -> Self6028     fn from(value: &IMMDeviceEnumerator) -> Self {
6029         ::std::convert::From::from(::std::clone::Clone::clone(value))
6030     }
6031 }
6032 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMMDeviceEnumerator {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6033     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6034         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6035     }
6036 }
6037 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMMDeviceEnumerator {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6038     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6039         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6040     }
6041 }
6042 #[repr(C)]
6043 #[doc(hidden)]
6044 pub struct IMMDeviceEnumerator_abi(
6045     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6046     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6047     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6048     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dataflow: EDataFlow, dwstatemask: u32, ppdevices: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6049     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dataflow: EDataFlow, role: ERole, ppendpoint: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6050     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwstrid: super::super::super::Foundation::PWSTR, ppdevice: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6051     #[cfg(not(feature = "Win32_Foundation"))] usize,
6052     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclient: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6053     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclient: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6054 );
6055 #[repr(transparent)]
6056 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6057 pub struct IMMEndpoint(::windows::runtime::IUnknown);
6058 impl IMMEndpoint {
GetDataFlow(&self) -> ::windows::runtime::Result<EDataFlow>6059     pub unsafe fn GetDataFlow(&self) -> ::windows::runtime::Result<EDataFlow> {
6060         let mut result__: <EDataFlow as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6061         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<EDataFlow>(result__)
6062     }
6063 }
6064 unsafe impl ::windows::runtime::Interface for IMMEndpoint {
6065     type Vtable = IMMEndpoint_abi;
6066     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(467703688, 26772, 16521, [133, 134, 154, 42, 108, 38, 90, 197]);
6067 }
6068 impl ::std::convert::From<IMMEndpoint> for ::windows::runtime::IUnknown {
from(value: IMMEndpoint) -> Self6069     fn from(value: IMMEndpoint) -> Self {
6070         unsafe { ::std::mem::transmute(value) }
6071     }
6072 }
6073 impl ::std::convert::From<&IMMEndpoint> for ::windows::runtime::IUnknown {
from(value: &IMMEndpoint) -> Self6074     fn from(value: &IMMEndpoint) -> Self {
6075         ::std::convert::From::from(::std::clone::Clone::clone(value))
6076     }
6077 }
6078 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMMEndpoint {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6079     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6080         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6081     }
6082 }
6083 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMMEndpoint {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6084     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6085         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6086     }
6087 }
6088 #[repr(C)]
6089 #[doc(hidden)]
6090 pub struct IMMEndpoint_abi(
6091     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6092     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6093     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6094     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdataflow: *mut EDataFlow) -> ::windows::runtime::HRESULT,
6095 );
6096 #[repr(transparent)]
6097 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6098 pub struct IMMNotificationClient(::windows::runtime::IUnknown);
6099 impl IMMNotificationClient {
6100     #[cfg(feature = "Win32_Foundation")]
OnDeviceStateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, pwstrdeviceid: Param0, dwnewstate: u32) -> ::windows::runtime::Result<()>6101     pub unsafe fn OnDeviceStateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, pwstrdeviceid: Param0, dwnewstate: u32) -> ::windows::runtime::Result<()> {
6102         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pwstrdeviceid.into_param().abi(), ::std::mem::transmute(dwnewstate)).ok()
6103     }
6104     #[cfg(feature = "Win32_Foundation")]
OnDeviceAdded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, pwstrdeviceid: Param0) -> ::windows::runtime::Result<()>6105     pub unsafe fn OnDeviceAdded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, pwstrdeviceid: Param0) -> ::windows::runtime::Result<()> {
6106         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pwstrdeviceid.into_param().abi()).ok()
6107     }
6108     #[cfg(feature = "Win32_Foundation")]
OnDeviceRemoved<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, pwstrdeviceid: Param0) -> ::windows::runtime::Result<()>6109     pub unsafe fn OnDeviceRemoved<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, pwstrdeviceid: Param0) -> ::windows::runtime::Result<()> {
6110         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pwstrdeviceid.into_param().abi()).ok()
6111     }
6112     #[cfg(feature = "Win32_Foundation")]
OnDefaultDeviceChanged<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, flow: EDataFlow, role: ERole, pwstrdefaultdeviceid: Param2) -> ::windows::runtime::Result<()>6113     pub unsafe fn OnDefaultDeviceChanged<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, flow: EDataFlow, role: ERole, pwstrdefaultdeviceid: Param2) -> ::windows::runtime::Result<()> {
6114         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(flow), ::std::mem::transmute(role), pwstrdefaultdeviceid.into_param().abi()).ok()
6115     }
6116     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PropertiesSystem"))]
OnPropertyValueChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::super::System::PropertiesSystem::PROPERTYKEY>>(&self, pwstrdeviceid: Param0, key: Param1) -> ::windows::runtime::Result<()>6117     pub unsafe fn OnPropertyValueChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::super::System::PropertiesSystem::PROPERTYKEY>>(&self, pwstrdeviceid: Param0, key: Param1) -> ::windows::runtime::Result<()> {
6118         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pwstrdeviceid.into_param().abi(), key.into_param().abi()).ok()
6119     }
6120 }
6121 unsafe impl ::windows::runtime::Interface for IMMNotificationClient {
6122     type Vtable = IMMNotificationClient_abi;
6123     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2039606985, 32393, 19845, [131, 144, 108, 112, 60, 236, 96, 192]);
6124 }
6125 impl ::std::convert::From<IMMNotificationClient> for ::windows::runtime::IUnknown {
from(value: IMMNotificationClient) -> Self6126     fn from(value: IMMNotificationClient) -> Self {
6127         unsafe { ::std::mem::transmute(value) }
6128     }
6129 }
6130 impl ::std::convert::From<&IMMNotificationClient> for ::windows::runtime::IUnknown {
from(value: &IMMNotificationClient) -> Self6131     fn from(value: &IMMNotificationClient) -> Self {
6132         ::std::convert::From::from(::std::clone::Clone::clone(value))
6133     }
6134 }
6135 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMMNotificationClient {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6136     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6137         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6138     }
6139 }
6140 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMMNotificationClient {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6141     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6142         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6143     }
6144 }
6145 #[repr(C)]
6146 #[doc(hidden)]
6147 pub struct IMMNotificationClient_abi(
6148     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6149     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6150     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6151     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwstrdeviceid: super::super::super::Foundation::PWSTR, dwnewstate: u32) -> ::windows::runtime::HRESULT,
6152     #[cfg(not(feature = "Win32_Foundation"))] usize,
6153     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwstrdeviceid: super::super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
6154     #[cfg(not(feature = "Win32_Foundation"))] usize,
6155     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwstrdeviceid: super::super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
6156     #[cfg(not(feature = "Win32_Foundation"))] usize,
6157     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flow: EDataFlow, role: ERole, pwstrdefaultdeviceid: super::super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
6158     #[cfg(not(feature = "Win32_Foundation"))] usize,
6159     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PropertiesSystem"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwstrdeviceid: super::super::super::Foundation::PWSTR, key: super::super::super::System::PropertiesSystem::PROPERTYKEY) -> ::windows::runtime::HRESULT,
6160     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_PropertiesSystem")))] usize,
6161 );
6162 #[repr(transparent)]
6163 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6164 pub struct IMessageFilter(::windows::runtime::IUnknown);
6165 impl IMessageFilter {
6166     #[cfg(feature = "Win32_System_Com")]
HandleInComingCall<'a, Param1: ::windows::runtime::IntoParam<'a, HTASK>>(&self, dwcalltype: u32, htaskcaller: Param1, dwtickcount: u32, lpinterfaceinfo: *const super::super::super::System::Com::INTERFACEINFO) -> u326167     pub unsafe fn HandleInComingCall<'a, Param1: ::windows::runtime::IntoParam<'a, HTASK>>(&self, dwcalltype: u32, htaskcaller: Param1, dwtickcount: u32, lpinterfaceinfo: *const super::super::super::System::Com::INTERFACEINFO) -> u32 {
6168         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcalltype), htaskcaller.into_param().abi(), ::std::mem::transmute(dwtickcount), ::std::mem::transmute(lpinterfaceinfo)))
6169     }
RetryRejectedCall<'a, Param0: ::windows::runtime::IntoParam<'a, HTASK>>(&self, htaskcallee: Param0, dwtickcount: u32, dwrejecttype: u32) -> u326170     pub unsafe fn RetryRejectedCall<'a, Param0: ::windows::runtime::IntoParam<'a, HTASK>>(&self, htaskcallee: Param0, dwtickcount: u32, dwrejecttype: u32) -> u32 {
6171         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), htaskcallee.into_param().abi(), ::std::mem::transmute(dwtickcount), ::std::mem::transmute(dwrejecttype)))
6172     }
MessagePending<'a, Param0: ::windows::runtime::IntoParam<'a, HTASK>>(&self, htaskcallee: Param0, dwtickcount: u32, dwpendingtype: u32) -> u326173     pub unsafe fn MessagePending<'a, Param0: ::windows::runtime::IntoParam<'a, HTASK>>(&self, htaskcallee: Param0, dwtickcount: u32, dwpendingtype: u32) -> u32 {
6174         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), htaskcallee.into_param().abi(), ::std::mem::transmute(dwtickcount), ::std::mem::transmute(dwpendingtype)))
6175     }
6176 }
6177 unsafe impl ::windows::runtime::Interface for IMessageFilter {
6178     type Vtable = IMessageFilter_abi;
6179     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(22, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
6180 }
6181 impl ::std::convert::From<IMessageFilter> for ::windows::runtime::IUnknown {
from(value: IMessageFilter) -> Self6182     fn from(value: IMessageFilter) -> Self {
6183         unsafe { ::std::mem::transmute(value) }
6184     }
6185 }
6186 impl ::std::convert::From<&IMessageFilter> for ::windows::runtime::IUnknown {
from(value: &IMessageFilter) -> Self6187     fn from(value: &IMessageFilter) -> Self {
6188         ::std::convert::From::from(::std::clone::Clone::clone(value))
6189     }
6190 }
6191 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMessageFilter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6192     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6193         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6194     }
6195 }
6196 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMessageFilter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6197     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6198         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6199     }
6200 }
6201 #[repr(C)]
6202 #[doc(hidden)]
6203 pub struct IMessageFilter_abi(
6204     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6205     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6206     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6207     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcalltype: u32, htaskcaller: HTASK, dwtickcount: u32, lpinterfaceinfo: *const ::std::mem::ManuallyDrop<super::super::super::System::Com::INTERFACEINFO>) -> u32,
6208     #[cfg(not(feature = "Win32_System_Com"))] usize,
6209     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, htaskcallee: HTASK, dwtickcount: u32, dwrejecttype: u32) -> u32,
6210     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, htaskcallee: HTASK, dwtickcount: u32, dwpendingtype: u32) -> u32,
6211 );
6212 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
6213 #[repr(C)]
6214 pub struct INTERLEAVED_AUDIO_FORMAT_INFORMATION {
6215     pub Size: u32,
6216     pub PrimaryChannelCount: u32,
6217     pub PrimaryChannelStartPosition: u32,
6218     pub PrimaryChannelMask: u32,
6219     pub InterleavedChannelCount: u32,
6220     pub InterleavedChannelStartPosition: u32,
6221     pub InterleavedChannelMask: u32,
6222 }
6223 impl INTERLEAVED_AUDIO_FORMAT_INFORMATION {}
6224 impl ::std::default::Default for INTERLEAVED_AUDIO_FORMAT_INFORMATION {
default() -> Self6225     fn default() -> Self {
6226         unsafe { ::std::mem::zeroed() }
6227     }
6228 }
6229 impl ::std::fmt::Debug for INTERLEAVED_AUDIO_FORMAT_INFORMATION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result6230     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6231         fmt.debug_struct("INTERLEAVED_AUDIO_FORMAT_INFORMATION")
6232             .field("Size", &self.Size)
6233             .field("PrimaryChannelCount", &self.PrimaryChannelCount)
6234             .field("PrimaryChannelStartPosition", &self.PrimaryChannelStartPosition)
6235             .field("PrimaryChannelMask", &self.PrimaryChannelMask)
6236             .field("InterleavedChannelCount", &self.InterleavedChannelCount)
6237             .field("InterleavedChannelStartPosition", &self.InterleavedChannelStartPosition)
6238             .field("InterleavedChannelMask", &self.InterleavedChannelMask)
6239             .finish()
6240     }
6241 }
6242 impl ::std::cmp::PartialEq for INTERLEAVED_AUDIO_FORMAT_INFORMATION {
eq(&self, other: &Self) -> bool6243     fn eq(&self, other: &Self) -> bool {
6244         self.Size == other.Size && self.PrimaryChannelCount == other.PrimaryChannelCount && self.PrimaryChannelStartPosition == other.PrimaryChannelStartPosition && self.PrimaryChannelMask == other.PrimaryChannelMask && self.InterleavedChannelCount == other.InterleavedChannelCount && self.InterleavedChannelStartPosition == other.InterleavedChannelStartPosition && self.InterleavedChannelMask == other.InterleavedChannelMask
6245     }
6246 }
6247 impl ::std::cmp::Eq for INTERLEAVED_AUDIO_FORMAT_INFORMATION {}
6248 unsafe impl ::windows::runtime::Abi for INTERLEAVED_AUDIO_FORMAT_INFORMATION {
6249     type Abi = Self;
6250     type DefaultType = Self;
6251 }
6252 pub const IOCTL_KS_DISABLE_EVENT: u32 = 3080203u32;
6253 pub const IOCTL_KS_ENABLE_EVENT: u32 = 3080199u32;
6254 pub const IOCTL_KS_HANDSHAKE: u32 = 3080223u32;
6255 pub const IOCTL_KS_METHOD: u32 = 3080207u32;
6256 pub const IOCTL_KS_PROPERTY: u32 = 3080195u32;
6257 pub const IOCTL_KS_READ_STREAM: u32 = 3096599u32;
6258 pub const IOCTL_KS_RESET_STATE: u32 = 3080219u32;
6259 pub const IOCTL_KS_WRITE_STREAM: u32 = 3112979u32;
6260 #[repr(transparent)]
6261 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6262 pub struct IPart(::windows::runtime::IUnknown);
6263 impl IPart {
6264     #[cfg(feature = "Win32_Foundation")]
GetName(&self) -> ::windows::runtime::Result<super::super::super::Foundation::PWSTR>6265     pub unsafe fn GetName(&self) -> ::windows::runtime::Result<super::super::super::Foundation::PWSTR> {
6266         let mut result__: <super::super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6267         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::super::Foundation::PWSTR>(result__)
6268     }
GetLocalId(&self) -> ::windows::runtime::Result<u32>6269     pub unsafe fn GetLocalId(&self) -> ::windows::runtime::Result<u32> {
6270         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6271         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
6272     }
6273     #[cfg(feature = "Win32_Foundation")]
GetGlobalId(&self) -> ::windows::runtime::Result<super::super::super::Foundation::PWSTR>6274     pub unsafe fn GetGlobalId(&self) -> ::windows::runtime::Result<super::super::super::Foundation::PWSTR> {
6275         let mut result__: <super::super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6276         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::super::Foundation::PWSTR>(result__)
6277     }
GetPartType(&self) -> ::windows::runtime::Result<PartType>6278     pub unsafe fn GetPartType(&self) -> ::windows::runtime::Result<PartType> {
6279         let mut result__: <PartType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6280         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<PartType>(result__)
6281     }
GetSubType(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>6282     pub unsafe fn GetSubType(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
6283         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6284         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
6285     }
GetControlInterfaceCount(&self) -> ::windows::runtime::Result<u32>6286     pub unsafe fn GetControlInterfaceCount(&self) -> ::windows::runtime::Result<u32> {
6287         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6288         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
6289     }
GetControlInterface(&self, nindex: u32) -> ::windows::runtime::Result<IControlInterface>6290     pub unsafe fn GetControlInterface(&self, nindex: u32) -> ::windows::runtime::Result<IControlInterface> {
6291         let mut result__: <IControlInterface as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6292         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(nindex), &mut result__).from_abi::<IControlInterface>(result__)
6293     }
EnumPartsIncoming(&self) -> ::windows::runtime::Result<IPartsList>6294     pub unsafe fn EnumPartsIncoming(&self) -> ::windows::runtime::Result<IPartsList> {
6295         let mut result__: <IPartsList as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6296         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IPartsList>(result__)
6297     }
EnumPartsOutgoing(&self) -> ::windows::runtime::Result<IPartsList>6298     pub unsafe fn EnumPartsOutgoing(&self) -> ::windows::runtime::Result<IPartsList> {
6299         let mut result__: <IPartsList as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6300         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IPartsList>(result__)
6301     }
GetTopologyObject(&self) -> ::windows::runtime::Result<IDeviceTopology>6302     pub unsafe fn GetTopologyObject(&self) -> ::windows::runtime::Result<IDeviceTopology> {
6303         let mut result__: <IDeviceTopology as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6304         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IDeviceTopology>(result__)
6305     }
Activate(&self, dwclscontext: u32, refiid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>6306     pub unsafe fn Activate(&self, dwclscontext: u32, refiid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
6307         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwclscontext), ::std::mem::transmute(refiid), ::std::mem::transmute(ppvobject)).ok()
6308     }
RegisterControlChangeCallback<'a, Param1: ::windows::runtime::IntoParam<'a, IControlChangeNotify>>(&self, riid: *const ::windows::runtime::GUID, pnotify: Param1) -> ::windows::runtime::Result<()>6309     pub unsafe fn RegisterControlChangeCallback<'a, Param1: ::windows::runtime::IntoParam<'a, IControlChangeNotify>>(&self, riid: *const ::windows::runtime::GUID, pnotify: Param1) -> ::windows::runtime::Result<()> {
6310         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), pnotify.into_param().abi()).ok()
6311     }
UnregisterControlChangeCallback<'a, Param0: ::windows::runtime::IntoParam<'a, IControlChangeNotify>>(&self, pnotify: Param0) -> ::windows::runtime::Result<()>6312     pub unsafe fn UnregisterControlChangeCallback<'a, Param0: ::windows::runtime::IntoParam<'a, IControlChangeNotify>>(&self, pnotify: Param0) -> ::windows::runtime::Result<()> {
6313         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), pnotify.into_param().abi()).ok()
6314     }
6315 }
6316 unsafe impl ::windows::runtime::Interface for IPart {
6317     type Vtable = IPart_abi;
6318     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2922242276, 23498, 20269, [170, 70, 93, 19, 248, 253, 179, 169]);
6319 }
6320 impl ::std::convert::From<IPart> for ::windows::runtime::IUnknown {
from(value: IPart) -> Self6321     fn from(value: IPart) -> Self {
6322         unsafe { ::std::mem::transmute(value) }
6323     }
6324 }
6325 impl ::std::convert::From<&IPart> for ::windows::runtime::IUnknown {
from(value: &IPart) -> Self6326     fn from(value: &IPart) -> Self {
6327         ::std::convert::From::from(::std::clone::Clone::clone(value))
6328     }
6329 }
6330 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IPart {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6331     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6332         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6333     }
6334 }
6335 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IPart {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6336     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6337         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6338     }
6339 }
6340 #[repr(C)]
6341 #[doc(hidden)]
6342 pub struct IPart_abi(
6343     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6344     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6345     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6346     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppwstrname: *mut super::super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
6347     #[cfg(not(feature = "Win32_Foundation"))] usize,
6348     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnid: *mut u32) -> ::windows::runtime::HRESULT,
6349     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppwstrglobalid: *mut super::super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
6350     #[cfg(not(feature = "Win32_Foundation"))] usize,
6351     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pparttype: *mut PartType) -> ::windows::runtime::HRESULT,
6352     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psubtype: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
6353     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcount: *mut u32) -> ::windows::runtime::HRESULT,
6354     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nindex: u32, ppinterfacedesc: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6355     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppparts: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6356     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppparts: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6357     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pptopology: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6358     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwclscontext: u32, refiid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
6359     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, pnotify: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6360     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnotify: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6361 );
6362 #[repr(transparent)]
6363 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6364 pub struct IPartsList(::windows::runtime::IUnknown);
6365 impl IPartsList {
GetCount(&self) -> ::windows::runtime::Result<u32>6366     pub unsafe fn GetCount(&self) -> ::windows::runtime::Result<u32> {
6367         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6368         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
6369     }
GetPart(&self, nindex: u32) -> ::windows::runtime::Result<IPart>6370     pub unsafe fn GetPart(&self, nindex: u32) -> ::windows::runtime::Result<IPart> {
6371         let mut result__: <IPart as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6372         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(nindex), &mut result__).from_abi::<IPart>(result__)
6373     }
6374 }
6375 unsafe impl ::windows::runtime::Interface for IPartsList {
6376     type Vtable = IPartsList_abi;
6377     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1839891596, 24240, 17868, [174, 165, 153, 138, 44, 218, 31, 251]);
6378 }
6379 impl ::std::convert::From<IPartsList> for ::windows::runtime::IUnknown {
from(value: IPartsList) -> Self6380     fn from(value: IPartsList) -> Self {
6381         unsafe { ::std::mem::transmute(value) }
6382     }
6383 }
6384 impl ::std::convert::From<&IPartsList> for ::windows::runtime::IUnknown {
from(value: &IPartsList) -> Self6385     fn from(value: &IPartsList) -> Self {
6386         ::std::convert::From::from(::std::clone::Clone::clone(value))
6387     }
6388 }
6389 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IPartsList {
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(self))
6392     }
6393 }
6394 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IPartsList {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6395     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6396         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6397     }
6398 }
6399 #[repr(C)]
6400 #[doc(hidden)]
6401 pub struct IPartsList_abi(
6402     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6403     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6404     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6405     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcount: *mut u32) -> ::windows::runtime::HRESULT,
6406     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nindex: u32, pppart: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6407 );
6408 #[repr(transparent)]
6409 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6410 pub struct IPerChannelDbLevel(::windows::runtime::IUnknown);
6411 impl IPerChannelDbLevel {
GetChannelCount(&self) -> ::windows::runtime::Result<u32>6412     pub unsafe fn GetChannelCount(&self) -> ::windows::runtime::Result<u32> {
6413         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6414         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
6415     }
GetLevelRange(&self, nchannel: u32, pfminleveldb: *mut f32, pfmaxleveldb: *mut f32, pfstepping: *mut f32) -> ::windows::runtime::Result<()>6416     pub unsafe fn GetLevelRange(&self, nchannel: u32, pfminleveldb: *mut f32, pfmaxleveldb: *mut f32, pfstepping: *mut f32) -> ::windows::runtime::Result<()> {
6417         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(nchannel), ::std::mem::transmute(pfminleveldb), ::std::mem::transmute(pfmaxleveldb), ::std::mem::transmute(pfstepping)).ok()
6418     }
GetLevel(&self, nchannel: u32) -> ::windows::runtime::Result<f32>6419     pub unsafe fn GetLevel(&self, nchannel: u32) -> ::windows::runtime::Result<f32> {
6420         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6421         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(nchannel), &mut result__).from_abi::<f32>(result__)
6422     }
SetLevel(&self, nchannel: u32, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>6423     pub unsafe fn SetLevel(&self, nchannel: u32, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
6424         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(nchannel), ::std::mem::transmute(fleveldb), ::std::mem::transmute(pguideventcontext)).ok()
6425     }
SetLevelUniform(&self, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>6426     pub unsafe fn SetLevelUniform(&self, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
6427         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(fleveldb), ::std::mem::transmute(pguideventcontext)).ok()
6428     }
SetLevelAllChannels(&self, alevelsdb: *const f32, cchannels: u32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>6429     pub unsafe fn SetLevelAllChannels(&self, alevelsdb: *const f32, cchannels: u32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
6430         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(alevelsdb), ::std::mem::transmute(cchannels), ::std::mem::transmute(pguideventcontext)).ok()
6431     }
6432 }
6433 unsafe impl ::windows::runtime::Interface for IPerChannelDbLevel {
6434     type Vtable = IPerChannelDbLevel_abi;
6435     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3271090177, 61957, 19401, [153, 188, 193, 59, 30, 4, 140, 203]);
6436 }
6437 impl ::std::convert::From<IPerChannelDbLevel> for ::windows::runtime::IUnknown {
from(value: IPerChannelDbLevel) -> Self6438     fn from(value: IPerChannelDbLevel) -> Self {
6439         unsafe { ::std::mem::transmute(value) }
6440     }
6441 }
6442 impl ::std::convert::From<&IPerChannelDbLevel> for ::windows::runtime::IUnknown {
from(value: &IPerChannelDbLevel) -> Self6443     fn from(value: &IPerChannelDbLevel) -> Self {
6444         ::std::convert::From::from(::std::clone::Clone::clone(value))
6445     }
6446 }
6447 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IPerChannelDbLevel {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6448     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6449         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6450     }
6451 }
6452 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IPerChannelDbLevel {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6453     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6454         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6455     }
6456 }
6457 #[repr(C)]
6458 #[doc(hidden)]
6459 pub struct IPerChannelDbLevel_abi(
6460     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6461     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6462     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6463     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcchannels: *mut u32) -> ::windows::runtime::HRESULT,
6464     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nchannel: u32, pfminleveldb: *mut f32, pfmaxleveldb: *mut f32, pfstepping: *mut f32) -> ::windows::runtime::HRESULT,
6465     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nchannel: u32, pfleveldb: *mut f32) -> ::windows::runtime::HRESULT,
6466     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nchannel: u32, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
6467     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fleveldb: f32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
6468     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, alevelsdb: *const f32, cchannels: u32, pguideventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
6469 );
6470 #[repr(transparent)]
6471 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6472 pub struct ISimpleAudioVolume(::windows::runtime::IUnknown);
6473 impl ISimpleAudioVolume {
SetMasterVolume(&self, flevel: f32, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>6474     pub unsafe fn SetMasterVolume(&self, flevel: f32, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
6475         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(flevel), ::std::mem::transmute(eventcontext)).ok()
6476     }
GetMasterVolume(&self) -> ::windows::runtime::Result<f32>6477     pub unsafe fn GetMasterVolume(&self) -> ::windows::runtime::Result<f32> {
6478         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6479         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
6480     }
6481     #[cfg(feature = "Win32_Foundation")]
SetMute<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, bmute: Param0, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>6482     pub unsafe fn SetMute<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, bmute: Param0, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
6483         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), bmute.into_param().abi(), ::std::mem::transmute(eventcontext)).ok()
6484     }
6485     #[cfg(feature = "Win32_Foundation")]
GetMute(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL>6486     pub unsafe fn GetMute(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL> {
6487         let mut result__: <super::super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6488         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::super::Foundation::BOOL>(result__)
6489     }
6490 }
6491 unsafe impl ::windows::runtime::Interface for ISimpleAudioVolume {
6492     type Vtable = ISimpleAudioVolume_abi;
6493     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2278446232, 26838, 17637, [146, 21, 109, 164, 126, 248, 131, 216]);
6494 }
6495 impl ::std::convert::From<ISimpleAudioVolume> for ::windows::runtime::IUnknown {
from(value: ISimpleAudioVolume) -> Self6496     fn from(value: ISimpleAudioVolume) -> Self {
6497         unsafe { ::std::mem::transmute(value) }
6498     }
6499 }
6500 impl ::std::convert::From<&ISimpleAudioVolume> for ::windows::runtime::IUnknown {
from(value: &ISimpleAudioVolume) -> Self6501     fn from(value: &ISimpleAudioVolume) -> Self {
6502         ::std::convert::From::from(::std::clone::Clone::clone(value))
6503     }
6504 }
6505 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISimpleAudioVolume {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6506     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6507         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6508     }
6509 }
6510 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISimpleAudioVolume {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6511     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6512         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6513     }
6514 }
6515 #[repr(C)]
6516 #[doc(hidden)]
6517 pub struct ISimpleAudioVolume_abi(
6518     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6519     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6520     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6521     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flevel: f32, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
6522     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pflevel: *mut f32) -> ::windows::runtime::HRESULT,
6523     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bmute: super::super::super::Foundation::BOOL, eventcontext: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
6524     #[cfg(not(feature = "Win32_Foundation"))] usize,
6525     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbmute: *mut super::super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
6526     #[cfg(not(feature = "Win32_Foundation"))] usize,
6527 );
6528 #[repr(transparent)]
6529 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6530 pub struct ISpatialAudioClient(::windows::runtime::IUnknown);
6531 impl ISpatialAudioClient {
GetStaticObjectPosition(&self, r#type: AudioObjectType, x: *mut f32, y: *mut f32, z: *mut f32) -> ::windows::runtime::Result<()>6532     pub unsafe fn GetStaticObjectPosition(&self, r#type: AudioObjectType, x: *mut f32, y: *mut f32, z: *mut f32) -> ::windows::runtime::Result<()> {
6533         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#type), ::std::mem::transmute(x), ::std::mem::transmute(y), ::std::mem::transmute(z)).ok()
6534     }
GetNativeStaticObjectTypeMask(&self) -> ::windows::runtime::Result<AudioObjectType>6535     pub unsafe fn GetNativeStaticObjectTypeMask(&self) -> ::windows::runtime::Result<AudioObjectType> {
6536         let mut result__: <AudioObjectType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6537         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<AudioObjectType>(result__)
6538     }
GetMaxDynamicObjectCount(&self) -> ::windows::runtime::Result<u32>6539     pub unsafe fn GetMaxDynamicObjectCount(&self) -> ::windows::runtime::Result<u32> {
6540         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6541         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
6542     }
GetSupportedAudioObjectFormatEnumerator(&self) -> ::windows::runtime::Result<IAudioFormatEnumerator>6543     pub unsafe fn GetSupportedAudioObjectFormatEnumerator(&self) -> ::windows::runtime::Result<IAudioFormatEnumerator> {
6544         let mut result__: <IAudioFormatEnumerator as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6545         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IAudioFormatEnumerator>(result__)
6546     }
6547     #[cfg(feature = "Win32_Media_Multimedia")]
GetMaxFrameCount(&self, objectformat: *const super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<u32>6548     pub unsafe fn GetMaxFrameCount(&self, objectformat: *const super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<u32> {
6549         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6550         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(objectformat), &mut result__).from_abi::<u32>(result__)
6551     }
6552     #[cfg(feature = "Win32_Media_Multimedia")]
IsAudioObjectFormatSupported(&self, objectformat: *const super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()>6553     pub unsafe fn IsAudioObjectFormatSupported(&self, objectformat: *const super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()> {
6554         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(objectformat)).ok()
6555     }
6556     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
IsSpatialAudioStreamAvailable(&self, streamuuid: *const ::windows::runtime::GUID, auxiliaryinfo: *const super::super::super::System::Com::StructuredStorage::PROPVARIANT) -> ::windows::runtime::Result<()>6557     pub unsafe fn IsSpatialAudioStreamAvailable(&self, streamuuid: *const ::windows::runtime::GUID, auxiliaryinfo: *const super::super::super::System::Com::StructuredStorage::PROPVARIANT) -> ::windows::runtime::Result<()> {
6558         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(streamuuid), ::std::mem::transmute(auxiliaryinfo)).ok()
6559     }
6560     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
ActivateSpatialAudioStream<T: ::windows::runtime::Interface>(&self, activationparams: *const super::super::super::System::Com::StructuredStorage::PROPVARIANT) -> ::windows::runtime::Result<T>6561     pub unsafe fn ActivateSpatialAudioStream<T: ::windows::runtime::Interface>(&self, activationparams: *const super::super::super::System::Com::StructuredStorage::PROPVARIANT) -> ::windows::runtime::Result<T> {
6562         let mut result__ = ::std::option::Option::None;
6563         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(activationparams), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
6564     }
6565 }
6566 unsafe impl ::windows::runtime::Interface for ISpatialAudioClient {
6567     type Vtable = ISpatialAudioClient_abi;
6568     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3153649766, 43690, 18878, [154, 77, 253, 42, 133, 142, 162, 127]);
6569 }
6570 impl ::std::convert::From<ISpatialAudioClient> for ::windows::runtime::IUnknown {
from(value: ISpatialAudioClient) -> Self6571     fn from(value: ISpatialAudioClient) -> Self {
6572         unsafe { ::std::mem::transmute(value) }
6573     }
6574 }
6575 impl ::std::convert::From<&ISpatialAudioClient> for ::windows::runtime::IUnknown {
from(value: &ISpatialAudioClient) -> Self6576     fn from(value: &ISpatialAudioClient) -> Self {
6577         ::std::convert::From::from(::std::clone::Clone::clone(value))
6578     }
6579 }
6580 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpatialAudioClient {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6581     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6582         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6583     }
6584 }
6585 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpatialAudioClient {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6586     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6587         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6588     }
6589 }
6590 #[repr(C)]
6591 #[doc(hidden)]
6592 pub struct ISpatialAudioClient_abi(
6593     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6594     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6595     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6596     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: AudioObjectType, x: *mut f32, y: *mut f32, z: *mut f32) -> ::windows::runtime::HRESULT,
6597     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mask: *mut AudioObjectType) -> ::windows::runtime::HRESULT,
6598     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut u32) -> ::windows::runtime::HRESULT,
6599     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enumerator: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6600     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, objectformat: *const super::super::Multimedia::WAVEFORMATEX, framecountperbuffer: *mut u32) -> ::windows::runtime::HRESULT,
6601     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
6602     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, objectformat: *const super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::HRESULT,
6603     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
6604     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, streamuuid: *const ::windows::runtime::GUID, auxiliaryinfo: *const ::std::mem::ManuallyDrop<super::super::super::System::Com::StructuredStorage::PROPVARIANT>) -> ::windows::runtime::HRESULT,
6605     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation")))] usize,
6606     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, activationparams: *const ::std::mem::ManuallyDrop<super::super::super::System::Com::StructuredStorage::PROPVARIANT>, riid: *const ::windows::runtime::GUID, stream: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
6607     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation")))] usize,
6608 );
6609 #[repr(transparent)]
6610 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6611 pub struct ISpatialAudioClient2(::windows::runtime::IUnknown);
6612 impl ISpatialAudioClient2 {
GetStaticObjectPosition(&self, r#type: AudioObjectType, x: *mut f32, y: *mut f32, z: *mut f32) -> ::windows::runtime::Result<()>6613     pub unsafe fn GetStaticObjectPosition(&self, r#type: AudioObjectType, x: *mut f32, y: *mut f32, z: *mut f32) -> ::windows::runtime::Result<()> {
6614         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#type), ::std::mem::transmute(x), ::std::mem::transmute(y), ::std::mem::transmute(z)).ok()
6615     }
GetNativeStaticObjectTypeMask(&self) -> ::windows::runtime::Result<AudioObjectType>6616     pub unsafe fn GetNativeStaticObjectTypeMask(&self) -> ::windows::runtime::Result<AudioObjectType> {
6617         let mut result__: <AudioObjectType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6618         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<AudioObjectType>(result__)
6619     }
GetMaxDynamicObjectCount(&self) -> ::windows::runtime::Result<u32>6620     pub unsafe fn GetMaxDynamicObjectCount(&self) -> ::windows::runtime::Result<u32> {
6621         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6622         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
6623     }
GetSupportedAudioObjectFormatEnumerator(&self) -> ::windows::runtime::Result<IAudioFormatEnumerator>6624     pub unsafe fn GetSupportedAudioObjectFormatEnumerator(&self) -> ::windows::runtime::Result<IAudioFormatEnumerator> {
6625         let mut result__: <IAudioFormatEnumerator as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6626         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IAudioFormatEnumerator>(result__)
6627     }
6628     #[cfg(feature = "Win32_Media_Multimedia")]
GetMaxFrameCount(&self, objectformat: *const super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<u32>6629     pub unsafe fn GetMaxFrameCount(&self, objectformat: *const super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<u32> {
6630         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6631         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(objectformat), &mut result__).from_abi::<u32>(result__)
6632     }
6633     #[cfg(feature = "Win32_Media_Multimedia")]
IsAudioObjectFormatSupported(&self, objectformat: *const super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()>6634     pub unsafe fn IsAudioObjectFormatSupported(&self, objectformat: *const super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<()> {
6635         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(objectformat)).ok()
6636     }
6637     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
IsSpatialAudioStreamAvailable(&self, streamuuid: *const ::windows::runtime::GUID, auxiliaryinfo: *const super::super::super::System::Com::StructuredStorage::PROPVARIANT) -> ::windows::runtime::Result<()>6638     pub unsafe fn IsSpatialAudioStreamAvailable(&self, streamuuid: *const ::windows::runtime::GUID, auxiliaryinfo: *const super::super::super::System::Com::StructuredStorage::PROPVARIANT) -> ::windows::runtime::Result<()> {
6639         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(streamuuid), ::std::mem::transmute(auxiliaryinfo)).ok()
6640     }
6641     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
ActivateSpatialAudioStream<T: ::windows::runtime::Interface>(&self, activationparams: *const super::super::super::System::Com::StructuredStorage::PROPVARIANT) -> ::windows::runtime::Result<T>6642     pub unsafe fn ActivateSpatialAudioStream<T: ::windows::runtime::Interface>(&self, activationparams: *const super::super::super::System::Com::StructuredStorage::PROPVARIANT) -> ::windows::runtime::Result<T> {
6643         let mut result__ = ::std::option::Option::None;
6644         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(activationparams), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
6645     }
6646     #[cfg(feature = "Win32_Foundation")]
IsOffloadCapable(&self, category: AUDIO_STREAM_CATEGORY) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL>6647     pub unsafe fn IsOffloadCapable(&self, category: AUDIO_STREAM_CATEGORY) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL> {
6648         let mut result__: <super::super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6649         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(category), &mut result__).from_abi::<super::super::super::Foundation::BOOL>(result__)
6650     }
6651     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
GetMaxFrameCountForCategory<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, category: AUDIO_STREAM_CATEGORY, offloadenabled: Param1, objectformat: *const super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<u32>6652     pub unsafe fn GetMaxFrameCountForCategory<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, category: AUDIO_STREAM_CATEGORY, offloadenabled: Param1, objectformat: *const super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::Result<u32> {
6653         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6654         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(category), offloadenabled.into_param().abi(), ::std::mem::transmute(objectformat), &mut result__).from_abi::<u32>(result__)
6655     }
6656 }
6657 unsafe impl ::windows::runtime::Interface for ISpatialAudioClient2 {
6658     type Vtable = ISpatialAudioClient2_abi;
6659     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3400262738, 42602, 19438, [169, 62, 227, 32, 70, 63, 106, 83]);
6660 }
6661 impl ::std::convert::From<ISpatialAudioClient2> for ::windows::runtime::IUnknown {
from(value: ISpatialAudioClient2) -> Self6662     fn from(value: ISpatialAudioClient2) -> Self {
6663         unsafe { ::std::mem::transmute(value) }
6664     }
6665 }
6666 impl ::std::convert::From<&ISpatialAudioClient2> for ::windows::runtime::IUnknown {
from(value: &ISpatialAudioClient2) -> Self6667     fn from(value: &ISpatialAudioClient2) -> Self {
6668         ::std::convert::From::from(::std::clone::Clone::clone(value))
6669     }
6670 }
6671 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpatialAudioClient2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6672     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6673         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6674     }
6675 }
6676 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpatialAudioClient2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6677     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6678         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6679     }
6680 }
6681 impl ::std::convert::From<ISpatialAudioClient2> for ISpatialAudioClient {
from(value: ISpatialAudioClient2) -> Self6682     fn from(value: ISpatialAudioClient2) -> Self {
6683         unsafe { ::std::mem::transmute(value) }
6684     }
6685 }
6686 impl ::std::convert::From<&ISpatialAudioClient2> for ISpatialAudioClient {
from(value: &ISpatialAudioClient2) -> Self6687     fn from(value: &ISpatialAudioClient2) -> Self {
6688         ::std::convert::From::from(::std::clone::Clone::clone(value))
6689     }
6690 }
6691 impl<'a> ::windows::runtime::IntoParam<'a, ISpatialAudioClient> for ISpatialAudioClient2 {
into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioClient>6692     fn into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioClient> {
6693         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpatialAudioClient>::into(self))
6694     }
6695 }
6696 impl<'a> ::windows::runtime::IntoParam<'a, ISpatialAudioClient> for &ISpatialAudioClient2 {
into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioClient>6697     fn into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioClient> {
6698         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpatialAudioClient>::into(::std::clone::Clone::clone(self)))
6699     }
6700 }
6701 #[repr(C)]
6702 #[doc(hidden)]
6703 pub struct ISpatialAudioClient2_abi(
6704     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6705     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6706     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6707     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: AudioObjectType, x: *mut f32, y: *mut f32, z: *mut f32) -> ::windows::runtime::HRESULT,
6708     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mask: *mut AudioObjectType) -> ::windows::runtime::HRESULT,
6709     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut u32) -> ::windows::runtime::HRESULT,
6710     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enumerator: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6711     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, objectformat: *const super::super::Multimedia::WAVEFORMATEX, framecountperbuffer: *mut u32) -> ::windows::runtime::HRESULT,
6712     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
6713     #[cfg(feature = "Win32_Media_Multimedia")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, objectformat: *const super::super::Multimedia::WAVEFORMATEX) -> ::windows::runtime::HRESULT,
6714     #[cfg(not(feature = "Win32_Media_Multimedia"))] usize,
6715     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, streamuuid: *const ::windows::runtime::GUID, auxiliaryinfo: *const ::std::mem::ManuallyDrop<super::super::super::System::Com::StructuredStorage::PROPVARIANT>) -> ::windows::runtime::HRESULT,
6716     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation")))] usize,
6717     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, activationparams: *const ::std::mem::ManuallyDrop<super::super::super::System::Com::StructuredStorage::PROPVARIANT>, riid: *const ::windows::runtime::GUID, stream: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
6718     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation")))] usize,
6719     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, category: AUDIO_STREAM_CATEGORY, isoffloadcapable: *mut super::super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
6720     #[cfg(not(feature = "Win32_Foundation"))] usize,
6721     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, category: AUDIO_STREAM_CATEGORY, offloadenabled: super::super::super::Foundation::BOOL, objectformat: *const super::super::Multimedia::WAVEFORMATEX, framecountperbuffer: *mut u32) -> ::windows::runtime::HRESULT,
6722     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia")))] usize,
6723 );
6724 #[repr(transparent)]
6725 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6726 pub struct ISpatialAudioMetadataClient(::windows::runtime::IUnknown);
6727 impl ISpatialAudioMetadataClient {
ActivateSpatialAudioMetadataItems(&self, maxitemcount: u16, framecount: u16, metadataitemsbuffer: *mut ::std::option::Option<ISpatialAudioMetadataItemsBuffer>, metadataitems: *mut ::std::option::Option<ISpatialAudioMetadataItems>) -> ::windows::runtime::Result<()>6728     pub unsafe fn ActivateSpatialAudioMetadataItems(&self, maxitemcount: u16, framecount: u16, metadataitemsbuffer: *mut ::std::option::Option<ISpatialAudioMetadataItemsBuffer>, metadataitems: *mut ::std::option::Option<ISpatialAudioMetadataItems>) -> ::windows::runtime::Result<()> {
6729         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(maxitemcount), ::std::mem::transmute(framecount), ::std::mem::transmute(metadataitemsbuffer), ::std::mem::transmute(metadataitems)).ok()
6730     }
GetSpatialAudioMetadataItemsBufferLength(&self, maxitemcount: u16) -> ::windows::runtime::Result<u32>6731     pub unsafe fn GetSpatialAudioMetadataItemsBufferLength(&self, maxitemcount: u16) -> ::windows::runtime::Result<u32> {
6732         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6733         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(maxitemcount), &mut result__).from_abi::<u32>(result__)
6734     }
ActivateSpatialAudioMetadataWriter(&self, overflowmode: SpatialAudioMetadataWriterOverflowMode) -> ::windows::runtime::Result<ISpatialAudioMetadataWriter>6735     pub unsafe fn ActivateSpatialAudioMetadataWriter(&self, overflowmode: SpatialAudioMetadataWriterOverflowMode) -> ::windows::runtime::Result<ISpatialAudioMetadataWriter> {
6736         let mut result__: <ISpatialAudioMetadataWriter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6737         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(overflowmode), &mut result__).from_abi::<ISpatialAudioMetadataWriter>(result__)
6738     }
ActivateSpatialAudioMetadataCopier(&self) -> ::windows::runtime::Result<ISpatialAudioMetadataCopier>6739     pub unsafe fn ActivateSpatialAudioMetadataCopier(&self) -> ::windows::runtime::Result<ISpatialAudioMetadataCopier> {
6740         let mut result__: <ISpatialAudioMetadataCopier as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6741         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpatialAudioMetadataCopier>(result__)
6742     }
ActivateSpatialAudioMetadataReader(&self) -> ::windows::runtime::Result<ISpatialAudioMetadataReader>6743     pub unsafe fn ActivateSpatialAudioMetadataReader(&self) -> ::windows::runtime::Result<ISpatialAudioMetadataReader> {
6744         let mut result__: <ISpatialAudioMetadataReader as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6745         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpatialAudioMetadataReader>(result__)
6746     }
6747 }
6748 unsafe impl ::windows::runtime::Interface for ISpatialAudioMetadataClient {
6749     type Vtable = ISpatialAudioMetadataClient_abi;
6750     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2004699707, 63231, 18982, [133, 220, 104, 215, 205, 237, 161, 212]);
6751 }
6752 impl ::std::convert::From<ISpatialAudioMetadataClient> for ::windows::runtime::IUnknown {
from(value: ISpatialAudioMetadataClient) -> Self6753     fn from(value: ISpatialAudioMetadataClient) -> Self {
6754         unsafe { ::std::mem::transmute(value) }
6755     }
6756 }
6757 impl ::std::convert::From<&ISpatialAudioMetadataClient> for ::windows::runtime::IUnknown {
from(value: &ISpatialAudioMetadataClient) -> Self6758     fn from(value: &ISpatialAudioMetadataClient) -> Self {
6759         ::std::convert::From::from(::std::clone::Clone::clone(value))
6760     }
6761 }
6762 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpatialAudioMetadataClient {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6763     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6764         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6765     }
6766 }
6767 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpatialAudioMetadataClient {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6768     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6769         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6770     }
6771 }
6772 #[repr(C)]
6773 #[doc(hidden)]
6774 pub struct ISpatialAudioMetadataClient_abi(
6775     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6776     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6777     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6778     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, maxitemcount: u16, framecount: u16, metadataitemsbuffer: *mut ::windows::runtime::RawPtr, metadataitems: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6779     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, maxitemcount: u16, bufferlength: *mut u32) -> ::windows::runtime::HRESULT,
6780     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, overflowmode: SpatialAudioMetadataWriterOverflowMode, metadatawriter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6781     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, metadatacopier: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6782     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, metadatareader: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6783 );
6784 #[repr(transparent)]
6785 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6786 pub struct ISpatialAudioMetadataCopier(::windows::runtime::IUnknown);
6787 impl ISpatialAudioMetadataCopier {
Open<'a, Param0: ::windows::runtime::IntoParam<'a, ISpatialAudioMetadataItems>>(&self, metadataitems: Param0) -> ::windows::runtime::Result<()>6788     pub unsafe fn Open<'a, Param0: ::windows::runtime::IntoParam<'a, ISpatialAudioMetadataItems>>(&self, metadataitems: Param0) -> ::windows::runtime::Result<()> {
6789         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), metadataitems.into_param().abi()).ok()
6790     }
CopyMetadataForFrames<'a, Param2: ::windows::runtime::IntoParam<'a, ISpatialAudioMetadataItems>>(&self, copyframecount: u16, copymode: SpatialAudioMetadataCopyMode, dstmetadataitems: Param2) -> ::windows::runtime::Result<u16>6791     pub unsafe fn CopyMetadataForFrames<'a, Param2: ::windows::runtime::IntoParam<'a, ISpatialAudioMetadataItems>>(&self, copyframecount: u16, copymode: SpatialAudioMetadataCopyMode, dstmetadataitems: Param2) -> ::windows::runtime::Result<u16> {
6792         let mut result__: <u16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6793         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(copyframecount), ::std::mem::transmute(copymode), dstmetadataitems.into_param().abi(), &mut result__).from_abi::<u16>(result__)
6794     }
Close(&self) -> ::windows::runtime::Result<()>6795     pub unsafe fn Close(&self) -> ::windows::runtime::Result<()> {
6796         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
6797     }
6798 }
6799 unsafe impl ::windows::runtime::Interface for ISpatialAudioMetadataCopier {
6800     type Vtable = ISpatialAudioMetadataCopier_abi;
6801     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3525620275, 57937, 20432, [156, 162, 213, 236, 249, 166, 132, 4]);
6802 }
6803 impl ::std::convert::From<ISpatialAudioMetadataCopier> for ::windows::runtime::IUnknown {
from(value: ISpatialAudioMetadataCopier) -> Self6804     fn from(value: ISpatialAudioMetadataCopier) -> Self {
6805         unsafe { ::std::mem::transmute(value) }
6806     }
6807 }
6808 impl ::std::convert::From<&ISpatialAudioMetadataCopier> for ::windows::runtime::IUnknown {
from(value: &ISpatialAudioMetadataCopier) -> Self6809     fn from(value: &ISpatialAudioMetadataCopier) -> Self {
6810         ::std::convert::From::from(::std::clone::Clone::clone(value))
6811     }
6812 }
6813 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpatialAudioMetadataCopier {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6814     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6815         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6816     }
6817 }
6818 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpatialAudioMetadataCopier {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6819     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6820         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6821     }
6822 }
6823 #[repr(C)]
6824 #[doc(hidden)]
6825 pub struct ISpatialAudioMetadataCopier_abi(
6826     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6827     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6828     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6829     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, metadataitems: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6830     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, copyframecount: u16, copymode: SpatialAudioMetadataCopyMode, dstmetadataitems: ::windows::runtime::RawPtr, itemscopied: *mut u16) -> ::windows::runtime::HRESULT,
6831     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6832 );
6833 #[repr(transparent)]
6834 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6835 pub struct ISpatialAudioMetadataItems(::windows::runtime::IUnknown);
6836 impl ISpatialAudioMetadataItems {
GetFrameCount(&self) -> ::windows::runtime::Result<u16>6837     pub unsafe fn GetFrameCount(&self) -> ::windows::runtime::Result<u16> {
6838         let mut result__: <u16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6839         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u16>(result__)
6840     }
GetItemCount(&self) -> ::windows::runtime::Result<u16>6841     pub unsafe fn GetItemCount(&self) -> ::windows::runtime::Result<u16> {
6842         let mut result__: <u16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6843         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u16>(result__)
6844     }
GetMaxItemCount(&self) -> ::windows::runtime::Result<u16>6845     pub unsafe fn GetMaxItemCount(&self) -> ::windows::runtime::Result<u16> {
6846         let mut result__: <u16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6847         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u16>(result__)
6848     }
GetMaxValueBufferLength(&self) -> ::windows::runtime::Result<u32>6849     pub unsafe fn GetMaxValueBufferLength(&self) -> ::windows::runtime::Result<u32> {
6850         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6851         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
6852     }
GetInfo(&self) -> ::windows::runtime::Result<SpatialAudioMetadataItemsInfo>6853     pub unsafe fn GetInfo(&self) -> ::windows::runtime::Result<SpatialAudioMetadataItemsInfo> {
6854         let mut result__: <SpatialAudioMetadataItemsInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6855         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SpatialAudioMetadataItemsInfo>(result__)
6856     }
6857 }
6858 unsafe impl ::windows::runtime::Interface for ISpatialAudioMetadataItems {
6859     type Vtable = ISpatialAudioMetadataItems_abi;
6860     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3168257935, 12440, 20258, [181, 71, 162, 242, 90, 56, 18, 105]);
6861 }
6862 impl ::std::convert::From<ISpatialAudioMetadataItems> for ::windows::runtime::IUnknown {
from(value: ISpatialAudioMetadataItems) -> Self6863     fn from(value: ISpatialAudioMetadataItems) -> Self {
6864         unsafe { ::std::mem::transmute(value) }
6865     }
6866 }
6867 impl ::std::convert::From<&ISpatialAudioMetadataItems> for ::windows::runtime::IUnknown {
from(value: &ISpatialAudioMetadataItems) -> Self6868     fn from(value: &ISpatialAudioMetadataItems) -> Self {
6869         ::std::convert::From::from(::std::clone::Clone::clone(value))
6870     }
6871 }
6872 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpatialAudioMetadataItems {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6873     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6874         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6875     }
6876 }
6877 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpatialAudioMetadataItems {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6878     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6879         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6880     }
6881 }
6882 #[repr(C)]
6883 #[doc(hidden)]
6884 pub struct ISpatialAudioMetadataItems_abi(
6885     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6886     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6887     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6888     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, framecount: *mut u16) -> ::windows::runtime::HRESULT,
6889     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itemcount: *mut u16) -> ::windows::runtime::HRESULT,
6890     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, maxitemcount: *mut u16) -> ::windows::runtime::HRESULT,
6891     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, maxvaluebufferlength: *mut u32) -> ::windows::runtime::HRESULT,
6892     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, info: *mut SpatialAudioMetadataItemsInfo) -> ::windows::runtime::HRESULT,
6893 );
6894 #[repr(transparent)]
6895 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6896 pub struct ISpatialAudioMetadataItemsBuffer(::windows::runtime::IUnknown);
6897 impl ISpatialAudioMetadataItemsBuffer {
AttachToBuffer(&self, buffer: *mut u8, bufferlength: u32) -> ::windows::runtime::Result<()>6898     pub unsafe fn AttachToBuffer(&self, buffer: *mut u8, bufferlength: u32) -> ::windows::runtime::Result<()> {
6899         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(buffer), ::std::mem::transmute(bufferlength)).ok()
6900     }
AttachToPopulatedBuffer(&self, buffer: *mut u8, bufferlength: u32) -> ::windows::runtime::Result<()>6901     pub unsafe fn AttachToPopulatedBuffer(&self, buffer: *mut u8, bufferlength: u32) -> ::windows::runtime::Result<()> {
6902         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(buffer), ::std::mem::transmute(bufferlength)).ok()
6903     }
DetachBuffer(&self) -> ::windows::runtime::Result<()>6904     pub unsafe fn DetachBuffer(&self) -> ::windows::runtime::Result<()> {
6905         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
6906     }
6907 }
6908 unsafe impl ::windows::runtime::Interface for ISpatialAudioMetadataItemsBuffer {
6909     type Vtable = ISpatialAudioMetadataItemsBuffer_abi;
6910     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1113852438, 57789, 17113, [159, 246, 3, 26, 183, 26, 45, 186]);
6911 }
6912 impl ::std::convert::From<ISpatialAudioMetadataItemsBuffer> for ::windows::runtime::IUnknown {
from(value: ISpatialAudioMetadataItemsBuffer) -> Self6913     fn from(value: ISpatialAudioMetadataItemsBuffer) -> Self {
6914         unsafe { ::std::mem::transmute(value) }
6915     }
6916 }
6917 impl ::std::convert::From<&ISpatialAudioMetadataItemsBuffer> for ::windows::runtime::IUnknown {
from(value: &ISpatialAudioMetadataItemsBuffer) -> Self6918     fn from(value: &ISpatialAudioMetadataItemsBuffer) -> Self {
6919         ::std::convert::From::from(::std::clone::Clone::clone(value))
6920     }
6921 }
6922 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpatialAudioMetadataItemsBuffer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6923     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6924         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6925     }
6926 }
6927 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpatialAudioMetadataItemsBuffer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6928     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6929         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6930     }
6931 }
6932 #[repr(C)]
6933 #[doc(hidden)]
6934 pub struct ISpatialAudioMetadataItemsBuffer_abi(
6935     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6936     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6937     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6938     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buffer: *mut u8, bufferlength: u32) -> ::windows::runtime::HRESULT,
6939     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buffer: *mut u8, bufferlength: u32) -> ::windows::runtime::HRESULT,
6940     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6941 );
6942 #[repr(transparent)]
6943 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6944 pub struct ISpatialAudioMetadataReader(::windows::runtime::IUnknown);
6945 impl ISpatialAudioMetadataReader {
Open<'a, Param0: ::windows::runtime::IntoParam<'a, ISpatialAudioMetadataItems>>(&self, metadataitems: Param0) -> ::windows::runtime::Result<()>6946     pub unsafe fn Open<'a, Param0: ::windows::runtime::IntoParam<'a, ISpatialAudioMetadataItems>>(&self, metadataitems: Param0) -> ::windows::runtime::Result<()> {
6947         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), metadataitems.into_param().abi()).ok()
6948     }
ReadNextItem(&self, commandcount: *mut u8, frameoffset: *mut u16) -> ::windows::runtime::Result<()>6949     pub unsafe fn ReadNextItem(&self, commandcount: *mut u8, frameoffset: *mut u16) -> ::windows::runtime::Result<()> {
6950         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(commandcount), ::std::mem::transmute(frameoffset)).ok()
6951     }
ReadNextItemCommand(&self, commandid: *mut u8, valuebuffer: *mut ::std::ffi::c_void, maxvaluebufferlength: u32, valuebufferlength: *mut u32) -> ::windows::runtime::Result<()>6952     pub unsafe fn ReadNextItemCommand(&self, commandid: *mut u8, valuebuffer: *mut ::std::ffi::c_void, maxvaluebufferlength: u32, valuebufferlength: *mut u32) -> ::windows::runtime::Result<()> {
6953         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(commandid), ::std::mem::transmute(valuebuffer), ::std::mem::transmute(maxvaluebufferlength), ::std::mem::transmute(valuebufferlength)).ok()
6954     }
Close(&self) -> ::windows::runtime::Result<()>6955     pub unsafe fn Close(&self) -> ::windows::runtime::Result<()> {
6956         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
6957     }
6958 }
6959 unsafe impl ::windows::runtime::Interface for ISpatialAudioMetadataReader {
6960     type Vtable = ISpatialAudioMetadataReader_abi;
6961     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3079571106, 12761, 19506, [148, 210, 125, 244, 15, 199, 235, 236]);
6962 }
6963 impl ::std::convert::From<ISpatialAudioMetadataReader> for ::windows::runtime::IUnknown {
from(value: ISpatialAudioMetadataReader) -> Self6964     fn from(value: ISpatialAudioMetadataReader) -> Self {
6965         unsafe { ::std::mem::transmute(value) }
6966     }
6967 }
6968 impl ::std::convert::From<&ISpatialAudioMetadataReader> for ::windows::runtime::IUnknown {
from(value: &ISpatialAudioMetadataReader) -> Self6969     fn from(value: &ISpatialAudioMetadataReader) -> Self {
6970         ::std::convert::From::from(::std::clone::Clone::clone(value))
6971     }
6972 }
6973 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpatialAudioMetadataReader {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6974     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6975         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6976     }
6977 }
6978 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpatialAudioMetadataReader {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6979     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6980         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6981     }
6982 }
6983 #[repr(C)]
6984 #[doc(hidden)]
6985 pub struct ISpatialAudioMetadataReader_abi(
6986     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6987     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6988     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6989     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, metadataitems: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6990     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, commandcount: *mut u8, frameoffset: *mut u16) -> ::windows::runtime::HRESULT,
6991     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, commandid: *mut u8, valuebuffer: *mut ::std::ffi::c_void, maxvaluebufferlength: u32, valuebufferlength: *mut u32) -> ::windows::runtime::HRESULT,
6992     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6993 );
6994 #[repr(transparent)]
6995 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6996 pub struct ISpatialAudioMetadataWriter(::windows::runtime::IUnknown);
6997 impl ISpatialAudioMetadataWriter {
Open<'a, Param0: ::windows::runtime::IntoParam<'a, ISpatialAudioMetadataItems>>(&self, metadataitems: Param0) -> ::windows::runtime::Result<()>6998     pub unsafe fn Open<'a, Param0: ::windows::runtime::IntoParam<'a, ISpatialAudioMetadataItems>>(&self, metadataitems: Param0) -> ::windows::runtime::Result<()> {
6999         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), metadataitems.into_param().abi()).ok()
7000     }
WriteNextItem(&self, frameoffset: u16) -> ::windows::runtime::Result<()>7001     pub unsafe fn WriteNextItem(&self, frameoffset: u16) -> ::windows::runtime::Result<()> {
7002         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(frameoffset)).ok()
7003     }
WriteNextItemCommand(&self, commandid: u8, valuebuffer: *const ::std::ffi::c_void, valuebufferlength: u32) -> ::windows::runtime::Result<()>7004     pub unsafe fn WriteNextItemCommand(&self, commandid: u8, valuebuffer: *const ::std::ffi::c_void, valuebufferlength: u32) -> ::windows::runtime::Result<()> {
7005         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(commandid), ::std::mem::transmute(valuebuffer), ::std::mem::transmute(valuebufferlength)).ok()
7006     }
Close(&self) -> ::windows::runtime::Result<()>7007     pub unsafe fn Close(&self) -> ::windows::runtime::Result<()> {
7008         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
7009     }
7010 }
7011 unsafe impl ::windows::runtime::Interface for ISpatialAudioMetadataWriter {
7012     type Vtable = ISpatialAudioMetadataWriter_abi;
7013     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(454543873, 10581, 17485, [164, 48, 83, 125, 197, 137, 168, 68]);
7014 }
7015 impl ::std::convert::From<ISpatialAudioMetadataWriter> for ::windows::runtime::IUnknown {
from(value: ISpatialAudioMetadataWriter) -> Self7016     fn from(value: ISpatialAudioMetadataWriter) -> Self {
7017         unsafe { ::std::mem::transmute(value) }
7018     }
7019 }
7020 impl ::std::convert::From<&ISpatialAudioMetadataWriter> for ::windows::runtime::IUnknown {
from(value: &ISpatialAudioMetadataWriter) -> Self7021     fn from(value: &ISpatialAudioMetadataWriter) -> Self {
7022         ::std::convert::From::from(::std::clone::Clone::clone(value))
7023     }
7024 }
7025 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpatialAudioMetadataWriter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7026     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7027         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7028     }
7029 }
7030 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpatialAudioMetadataWriter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7031     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7032         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7033     }
7034 }
7035 #[repr(C)]
7036 #[doc(hidden)]
7037 pub struct ISpatialAudioMetadataWriter_abi(
7038     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7039     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7040     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7041     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, metadataitems: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7042     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, frameoffset: u16) -> ::windows::runtime::HRESULT,
7043     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, commandid: u8, valuebuffer: *const ::std::ffi::c_void, valuebufferlength: u32) -> ::windows::runtime::HRESULT,
7044     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7045 );
7046 #[repr(transparent)]
7047 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7048 pub struct ISpatialAudioObject(::windows::runtime::IUnknown);
7049 impl ISpatialAudioObject {
GetBuffer(&self, buffer: *mut *mut u8, bufferlength: *mut u32) -> ::windows::runtime::Result<()>7050     pub unsafe fn GetBuffer(&self, buffer: *mut *mut u8, bufferlength: *mut u32) -> ::windows::runtime::Result<()> {
7051         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(buffer), ::std::mem::transmute(bufferlength)).ok()
7052     }
SetEndOfStream(&self, framecount: u32) -> ::windows::runtime::Result<()>7053     pub unsafe fn SetEndOfStream(&self, framecount: u32) -> ::windows::runtime::Result<()> {
7054         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(framecount)).ok()
7055     }
7056     #[cfg(feature = "Win32_Foundation")]
IsActive(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL>7057     pub unsafe fn IsActive(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL> {
7058         let mut result__: <super::super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7059         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::super::Foundation::BOOL>(result__)
7060     }
GetAudioObjectType(&self) -> ::windows::runtime::Result<AudioObjectType>7061     pub unsafe fn GetAudioObjectType(&self) -> ::windows::runtime::Result<AudioObjectType> {
7062         let mut result__: <AudioObjectType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7063         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<AudioObjectType>(result__)
7064     }
SetPosition(&self, x: f32, y: f32, z: f32) -> ::windows::runtime::Result<()>7065     pub unsafe fn SetPosition(&self, x: f32, y: f32, z: f32) -> ::windows::runtime::Result<()> {
7066         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(x), ::std::mem::transmute(y), ::std::mem::transmute(z)).ok()
7067     }
SetVolume(&self, volume: f32) -> ::windows::runtime::Result<()>7068     pub unsafe fn SetVolume(&self, volume: f32) -> ::windows::runtime::Result<()> {
7069         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(volume)).ok()
7070     }
7071 }
7072 unsafe impl ::windows::runtime::Interface for ISpatialAudioObject {
7073     type Vtable = ISpatialAudioObject_abi;
7074     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3722611047, 21019, 18149, [143, 0, 189, 111, 43, 200, 171, 29]);
7075 }
7076 impl ::std::convert::From<ISpatialAudioObject> for ::windows::runtime::IUnknown {
from(value: ISpatialAudioObject) -> Self7077     fn from(value: ISpatialAudioObject) -> Self {
7078         unsafe { ::std::mem::transmute(value) }
7079     }
7080 }
7081 impl ::std::convert::From<&ISpatialAudioObject> for ::windows::runtime::IUnknown {
from(value: &ISpatialAudioObject) -> Self7082     fn from(value: &ISpatialAudioObject) -> Self {
7083         ::std::convert::From::from(::std::clone::Clone::clone(value))
7084     }
7085 }
7086 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpatialAudioObject {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7087     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7088         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7089     }
7090 }
7091 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpatialAudioObject {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7092     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7093         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7094     }
7095 }
7096 impl ::std::convert::From<ISpatialAudioObject> for ISpatialAudioObjectBase {
from(value: ISpatialAudioObject) -> Self7097     fn from(value: ISpatialAudioObject) -> Self {
7098         unsafe { ::std::mem::transmute(value) }
7099     }
7100 }
7101 impl ::std::convert::From<&ISpatialAudioObject> for ISpatialAudioObjectBase {
from(value: &ISpatialAudioObject) -> Self7102     fn from(value: &ISpatialAudioObject) -> Self {
7103         ::std::convert::From::from(::std::clone::Clone::clone(value))
7104     }
7105 }
7106 impl<'a> ::windows::runtime::IntoParam<'a, ISpatialAudioObjectBase> for ISpatialAudioObject {
into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioObjectBase>7107     fn into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioObjectBase> {
7108         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpatialAudioObjectBase>::into(self))
7109     }
7110 }
7111 impl<'a> ::windows::runtime::IntoParam<'a, ISpatialAudioObjectBase> for &ISpatialAudioObject {
into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioObjectBase>7112     fn into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioObjectBase> {
7113         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpatialAudioObjectBase>::into(::std::clone::Clone::clone(self)))
7114     }
7115 }
7116 #[repr(C)]
7117 #[doc(hidden)]
7118 pub struct ISpatialAudioObject_abi(
7119     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7120     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7121     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7122     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buffer: *mut *mut u8, bufferlength: *mut u32) -> ::windows::runtime::HRESULT,
7123     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, framecount: u32) -> ::windows::runtime::HRESULT,
7124     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, isactive: *mut super::super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
7125     #[cfg(not(feature = "Win32_Foundation"))] usize,
7126     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audioobjecttype: *mut AudioObjectType) -> ::windows::runtime::HRESULT,
7127     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, x: f32, y: f32, z: f32) -> ::windows::runtime::HRESULT,
7128     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, volume: f32) -> ::windows::runtime::HRESULT,
7129 );
7130 #[repr(transparent)]
7131 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7132 pub struct ISpatialAudioObjectBase(::windows::runtime::IUnknown);
7133 impl ISpatialAudioObjectBase {
GetBuffer(&self, buffer: *mut *mut u8, bufferlength: *mut u32) -> ::windows::runtime::Result<()>7134     pub unsafe fn GetBuffer(&self, buffer: *mut *mut u8, bufferlength: *mut u32) -> ::windows::runtime::Result<()> {
7135         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(buffer), ::std::mem::transmute(bufferlength)).ok()
7136     }
SetEndOfStream(&self, framecount: u32) -> ::windows::runtime::Result<()>7137     pub unsafe fn SetEndOfStream(&self, framecount: u32) -> ::windows::runtime::Result<()> {
7138         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(framecount)).ok()
7139     }
7140     #[cfg(feature = "Win32_Foundation")]
IsActive(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL>7141     pub unsafe fn IsActive(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL> {
7142         let mut result__: <super::super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7143         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::super::Foundation::BOOL>(result__)
7144     }
GetAudioObjectType(&self) -> ::windows::runtime::Result<AudioObjectType>7145     pub unsafe fn GetAudioObjectType(&self) -> ::windows::runtime::Result<AudioObjectType> {
7146         let mut result__: <AudioObjectType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7147         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<AudioObjectType>(result__)
7148     }
7149 }
7150 unsafe impl ::windows::runtime::Interface for ISpatialAudioObjectBase {
7151     type Vtable = ISpatialAudioObjectBase_abi;
7152     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3437279474, 36173, 20219, [168, 207, 61, 110, 207, 28, 48, 224]);
7153 }
7154 impl ::std::convert::From<ISpatialAudioObjectBase> for ::windows::runtime::IUnknown {
from(value: ISpatialAudioObjectBase) -> Self7155     fn from(value: ISpatialAudioObjectBase) -> Self {
7156         unsafe { ::std::mem::transmute(value) }
7157     }
7158 }
7159 impl ::std::convert::From<&ISpatialAudioObjectBase> for ::windows::runtime::IUnknown {
from(value: &ISpatialAudioObjectBase) -> Self7160     fn from(value: &ISpatialAudioObjectBase) -> Self {
7161         ::std::convert::From::from(::std::clone::Clone::clone(value))
7162     }
7163 }
7164 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpatialAudioObjectBase {
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(self))
7167     }
7168 }
7169 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpatialAudioObjectBase {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7170     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7171         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7172     }
7173 }
7174 #[repr(C)]
7175 #[doc(hidden)]
7176 pub struct ISpatialAudioObjectBase_abi(
7177     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7178     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7179     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7180     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buffer: *mut *mut u8, bufferlength: *mut u32) -> ::windows::runtime::HRESULT,
7181     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, framecount: u32) -> ::windows::runtime::HRESULT,
7182     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, isactive: *mut super::super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
7183     #[cfg(not(feature = "Win32_Foundation"))] usize,
7184     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audioobjecttype: *mut AudioObjectType) -> ::windows::runtime::HRESULT,
7185 );
7186 #[repr(transparent)]
7187 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7188 pub struct ISpatialAudioObjectForHrtf(::windows::runtime::IUnknown);
7189 impl ISpatialAudioObjectForHrtf {
GetBuffer(&self, buffer: *mut *mut u8, bufferlength: *mut u32) -> ::windows::runtime::Result<()>7190     pub unsafe fn GetBuffer(&self, buffer: *mut *mut u8, bufferlength: *mut u32) -> ::windows::runtime::Result<()> {
7191         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(buffer), ::std::mem::transmute(bufferlength)).ok()
7192     }
SetEndOfStream(&self, framecount: u32) -> ::windows::runtime::Result<()>7193     pub unsafe fn SetEndOfStream(&self, framecount: u32) -> ::windows::runtime::Result<()> {
7194         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(framecount)).ok()
7195     }
7196     #[cfg(feature = "Win32_Foundation")]
IsActive(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL>7197     pub unsafe fn IsActive(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL> {
7198         let mut result__: <super::super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7199         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::super::Foundation::BOOL>(result__)
7200     }
GetAudioObjectType(&self) -> ::windows::runtime::Result<AudioObjectType>7201     pub unsafe fn GetAudioObjectType(&self) -> ::windows::runtime::Result<AudioObjectType> {
7202         let mut result__: <AudioObjectType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7203         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<AudioObjectType>(result__)
7204     }
SetPosition(&self, x: f32, y: f32, z: f32) -> ::windows::runtime::Result<()>7205     pub unsafe fn SetPosition(&self, x: f32, y: f32, z: f32) -> ::windows::runtime::Result<()> {
7206         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(x), ::std::mem::transmute(y), ::std::mem::transmute(z)).ok()
7207     }
SetGain(&self, gain: f32) -> ::windows::runtime::Result<()>7208     pub unsafe fn SetGain(&self, gain: f32) -> ::windows::runtime::Result<()> {
7209         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(gain)).ok()
7210     }
SetOrientation(&self, orientation: *const *const f32) -> ::windows::runtime::Result<()>7211     pub unsafe fn SetOrientation(&self, orientation: *const *const f32) -> ::windows::runtime::Result<()> {
7212         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(orientation)).ok()
7213     }
SetEnvironment(&self, environment: SpatialAudioHrtfEnvironmentType) -> ::windows::runtime::Result<()>7214     pub unsafe fn SetEnvironment(&self, environment: SpatialAudioHrtfEnvironmentType) -> ::windows::runtime::Result<()> {
7215         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(environment)).ok()
7216     }
SetDistanceDecay(&self, distancedecay: *const SpatialAudioHrtfDistanceDecay) -> ::windows::runtime::Result<()>7217     pub unsafe fn SetDistanceDecay(&self, distancedecay: *const SpatialAudioHrtfDistanceDecay) -> ::windows::runtime::Result<()> {
7218         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(distancedecay)).ok()
7219     }
SetDirectivity(&self, directivity: *const SpatialAudioHrtfDirectivityUnion) -> ::windows::runtime::Result<()>7220     pub unsafe fn SetDirectivity(&self, directivity: *const SpatialAudioHrtfDirectivityUnion) -> ::windows::runtime::Result<()> {
7221         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(directivity)).ok()
7222     }
7223 }
7224 unsafe impl ::windows::runtime::Interface for ISpatialAudioObjectForHrtf {
7225     type Vtable = ISpatialAudioObjectForHrtf_abi;
7226     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3611519710, 6520, 19988, [171, 160, 85, 91, 216, 235, 131, 180]);
7227 }
7228 impl ::std::convert::From<ISpatialAudioObjectForHrtf> for ::windows::runtime::IUnknown {
from(value: ISpatialAudioObjectForHrtf) -> Self7229     fn from(value: ISpatialAudioObjectForHrtf) -> Self {
7230         unsafe { ::std::mem::transmute(value) }
7231     }
7232 }
7233 impl ::std::convert::From<&ISpatialAudioObjectForHrtf> for ::windows::runtime::IUnknown {
from(value: &ISpatialAudioObjectForHrtf) -> Self7234     fn from(value: &ISpatialAudioObjectForHrtf) -> Self {
7235         ::std::convert::From::from(::std::clone::Clone::clone(value))
7236     }
7237 }
7238 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpatialAudioObjectForHrtf {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7239     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7240         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7241     }
7242 }
7243 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpatialAudioObjectForHrtf {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7244     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7245         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7246     }
7247 }
7248 impl ::std::convert::From<ISpatialAudioObjectForHrtf> for ISpatialAudioObjectBase {
from(value: ISpatialAudioObjectForHrtf) -> Self7249     fn from(value: ISpatialAudioObjectForHrtf) -> Self {
7250         unsafe { ::std::mem::transmute(value) }
7251     }
7252 }
7253 impl ::std::convert::From<&ISpatialAudioObjectForHrtf> for ISpatialAudioObjectBase {
from(value: &ISpatialAudioObjectForHrtf) -> Self7254     fn from(value: &ISpatialAudioObjectForHrtf) -> Self {
7255         ::std::convert::From::from(::std::clone::Clone::clone(value))
7256     }
7257 }
7258 impl<'a> ::windows::runtime::IntoParam<'a, ISpatialAudioObjectBase> for ISpatialAudioObjectForHrtf {
into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioObjectBase>7259     fn into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioObjectBase> {
7260         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpatialAudioObjectBase>::into(self))
7261     }
7262 }
7263 impl<'a> ::windows::runtime::IntoParam<'a, ISpatialAudioObjectBase> for &ISpatialAudioObjectForHrtf {
into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioObjectBase>7264     fn into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioObjectBase> {
7265         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpatialAudioObjectBase>::into(::std::clone::Clone::clone(self)))
7266     }
7267 }
7268 #[repr(C)]
7269 #[doc(hidden)]
7270 pub struct ISpatialAudioObjectForHrtf_abi(
7271     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7272     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7273     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7274     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buffer: *mut *mut u8, bufferlength: *mut u32) -> ::windows::runtime::HRESULT,
7275     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, framecount: u32) -> ::windows::runtime::HRESULT,
7276     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, isactive: *mut super::super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
7277     #[cfg(not(feature = "Win32_Foundation"))] usize,
7278     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audioobjecttype: *mut AudioObjectType) -> ::windows::runtime::HRESULT,
7279     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, x: f32, y: f32, z: f32) -> ::windows::runtime::HRESULT,
7280     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, gain: f32) -> ::windows::runtime::HRESULT,
7281     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, orientation: *const *const f32) -> ::windows::runtime::HRESULT,
7282     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, environment: SpatialAudioHrtfEnvironmentType) -> ::windows::runtime::HRESULT,
7283     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, distancedecay: *const SpatialAudioHrtfDistanceDecay) -> ::windows::runtime::HRESULT,
7284     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, directivity: *const SpatialAudioHrtfDirectivityUnion) -> ::windows::runtime::HRESULT,
7285 );
7286 #[repr(transparent)]
7287 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7288 pub struct ISpatialAudioObjectForMetadataCommands(::windows::runtime::IUnknown);
7289 impl ISpatialAudioObjectForMetadataCommands {
GetBuffer(&self, buffer: *mut *mut u8, bufferlength: *mut u32) -> ::windows::runtime::Result<()>7290     pub unsafe fn GetBuffer(&self, buffer: *mut *mut u8, bufferlength: *mut u32) -> ::windows::runtime::Result<()> {
7291         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(buffer), ::std::mem::transmute(bufferlength)).ok()
7292     }
SetEndOfStream(&self, framecount: u32) -> ::windows::runtime::Result<()>7293     pub unsafe fn SetEndOfStream(&self, framecount: u32) -> ::windows::runtime::Result<()> {
7294         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(framecount)).ok()
7295     }
7296     #[cfg(feature = "Win32_Foundation")]
IsActive(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL>7297     pub unsafe fn IsActive(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL> {
7298         let mut result__: <super::super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7299         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::super::Foundation::BOOL>(result__)
7300     }
GetAudioObjectType(&self) -> ::windows::runtime::Result<AudioObjectType>7301     pub unsafe fn GetAudioObjectType(&self) -> ::windows::runtime::Result<AudioObjectType> {
7302         let mut result__: <AudioObjectType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7303         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<AudioObjectType>(result__)
7304     }
WriteNextMetadataCommand(&self, commandid: u8, valuebuffer: *const ::std::ffi::c_void, valuebufferlength: u32) -> ::windows::runtime::Result<()>7305     pub unsafe fn WriteNextMetadataCommand(&self, commandid: u8, valuebuffer: *const ::std::ffi::c_void, valuebufferlength: u32) -> ::windows::runtime::Result<()> {
7306         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(commandid), ::std::mem::transmute(valuebuffer), ::std::mem::transmute(valuebufferlength)).ok()
7307     }
7308 }
7309 unsafe impl ::windows::runtime::Interface for ISpatialAudioObjectForMetadataCommands {
7310     type Vtable = ISpatialAudioObjectForMetadataCommands_abi;
7311     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(234015051, 62969, 18221, [175, 107, 196, 110, 10, 201, 205, 5]);
7312 }
7313 impl ::std::convert::From<ISpatialAudioObjectForMetadataCommands> for ::windows::runtime::IUnknown {
from(value: ISpatialAudioObjectForMetadataCommands) -> Self7314     fn from(value: ISpatialAudioObjectForMetadataCommands) -> Self {
7315         unsafe { ::std::mem::transmute(value) }
7316     }
7317 }
7318 impl ::std::convert::From<&ISpatialAudioObjectForMetadataCommands> for ::windows::runtime::IUnknown {
from(value: &ISpatialAudioObjectForMetadataCommands) -> Self7319     fn from(value: &ISpatialAudioObjectForMetadataCommands) -> Self {
7320         ::std::convert::From::from(::std::clone::Clone::clone(value))
7321     }
7322 }
7323 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpatialAudioObjectForMetadataCommands {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7324     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7325         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7326     }
7327 }
7328 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpatialAudioObjectForMetadataCommands {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7329     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7330         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7331     }
7332 }
7333 impl ::std::convert::From<ISpatialAudioObjectForMetadataCommands> for ISpatialAudioObjectBase {
from(value: ISpatialAudioObjectForMetadataCommands) -> Self7334     fn from(value: ISpatialAudioObjectForMetadataCommands) -> Self {
7335         unsafe { ::std::mem::transmute(value) }
7336     }
7337 }
7338 impl ::std::convert::From<&ISpatialAudioObjectForMetadataCommands> for ISpatialAudioObjectBase {
from(value: &ISpatialAudioObjectForMetadataCommands) -> Self7339     fn from(value: &ISpatialAudioObjectForMetadataCommands) -> Self {
7340         ::std::convert::From::from(::std::clone::Clone::clone(value))
7341     }
7342 }
7343 impl<'a> ::windows::runtime::IntoParam<'a, ISpatialAudioObjectBase> for ISpatialAudioObjectForMetadataCommands {
into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioObjectBase>7344     fn into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioObjectBase> {
7345         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpatialAudioObjectBase>::into(self))
7346     }
7347 }
7348 impl<'a> ::windows::runtime::IntoParam<'a, ISpatialAudioObjectBase> for &ISpatialAudioObjectForMetadataCommands {
into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioObjectBase>7349     fn into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioObjectBase> {
7350         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpatialAudioObjectBase>::into(::std::clone::Clone::clone(self)))
7351     }
7352 }
7353 #[repr(C)]
7354 #[doc(hidden)]
7355 pub struct ISpatialAudioObjectForMetadataCommands_abi(
7356     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7357     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7358     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7359     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buffer: *mut *mut u8, bufferlength: *mut u32) -> ::windows::runtime::HRESULT,
7360     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, framecount: u32) -> ::windows::runtime::HRESULT,
7361     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, isactive: *mut super::super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
7362     #[cfg(not(feature = "Win32_Foundation"))] usize,
7363     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audioobjecttype: *mut AudioObjectType) -> ::windows::runtime::HRESULT,
7364     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, commandid: u8, valuebuffer: *const ::std::ffi::c_void, valuebufferlength: u32) -> ::windows::runtime::HRESULT,
7365 );
7366 #[repr(transparent)]
7367 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7368 pub struct ISpatialAudioObjectForMetadataItems(::windows::runtime::IUnknown);
7369 impl ISpatialAudioObjectForMetadataItems {
GetBuffer(&self, buffer: *mut *mut u8, bufferlength: *mut u32) -> ::windows::runtime::Result<()>7370     pub unsafe fn GetBuffer(&self, buffer: *mut *mut u8, bufferlength: *mut u32) -> ::windows::runtime::Result<()> {
7371         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(buffer), ::std::mem::transmute(bufferlength)).ok()
7372     }
SetEndOfStream(&self, framecount: u32) -> ::windows::runtime::Result<()>7373     pub unsafe fn SetEndOfStream(&self, framecount: u32) -> ::windows::runtime::Result<()> {
7374         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(framecount)).ok()
7375     }
7376     #[cfg(feature = "Win32_Foundation")]
IsActive(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL>7377     pub unsafe fn IsActive(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL> {
7378         let mut result__: <super::super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7379         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::super::Foundation::BOOL>(result__)
7380     }
GetAudioObjectType(&self) -> ::windows::runtime::Result<AudioObjectType>7381     pub unsafe fn GetAudioObjectType(&self) -> ::windows::runtime::Result<AudioObjectType> {
7382         let mut result__: <AudioObjectType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7383         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<AudioObjectType>(result__)
7384     }
GetSpatialAudioMetadataItems(&self) -> ::windows::runtime::Result<ISpatialAudioMetadataItems>7385     pub unsafe fn GetSpatialAudioMetadataItems(&self) -> ::windows::runtime::Result<ISpatialAudioMetadataItems> {
7386         let mut result__: <ISpatialAudioMetadataItems as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7387         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ISpatialAudioMetadataItems>(result__)
7388     }
7389 }
7390 unsafe impl ::windows::runtime::Interface for ISpatialAudioObjectForMetadataItems {
7391     type Vtable = ISpatialAudioObjectForMetadataItems_abi;
7392     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3723119103, 15296, 17271, [138, 173, 159, 188, 253, 128, 133, 102]);
7393 }
7394 impl ::std::convert::From<ISpatialAudioObjectForMetadataItems> for ::windows::runtime::IUnknown {
from(value: ISpatialAudioObjectForMetadataItems) -> Self7395     fn from(value: ISpatialAudioObjectForMetadataItems) -> Self {
7396         unsafe { ::std::mem::transmute(value) }
7397     }
7398 }
7399 impl ::std::convert::From<&ISpatialAudioObjectForMetadataItems> for ::windows::runtime::IUnknown {
from(value: &ISpatialAudioObjectForMetadataItems) -> Self7400     fn from(value: &ISpatialAudioObjectForMetadataItems) -> Self {
7401         ::std::convert::From::from(::std::clone::Clone::clone(value))
7402     }
7403 }
7404 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpatialAudioObjectForMetadataItems {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7405     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7406         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7407     }
7408 }
7409 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpatialAudioObjectForMetadataItems {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7410     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7411         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7412     }
7413 }
7414 impl ::std::convert::From<ISpatialAudioObjectForMetadataItems> for ISpatialAudioObjectBase {
from(value: ISpatialAudioObjectForMetadataItems) -> Self7415     fn from(value: ISpatialAudioObjectForMetadataItems) -> Self {
7416         unsafe { ::std::mem::transmute(value) }
7417     }
7418 }
7419 impl ::std::convert::From<&ISpatialAudioObjectForMetadataItems> for ISpatialAudioObjectBase {
from(value: &ISpatialAudioObjectForMetadataItems) -> Self7420     fn from(value: &ISpatialAudioObjectForMetadataItems) -> Self {
7421         ::std::convert::From::from(::std::clone::Clone::clone(value))
7422     }
7423 }
7424 impl<'a> ::windows::runtime::IntoParam<'a, ISpatialAudioObjectBase> for ISpatialAudioObjectForMetadataItems {
into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioObjectBase>7425     fn into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioObjectBase> {
7426         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpatialAudioObjectBase>::into(self))
7427     }
7428 }
7429 impl<'a> ::windows::runtime::IntoParam<'a, ISpatialAudioObjectBase> for &ISpatialAudioObjectForMetadataItems {
into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioObjectBase>7430     fn into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioObjectBase> {
7431         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpatialAudioObjectBase>::into(::std::clone::Clone::clone(self)))
7432     }
7433 }
7434 #[repr(C)]
7435 #[doc(hidden)]
7436 pub struct ISpatialAudioObjectForMetadataItems_abi(
7437     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7438     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7439     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7440     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buffer: *mut *mut u8, bufferlength: *mut u32) -> ::windows::runtime::HRESULT,
7441     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, framecount: u32) -> ::windows::runtime::HRESULT,
7442     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, isactive: *mut super::super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
7443     #[cfg(not(feature = "Win32_Foundation"))] usize,
7444     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, audioobjecttype: *mut AudioObjectType) -> ::windows::runtime::HRESULT,
7445     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, metadataitems: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7446 );
7447 #[repr(transparent)]
7448 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7449 pub struct ISpatialAudioObjectRenderStream(::windows::runtime::IUnknown);
7450 impl ISpatialAudioObjectRenderStream {
GetAvailableDynamicObjectCount(&self) -> ::windows::runtime::Result<u32>7451     pub unsafe fn GetAvailableDynamicObjectCount(&self) -> ::windows::runtime::Result<u32> {
7452         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7453         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
7454     }
GetService<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>7455     pub unsafe fn GetService<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
7456         let mut result__ = ::std::option::Option::None;
7457         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
7458     }
Start(&self) -> ::windows::runtime::Result<()>7459     pub unsafe fn Start(&self) -> ::windows::runtime::Result<()> {
7460         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
7461     }
Stop(&self) -> ::windows::runtime::Result<()>7462     pub unsafe fn Stop(&self) -> ::windows::runtime::Result<()> {
7463         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
7464     }
Reset(&self) -> ::windows::runtime::Result<()>7465     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
7466         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
7467     }
BeginUpdatingAudioObjects(&self, availabledynamicobjectcount: *mut u32, framecountperbuffer: *mut u32) -> ::windows::runtime::Result<()>7468     pub unsafe fn BeginUpdatingAudioObjects(&self, availabledynamicobjectcount: *mut u32, framecountperbuffer: *mut u32) -> ::windows::runtime::Result<()> {
7469         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(availabledynamicobjectcount), ::std::mem::transmute(framecountperbuffer)).ok()
7470     }
EndUpdatingAudioObjects(&self) -> ::windows::runtime::Result<()>7471     pub unsafe fn EndUpdatingAudioObjects(&self) -> ::windows::runtime::Result<()> {
7472         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
7473     }
ActivateSpatialAudioObject(&self, r#type: AudioObjectType) -> ::windows::runtime::Result<ISpatialAudioObject>7474     pub unsafe fn ActivateSpatialAudioObject(&self, r#type: AudioObjectType) -> ::windows::runtime::Result<ISpatialAudioObject> {
7475         let mut result__: <ISpatialAudioObject as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7476         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#type), &mut result__).from_abi::<ISpatialAudioObject>(result__)
7477     }
7478 }
7479 unsafe impl ::windows::runtime::Interface for ISpatialAudioObjectRenderStream {
7480     type Vtable = ISpatialAudioObjectRenderStream_abi;
7481     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3132486771, 46115, 18299, [133, 245, 181, 163, 50, 160, 65, 83]);
7482 }
7483 impl ::std::convert::From<ISpatialAudioObjectRenderStream> for ::windows::runtime::IUnknown {
from(value: ISpatialAudioObjectRenderStream) -> Self7484     fn from(value: ISpatialAudioObjectRenderStream) -> Self {
7485         unsafe { ::std::mem::transmute(value) }
7486     }
7487 }
7488 impl ::std::convert::From<&ISpatialAudioObjectRenderStream> for ::windows::runtime::IUnknown {
from(value: &ISpatialAudioObjectRenderStream) -> Self7489     fn from(value: &ISpatialAudioObjectRenderStream) -> Self {
7490         ::std::convert::From::from(::std::clone::Clone::clone(value))
7491     }
7492 }
7493 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpatialAudioObjectRenderStream {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7494     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7495         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7496     }
7497 }
7498 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpatialAudioObjectRenderStream {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7499     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7500         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7501     }
7502 }
7503 impl ::std::convert::From<ISpatialAudioObjectRenderStream> for ISpatialAudioObjectRenderStreamBase {
from(value: ISpatialAudioObjectRenderStream) -> Self7504     fn from(value: ISpatialAudioObjectRenderStream) -> Self {
7505         unsafe { ::std::mem::transmute(value) }
7506     }
7507 }
7508 impl ::std::convert::From<&ISpatialAudioObjectRenderStream> for ISpatialAudioObjectRenderStreamBase {
from(value: &ISpatialAudioObjectRenderStream) -> Self7509     fn from(value: &ISpatialAudioObjectRenderStream) -> Self {
7510         ::std::convert::From::from(::std::clone::Clone::clone(value))
7511     }
7512 }
7513 impl<'a> ::windows::runtime::IntoParam<'a, ISpatialAudioObjectRenderStreamBase> for ISpatialAudioObjectRenderStream {
into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioObjectRenderStreamBase>7514     fn into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioObjectRenderStreamBase> {
7515         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpatialAudioObjectRenderStreamBase>::into(self))
7516     }
7517 }
7518 impl<'a> ::windows::runtime::IntoParam<'a, ISpatialAudioObjectRenderStreamBase> for &ISpatialAudioObjectRenderStream {
into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioObjectRenderStreamBase>7519     fn into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioObjectRenderStreamBase> {
7520         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpatialAudioObjectRenderStreamBase>::into(::std::clone::Clone::clone(self)))
7521     }
7522 }
7523 #[repr(C)]
7524 #[doc(hidden)]
7525 pub struct ISpatialAudioObjectRenderStream_abi(
7526     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7527     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7528     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7529     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut u32) -> ::windows::runtime::HRESULT,
7530     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, service: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
7531     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7532     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7533     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7534     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, availabledynamicobjectcount: *mut u32, framecountperbuffer: *mut u32) -> ::windows::runtime::HRESULT,
7535     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7536     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: AudioObjectType, audioobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7537 );
7538 #[repr(transparent)]
7539 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7540 pub struct ISpatialAudioObjectRenderStreamBase(::windows::runtime::IUnknown);
7541 impl ISpatialAudioObjectRenderStreamBase {
GetAvailableDynamicObjectCount(&self) -> ::windows::runtime::Result<u32>7542     pub unsafe fn GetAvailableDynamicObjectCount(&self) -> ::windows::runtime::Result<u32> {
7543         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7544         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
7545     }
GetService<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>7546     pub unsafe fn GetService<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
7547         let mut result__ = ::std::option::Option::None;
7548         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
7549     }
Start(&self) -> ::windows::runtime::Result<()>7550     pub unsafe fn Start(&self) -> ::windows::runtime::Result<()> {
7551         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
7552     }
Stop(&self) -> ::windows::runtime::Result<()>7553     pub unsafe fn Stop(&self) -> ::windows::runtime::Result<()> {
7554         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
7555     }
Reset(&self) -> ::windows::runtime::Result<()>7556     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
7557         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
7558     }
BeginUpdatingAudioObjects(&self, availabledynamicobjectcount: *mut u32, framecountperbuffer: *mut u32) -> ::windows::runtime::Result<()>7559     pub unsafe fn BeginUpdatingAudioObjects(&self, availabledynamicobjectcount: *mut u32, framecountperbuffer: *mut u32) -> ::windows::runtime::Result<()> {
7560         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(availabledynamicobjectcount), ::std::mem::transmute(framecountperbuffer)).ok()
7561     }
EndUpdatingAudioObjects(&self) -> ::windows::runtime::Result<()>7562     pub unsafe fn EndUpdatingAudioObjects(&self) -> ::windows::runtime::Result<()> {
7563         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
7564     }
7565 }
7566 unsafe impl ::windows::runtime::Interface for ISpatialAudioObjectRenderStreamBase {
7567     type Vtable = ISpatialAudioObjectRenderStreamBase_abi;
7568     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4272616451, 49624, 17677, [170, 5, 224, 204, 238, 117, 2, 168]);
7569 }
7570 impl ::std::convert::From<ISpatialAudioObjectRenderStreamBase> for ::windows::runtime::IUnknown {
from(value: ISpatialAudioObjectRenderStreamBase) -> Self7571     fn from(value: ISpatialAudioObjectRenderStreamBase) -> Self {
7572         unsafe { ::std::mem::transmute(value) }
7573     }
7574 }
7575 impl ::std::convert::From<&ISpatialAudioObjectRenderStreamBase> for ::windows::runtime::IUnknown {
from(value: &ISpatialAudioObjectRenderStreamBase) -> Self7576     fn from(value: &ISpatialAudioObjectRenderStreamBase) -> Self {
7577         ::std::convert::From::from(::std::clone::Clone::clone(value))
7578     }
7579 }
7580 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpatialAudioObjectRenderStreamBase {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7581     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7582         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7583     }
7584 }
7585 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpatialAudioObjectRenderStreamBase {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7586     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7587         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7588     }
7589 }
7590 #[repr(C)]
7591 #[doc(hidden)]
7592 pub struct ISpatialAudioObjectRenderStreamBase_abi(
7593     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7594     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7595     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7596     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut u32) -> ::windows::runtime::HRESULT,
7597     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, service: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
7598     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7599     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7600     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7601     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, availabledynamicobjectcount: *mut u32, framecountperbuffer: *mut u32) -> ::windows::runtime::HRESULT,
7602     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7603 );
7604 #[repr(transparent)]
7605 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7606 pub struct ISpatialAudioObjectRenderStreamForHrtf(::windows::runtime::IUnknown);
7607 impl ISpatialAudioObjectRenderStreamForHrtf {
GetAvailableDynamicObjectCount(&self) -> ::windows::runtime::Result<u32>7608     pub unsafe fn GetAvailableDynamicObjectCount(&self) -> ::windows::runtime::Result<u32> {
7609         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7610         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
7611     }
GetService<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>7612     pub unsafe fn GetService<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
7613         let mut result__ = ::std::option::Option::None;
7614         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
7615     }
Start(&self) -> ::windows::runtime::Result<()>7616     pub unsafe fn Start(&self) -> ::windows::runtime::Result<()> {
7617         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
7618     }
Stop(&self) -> ::windows::runtime::Result<()>7619     pub unsafe fn Stop(&self) -> ::windows::runtime::Result<()> {
7620         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
7621     }
Reset(&self) -> ::windows::runtime::Result<()>7622     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
7623         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
7624     }
BeginUpdatingAudioObjects(&self, availabledynamicobjectcount: *mut u32, framecountperbuffer: *mut u32) -> ::windows::runtime::Result<()>7625     pub unsafe fn BeginUpdatingAudioObjects(&self, availabledynamicobjectcount: *mut u32, framecountperbuffer: *mut u32) -> ::windows::runtime::Result<()> {
7626         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(availabledynamicobjectcount), ::std::mem::transmute(framecountperbuffer)).ok()
7627     }
EndUpdatingAudioObjects(&self) -> ::windows::runtime::Result<()>7628     pub unsafe fn EndUpdatingAudioObjects(&self) -> ::windows::runtime::Result<()> {
7629         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
7630     }
ActivateSpatialAudioObjectForHrtf(&self, r#type: AudioObjectType) -> ::windows::runtime::Result<ISpatialAudioObjectForHrtf>7631     pub unsafe fn ActivateSpatialAudioObjectForHrtf(&self, r#type: AudioObjectType) -> ::windows::runtime::Result<ISpatialAudioObjectForHrtf> {
7632         let mut result__: <ISpatialAudioObjectForHrtf as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7633         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#type), &mut result__).from_abi::<ISpatialAudioObjectForHrtf>(result__)
7634     }
7635 }
7636 unsafe impl ::windows::runtime::Interface for ISpatialAudioObjectRenderStreamForHrtf {
7637     type Vtable = ISpatialAudioObjectRenderStreamForHrtf_abi;
7638     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3767398137, 21347, 16494, [159, 220, 8, 14, 226, 71, 187, 224]);
7639 }
7640 impl ::std::convert::From<ISpatialAudioObjectRenderStreamForHrtf> for ::windows::runtime::IUnknown {
from(value: ISpatialAudioObjectRenderStreamForHrtf) -> Self7641     fn from(value: ISpatialAudioObjectRenderStreamForHrtf) -> Self {
7642         unsafe { ::std::mem::transmute(value) }
7643     }
7644 }
7645 impl ::std::convert::From<&ISpatialAudioObjectRenderStreamForHrtf> for ::windows::runtime::IUnknown {
from(value: &ISpatialAudioObjectRenderStreamForHrtf) -> Self7646     fn from(value: &ISpatialAudioObjectRenderStreamForHrtf) -> Self {
7647         ::std::convert::From::from(::std::clone::Clone::clone(value))
7648     }
7649 }
7650 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpatialAudioObjectRenderStreamForHrtf {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7651     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7652         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7653     }
7654 }
7655 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpatialAudioObjectRenderStreamForHrtf {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7656     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7657         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7658     }
7659 }
7660 impl ::std::convert::From<ISpatialAudioObjectRenderStreamForHrtf> for ISpatialAudioObjectRenderStreamBase {
from(value: ISpatialAudioObjectRenderStreamForHrtf) -> Self7661     fn from(value: ISpatialAudioObjectRenderStreamForHrtf) -> Self {
7662         unsafe { ::std::mem::transmute(value) }
7663     }
7664 }
7665 impl ::std::convert::From<&ISpatialAudioObjectRenderStreamForHrtf> for ISpatialAudioObjectRenderStreamBase {
from(value: &ISpatialAudioObjectRenderStreamForHrtf) -> Self7666     fn from(value: &ISpatialAudioObjectRenderStreamForHrtf) -> Self {
7667         ::std::convert::From::from(::std::clone::Clone::clone(value))
7668     }
7669 }
7670 impl<'a> ::windows::runtime::IntoParam<'a, ISpatialAudioObjectRenderStreamBase> for ISpatialAudioObjectRenderStreamForHrtf {
into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioObjectRenderStreamBase>7671     fn into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioObjectRenderStreamBase> {
7672         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpatialAudioObjectRenderStreamBase>::into(self))
7673     }
7674 }
7675 impl<'a> ::windows::runtime::IntoParam<'a, ISpatialAudioObjectRenderStreamBase> for &ISpatialAudioObjectRenderStreamForHrtf {
into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioObjectRenderStreamBase>7676     fn into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioObjectRenderStreamBase> {
7677         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpatialAudioObjectRenderStreamBase>::into(::std::clone::Clone::clone(self)))
7678     }
7679 }
7680 #[repr(C)]
7681 #[doc(hidden)]
7682 pub struct ISpatialAudioObjectRenderStreamForHrtf_abi(
7683     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7684     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7685     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7686     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut u32) -> ::windows::runtime::HRESULT,
7687     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, service: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
7688     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7689     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7690     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7691     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, availabledynamicobjectcount: *mut u32, framecountperbuffer: *mut u32) -> ::windows::runtime::HRESULT,
7692     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7693     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: AudioObjectType, audioobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7694 );
7695 #[repr(transparent)]
7696 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7697 pub struct ISpatialAudioObjectRenderStreamForMetadata(::windows::runtime::IUnknown);
7698 impl ISpatialAudioObjectRenderStreamForMetadata {
GetAvailableDynamicObjectCount(&self) -> ::windows::runtime::Result<u32>7699     pub unsafe fn GetAvailableDynamicObjectCount(&self) -> ::windows::runtime::Result<u32> {
7700         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7701         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
7702     }
GetService<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>7703     pub unsafe fn GetService<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
7704         let mut result__ = ::std::option::Option::None;
7705         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
7706     }
Start(&self) -> ::windows::runtime::Result<()>7707     pub unsafe fn Start(&self) -> ::windows::runtime::Result<()> {
7708         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
7709     }
Stop(&self) -> ::windows::runtime::Result<()>7710     pub unsafe fn Stop(&self) -> ::windows::runtime::Result<()> {
7711         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
7712     }
Reset(&self) -> ::windows::runtime::Result<()>7713     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
7714         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
7715     }
BeginUpdatingAudioObjects(&self, availabledynamicobjectcount: *mut u32, framecountperbuffer: *mut u32) -> ::windows::runtime::Result<()>7716     pub unsafe fn BeginUpdatingAudioObjects(&self, availabledynamicobjectcount: *mut u32, framecountperbuffer: *mut u32) -> ::windows::runtime::Result<()> {
7717         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(availabledynamicobjectcount), ::std::mem::transmute(framecountperbuffer)).ok()
7718     }
EndUpdatingAudioObjects(&self) -> ::windows::runtime::Result<()>7719     pub unsafe fn EndUpdatingAudioObjects(&self) -> ::windows::runtime::Result<()> {
7720         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
7721     }
ActivateSpatialAudioObjectForMetadataCommands(&self, r#type: AudioObjectType) -> ::windows::runtime::Result<ISpatialAudioObjectForMetadataCommands>7722     pub unsafe fn ActivateSpatialAudioObjectForMetadataCommands(&self, r#type: AudioObjectType) -> ::windows::runtime::Result<ISpatialAudioObjectForMetadataCommands> {
7723         let mut result__: <ISpatialAudioObjectForMetadataCommands as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7724         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#type), &mut result__).from_abi::<ISpatialAudioObjectForMetadataCommands>(result__)
7725     }
ActivateSpatialAudioObjectForMetadataItems(&self, r#type: AudioObjectType) -> ::windows::runtime::Result<ISpatialAudioObjectForMetadataItems>7726     pub unsafe fn ActivateSpatialAudioObjectForMetadataItems(&self, r#type: AudioObjectType) -> ::windows::runtime::Result<ISpatialAudioObjectForMetadataItems> {
7727         let mut result__: <ISpatialAudioObjectForMetadataItems as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7728         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#type), &mut result__).from_abi::<ISpatialAudioObjectForMetadataItems>(result__)
7729     }
7730 }
7731 unsafe impl ::windows::runtime::Interface for ISpatialAudioObjectRenderStreamForMetadata {
7732     type Vtable = ISpatialAudioObjectRenderStreamForMetadata_abi;
7733     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3150563591, 18645, 18990, [160, 199, 247, 240, 214, 124, 31, 177]);
7734 }
7735 impl ::std::convert::From<ISpatialAudioObjectRenderStreamForMetadata> for ::windows::runtime::IUnknown {
from(value: ISpatialAudioObjectRenderStreamForMetadata) -> Self7736     fn from(value: ISpatialAudioObjectRenderStreamForMetadata) -> Self {
7737         unsafe { ::std::mem::transmute(value) }
7738     }
7739 }
7740 impl ::std::convert::From<&ISpatialAudioObjectRenderStreamForMetadata> for ::windows::runtime::IUnknown {
from(value: &ISpatialAudioObjectRenderStreamForMetadata) -> Self7741     fn from(value: &ISpatialAudioObjectRenderStreamForMetadata) -> Self {
7742         ::std::convert::From::from(::std::clone::Clone::clone(value))
7743     }
7744 }
7745 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpatialAudioObjectRenderStreamForMetadata {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7746     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7747         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7748     }
7749 }
7750 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpatialAudioObjectRenderStreamForMetadata {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7751     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7752         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7753     }
7754 }
7755 impl ::std::convert::From<ISpatialAudioObjectRenderStreamForMetadata> for ISpatialAudioObjectRenderStreamBase {
from(value: ISpatialAudioObjectRenderStreamForMetadata) -> Self7756     fn from(value: ISpatialAudioObjectRenderStreamForMetadata) -> Self {
7757         unsafe { ::std::mem::transmute(value) }
7758     }
7759 }
7760 impl ::std::convert::From<&ISpatialAudioObjectRenderStreamForMetadata> for ISpatialAudioObjectRenderStreamBase {
from(value: &ISpatialAudioObjectRenderStreamForMetadata) -> Self7761     fn from(value: &ISpatialAudioObjectRenderStreamForMetadata) -> Self {
7762         ::std::convert::From::from(::std::clone::Clone::clone(value))
7763     }
7764 }
7765 impl<'a> ::windows::runtime::IntoParam<'a, ISpatialAudioObjectRenderStreamBase> for ISpatialAudioObjectRenderStreamForMetadata {
into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioObjectRenderStreamBase>7766     fn into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioObjectRenderStreamBase> {
7767         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpatialAudioObjectRenderStreamBase>::into(self))
7768     }
7769 }
7770 impl<'a> ::windows::runtime::IntoParam<'a, ISpatialAudioObjectRenderStreamBase> for &ISpatialAudioObjectRenderStreamForMetadata {
into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioObjectRenderStreamBase>7771     fn into_param(self) -> ::windows::runtime::Param<'a, ISpatialAudioObjectRenderStreamBase> {
7772         ::windows::runtime::Param::Owned(::std::convert::Into::<ISpatialAudioObjectRenderStreamBase>::into(::std::clone::Clone::clone(self)))
7773     }
7774 }
7775 #[repr(C)]
7776 #[doc(hidden)]
7777 pub struct ISpatialAudioObjectRenderStreamForMetadata_abi(
7778     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7779     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7780     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7781     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut u32) -> ::windows::runtime::HRESULT,
7782     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, service: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
7783     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7784     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7785     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7786     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, availabledynamicobjectcount: *mut u32, framecountperbuffer: *mut u32) -> ::windows::runtime::HRESULT,
7787     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7788     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: AudioObjectType, audioobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7789     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: AudioObjectType, audioobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7790 );
7791 #[repr(transparent)]
7792 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7793 pub struct ISpatialAudioObjectRenderStreamNotify(::windows::runtime::IUnknown);
7794 impl ISpatialAudioObjectRenderStreamNotify {
OnAvailableDynamicObjectCountChange<'a, Param0: ::windows::runtime::IntoParam<'a, ISpatialAudioObjectRenderStreamBase>>(&self, sender: Param0, hnscompliancedeadlinetime: i64, availabledynamicobjectcountchange: u32) -> ::windows::runtime::Result<()>7795     pub unsafe fn OnAvailableDynamicObjectCountChange<'a, Param0: ::windows::runtime::IntoParam<'a, ISpatialAudioObjectRenderStreamBase>>(&self, sender: Param0, hnscompliancedeadlinetime: i64, availabledynamicobjectcountchange: u32) -> ::windows::runtime::Result<()> {
7796         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), sender.into_param().abi(), ::std::mem::transmute(hnscompliancedeadlinetime), ::std::mem::transmute(availabledynamicobjectcountchange)).ok()
7797     }
7798 }
7799 unsafe impl ::windows::runtime::Interface for ISpatialAudioObjectRenderStreamNotify {
7800     type Vtable = ISpatialAudioObjectRenderStreamNotify_abi;
7801     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3722413030, 26839, 19568, [136, 63, 161, 131, 106, 251, 74, 80]);
7802 }
7803 impl ::std::convert::From<ISpatialAudioObjectRenderStreamNotify> for ::windows::runtime::IUnknown {
from(value: ISpatialAudioObjectRenderStreamNotify) -> Self7804     fn from(value: ISpatialAudioObjectRenderStreamNotify) -> Self {
7805         unsafe { ::std::mem::transmute(value) }
7806     }
7807 }
7808 impl ::std::convert::From<&ISpatialAudioObjectRenderStreamNotify> for ::windows::runtime::IUnknown {
from(value: &ISpatialAudioObjectRenderStreamNotify) -> Self7809     fn from(value: &ISpatialAudioObjectRenderStreamNotify) -> Self {
7810         ::std::convert::From::from(::std::clone::Clone::clone(value))
7811     }
7812 }
7813 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpatialAudioObjectRenderStreamNotify {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7814     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7815         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7816     }
7817 }
7818 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpatialAudioObjectRenderStreamNotify {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7819     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7820         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7821     }
7822 }
7823 #[repr(C)]
7824 #[doc(hidden)]
7825 pub struct ISpatialAudioObjectRenderStreamNotify_abi(
7826     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7827     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7828     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7829     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sender: ::windows::runtime::RawPtr, hnscompliancedeadlinetime: i64, availabledynamicobjectcountchange: u32) -> ::windows::runtime::HRESULT,
7830 );
7831 #[repr(transparent)]
7832 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7833 pub struct ISubunit(::windows::runtime::IUnknown);
7834 impl ISubunit {}
7835 unsafe impl ::windows::runtime::Interface for ISubunit {
7836     type Vtable = ISubunit_abi;
7837     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2182388357, 56230, 17543, [134, 187, 234, 143, 127, 239, 204, 113]);
7838 }
7839 impl ::std::convert::From<ISubunit> for ::windows::runtime::IUnknown {
from(value: ISubunit) -> Self7840     fn from(value: ISubunit) -> Self {
7841         unsafe { ::std::mem::transmute(value) }
7842     }
7843 }
7844 impl ::std::convert::From<&ISubunit> for ::windows::runtime::IUnknown {
from(value: &ISubunit) -> Self7845     fn from(value: &ISubunit) -> Self {
7846         ::std::convert::From::from(::std::clone::Clone::clone(value))
7847     }
7848 }
7849 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISubunit {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7850     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7851         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7852     }
7853 }
7854 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISubunit {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7855     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7856         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7857     }
7858 }
7859 #[repr(C)]
7860 #[doc(hidden)]
7861 pub struct ISubunit_abi(
7862     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7863     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7864     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7865 );
7866 pub const JACKDESC2_DYNAMIC_FORMAT_CHANGE_CAPABILITY: u32 = 2u32;
7867 pub const JACKDESC2_PRESENCE_DETECT_CAPABILITY: u32 = 1u32;
7868 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7869 #[repr(C)]
7870 #[cfg(feature = "Win32_Foundation")]
7871 pub struct KSAC3_ALTERNATE_AUDIO {
7872     pub fStereo: super::super::super::Foundation::BOOL,
7873     pub DualMode: u32,
7874 }
7875 #[cfg(feature = "Win32_Foundation")]
7876 impl KSAC3_ALTERNATE_AUDIO {}
7877 #[cfg(feature = "Win32_Foundation")]
7878 impl ::std::default::Default for KSAC3_ALTERNATE_AUDIO {
default() -> Self7879     fn default() -> Self {
7880         unsafe { ::std::mem::zeroed() }
7881     }
7882 }
7883 #[cfg(feature = "Win32_Foundation")]
7884 impl ::std::fmt::Debug for KSAC3_ALTERNATE_AUDIO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7885     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7886         fmt.debug_struct("KSAC3_ALTERNATE_AUDIO").field("fStereo", &self.fStereo).field("DualMode", &self.DualMode).finish()
7887     }
7888 }
7889 #[cfg(feature = "Win32_Foundation")]
7890 impl ::std::cmp::PartialEq for KSAC3_ALTERNATE_AUDIO {
eq(&self, other: &Self) -> bool7891     fn eq(&self, other: &Self) -> bool {
7892         self.fStereo == other.fStereo && self.DualMode == other.DualMode
7893     }
7894 }
7895 #[cfg(feature = "Win32_Foundation")]
7896 impl ::std::cmp::Eq for KSAC3_ALTERNATE_AUDIO {}
7897 #[cfg(feature = "Win32_Foundation")]
7898 unsafe impl ::windows::runtime::Abi for KSAC3_ALTERNATE_AUDIO {
7899     type Abi = Self;
7900     type DefaultType = Self;
7901 }
7902 pub const KSAC3_ALTERNATE_AUDIO_1: u32 = 1u32;
7903 pub const KSAC3_ALTERNATE_AUDIO_2: u32 = 2u32;
7904 pub const KSAC3_ALTERNATE_AUDIO_BOTH: u32 = 3u32;
7905 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7906 #[repr(C)]
7907 pub struct KSAC3_BIT_STREAM_MODE {
7908     pub BitStreamMode: i32,
7909 }
7910 impl KSAC3_BIT_STREAM_MODE {}
7911 impl ::std::default::Default for KSAC3_BIT_STREAM_MODE {
default() -> Self7912     fn default() -> Self {
7913         unsafe { ::std::mem::zeroed() }
7914     }
7915 }
7916 impl ::std::fmt::Debug for KSAC3_BIT_STREAM_MODE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7917     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7918         fmt.debug_struct("KSAC3_BIT_STREAM_MODE").field("BitStreamMode", &self.BitStreamMode).finish()
7919     }
7920 }
7921 impl ::std::cmp::PartialEq for KSAC3_BIT_STREAM_MODE {
eq(&self, other: &Self) -> bool7922     fn eq(&self, other: &Self) -> bool {
7923         self.BitStreamMode == other.BitStreamMode
7924     }
7925 }
7926 impl ::std::cmp::Eq for KSAC3_BIT_STREAM_MODE {}
7927 unsafe impl ::windows::runtime::Abi for KSAC3_BIT_STREAM_MODE {
7928     type Abi = Self;
7929     type DefaultType = Self;
7930 }
7931 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7932 #[repr(C)]
7933 pub struct KSAC3_DIALOGUE_LEVEL {
7934     pub DialogueLevel: u32,
7935 }
7936 impl KSAC3_DIALOGUE_LEVEL {}
7937 impl ::std::default::Default for KSAC3_DIALOGUE_LEVEL {
default() -> Self7938     fn default() -> Self {
7939         unsafe { ::std::mem::zeroed() }
7940     }
7941 }
7942 impl ::std::fmt::Debug for KSAC3_DIALOGUE_LEVEL {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7943     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7944         fmt.debug_struct("KSAC3_DIALOGUE_LEVEL").field("DialogueLevel", &self.DialogueLevel).finish()
7945     }
7946 }
7947 impl ::std::cmp::PartialEq for KSAC3_DIALOGUE_LEVEL {
eq(&self, other: &Self) -> bool7948     fn eq(&self, other: &Self) -> bool {
7949         self.DialogueLevel == other.DialogueLevel
7950     }
7951 }
7952 impl ::std::cmp::Eq for KSAC3_DIALOGUE_LEVEL {}
7953 unsafe impl ::windows::runtime::Abi for KSAC3_DIALOGUE_LEVEL {
7954     type Abi = Self;
7955     type DefaultType = Self;
7956 }
7957 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7958 #[repr(C)]
7959 #[cfg(feature = "Win32_Foundation")]
7960 pub struct KSAC3_DOWNMIX {
7961     pub fDownMix: super::super::super::Foundation::BOOL,
7962     pub fDolbySurround: super::super::super::Foundation::BOOL,
7963 }
7964 #[cfg(feature = "Win32_Foundation")]
7965 impl KSAC3_DOWNMIX {}
7966 #[cfg(feature = "Win32_Foundation")]
7967 impl ::std::default::Default for KSAC3_DOWNMIX {
default() -> Self7968     fn default() -> Self {
7969         unsafe { ::std::mem::zeroed() }
7970     }
7971 }
7972 #[cfg(feature = "Win32_Foundation")]
7973 impl ::std::fmt::Debug for KSAC3_DOWNMIX {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7974     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7975         fmt.debug_struct("KSAC3_DOWNMIX").field("fDownMix", &self.fDownMix).field("fDolbySurround", &self.fDolbySurround).finish()
7976     }
7977 }
7978 #[cfg(feature = "Win32_Foundation")]
7979 impl ::std::cmp::PartialEq for KSAC3_DOWNMIX {
eq(&self, other: &Self) -> bool7980     fn eq(&self, other: &Self) -> bool {
7981         self.fDownMix == other.fDownMix && self.fDolbySurround == other.fDolbySurround
7982     }
7983 }
7984 #[cfg(feature = "Win32_Foundation")]
7985 impl ::std::cmp::Eq for KSAC3_DOWNMIX {}
7986 #[cfg(feature = "Win32_Foundation")]
7987 unsafe impl ::windows::runtime::Abi for KSAC3_DOWNMIX {
7988     type Abi = Self;
7989     type DefaultType = Self;
7990 }
7991 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7992 #[repr(C)]
7993 #[cfg(feature = "Win32_Foundation")]
7994 pub struct KSAC3_ERROR_CONCEALMENT {
7995     pub fRepeatPreviousBlock: super::super::super::Foundation::BOOL,
7996     pub fErrorInCurrentBlock: super::super::super::Foundation::BOOL,
7997 }
7998 #[cfg(feature = "Win32_Foundation")]
7999 impl KSAC3_ERROR_CONCEALMENT {}
8000 #[cfg(feature = "Win32_Foundation")]
8001 impl ::std::default::Default for KSAC3_ERROR_CONCEALMENT {
default() -> Self8002     fn default() -> Self {
8003         unsafe { ::std::mem::zeroed() }
8004     }
8005 }
8006 #[cfg(feature = "Win32_Foundation")]
8007 impl ::std::fmt::Debug for KSAC3_ERROR_CONCEALMENT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8008     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8009         fmt.debug_struct("KSAC3_ERROR_CONCEALMENT").field("fRepeatPreviousBlock", &self.fRepeatPreviousBlock).field("fErrorInCurrentBlock", &self.fErrorInCurrentBlock).finish()
8010     }
8011 }
8012 #[cfg(feature = "Win32_Foundation")]
8013 impl ::std::cmp::PartialEq for KSAC3_ERROR_CONCEALMENT {
eq(&self, other: &Self) -> bool8014     fn eq(&self, other: &Self) -> bool {
8015         self.fRepeatPreviousBlock == other.fRepeatPreviousBlock && self.fErrorInCurrentBlock == other.fErrorInCurrentBlock
8016     }
8017 }
8018 #[cfg(feature = "Win32_Foundation")]
8019 impl ::std::cmp::Eq for KSAC3_ERROR_CONCEALMENT {}
8020 #[cfg(feature = "Win32_Foundation")]
8021 unsafe impl ::windows::runtime::Abi for KSAC3_ERROR_CONCEALMENT {
8022     type Abi = Self;
8023     type DefaultType = Self;
8024 }
8025 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8026 #[repr(C)]
8027 #[cfg(feature = "Win32_Foundation")]
8028 pub struct KSAC3_ROOM_TYPE {
8029     pub fLargeRoom: super::super::super::Foundation::BOOL,
8030 }
8031 #[cfg(feature = "Win32_Foundation")]
8032 impl KSAC3_ROOM_TYPE {}
8033 #[cfg(feature = "Win32_Foundation")]
8034 impl ::std::default::Default for KSAC3_ROOM_TYPE {
default() -> Self8035     fn default() -> Self {
8036         unsafe { ::std::mem::zeroed() }
8037     }
8038 }
8039 #[cfg(feature = "Win32_Foundation")]
8040 impl ::std::fmt::Debug for KSAC3_ROOM_TYPE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8041     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8042         fmt.debug_struct("KSAC3_ROOM_TYPE").field("fLargeRoom", &self.fLargeRoom).finish()
8043     }
8044 }
8045 #[cfg(feature = "Win32_Foundation")]
8046 impl ::std::cmp::PartialEq for KSAC3_ROOM_TYPE {
eq(&self, other: &Self) -> bool8047     fn eq(&self, other: &Self) -> bool {
8048         self.fLargeRoom == other.fLargeRoom
8049     }
8050 }
8051 #[cfg(feature = "Win32_Foundation")]
8052 impl ::std::cmp::Eq for KSAC3_ROOM_TYPE {}
8053 #[cfg(feature = "Win32_Foundation")]
8054 unsafe impl ::windows::runtime::Abi for KSAC3_ROOM_TYPE {
8055     type Abi = Self;
8056     type DefaultType = Self;
8057 }
8058 pub const KSAC3_SERVICE_COMMENTARY: u32 = 5u32;
8059 pub const KSAC3_SERVICE_DIALOG_ONLY: u32 = 4u32;
8060 pub const KSAC3_SERVICE_EMERGENCY_FLASH: u32 = 6u32;
8061 pub const KSAC3_SERVICE_HEARING_IMPAIRED: u32 = 3u32;
8062 pub const KSAC3_SERVICE_MAIN_AUDIO: u32 = 0u32;
8063 pub const KSAC3_SERVICE_NO_DIALOG: u32 = 1u32;
8064 pub const KSAC3_SERVICE_VISUALLY_IMPAIRED: u32 = 2u32;
8065 pub const KSAC3_SERVICE_VOICE_OVER: u32 = 7u32;
8066 pub const KSALGORITHMINSTANCE_SYSTEM_ACOUSTIC_ECHO_CANCEL: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(472040813, 39033, 20315, [163, 137, 39, 153, 109, 220, 40, 16]);
8067 pub const KSALGORITHMINSTANCE_SYSTEM_AGC: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2500744633, 34684, 19559, [190, 8, 228, 123, 86, 17, 19, 10]);
8068 pub const KSALGORITHMINSTANCE_SYSTEM_MICROPHONE_ARRAY_PROCESSOR: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3069550752, 40545, 20364, [145, 227, 118, 207, 15, 60, 71, 31]);
8069 pub const KSALGORITHMINSTANCE_SYSTEM_NOISE_SUPPRESS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1521518638, 29300, 17686, [135, 125, 78, 238, 153, 186, 79, 208]);
8070 pub const KSALLOCATOR_FLAG_2D_BUFFER_REQUIRED: u32 = 32768u32;
8071 pub const KSALLOCATOR_FLAG_ALLOCATOR_EXISTS: u32 = 2048u32;
8072 pub const KSALLOCATOR_FLAG_ATTENTION_STEPPING: u32 = 8192u32;
8073 pub const KSALLOCATOR_FLAG_CAN_ALLOCATE: u32 = 64u32;
8074 pub const KSALLOCATOR_FLAG_CYCLE: u32 = 1024u32;
8075 pub const KSALLOCATOR_FLAG_DEVICE_SPECIFIC: u32 = 32u32;
8076 pub const KSALLOCATOR_FLAG_ENABLE_CACHED_MDL: u32 = 16384u32;
8077 pub const KSALLOCATOR_FLAG_INDEPENDENT_RANGES: u32 = 4096u32;
8078 pub const KSALLOCATOR_FLAG_INSIST_ON_FRAMESIZE_RATIO: u32 = 128u32;
8079 pub const KSALLOCATOR_FLAG_MULTIPLE_OUTPUT: u32 = 512u32;
8080 pub const KSALLOCATOR_FLAG_NO_FRAME_INTEGRITY: u32 = 256u32;
8081 pub const KSALLOCATOR_FLAG_PARTIAL_READ_SUPPORT: u32 = 16u32;
8082 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8083 #[repr(C)]
8084 pub struct KSALLOCATOR_FRAMING {
8085     pub Anonymous1: KSALLOCATOR_FRAMING_0,
8086     pub PoolType: u32,
8087     pub Frames: u32,
8088     pub FrameSize: u32,
8089     pub Anonymous2: KSALLOCATOR_FRAMING_1,
8090     pub Reserved: u32,
8091 }
8092 impl KSALLOCATOR_FRAMING {}
8093 impl ::std::default::Default for KSALLOCATOR_FRAMING {
default() -> Self8094     fn default() -> Self {
8095         unsafe { ::std::mem::zeroed() }
8096     }
8097 }
8098 impl ::std::cmp::PartialEq for KSALLOCATOR_FRAMING {
eq(&self, _other: &Self) -> bool8099     fn eq(&self, _other: &Self) -> bool {
8100         unimplemented!()
8101     }
8102 }
8103 impl ::std::cmp::Eq for KSALLOCATOR_FRAMING {}
8104 unsafe impl ::windows::runtime::Abi for KSALLOCATOR_FRAMING {
8105     type Abi = Self;
8106     type DefaultType = Self;
8107 }
8108 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8109 #[repr(C)]
8110 pub union KSALLOCATOR_FRAMING_0 {
8111     pub OptionsFlags: u32,
8112     pub RequirementsFlags: u32,
8113 }
8114 impl KSALLOCATOR_FRAMING_0 {}
8115 impl ::std::default::Default for KSALLOCATOR_FRAMING_0 {
default() -> Self8116     fn default() -> Self {
8117         unsafe { ::std::mem::zeroed() }
8118     }
8119 }
8120 impl ::std::cmp::PartialEq for KSALLOCATOR_FRAMING_0 {
eq(&self, _other: &Self) -> bool8121     fn eq(&self, _other: &Self) -> bool {
8122         unimplemented!()
8123     }
8124 }
8125 impl ::std::cmp::Eq for KSALLOCATOR_FRAMING_0 {}
8126 unsafe impl ::windows::runtime::Abi for KSALLOCATOR_FRAMING_0 {
8127     type Abi = Self;
8128     type DefaultType = Self;
8129 }
8130 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8131 #[repr(C)]
8132 pub union KSALLOCATOR_FRAMING_1 {
8133     pub FileAlignment: u32,
8134     pub FramePitch: i32,
8135 }
8136 impl KSALLOCATOR_FRAMING_1 {}
8137 impl ::std::default::Default for KSALLOCATOR_FRAMING_1 {
default() -> Self8138     fn default() -> Self {
8139         unsafe { ::std::mem::zeroed() }
8140     }
8141 }
8142 impl ::std::cmp::PartialEq for KSALLOCATOR_FRAMING_1 {
eq(&self, _other: &Self) -> bool8143     fn eq(&self, _other: &Self) -> bool {
8144         unimplemented!()
8145     }
8146 }
8147 impl ::std::cmp::Eq for KSALLOCATOR_FRAMING_1 {}
8148 unsafe impl ::windows::runtime::Abi for KSALLOCATOR_FRAMING_1 {
8149     type Abi = Self;
8150     type DefaultType = Self;
8151 }
8152 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8153 #[repr(C)]
8154 pub struct KSALLOCATOR_FRAMING_EX {
8155     pub CountItems: u32,
8156     pub PinFlags: u32,
8157     pub OutputCompression: KS_COMPRESSION,
8158     pub PinWeight: u32,
8159     pub FramingItem: [KS_FRAMING_ITEM; 1],
8160 }
8161 impl KSALLOCATOR_FRAMING_EX {}
8162 impl ::std::default::Default for KSALLOCATOR_FRAMING_EX {
default() -> Self8163     fn default() -> Self {
8164         unsafe { ::std::mem::zeroed() }
8165     }
8166 }
8167 impl ::std::cmp::PartialEq for KSALLOCATOR_FRAMING_EX {
eq(&self, _other: &Self) -> bool8168     fn eq(&self, _other: &Self) -> bool {
8169         unimplemented!()
8170     }
8171 }
8172 impl ::std::cmp::Eq for KSALLOCATOR_FRAMING_EX {}
8173 unsafe impl ::windows::runtime::Abi for KSALLOCATOR_FRAMING_EX {
8174     type Abi = Self;
8175     type DefaultType = Self;
8176 }
8177 pub const KSALLOCATOR_OPTIONF_COMPATIBLE: u32 = 1u32;
8178 pub const KSALLOCATOR_OPTIONF_SYSTEM_MEMORY: u32 = 2u32;
8179 pub const KSALLOCATOR_OPTIONF_VALID: u32 = 3u32;
8180 pub const KSALLOCATOR_REQUIREMENTF_FRAME_INTEGRITY: u32 = 4u32;
8181 pub const KSALLOCATOR_REQUIREMENTF_INPLACE_MODIFIER: u32 = 1u32;
8182 pub const KSALLOCATOR_REQUIREMENTF_MUST_ALLOCATE: u32 = 8u32;
8183 pub const KSALLOCATOR_REQUIREMENTF_PREFERENCES_ONLY: u32 = 2147483648u32;
8184 pub const KSALLOCATOR_REQUIREMENTF_SYSTEM_MEMORY: u32 = 2u32;
8185 pub const KSALLOCATOR_REQUIREMENTF_SYSTEM_MEMORY_CUSTOM_ALLOCATION: u32 = 16u32;
8186 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8187 #[repr(C)]
8188 pub struct KSATTRIBUTE {
8189     pub Size: u32,
8190     pub Flags: u32,
8191     pub Attribute: ::windows::runtime::GUID,
8192 }
8193 impl KSATTRIBUTE {}
8194 impl ::std::default::Default for KSATTRIBUTE {
default() -> Self8195     fn default() -> Self {
8196         unsafe { ::std::mem::zeroed() }
8197     }
8198 }
8199 impl ::std::fmt::Debug for KSATTRIBUTE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8200     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8201         fmt.debug_struct("KSATTRIBUTE").field("Size", &self.Size).field("Flags", &self.Flags).field("Attribute", &self.Attribute).finish()
8202     }
8203 }
8204 impl ::std::cmp::PartialEq for KSATTRIBUTE {
eq(&self, other: &Self) -> bool8205     fn eq(&self, other: &Self) -> bool {
8206         self.Size == other.Size && self.Flags == other.Flags && self.Attribute == other.Attribute
8207     }
8208 }
8209 impl ::std::cmp::Eq for KSATTRIBUTE {}
8210 unsafe impl ::windows::runtime::Abi for KSATTRIBUTE {
8211     type Abi = Self;
8212     type DefaultType = Self;
8213 }
8214 pub const KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3791167157, 24390, 16795, [150, 123, 255, 103, 112, 185, 132, 1]);
8215 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8216 #[repr(C)]
8217 pub struct KSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE {
8218     pub AttributeHeader: KSATTRIBUTE,
8219     pub SignalProcessingMode: ::windows::runtime::GUID,
8220 }
8221 impl KSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE {}
8222 impl ::std::default::Default for KSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE {
default() -> Self8223     fn default() -> Self {
8224         unsafe { ::std::mem::zeroed() }
8225     }
8226 }
8227 impl ::std::fmt::Debug for KSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8228     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8229         fmt.debug_struct("KSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE").field("AttributeHeader", &self.AttributeHeader).field("SignalProcessingMode", &self.SignalProcessingMode).finish()
8230     }
8231 }
8232 impl ::std::cmp::PartialEq for KSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE {
eq(&self, other: &Self) -> bool8233     fn eq(&self, other: &Self) -> bool {
8234         self.AttributeHeader == other.AttributeHeader && self.SignalProcessingMode == other.SignalProcessingMode
8235     }
8236 }
8237 impl ::std::cmp::Eq for KSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE {}
8238 unsafe impl ::windows::runtime::Abi for KSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE {
8239     type Abi = Self;
8240     type DefaultType = Self;
8241 }
8242 pub const KSATTRIBUTE_REQUIRED: u32 = 1u32;
8243 pub const KSAUDDECOUTMODE_PCM_51: u32 = 2u32;
8244 pub const KSAUDDECOUTMODE_SPDIFF: u32 = 4u32;
8245 pub const KSAUDDECOUTMODE_STEREO_ANALOG: u32 = 1u32;
8246 pub const KSAUDFNAME_3D_CENTER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2667999412, 39199, 4562, [172, 77, 0, 192, 79, 142, 251, 104]);
8247 pub const KSAUDFNAME_3D_DEPTH: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1677678407, 39199, 4562, [172, 77, 0, 192, 79, 142, 251, 104]);
8248 pub const KSAUDFNAME_3D_STEREO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940002, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8249 pub const KSAUDFNAME_ALTERNATE_MICROPHONE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(734207339, 38627, 4562, [172, 76, 0, 192, 79, 142, 251, 104]);
8250 pub const KSAUDFNAME_AUX: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940030, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8251 pub const KSAUDFNAME_AUX_MUTE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940029, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8252 pub const KSAUDFNAME_AUX_VOLUME: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940028, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8253 pub const KSAUDFNAME_BASS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940000, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8254 pub const KSAUDFNAME_CD_AUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940027, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8255 pub const KSAUDFNAME_CD_IN_VOLUME: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940019, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8256 pub const KSAUDFNAME_CD_MUTE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940010, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8257 pub const KSAUDFNAME_CD_VOLUME: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940009, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8258 pub const KSAUDFNAME_LINE_IN: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940025, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8259 pub const KSAUDFNAME_LINE_IN_VOLUME: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940020, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8260 pub const KSAUDFNAME_LINE_MUTE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940012, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8261 pub const KSAUDFNAME_LINE_VOLUME: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940011, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8262 pub const KSAUDFNAME_MASTER_MUTE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940004, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8263 pub const KSAUDFNAME_MASTER_VOLUME: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940003, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8264 pub const KSAUDFNAME_MICROPHONE_BOOST: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(734207338, 38627, 4562, [172, 76, 0, 192, 79, 142, 251, 104]);
8265 pub const KSAUDFNAME_MIC_IN_VOLUME: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940021, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8266 pub const KSAUDFNAME_MIC_MUTE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940014, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8267 pub const KSAUDFNAME_MIC_VOLUME: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940013, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8268 pub const KSAUDFNAME_MIDI: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940024, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8269 pub const KSAUDFNAME_MIDI_IN_VOLUME: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940018, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8270 pub const KSAUDFNAME_MIDI_MUTE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940008, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8271 pub const KSAUDFNAME_MIDI_VOLUME: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940007, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8272 pub const KSAUDFNAME_MIDRANGE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2731271288, 44676, 18849, [139, 114, 74, 208, 155, 120, 237, 52]);
8273 pub const KSAUDFNAME_MONO_MIX: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(14676088, 38627, 4562, [172, 76, 0, 192, 79, 142, 251, 104]);
8274 pub const KSAUDFNAME_MONO_MIX_MUTE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(734207337, 38627, 4562, [172, 76, 0, 192, 79, 142, 251, 104]);
8275 pub const KSAUDFNAME_MONO_MIX_VOLUME: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(582019838, 38627, 4562, [172, 76, 0, 192, 79, 142, 251, 104]);
8276 pub const KSAUDFNAME_MONO_OUT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4189330883, 38626, 4562, [172, 76, 0, 192, 79, 142, 251, 104]);
8277 pub const KSAUDFNAME_MONO_OUT_MUTE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(449988588, 38627, 4562, [172, 76, 0, 192, 79, 142, 251, 104]);
8278 pub const KSAUDFNAME_MONO_OUT_VOLUME: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(449988587, 38627, 4562, [172, 76, 0, 192, 79, 142, 251, 104]);
8279 pub const KSAUDFNAME_PC_SPEAKER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940031, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8280 pub const KSAUDFNAME_PC_SPEAKER_MUTE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940017, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8281 pub const KSAUDFNAME_PC_SPEAKER_VOLUME: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940016, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8282 pub const KSAUDFNAME_PEAKMETER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1474446144, 64603, 17938, [165, 98, 114, 177, 26, 41, 223, 174]);
8283 pub const KSAUDFNAME_RECORDING_CONTROL: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940026, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8284 pub const KSAUDFNAME_RECORDING_SOURCE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940015, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8285 pub const KSAUDFNAME_STEREO_MIX: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(14676087, 38627, 4562, [172, 76, 0, 192, 79, 142, 251, 104]);
8286 pub const KSAUDFNAME_STEREO_MIX_MUTE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(582019837, 38627, 4562, [172, 76, 0, 192, 79, 142, 251, 104]);
8287 pub const KSAUDFNAME_STEREO_MIX_VOLUME: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(449988589, 38627, 4562, [172, 76, 0, 192, 79, 142, 251, 104]);
8288 pub const KSAUDFNAME_TREBLE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940001, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8289 pub const KSAUDFNAME_VIDEO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2438835908, 42036, 4562, [172, 82, 0, 192, 79, 142, 251, 104]);
8290 pub const KSAUDFNAME_VIDEO_MUTE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2605115145, 39210, 4562, [172, 77, 0, 192, 79, 142, 251, 104]);
8291 pub const KSAUDFNAME_VIDEO_VOLUME: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2605115144, 39210, 4562, [172, 77, 0, 192, 79, 142, 251, 104]);
8292 pub const KSAUDFNAME_VOLUME_CONTROL: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940023, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8293 pub const KSAUDFNAME_WAVE_IN_VOLUME: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940022, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8294 pub const KSAUDFNAME_WAVE_MUTE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940006, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8295 pub const KSAUDFNAME_WAVE_OUT_MIX: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940032, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8296 pub const KSAUDFNAME_WAVE_VOLUME: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(408940005, 39173, 4561, [149, 169, 0, 192, 79, 185, 37, 211]);
8297 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8298 #[repr(C)]
8299 pub struct KSAUDIOENGINE_BUFFER_SIZE_RANGE {
8300     pub MinBufferBytes: u32,
8301     pub MaxBufferBytes: u32,
8302 }
8303 impl KSAUDIOENGINE_BUFFER_SIZE_RANGE {}
8304 impl ::std::default::Default for KSAUDIOENGINE_BUFFER_SIZE_RANGE {
default() -> Self8305     fn default() -> Self {
8306         unsafe { ::std::mem::zeroed() }
8307     }
8308 }
8309 impl ::std::fmt::Debug for KSAUDIOENGINE_BUFFER_SIZE_RANGE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8310     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8311         fmt.debug_struct("KSAUDIOENGINE_BUFFER_SIZE_RANGE").field("MinBufferBytes", &self.MinBufferBytes).field("MaxBufferBytes", &self.MaxBufferBytes).finish()
8312     }
8313 }
8314 impl ::std::cmp::PartialEq for KSAUDIOENGINE_BUFFER_SIZE_RANGE {
eq(&self, other: &Self) -> bool8315     fn eq(&self, other: &Self) -> bool {
8316         self.MinBufferBytes == other.MinBufferBytes && self.MaxBufferBytes == other.MaxBufferBytes
8317     }
8318 }
8319 impl ::std::cmp::Eq for KSAUDIOENGINE_BUFFER_SIZE_RANGE {}
8320 unsafe impl ::windows::runtime::Abi for KSAUDIOENGINE_BUFFER_SIZE_RANGE {
8321     type Abi = Self;
8322     type DefaultType = Self;
8323 }
8324 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8325 #[repr(C)]
8326 pub struct KSAUDIOENGINE_DESCRIPTOR {
8327     pub nHostPinId: u32,
8328     pub nOffloadPinId: u32,
8329     pub nLoopbackPinId: u32,
8330 }
8331 impl KSAUDIOENGINE_DESCRIPTOR {}
8332 impl ::std::default::Default for KSAUDIOENGINE_DESCRIPTOR {
default() -> Self8333     fn default() -> Self {
8334         unsafe { ::std::mem::zeroed() }
8335     }
8336 }
8337 impl ::std::fmt::Debug for KSAUDIOENGINE_DESCRIPTOR {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8338     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8339         fmt.debug_struct("KSAUDIOENGINE_DESCRIPTOR").field("nHostPinId", &self.nHostPinId).field("nOffloadPinId", &self.nOffloadPinId).field("nLoopbackPinId", &self.nLoopbackPinId).finish()
8340     }
8341 }
8342 impl ::std::cmp::PartialEq for KSAUDIOENGINE_DESCRIPTOR {
eq(&self, other: &Self) -> bool8343     fn eq(&self, other: &Self) -> bool {
8344         self.nHostPinId == other.nHostPinId && self.nOffloadPinId == other.nOffloadPinId && self.nLoopbackPinId == other.nLoopbackPinId
8345     }
8346 }
8347 impl ::std::cmp::Eq for KSAUDIOENGINE_DESCRIPTOR {}
8348 unsafe impl ::windows::runtime::Abi for KSAUDIOENGINE_DESCRIPTOR {
8349     type Abi = Self;
8350     type DefaultType = Self;
8351 }
8352 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8353 #[repr(C)]
8354 pub struct KSAUDIOENGINE_VOLUMELEVEL {
8355     pub TargetVolume: i32,
8356     pub CurveType: AUDIO_CURVE_TYPE,
8357     pub CurveDuration: u64,
8358 }
8359 impl KSAUDIOENGINE_VOLUMELEVEL {}
8360 impl ::std::default::Default for KSAUDIOENGINE_VOLUMELEVEL {
default() -> Self8361     fn default() -> Self {
8362         unsafe { ::std::mem::zeroed() }
8363     }
8364 }
8365 impl ::std::fmt::Debug for KSAUDIOENGINE_VOLUMELEVEL {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8366     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8367         fmt.debug_struct("KSAUDIOENGINE_VOLUMELEVEL").field("TargetVolume", &self.TargetVolume).field("CurveType", &self.CurveType).field("CurveDuration", &self.CurveDuration).finish()
8368     }
8369 }
8370 impl ::std::cmp::PartialEq for KSAUDIOENGINE_VOLUMELEVEL {
eq(&self, other: &Self) -> bool8371     fn eq(&self, other: &Self) -> bool {
8372         self.TargetVolume == other.TargetVolume && self.CurveType == other.CurveType && self.CurveDuration == other.CurveDuration
8373     }
8374 }
8375 impl ::std::cmp::Eq for KSAUDIOENGINE_VOLUMELEVEL {}
8376 unsafe impl ::windows::runtime::Abi for KSAUDIOENGINE_VOLUMELEVEL {
8377     type Abi = Self;
8378     type DefaultType = Self;
8379 }
8380 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8381 #[repr(C)]
8382 pub struct KSAUDIOMODULE_DESCRIPTOR {
8383     pub ClassId: ::windows::runtime::GUID,
8384     pub InstanceId: u32,
8385     pub VersionMajor: u32,
8386     pub VersionMinor: u32,
8387     pub Name: [u16; 128],
8388 }
8389 impl KSAUDIOMODULE_DESCRIPTOR {}
8390 impl ::std::default::Default for KSAUDIOMODULE_DESCRIPTOR {
default() -> Self8391     fn default() -> Self {
8392         unsafe { ::std::mem::zeroed() }
8393     }
8394 }
8395 impl ::std::fmt::Debug for KSAUDIOMODULE_DESCRIPTOR {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8396     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8397         fmt.debug_struct("KSAUDIOMODULE_DESCRIPTOR").field("ClassId", &self.ClassId).field("InstanceId", &self.InstanceId).field("VersionMajor", &self.VersionMajor).field("VersionMinor", &self.VersionMinor).field("Name", &self.Name).finish()
8398     }
8399 }
8400 impl ::std::cmp::PartialEq for KSAUDIOMODULE_DESCRIPTOR {
eq(&self, other: &Self) -> bool8401     fn eq(&self, other: &Self) -> bool {
8402         self.ClassId == other.ClassId && self.InstanceId == other.InstanceId && self.VersionMajor == other.VersionMajor && self.VersionMinor == other.VersionMinor && self.Name == other.Name
8403     }
8404 }
8405 impl ::std::cmp::Eq for KSAUDIOMODULE_DESCRIPTOR {}
8406 unsafe impl ::windows::runtime::Abi for KSAUDIOMODULE_DESCRIPTOR {
8407     type Abi = Self;
8408     type DefaultType = Self;
8409 }
8410 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8411 #[repr(C)]
8412 pub struct KSAUDIOMODULE_NOTIFICATION {
8413     pub Anonymous: KSAUDIOMODULE_NOTIFICATION_0,
8414 }
8415 impl KSAUDIOMODULE_NOTIFICATION {}
8416 impl ::std::default::Default for KSAUDIOMODULE_NOTIFICATION {
default() -> Self8417     fn default() -> Self {
8418         unsafe { ::std::mem::zeroed() }
8419     }
8420 }
8421 impl ::std::cmp::PartialEq for KSAUDIOMODULE_NOTIFICATION {
eq(&self, _other: &Self) -> bool8422     fn eq(&self, _other: &Self) -> bool {
8423         unimplemented!()
8424     }
8425 }
8426 impl ::std::cmp::Eq for KSAUDIOMODULE_NOTIFICATION {}
8427 unsafe impl ::windows::runtime::Abi for KSAUDIOMODULE_NOTIFICATION {
8428     type Abi = Self;
8429     type DefaultType = Self;
8430 }
8431 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8432 #[repr(C)]
8433 pub union KSAUDIOMODULE_NOTIFICATION_0 {
8434     pub ProviderId: KSAUDIOMODULE_NOTIFICATION_0_0,
8435     pub Alignment: i64,
8436 }
8437 impl KSAUDIOMODULE_NOTIFICATION_0 {}
8438 impl ::std::default::Default for KSAUDIOMODULE_NOTIFICATION_0 {
default() -> Self8439     fn default() -> Self {
8440         unsafe { ::std::mem::zeroed() }
8441     }
8442 }
8443 impl ::std::cmp::PartialEq for KSAUDIOMODULE_NOTIFICATION_0 {
eq(&self, _other: &Self) -> bool8444     fn eq(&self, _other: &Self) -> bool {
8445         unimplemented!()
8446     }
8447 }
8448 impl ::std::cmp::Eq for KSAUDIOMODULE_NOTIFICATION_0 {}
8449 unsafe impl ::windows::runtime::Abi for KSAUDIOMODULE_NOTIFICATION_0 {
8450     type Abi = Self;
8451     type DefaultType = Self;
8452 }
8453 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8454 #[repr(C)]
8455 pub struct KSAUDIOMODULE_NOTIFICATION_0_0 {
8456     pub DeviceId: ::windows::runtime::GUID,
8457     pub ClassId: ::windows::runtime::GUID,
8458     pub InstanceId: u32,
8459     pub Reserved: u32,
8460 }
8461 impl KSAUDIOMODULE_NOTIFICATION_0_0 {}
8462 impl ::std::default::Default for KSAUDIOMODULE_NOTIFICATION_0_0 {
default() -> Self8463     fn default() -> Self {
8464         unsafe { ::std::mem::zeroed() }
8465     }
8466 }
8467 impl ::std::fmt::Debug for KSAUDIOMODULE_NOTIFICATION_0_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8468     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8469         fmt.debug_struct("_ProviderId_e__Struct").field("DeviceId", &self.DeviceId).field("ClassId", &self.ClassId).field("InstanceId", &self.InstanceId).field("Reserved", &self.Reserved).finish()
8470     }
8471 }
8472 impl ::std::cmp::PartialEq for KSAUDIOMODULE_NOTIFICATION_0_0 {
eq(&self, other: &Self) -> bool8473     fn eq(&self, other: &Self) -> bool {
8474         self.DeviceId == other.DeviceId && self.ClassId == other.ClassId && self.InstanceId == other.InstanceId && self.Reserved == other.Reserved
8475     }
8476 }
8477 impl ::std::cmp::Eq for KSAUDIOMODULE_NOTIFICATION_0_0 {}
8478 unsafe impl ::windows::runtime::Abi for KSAUDIOMODULE_NOTIFICATION_0_0 {
8479     type Abi = Self;
8480     type DefaultType = Self;
8481 }
8482 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8483 #[repr(C)]
8484 pub struct KSAUDIOMODULE_PROPERTY {
8485     pub Property: KSIDENTIFIER,
8486     pub ClassId: ::windows::runtime::GUID,
8487     pub InstanceId: u32,
8488 }
8489 impl KSAUDIOMODULE_PROPERTY {}
8490 impl ::std::default::Default for KSAUDIOMODULE_PROPERTY {
default() -> Self8491     fn default() -> Self {
8492         unsafe { ::std::mem::zeroed() }
8493     }
8494 }
8495 impl ::std::cmp::PartialEq for KSAUDIOMODULE_PROPERTY {
eq(&self, _other: &Self) -> bool8496     fn eq(&self, _other: &Self) -> bool {
8497         unimplemented!()
8498     }
8499 }
8500 impl ::std::cmp::Eq for KSAUDIOMODULE_PROPERTY {}
8501 unsafe impl ::windows::runtime::Abi for KSAUDIOMODULE_PROPERTY {
8502     type Abi = Self;
8503     type DefaultType = Self;
8504 }
8505 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8506 #[repr(C)]
8507 pub struct KSAUDIO_CHANNEL_CONFIG {
8508     pub ActiveSpeakerPositions: i32,
8509 }
8510 impl KSAUDIO_CHANNEL_CONFIG {}
8511 impl ::std::default::Default for KSAUDIO_CHANNEL_CONFIG {
default() -> Self8512     fn default() -> Self {
8513         unsafe { ::std::mem::zeroed() }
8514     }
8515 }
8516 impl ::std::fmt::Debug for KSAUDIO_CHANNEL_CONFIG {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8517     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8518         fmt.debug_struct("KSAUDIO_CHANNEL_CONFIG").field("ActiveSpeakerPositions", &self.ActiveSpeakerPositions).finish()
8519     }
8520 }
8521 impl ::std::cmp::PartialEq for KSAUDIO_CHANNEL_CONFIG {
eq(&self, other: &Self) -> bool8522     fn eq(&self, other: &Self) -> bool {
8523         self.ActiveSpeakerPositions == other.ActiveSpeakerPositions
8524     }
8525 }
8526 impl ::std::cmp::Eq for KSAUDIO_CHANNEL_CONFIG {}
8527 unsafe impl ::windows::runtime::Abi for KSAUDIO_CHANNEL_CONFIG {
8528     type Abi = Self;
8529     type DefaultType = Self;
8530 }
8531 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8532 #[repr(C)]
8533 #[cfg(feature = "Win32_Foundation")]
8534 pub struct KSAUDIO_COPY_PROTECTION {
8535     pub fCopyrighted: super::super::super::Foundation::BOOL,
8536     pub fOriginal: super::super::super::Foundation::BOOL,
8537 }
8538 #[cfg(feature = "Win32_Foundation")]
8539 impl KSAUDIO_COPY_PROTECTION {}
8540 #[cfg(feature = "Win32_Foundation")]
8541 impl ::std::default::Default for KSAUDIO_COPY_PROTECTION {
default() -> Self8542     fn default() -> Self {
8543         unsafe { ::std::mem::zeroed() }
8544     }
8545 }
8546 #[cfg(feature = "Win32_Foundation")]
8547 impl ::std::fmt::Debug for KSAUDIO_COPY_PROTECTION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8548     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8549         fmt.debug_struct("KSAUDIO_COPY_PROTECTION").field("fCopyrighted", &self.fCopyrighted).field("fOriginal", &self.fOriginal).finish()
8550     }
8551 }
8552 #[cfg(feature = "Win32_Foundation")]
8553 impl ::std::cmp::PartialEq for KSAUDIO_COPY_PROTECTION {
eq(&self, other: &Self) -> bool8554     fn eq(&self, other: &Self) -> bool {
8555         self.fCopyrighted == other.fCopyrighted && self.fOriginal == other.fOriginal
8556     }
8557 }
8558 #[cfg(feature = "Win32_Foundation")]
8559 impl ::std::cmp::Eq for KSAUDIO_COPY_PROTECTION {}
8560 #[cfg(feature = "Win32_Foundation")]
8561 unsafe impl ::windows::runtime::Abi for KSAUDIO_COPY_PROTECTION {
8562     type Abi = Self;
8563     type DefaultType = Self;
8564 }
8565 pub const KSAUDIO_CPU_RESOURCES_HOST_CPU: u32 = 2147483647u32;
8566 pub const KSAUDIO_CPU_RESOURCES_NOT_HOST_CPU: u32 = 0u32;
8567 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8568 #[repr(C)]
8569 pub struct KSAUDIO_DYNAMIC_RANGE {
8570     pub QuietCompression: u32,
8571     pub LoudCompression: u32,
8572 }
8573 impl KSAUDIO_DYNAMIC_RANGE {}
8574 impl ::std::default::Default for KSAUDIO_DYNAMIC_RANGE {
default() -> Self8575     fn default() -> Self {
8576         unsafe { ::std::mem::zeroed() }
8577     }
8578 }
8579 impl ::std::fmt::Debug for KSAUDIO_DYNAMIC_RANGE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8580     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8581         fmt.debug_struct("KSAUDIO_DYNAMIC_RANGE").field("QuietCompression", &self.QuietCompression).field("LoudCompression", &self.LoudCompression).finish()
8582     }
8583 }
8584 impl ::std::cmp::PartialEq for KSAUDIO_DYNAMIC_RANGE {
eq(&self, other: &Self) -> bool8585     fn eq(&self, other: &Self) -> bool {
8586         self.QuietCompression == other.QuietCompression && self.LoudCompression == other.LoudCompression
8587     }
8588 }
8589 impl ::std::cmp::Eq for KSAUDIO_DYNAMIC_RANGE {}
8590 unsafe impl ::windows::runtime::Abi for KSAUDIO_DYNAMIC_RANGE {
8591     type Abi = Self;
8592     type DefaultType = Self;
8593 }
8594 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8595 #[repr(C)]
8596 pub struct KSAUDIO_MICROPHONE_COORDINATES {
8597     pub usType: u16,
8598     pub wXCoord: i16,
8599     pub wYCoord: i16,
8600     pub wZCoord: i16,
8601     pub wVerticalAngle: i16,
8602     pub wHorizontalAngle: i16,
8603 }
8604 impl KSAUDIO_MICROPHONE_COORDINATES {}
8605 impl ::std::default::Default for KSAUDIO_MICROPHONE_COORDINATES {
default() -> Self8606     fn default() -> Self {
8607         unsafe { ::std::mem::zeroed() }
8608     }
8609 }
8610 impl ::std::fmt::Debug for KSAUDIO_MICROPHONE_COORDINATES {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8611     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8612         fmt.debug_struct("KSAUDIO_MICROPHONE_COORDINATES").field("usType", &self.usType).field("wXCoord", &self.wXCoord).field("wYCoord", &self.wYCoord).field("wZCoord", &self.wZCoord).field("wVerticalAngle", &self.wVerticalAngle).field("wHorizontalAngle", &self.wHorizontalAngle).finish()
8613     }
8614 }
8615 impl ::std::cmp::PartialEq for KSAUDIO_MICROPHONE_COORDINATES {
eq(&self, other: &Self) -> bool8616     fn eq(&self, other: &Self) -> bool {
8617         self.usType == other.usType && self.wXCoord == other.wXCoord && self.wYCoord == other.wYCoord && self.wZCoord == other.wZCoord && self.wVerticalAngle == other.wVerticalAngle && self.wHorizontalAngle == other.wHorizontalAngle
8618     }
8619 }
8620 impl ::std::cmp::Eq for KSAUDIO_MICROPHONE_COORDINATES {}
8621 unsafe impl ::windows::runtime::Abi for KSAUDIO_MICROPHONE_COORDINATES {
8622     type Abi = Self;
8623     type DefaultType = Self;
8624 }
8625 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8626 #[repr(C)]
8627 pub struct KSAUDIO_MIC_ARRAY_GEOMETRY {
8628     pub usVersion: u16,
8629     pub usMicArrayType: u16,
8630     pub wVerticalAngleBegin: i16,
8631     pub wVerticalAngleEnd: i16,
8632     pub wHorizontalAngleBegin: i16,
8633     pub wHorizontalAngleEnd: i16,
8634     pub usFrequencyBandLo: u16,
8635     pub usFrequencyBandHi: u16,
8636     pub usNumberOfMicrophones: u16,
8637     pub KsMicCoord: [KSAUDIO_MICROPHONE_COORDINATES; 1],
8638 }
8639 impl KSAUDIO_MIC_ARRAY_GEOMETRY {}
8640 impl ::std::default::Default for KSAUDIO_MIC_ARRAY_GEOMETRY {
default() -> Self8641     fn default() -> Self {
8642         unsafe { ::std::mem::zeroed() }
8643     }
8644 }
8645 impl ::std::fmt::Debug for KSAUDIO_MIC_ARRAY_GEOMETRY {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8646     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8647         fmt.debug_struct("KSAUDIO_MIC_ARRAY_GEOMETRY")
8648             .field("usVersion", &self.usVersion)
8649             .field("usMicArrayType", &self.usMicArrayType)
8650             .field("wVerticalAngleBegin", &self.wVerticalAngleBegin)
8651             .field("wVerticalAngleEnd", &self.wVerticalAngleEnd)
8652             .field("wHorizontalAngleBegin", &self.wHorizontalAngleBegin)
8653             .field("wHorizontalAngleEnd", &self.wHorizontalAngleEnd)
8654             .field("usFrequencyBandLo", &self.usFrequencyBandLo)
8655             .field("usFrequencyBandHi", &self.usFrequencyBandHi)
8656             .field("usNumberOfMicrophones", &self.usNumberOfMicrophones)
8657             .field("KsMicCoord", &self.KsMicCoord)
8658             .finish()
8659     }
8660 }
8661 impl ::std::cmp::PartialEq for KSAUDIO_MIC_ARRAY_GEOMETRY {
eq(&self, other: &Self) -> bool8662     fn eq(&self, other: &Self) -> bool {
8663         self.usVersion == other.usVersion
8664             && self.usMicArrayType == other.usMicArrayType
8665             && self.wVerticalAngleBegin == other.wVerticalAngleBegin
8666             && self.wVerticalAngleEnd == other.wVerticalAngleEnd
8667             && self.wHorizontalAngleBegin == other.wHorizontalAngleBegin
8668             && self.wHorizontalAngleEnd == other.wHorizontalAngleEnd
8669             && self.usFrequencyBandLo == other.usFrequencyBandLo
8670             && self.usFrequencyBandHi == other.usFrequencyBandHi
8671             && self.usNumberOfMicrophones == other.usNumberOfMicrophones
8672             && self.KsMicCoord == other.KsMicCoord
8673     }
8674 }
8675 impl ::std::cmp::Eq for KSAUDIO_MIC_ARRAY_GEOMETRY {}
8676 unsafe impl ::windows::runtime::Abi for KSAUDIO_MIC_ARRAY_GEOMETRY {
8677     type Abi = Self;
8678     type DefaultType = Self;
8679 }
8680 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8681 #[repr(C)]
8682 #[cfg(feature = "Win32_Foundation")]
8683 pub struct KSAUDIO_MIXCAP_TABLE {
8684     pub InputChannels: u32,
8685     pub OutputChannels: u32,
8686     pub Capabilities: [KSAUDIO_MIX_CAPS; 1],
8687 }
8688 #[cfg(feature = "Win32_Foundation")]
8689 impl KSAUDIO_MIXCAP_TABLE {}
8690 #[cfg(feature = "Win32_Foundation")]
8691 impl ::std::default::Default for KSAUDIO_MIXCAP_TABLE {
default() -> Self8692     fn default() -> Self {
8693         unsafe { ::std::mem::zeroed() }
8694     }
8695 }
8696 #[cfg(feature = "Win32_Foundation")]
8697 impl ::std::cmp::PartialEq for KSAUDIO_MIXCAP_TABLE {
eq(&self, _other: &Self) -> bool8698     fn eq(&self, _other: &Self) -> bool {
8699         unimplemented!()
8700     }
8701 }
8702 #[cfg(feature = "Win32_Foundation")]
8703 impl ::std::cmp::Eq for KSAUDIO_MIXCAP_TABLE {}
8704 #[cfg(feature = "Win32_Foundation")]
8705 unsafe impl ::windows::runtime::Abi for KSAUDIO_MIXCAP_TABLE {
8706     type Abi = Self;
8707     type DefaultType = Self;
8708 }
8709 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8710 #[repr(C)]
8711 #[cfg(feature = "Win32_Foundation")]
8712 pub struct KSAUDIO_MIXLEVEL {
8713     pub Mute: super::super::super::Foundation::BOOL,
8714     pub Level: i32,
8715 }
8716 #[cfg(feature = "Win32_Foundation")]
8717 impl KSAUDIO_MIXLEVEL {}
8718 #[cfg(feature = "Win32_Foundation")]
8719 impl ::std::default::Default for KSAUDIO_MIXLEVEL {
default() -> Self8720     fn default() -> Self {
8721         unsafe { ::std::mem::zeroed() }
8722     }
8723 }
8724 #[cfg(feature = "Win32_Foundation")]
8725 impl ::std::fmt::Debug for KSAUDIO_MIXLEVEL {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8726     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8727         fmt.debug_struct("KSAUDIO_MIXLEVEL").field("Mute", &self.Mute).field("Level", &self.Level).finish()
8728     }
8729 }
8730 #[cfg(feature = "Win32_Foundation")]
8731 impl ::std::cmp::PartialEq for KSAUDIO_MIXLEVEL {
eq(&self, other: &Self) -> bool8732     fn eq(&self, other: &Self) -> bool {
8733         self.Mute == other.Mute && self.Level == other.Level
8734     }
8735 }
8736 #[cfg(feature = "Win32_Foundation")]
8737 impl ::std::cmp::Eq for KSAUDIO_MIXLEVEL {}
8738 #[cfg(feature = "Win32_Foundation")]
8739 unsafe impl ::windows::runtime::Abi for KSAUDIO_MIXLEVEL {
8740     type Abi = Self;
8741     type DefaultType = Self;
8742 }
8743 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8744 #[repr(C)]
8745 #[cfg(feature = "Win32_Foundation")]
8746 pub struct KSAUDIO_MIX_CAPS {
8747     pub Mute: super::super::super::Foundation::BOOL,
8748     pub Minimum: i32,
8749     pub Maximum: i32,
8750     pub Anonymous: KSAUDIO_MIX_CAPS_0,
8751 }
8752 #[cfg(feature = "Win32_Foundation")]
8753 impl KSAUDIO_MIX_CAPS {}
8754 #[cfg(feature = "Win32_Foundation")]
8755 impl ::std::default::Default for KSAUDIO_MIX_CAPS {
default() -> Self8756     fn default() -> Self {
8757         unsafe { ::std::mem::zeroed() }
8758     }
8759 }
8760 #[cfg(feature = "Win32_Foundation")]
8761 impl ::std::cmp::PartialEq for KSAUDIO_MIX_CAPS {
eq(&self, _other: &Self) -> bool8762     fn eq(&self, _other: &Self) -> bool {
8763         unimplemented!()
8764     }
8765 }
8766 #[cfg(feature = "Win32_Foundation")]
8767 impl ::std::cmp::Eq for KSAUDIO_MIX_CAPS {}
8768 #[cfg(feature = "Win32_Foundation")]
8769 unsafe impl ::windows::runtime::Abi for KSAUDIO_MIX_CAPS {
8770     type Abi = Self;
8771     type DefaultType = Self;
8772 }
8773 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8774 #[repr(C)]
8775 pub union KSAUDIO_MIX_CAPS_0 {
8776     pub Reset: i32,
8777     pub Resolution: i32,
8778 }
8779 impl KSAUDIO_MIX_CAPS_0 {}
8780 impl ::std::default::Default for KSAUDIO_MIX_CAPS_0 {
default() -> Self8781     fn default() -> Self {
8782         unsafe { ::std::mem::zeroed() }
8783     }
8784 }
8785 impl ::std::cmp::PartialEq for KSAUDIO_MIX_CAPS_0 {
eq(&self, _other: &Self) -> bool8786     fn eq(&self, _other: &Self) -> bool {
8787         unimplemented!()
8788     }
8789 }
8790 impl ::std::cmp::Eq for KSAUDIO_MIX_CAPS_0 {}
8791 unsafe impl ::windows::runtime::Abi for KSAUDIO_MIX_CAPS_0 {
8792     type Abi = Self;
8793     type DefaultType = Self;
8794 }
8795 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8796 #[repr(C)]
8797 pub struct KSAUDIO_PACKETSIZE_CONSTRAINTS {
8798     pub MinPacketPeriodInHns: u32,
8799     pub PacketSizeFileAlignment: u32,
8800     pub Reserved: u32,
8801     pub NumProcessingModeConstraints: u32,
8802     pub ProcessingModeConstraints: [_KSAUDIO_PACKETSIZE_SIGNALPROCESSINGMODE_CONSTRAINT; 1],
8803 }
8804 impl KSAUDIO_PACKETSIZE_CONSTRAINTS {}
8805 impl ::std::default::Default for KSAUDIO_PACKETSIZE_CONSTRAINTS {
default() -> Self8806     fn default() -> Self {
8807         unsafe { ::std::mem::zeroed() }
8808     }
8809 }
8810 impl ::std::fmt::Debug for KSAUDIO_PACKETSIZE_CONSTRAINTS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8811     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8812         fmt.debug_struct("KSAUDIO_PACKETSIZE_CONSTRAINTS")
8813             .field("MinPacketPeriodInHns", &self.MinPacketPeriodInHns)
8814             .field("PacketSizeFileAlignment", &self.PacketSizeFileAlignment)
8815             .field("Reserved", &self.Reserved)
8816             .field("NumProcessingModeConstraints", &self.NumProcessingModeConstraints)
8817             .field("ProcessingModeConstraints", &self.ProcessingModeConstraints)
8818             .finish()
8819     }
8820 }
8821 impl ::std::cmp::PartialEq for KSAUDIO_PACKETSIZE_CONSTRAINTS {
eq(&self, other: &Self) -> bool8822     fn eq(&self, other: &Self) -> bool {
8823         self.MinPacketPeriodInHns == other.MinPacketPeriodInHns && self.PacketSizeFileAlignment == other.PacketSizeFileAlignment && self.Reserved == other.Reserved && self.NumProcessingModeConstraints == other.NumProcessingModeConstraints && self.ProcessingModeConstraints == other.ProcessingModeConstraints
8824     }
8825 }
8826 impl ::std::cmp::Eq for KSAUDIO_PACKETSIZE_CONSTRAINTS {}
8827 unsafe impl ::windows::runtime::Abi for KSAUDIO_PACKETSIZE_CONSTRAINTS {
8828     type Abi = Self;
8829     type DefaultType = Self;
8830 }
8831 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8832 #[repr(C)]
8833 pub struct KSAUDIO_PACKETSIZE_CONSTRAINTS2 {
8834     pub MinPacketPeriodInHns: u32,
8835     pub PacketSizeFileAlignment: u32,
8836     pub MaxPacketSizeInBytes: u32,
8837     pub NumProcessingModeConstraints: u32,
8838     pub ProcessingModeConstraints: [_KSAUDIO_PACKETSIZE_SIGNALPROCESSINGMODE_CONSTRAINT; 1],
8839 }
8840 impl KSAUDIO_PACKETSIZE_CONSTRAINTS2 {}
8841 impl ::std::default::Default for KSAUDIO_PACKETSIZE_CONSTRAINTS2 {
default() -> Self8842     fn default() -> Self {
8843         unsafe { ::std::mem::zeroed() }
8844     }
8845 }
8846 impl ::std::fmt::Debug for KSAUDIO_PACKETSIZE_CONSTRAINTS2 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8847     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8848         fmt.debug_struct("KSAUDIO_PACKETSIZE_CONSTRAINTS2")
8849             .field("MinPacketPeriodInHns", &self.MinPacketPeriodInHns)
8850             .field("PacketSizeFileAlignment", &self.PacketSizeFileAlignment)
8851             .field("MaxPacketSizeInBytes", &self.MaxPacketSizeInBytes)
8852             .field("NumProcessingModeConstraints", &self.NumProcessingModeConstraints)
8853             .field("ProcessingModeConstraints", &self.ProcessingModeConstraints)
8854             .finish()
8855     }
8856 }
8857 impl ::std::cmp::PartialEq for KSAUDIO_PACKETSIZE_CONSTRAINTS2 {
eq(&self, other: &Self) -> bool8858     fn eq(&self, other: &Self) -> bool {
8859         self.MinPacketPeriodInHns == other.MinPacketPeriodInHns && self.PacketSizeFileAlignment == other.PacketSizeFileAlignment && self.MaxPacketSizeInBytes == other.MaxPacketSizeInBytes && self.NumProcessingModeConstraints == other.NumProcessingModeConstraints && self.ProcessingModeConstraints == other.ProcessingModeConstraints
8860     }
8861 }
8862 impl ::std::cmp::Eq for KSAUDIO_PACKETSIZE_CONSTRAINTS2 {}
8863 unsafe impl ::windows::runtime::Abi for KSAUDIO_PACKETSIZE_CONSTRAINTS2 {
8864     type Abi = Self;
8865     type DefaultType = Self;
8866 }
8867 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8868 #[repr(C)]
8869 pub struct KSAUDIO_POSITION {
8870     pub PlayOffset: u64,
8871     pub WriteOffset: u64,
8872 }
8873 impl KSAUDIO_POSITION {}
8874 impl ::std::default::Default for KSAUDIO_POSITION {
default() -> Self8875     fn default() -> Self {
8876         unsafe { ::std::mem::zeroed() }
8877     }
8878 }
8879 impl ::std::fmt::Debug for KSAUDIO_POSITION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8880     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8881         fmt.debug_struct("KSAUDIO_POSITION").field("PlayOffset", &self.PlayOffset).field("WriteOffset", &self.WriteOffset).finish()
8882     }
8883 }
8884 impl ::std::cmp::PartialEq for KSAUDIO_POSITION {
eq(&self, other: &Self) -> bool8885     fn eq(&self, other: &Self) -> bool {
8886         self.PlayOffset == other.PlayOffset && self.WriteOffset == other.WriteOffset
8887     }
8888 }
8889 impl ::std::cmp::Eq for KSAUDIO_POSITION {}
8890 unsafe impl ::windows::runtime::Abi for KSAUDIO_POSITION {
8891     type Abi = Self;
8892     type DefaultType = Self;
8893 }
8894 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8895 #[repr(C)]
8896 pub struct KSAUDIO_POSITIONEX {
8897     pub TimerFrequency: i64,
8898     pub TimeStamp1: i64,
8899     pub Position: KSAUDIO_POSITION,
8900     pub TimeStamp2: i64,
8901 }
8902 impl KSAUDIO_POSITIONEX {}
8903 impl ::std::default::Default for KSAUDIO_POSITIONEX {
default() -> Self8904     fn default() -> Self {
8905         unsafe { ::std::mem::zeroed() }
8906     }
8907 }
8908 impl ::std::fmt::Debug for KSAUDIO_POSITIONEX {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8909     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8910         fmt.debug_struct("KSAUDIO_POSITIONEX").field("TimerFrequency", &self.TimerFrequency).field("TimeStamp1", &self.TimeStamp1).field("Position", &self.Position).field("TimeStamp2", &self.TimeStamp2).finish()
8911     }
8912 }
8913 impl ::std::cmp::PartialEq for KSAUDIO_POSITIONEX {
eq(&self, other: &Self) -> bool8914     fn eq(&self, other: &Self) -> bool {
8915         self.TimerFrequency == other.TimerFrequency && self.TimeStamp1 == other.TimeStamp1 && self.Position == other.Position && self.TimeStamp2 == other.TimeStamp2
8916     }
8917 }
8918 impl ::std::cmp::Eq for KSAUDIO_POSITIONEX {}
8919 unsafe impl ::windows::runtime::Abi for KSAUDIO_POSITIONEX {
8920     type Abi = Self;
8921     type DefaultType = Self;
8922 }
8923 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8924 #[repr(C)]
8925 pub struct KSAUDIO_PRESENTATION_POSITION {
8926     pub u64PositionInBlocks: u64,
8927     pub u64QPCPosition: u64,
8928 }
8929 impl KSAUDIO_PRESENTATION_POSITION {}
8930 impl ::std::default::Default for KSAUDIO_PRESENTATION_POSITION {
default() -> Self8931     fn default() -> Self {
8932         unsafe { ::std::mem::zeroed() }
8933     }
8934 }
8935 impl ::std::fmt::Debug for KSAUDIO_PRESENTATION_POSITION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8936     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8937         fmt.debug_struct("KSAUDIO_PRESENTATION_POSITION").field("u64PositionInBlocks", &self.u64PositionInBlocks).field("u64QPCPosition", &self.u64QPCPosition).finish()
8938     }
8939 }
8940 impl ::std::cmp::PartialEq for KSAUDIO_PRESENTATION_POSITION {
eq(&self, other: &Self) -> bool8941     fn eq(&self, other: &Self) -> bool {
8942         self.u64PositionInBlocks == other.u64PositionInBlocks && self.u64QPCPosition == other.u64QPCPosition
8943     }
8944 }
8945 impl ::std::cmp::Eq for KSAUDIO_PRESENTATION_POSITION {}
8946 unsafe impl ::windows::runtime::Abi for KSAUDIO_PRESENTATION_POSITION {
8947     type Abi = Self;
8948     type DefaultType = Self;
8949 }
8950 pub const KSAUDIO_QUALITY_ADVANCED: u32 = 3u32;
8951 pub const KSAUDIO_QUALITY_BASIC: u32 = 2u32;
8952 pub const KSAUDIO_QUALITY_PC: u32 = 1u32;
8953 pub const KSAUDIO_QUALITY_WORST: u32 = 0u32;
8954 pub const KSAUDIO_SPEAKER_DIRECTOUT: u32 = 0u32;
8955 pub const KSAUDIO_SPEAKER_GROUND_FRONT_CENTER: u32 = 4u32;
8956 pub const KSAUDIO_SPEAKER_GROUND_FRONT_LEFT: u32 = 1u32;
8957 pub const KSAUDIO_SPEAKER_GROUND_FRONT_RIGHT: u32 = 2u32;
8958 pub const KSAUDIO_SPEAKER_GROUND_REAR_LEFT: u32 = 16u32;
8959 pub const KSAUDIO_SPEAKER_GROUND_REAR_RIGHT: u32 = 32u32;
8960 pub const KSAUDIO_SPEAKER_MONO: u32 = 4u32;
8961 pub const KSAUDIO_SPEAKER_SUPER_WOOFER: u32 = 8u32;
8962 pub const KSAUDIO_SPEAKER_TOP_MIDDLE: u32 = 2048u32;
8963 pub const KSAUDIO_STEREO_SPEAKER_GEOMETRY_HEADPHONE: i32 = -1i32;
8964 pub const KSAUDIO_STEREO_SPEAKER_GEOMETRY_MAX: u32 = 180u32;
8965 pub const KSAUDIO_STEREO_SPEAKER_GEOMETRY_MIN: u32 = 5u32;
8966 pub const KSAUDIO_STEREO_SPEAKER_GEOMETRY_NARROW: u32 = 10u32;
8967 pub const KSAUDIO_STEREO_SPEAKER_GEOMETRY_WIDE: u32 = 20u32;
8968 pub const KSCAMERAPROFILE_BalancedVideoAndPhoto: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1800581143, 17095, 18977, [191, 227, 35, 240, 9, 20, 152, 135]);
8969 pub const KSCAMERAPROFILE_CompressedCamera: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(238341569, 10157, 17279, [171, 222, 2, 182, 41, 243, 123, 68]);
8970 pub const KSCAMERAPROFILE_FLAGS_FACEDETECTION: u64 = 8u64;
8971 pub const KSCAMERAPROFILE_FLAGS_PHOTOHDR: u64 = 4u64;
8972 pub const KSCAMERAPROFILE_FLAGS_PREVIEW_RES_MUSTMATCH: u64 = 32u64;
8973 pub const KSCAMERAPROFILE_FLAGS_VARIABLEPHOTOSEQUENCE: u64 = 16u64;
8974 pub const KSCAMERAPROFILE_FLAGS_VIDEOHDR: u64 = 2u64;
8975 pub const KSCAMERAPROFILE_FLAGS_VIDEOSTABLIZATION: u64 = 1u64;
8976 pub const KSCAMERAPROFILE_FaceAuth_Mode: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2167806754, 28683, 17734, [162, 212, 197, 46, 144, 123, 252, 39]);
8977 pub const KSCAMERAPROFILE_HDRWithWCGPhoto: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2616652287, 46421, 17957, [179, 38, 164, 109, 239, 49, 143, 183]);
8978 pub const KSCAMERAPROFILE_HDRWithWCGVideo: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1260897078, 18724, 18825, [185, 148, 253, 175, 29, 199, 205, 133]);
8979 pub const KSCAMERAPROFILE_HighFrameRate: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1450074387, 35893, 18663, [184, 159, 210, 63, 220, 18, 25, 220]);
8980 pub const KSCAMERAPROFILE_HighQualityPhoto: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(843319077, 38427, 19619, [181, 178, 133, 78, 113, 157, 158, 27]);
8981 pub const KSCAMERAPROFILE_Legacy: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3028897153, 25271, 20204, [135, 64, 128, 101, 140, 74, 157, 62]);
8982 pub const KSCAMERAPROFILE_PhotoSequence: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(37330333, 20200, 18874, [188, 7, 95, 241, 86, 83, 20, 19]);
8983 pub const KSCAMERAPROFILE_VariablePhotoSequence: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2683489110, 59226, 18865, [169, 40, 153, 133, 213, 148, 111, 135]);
8984 pub const KSCAMERAPROFILE_VideoConferencing: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3309587080, 57791, 17815, [178, 221, 158, 30, 173, 134, 75, 184]);
8985 pub const KSCAMERAPROFILE_VideoHDR8: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3572757740, 48639, 17172, [177, 212, 0, 142, 40, 31, 116, 231]);
8986 pub const KSCAMERAPROFILE_VideoRecording: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2699368424, 36748, 20335, [154, 87, 70, 252, 47, 100, 126, 192]);
8987 pub const KSCAMERA_EXTENDEDPROP_ADVANCEDPHOTO_AUTO: u64 = 1u64;
8988 pub const KSCAMERA_EXTENDEDPROP_ADVANCEDPHOTO_FNF: u64 = 4u64;
8989 pub const KSCAMERA_EXTENDEDPROP_ADVANCEDPHOTO_HDR: u64 = 2u64;
8990 pub const KSCAMERA_EXTENDEDPROP_ADVANCEDPHOTO_OFF: u64 = 0u64;
8991 pub const KSCAMERA_EXTENDEDPROP_ADVANCEDPHOTO_ULTRALOWLIGHT: u64 = 8u64;
8992 pub const KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_BLUR: u64 = 1u64;
8993 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8994 #[repr(C)]
8995 #[cfg(feature = "Win32_Foundation")]
8996 pub struct KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_CONFIGCAPS {
8997     pub Resolution: super::super::super::Foundation::SIZE,
8998     pub MaxFrameRate: KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_CONFIGCAPS_0,
8999     pub MaskResolution: super::super::super::Foundation::SIZE,
9000     pub SubType: ::windows::runtime::GUID,
9001 }
9002 #[cfg(feature = "Win32_Foundation")]
9003 impl KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_CONFIGCAPS {}
9004 #[cfg(feature = "Win32_Foundation")]
9005 impl ::std::default::Default for KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_CONFIGCAPS {
default() -> Self9006     fn default() -> Self {
9007         unsafe { ::std::mem::zeroed() }
9008     }
9009 }
9010 #[cfg(feature = "Win32_Foundation")]
9011 impl ::std::fmt::Debug for KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_CONFIGCAPS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9012     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9013         fmt.debug_struct("KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_CONFIGCAPS").field("Resolution", &self.Resolution).field("MaxFrameRate", &self.MaxFrameRate).field("MaskResolution", &self.MaskResolution).field("SubType", &self.SubType).finish()
9014     }
9015 }
9016 #[cfg(feature = "Win32_Foundation")]
9017 impl ::std::cmp::PartialEq for KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_CONFIGCAPS {
eq(&self, other: &Self) -> bool9018     fn eq(&self, other: &Self) -> bool {
9019         self.Resolution == other.Resolution && self.MaxFrameRate == other.MaxFrameRate && self.MaskResolution == other.MaskResolution && self.SubType == other.SubType
9020     }
9021 }
9022 #[cfg(feature = "Win32_Foundation")]
9023 impl ::std::cmp::Eq for KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_CONFIGCAPS {}
9024 #[cfg(feature = "Win32_Foundation")]
9025 unsafe impl ::windows::runtime::Abi for KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_CONFIGCAPS {
9026     type Abi = Self;
9027     type DefaultType = Self;
9028 }
9029 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9030 #[repr(C)]
9031 pub struct KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_CONFIGCAPS_0 {
9032     pub Numerator: i32,
9033     pub Denominator: i32,
9034 }
9035 impl KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_CONFIGCAPS_0 {}
9036 impl ::std::default::Default for KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_CONFIGCAPS_0 {
default() -> Self9037     fn default() -> Self {
9038         unsafe { ::std::mem::zeroed() }
9039     }
9040 }
9041 impl ::std::fmt::Debug for KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_CONFIGCAPS_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9042     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9043         fmt.debug_struct("_MaxFrameRate_e__Struct").field("Numerator", &self.Numerator).field("Denominator", &self.Denominator).finish()
9044     }
9045 }
9046 impl ::std::cmp::PartialEq for KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_CONFIGCAPS_0 {
eq(&self, other: &Self) -> bool9047     fn eq(&self, other: &Self) -> bool {
9048         self.Numerator == other.Numerator && self.Denominator == other.Denominator
9049     }
9050 }
9051 impl ::std::cmp::Eq for KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_CONFIGCAPS_0 {}
9052 unsafe impl ::windows::runtime::Abi for KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_CONFIGCAPS_0 {
9053     type Abi = Self;
9054     type DefaultType = Self;
9055 }
9056 pub const KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_MASK: u64 = 2u64;
9057 pub const KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_OFF: u64 = 0u64;
9058 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9059 #[repr(C)]
9060 pub struct KSCAMERA_EXTENDEDPROP_CAMERAOFFSET {
9061     pub PitchAngle: i32,
9062     pub YawAngle: i32,
9063     pub Flag: u32,
9064     pub Reserved: u32,
9065 }
9066 impl KSCAMERA_EXTENDEDPROP_CAMERAOFFSET {}
9067 impl ::std::default::Default for KSCAMERA_EXTENDEDPROP_CAMERAOFFSET {
default() -> Self9068     fn default() -> Self {
9069         unsafe { ::std::mem::zeroed() }
9070     }
9071 }
9072 impl ::std::fmt::Debug for KSCAMERA_EXTENDEDPROP_CAMERAOFFSET {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9073     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9074         fmt.debug_struct("KSCAMERA_EXTENDEDPROP_CAMERAOFFSET").field("PitchAngle", &self.PitchAngle).field("YawAngle", &self.YawAngle).field("Flag", &self.Flag).field("Reserved", &self.Reserved).finish()
9075     }
9076 }
9077 impl ::std::cmp::PartialEq for KSCAMERA_EXTENDEDPROP_CAMERAOFFSET {
eq(&self, other: &Self) -> bool9078     fn eq(&self, other: &Self) -> bool {
9079         self.PitchAngle == other.PitchAngle && self.YawAngle == other.YawAngle && self.Flag == other.Flag && self.Reserved == other.Reserved
9080     }
9081 }
9082 impl ::std::cmp::Eq for KSCAMERA_EXTENDEDPROP_CAMERAOFFSET {}
9083 unsafe impl ::windows::runtime::Abi for KSCAMERA_EXTENDEDPROP_CAMERAOFFSET {
9084     type Abi = Self;
9085     type DefaultType = Self;
9086 }
9087 pub const KSCAMERA_EXTENDEDPROP_CAPS_ASYNCCONTROL: u64 = 9223372036854775808u64;
9088 pub const KSCAMERA_EXTENDEDPROP_CAPS_CANCELLABLE: u64 = 4611686018427387904u64;
9089 pub const KSCAMERA_EXTENDEDPROP_CAPS_MASK: u64 = 18374686479671623680u64;
9090 pub const KSCAMERA_EXTENDEDPROP_CAPS_RESERVED: u64 = 18374686479671623680u64;
9091 pub const KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_AUTOFACEFRAMING: u64 = 1u64;
9092 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9093 #[repr(C)]
9094 pub struct KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGCAPS {
9095     pub ResolutionX: i32,
9096     pub ResolutionY: i32,
9097     pub PorchTop: i32,
9098     pub PorchLeft: i32,
9099     pub PorchBottom: i32,
9100     pub PorchRight: i32,
9101     pub NonUpscalingWindowSize: i32,
9102     pub MinWindowSize: i32,
9103     pub MaxWindowSize: i32,
9104     pub Reserved: i32,
9105 }
9106 impl KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGCAPS {}
9107 impl ::std::default::Default for KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGCAPS {
default() -> Self9108     fn default() -> Self {
9109         unsafe { ::std::mem::zeroed() }
9110     }
9111 }
9112 impl ::std::fmt::Debug for KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGCAPS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9113     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9114         fmt.debug_struct("KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGCAPS")
9115             .field("ResolutionX", &self.ResolutionX)
9116             .field("ResolutionY", &self.ResolutionY)
9117             .field("PorchTop", &self.PorchTop)
9118             .field("PorchLeft", &self.PorchLeft)
9119             .field("PorchBottom", &self.PorchBottom)
9120             .field("PorchRight", &self.PorchRight)
9121             .field("NonUpscalingWindowSize", &self.NonUpscalingWindowSize)
9122             .field("MinWindowSize", &self.MinWindowSize)
9123             .field("MaxWindowSize", &self.MaxWindowSize)
9124             .field("Reserved", &self.Reserved)
9125             .finish()
9126     }
9127 }
9128 impl ::std::cmp::PartialEq for KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGCAPS {
eq(&self, other: &Self) -> bool9129     fn eq(&self, other: &Self) -> bool {
9130         self.ResolutionX == other.ResolutionX && self.ResolutionY == other.ResolutionY && self.PorchTop == other.PorchTop && self.PorchLeft == other.PorchLeft && self.PorchBottom == other.PorchBottom && self.PorchRight == other.PorchRight && self.NonUpscalingWindowSize == other.NonUpscalingWindowSize && self.MinWindowSize == other.MinWindowSize && self.MaxWindowSize == other.MaxWindowSize && self.Reserved == other.Reserved
9131     }
9132 }
9133 impl ::std::cmp::Eq for KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGCAPS {}
9134 unsafe impl ::windows::runtime::Abi for KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGCAPS {
9135     type Abi = Self;
9136     type DefaultType = Self;
9137 }
9138 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9139 #[repr(C)]
9140 pub struct KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGCAPSHEADER {
9141     pub Size: u32,
9142     pub Count: u32,
9143 }
9144 impl KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGCAPSHEADER {}
9145 impl ::std::default::Default for KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGCAPSHEADER {
default() -> Self9146     fn default() -> Self {
9147         unsafe { ::std::mem::zeroed() }
9148     }
9149 }
9150 impl ::std::fmt::Debug for KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGCAPSHEADER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9151     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9152         fmt.debug_struct("KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGCAPSHEADER").field("Size", &self.Size).field("Count", &self.Count).finish()
9153     }
9154 }
9155 impl ::std::cmp::PartialEq for KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGCAPSHEADER {
eq(&self, other: &Self) -> bool9156     fn eq(&self, other: &Self) -> bool {
9157         self.Size == other.Size && self.Count == other.Count
9158     }
9159 }
9160 impl ::std::cmp::Eq for KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGCAPSHEADER {}
9161 unsafe impl ::windows::runtime::Abi for KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGCAPSHEADER {
9162     type Abi = Self;
9163     type DefaultType = Self;
9164 }
9165 pub const KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_MANUAL: u64 = 0u64;
9166 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9167 #[repr(C)]
9168 pub struct KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_SETTING {
9169     pub OriginX: i32,
9170     pub OriginY: i32,
9171     pub WindowSize: i32,
9172     pub Reserved: u32,
9173 }
9174 impl KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_SETTING {}
9175 impl ::std::default::Default for KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_SETTING {
default() -> Self9176     fn default() -> Self {
9177         unsafe { ::std::mem::zeroed() }
9178     }
9179 }
9180 impl ::std::fmt::Debug for KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_SETTING {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9181     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9182         fmt.debug_struct("KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_SETTING").field("OriginX", &self.OriginX).field("OriginY", &self.OriginY).field("WindowSize", &self.WindowSize).field("Reserved", &self.Reserved).finish()
9183     }
9184 }
9185 impl ::std::cmp::PartialEq for KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_SETTING {
eq(&self, other: &Self) -> bool9186     fn eq(&self, other: &Self) -> bool {
9187         self.OriginX == other.OriginX && self.OriginY == other.OriginY && self.WindowSize == other.WindowSize && self.Reserved == other.Reserved
9188     }
9189 }
9190 impl ::std::cmp::Eq for KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_SETTING {}
9191 unsafe impl ::windows::runtime::Abi for KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_SETTING {
9192     type Abi = Self;
9193     type DefaultType = Self;
9194 }
9195 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9196 #[repr(C)]
9197 pub struct KSCAMERA_EXTENDEDPROP_EVCOMPENSATION {
9198     pub Mode: u32,
9199     pub Min: i32,
9200     pub Max: i32,
9201     pub Value: i32,
9202     pub Reserved: u64,
9203 }
9204 impl KSCAMERA_EXTENDEDPROP_EVCOMPENSATION {}
9205 impl ::std::default::Default for KSCAMERA_EXTENDEDPROP_EVCOMPENSATION {
default() -> Self9206     fn default() -> Self {
9207         unsafe { ::std::mem::zeroed() }
9208     }
9209 }
9210 impl ::std::fmt::Debug for KSCAMERA_EXTENDEDPROP_EVCOMPENSATION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9211     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9212         fmt.debug_struct("KSCAMERA_EXTENDEDPROP_EVCOMPENSATION").field("Mode", &self.Mode).field("Min", &self.Min).field("Max", &self.Max).field("Value", &self.Value).field("Reserved", &self.Reserved).finish()
9213     }
9214 }
9215 impl ::std::cmp::PartialEq for KSCAMERA_EXTENDEDPROP_EVCOMPENSATION {
eq(&self, other: &Self) -> bool9216     fn eq(&self, other: &Self) -> bool {
9217         self.Mode == other.Mode && self.Min == other.Min && self.Max == other.Max && self.Value == other.Value && self.Reserved == other.Reserved
9218     }
9219 }
9220 impl ::std::cmp::Eq for KSCAMERA_EXTENDEDPROP_EVCOMPENSATION {}
9221 unsafe impl ::windows::runtime::Abi for KSCAMERA_EXTENDEDPROP_EVCOMPENSATION {
9222     type Abi = Self;
9223     type DefaultType = Self;
9224 }
9225 pub const KSCAMERA_EXTENDEDPROP_EVCOMP_FULLSTEP: u64 = 16u64;
9226 pub const KSCAMERA_EXTENDEDPROP_EVCOMP_HALFSTEP: u64 = 8u64;
9227 pub const KSCAMERA_EXTENDEDPROP_EVCOMP_QUARTERSTEP: u64 = 2u64;
9228 pub const KSCAMERA_EXTENDEDPROP_EVCOMP_SIXTHSTEP: u64 = 1u64;
9229 pub const KSCAMERA_EXTENDEDPROP_EVCOMP_THIRDSTEP: u64 = 4u64;
9230 pub const KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_OFF: u64 = 0u64;
9231 pub const KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_ON: u64 = 1u64;
9232 pub const KSCAMERA_EXTENDEDPROP_FACEAUTH_MODE_ALTERNATIVE_FRAME_ILLUMINATION: u64 = 2u64;
9233 pub const KSCAMERA_EXTENDEDPROP_FACEAUTH_MODE_BACKGROUND_SUBTRACTION: u64 = 4u64;
9234 pub const KSCAMERA_EXTENDEDPROP_FACEAUTH_MODE_DISABLED: u64 = 1u64;
9235 pub const KSCAMERA_EXTENDEDPROP_FACEDETECTION_BLINK: u64 = 8u64;
9236 pub const KSCAMERA_EXTENDEDPROP_FACEDETECTION_OFF: u64 = 0u64;
9237 pub const KSCAMERA_EXTENDEDPROP_FACEDETECTION_ON: u64 = 1u64;
9238 pub const KSCAMERA_EXTENDEDPROP_FACEDETECTION_PHOTO: u64 = 4u64;
9239 pub const KSCAMERA_EXTENDEDPROP_FACEDETECTION_PREVIEW: u64 = 1u64;
9240 pub const KSCAMERA_EXTENDEDPROP_FACEDETECTION_SMILE: u64 = 16u64;
9241 pub const KSCAMERA_EXTENDEDPROP_FACEDETECTION_VIDEO: u64 = 2u64;
9242 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9243 #[repr(C)]
9244 pub struct KSCAMERA_EXTENDEDPROP_FIELDOFVIEW {
9245     pub NormalizedFocalLengthX: u32,
9246     pub NormalizedFocalLengthY: u32,
9247     pub Flag: u32,
9248     pub Reserved: u32,
9249 }
9250 impl KSCAMERA_EXTENDEDPROP_FIELDOFVIEW {}
9251 impl ::std::default::Default for KSCAMERA_EXTENDEDPROP_FIELDOFVIEW {
default() -> Self9252     fn default() -> Self {
9253         unsafe { ::std::mem::zeroed() }
9254     }
9255 }
9256 impl ::std::fmt::Debug for KSCAMERA_EXTENDEDPROP_FIELDOFVIEW {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9257     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9258         fmt.debug_struct("KSCAMERA_EXTENDEDPROP_FIELDOFVIEW").field("NormalizedFocalLengthX", &self.NormalizedFocalLengthX).field("NormalizedFocalLengthY", &self.NormalizedFocalLengthY).field("Flag", &self.Flag).field("Reserved", &self.Reserved).finish()
9259     }
9260 }
9261 impl ::std::cmp::PartialEq for KSCAMERA_EXTENDEDPROP_FIELDOFVIEW {
eq(&self, other: &Self) -> bool9262     fn eq(&self, other: &Self) -> bool {
9263         self.NormalizedFocalLengthX == other.NormalizedFocalLengthX && self.NormalizedFocalLengthY == other.NormalizedFocalLengthY && self.Flag == other.Flag && self.Reserved == other.Reserved
9264     }
9265 }
9266 impl ::std::cmp::Eq for KSCAMERA_EXTENDEDPROP_FIELDOFVIEW {}
9267 unsafe impl ::windows::runtime::Abi for KSCAMERA_EXTENDEDPROP_FIELDOFVIEW {
9268     type Abi = Self;
9269     type DefaultType = Self;
9270 }
9271 pub const KSCAMERA_EXTENDEDPROP_FILTERSCOPE: u32 = 4294967295u32;
9272 pub const KSCAMERA_EXTENDEDPROP_FLAG_CANCELOPERATION: u64 = 9223372036854775808u64;
9273 pub const KSCAMERA_EXTENDEDPROP_FLAG_MASK: u64 = 18374686479671623680u64;
9274 pub const KSCAMERA_EXTENDEDPROP_FLASH_ASSISTANT_AUTO: u64 = 256u64;
9275 pub const KSCAMERA_EXTENDEDPROP_FLASH_ASSISTANT_OFF: u64 = 0u64;
9276 pub const KSCAMERA_EXTENDEDPROP_FLASH_ASSISTANT_ON: u64 = 128u64;
9277 pub const KSCAMERA_EXTENDEDPROP_FLASH_AUTO: u64 = 4u64;
9278 pub const KSCAMERA_EXTENDEDPROP_FLASH_AUTO_ADJUSTABLEPOWER: u64 = 8u64;
9279 pub const KSCAMERA_EXTENDEDPROP_FLASH_MULTIFLASHSUPPORTED: u64 = 64u64;
9280 pub const KSCAMERA_EXTENDEDPROP_FLASH_OFF: u64 = 0u64;
9281 pub const KSCAMERA_EXTENDEDPROP_FLASH_ON: u64 = 1u64;
9282 pub const KSCAMERA_EXTENDEDPROP_FLASH_ON_ADJUSTABLEPOWER: u64 = 2u64;
9283 pub const KSCAMERA_EXTENDEDPROP_FLASH_REDEYEREDUCTION: u64 = 16u64;
9284 pub const KSCAMERA_EXTENDEDPROP_FLASH_SINGLEFLASH: u64 = 32u64;
9285 pub const KSCAMERA_EXTENDEDPROP_FOCUSPRIORITY_OFF: u64 = 0u64;
9286 pub const KSCAMERA_EXTENDEDPROP_FOCUSPRIORITY_ON: u64 = 1u64;
9287 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9288 #[repr(transparent)]
9289 pub struct KSCAMERA_EXTENDEDPROP_FOCUSSTATE(pub i32);
9290 pub const KSCAMERA_EXTENDEDPROP_FOCUSSTATE_UNINITIALIZED: KSCAMERA_EXTENDEDPROP_FOCUSSTATE = KSCAMERA_EXTENDEDPROP_FOCUSSTATE(0i32);
9291 pub const KSCAMERA_EXTENDEDPROP_FOCUSSTATE_LOST: KSCAMERA_EXTENDEDPROP_FOCUSSTATE = KSCAMERA_EXTENDEDPROP_FOCUSSTATE(1i32);
9292 pub const KSCAMERA_EXTENDEDPROP_FOCUSSTATE_SEARCHING: KSCAMERA_EXTENDEDPROP_FOCUSSTATE = KSCAMERA_EXTENDEDPROP_FOCUSSTATE(2i32);
9293 pub const KSCAMERA_EXTENDEDPROP_FOCUSSTATE_FOCUSED: KSCAMERA_EXTENDEDPROP_FOCUSSTATE = KSCAMERA_EXTENDEDPROP_FOCUSSTATE(3i32);
9294 pub const KSCAMERA_EXTENDEDPROP_FOCUSSTATE_FAILED: KSCAMERA_EXTENDEDPROP_FOCUSSTATE = KSCAMERA_EXTENDEDPROP_FOCUSSTATE(4i32);
9295 impl ::std::convert::From<i32> for KSCAMERA_EXTENDEDPROP_FOCUSSTATE {
from(value: i32) -> Self9296     fn from(value: i32) -> Self {
9297         Self(value)
9298     }
9299 }
9300 unsafe impl ::windows::runtime::Abi for KSCAMERA_EXTENDEDPROP_FOCUSSTATE {
9301     type Abi = Self;
9302     type DefaultType = Self;
9303 }
9304 pub const KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS: u64 = 256u64;
9305 pub const KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUSLOCK: u64 = 512u64;
9306 pub const KSCAMERA_EXTENDEDPROP_FOCUS_DISTANCE_HYPERFOCAL: u64 = 33554432u64;
9307 pub const KSCAMERA_EXTENDEDPROP_FOCUS_DISTANCE_INFINITY: u64 = 16777216u64;
9308 pub const KSCAMERA_EXTENDEDPROP_FOCUS_DISTANCE_NEAREST: u64 = 67108864u64;
9309 pub const KSCAMERA_EXTENDEDPROP_FOCUS_DRIVERFALLBACK_OFF: u64 = 2048u64;
9310 pub const KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_FULLRANGE: u64 = 262144u64;
9311 pub const KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_HYPERFOCAL: u64 = 1048576u64;
9312 pub const KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_INFINITY: u64 = 524288u64;
9313 pub const KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_MACRO: u64 = 65536u64;
9314 pub const KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_NORMAL: u64 = 131072u64;
9315 pub const KSCAMERA_EXTENDEDPROP_FOCUS_REGIONBASED: u64 = 4096u64;
9316 pub const KSCAMERA_EXTENDEDPROP_FOCUS_UNLOCK: u64 = 1024u64;
9317 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9318 #[repr(C)]
9319 pub struct KSCAMERA_EXTENDEDPROP_HEADER {
9320     pub Version: u32,
9321     pub PinId: u32,
9322     pub Size: u32,
9323     pub Result: u32,
9324     pub Flags: u64,
9325     pub Capability: u64,
9326 }
9327 impl KSCAMERA_EXTENDEDPROP_HEADER {}
9328 impl ::std::default::Default for KSCAMERA_EXTENDEDPROP_HEADER {
default() -> Self9329     fn default() -> Self {
9330         unsafe { ::std::mem::zeroed() }
9331     }
9332 }
9333 impl ::std::fmt::Debug for KSCAMERA_EXTENDEDPROP_HEADER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9334     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9335         fmt.debug_struct("KSCAMERA_EXTENDEDPROP_HEADER").field("Version", &self.Version).field("PinId", &self.PinId).field("Size", &self.Size).field("Result", &self.Result).field("Flags", &self.Flags).field("Capability", &self.Capability).finish()
9336     }
9337 }
9338 impl ::std::cmp::PartialEq for KSCAMERA_EXTENDEDPROP_HEADER {
eq(&self, other: &Self) -> bool9339     fn eq(&self, other: &Self) -> bool {
9340         self.Version == other.Version && self.PinId == other.PinId && self.Size == other.Size && self.Result == other.Result && self.Flags == other.Flags && self.Capability == other.Capability
9341     }
9342 }
9343 impl ::std::cmp::Eq for KSCAMERA_EXTENDEDPROP_HEADER {}
9344 unsafe impl ::windows::runtime::Abi for KSCAMERA_EXTENDEDPROP_HEADER {
9345     type Abi = Self;
9346     type DefaultType = Self;
9347 }
9348 pub const KSCAMERA_EXTENDEDPROP_HISTOGRAM_OFF: u64 = 0u64;
9349 pub const KSCAMERA_EXTENDEDPROP_HISTOGRAM_ON: u64 = 1u64;
9350 pub const KSCAMERA_EXTENDEDPROP_IRTORCHMODE_ALTERNATING_FRAME_ILLUMINATION: u64 = 4u64;
9351 pub const KSCAMERA_EXTENDEDPROP_IRTORCHMODE_ALWAYS_ON: u64 = 2u64;
9352 pub const KSCAMERA_EXTENDEDPROP_IRTORCHMODE_OFF: u64 = 1u64;
9353 pub const KSCAMERA_EXTENDEDPROP_ISO_100: u64 = 8u64;
9354 pub const KSCAMERA_EXTENDEDPROP_ISO_12800: u64 = 1024u64;
9355 pub const KSCAMERA_EXTENDEDPROP_ISO_1600: u64 = 128u64;
9356 pub const KSCAMERA_EXTENDEDPROP_ISO_200: u64 = 16u64;
9357 pub const KSCAMERA_EXTENDEDPROP_ISO_25600: u64 = 2048u64;
9358 pub const KSCAMERA_EXTENDEDPROP_ISO_3200: u64 = 256u64;
9359 pub const KSCAMERA_EXTENDEDPROP_ISO_400: u64 = 32u64;
9360 pub const KSCAMERA_EXTENDEDPROP_ISO_50: u64 = 2u64;
9361 pub const KSCAMERA_EXTENDEDPROP_ISO_6400: u64 = 512u64;
9362 pub const KSCAMERA_EXTENDEDPROP_ISO_80: u64 = 4u64;
9363 pub const KSCAMERA_EXTENDEDPROP_ISO_800: u64 = 64u64;
9364 pub const KSCAMERA_EXTENDEDPROP_ISO_AUTO: u64 = 1u64;
9365 pub const KSCAMERA_EXTENDEDPROP_ISO_MANUAL: u64 = 36028797018963968u64;
9366 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9367 #[repr(C)]
9368 pub struct KSCAMERA_EXTENDEDPROP_METADATAINFO {
9369     pub BufferAlignment: i32,
9370     pub MaxMetadataBufferSize: u32,
9371 }
9372 impl KSCAMERA_EXTENDEDPROP_METADATAINFO {}
9373 impl ::std::default::Default for KSCAMERA_EXTENDEDPROP_METADATAINFO {
default() -> Self9374     fn default() -> Self {
9375         unsafe { ::std::mem::zeroed() }
9376     }
9377 }
9378 impl ::std::fmt::Debug for KSCAMERA_EXTENDEDPROP_METADATAINFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9379     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9380         fmt.debug_struct("KSCAMERA_EXTENDEDPROP_METADATAINFO").field("BufferAlignment", &self.BufferAlignment).field("MaxMetadataBufferSize", &self.MaxMetadataBufferSize).finish()
9381     }
9382 }
9383 impl ::std::cmp::PartialEq for KSCAMERA_EXTENDEDPROP_METADATAINFO {
eq(&self, other: &Self) -> bool9384     fn eq(&self, other: &Self) -> bool {
9385         self.BufferAlignment == other.BufferAlignment && self.MaxMetadataBufferSize == other.MaxMetadataBufferSize
9386     }
9387 }
9388 impl ::std::cmp::Eq for KSCAMERA_EXTENDEDPROP_METADATAINFO {}
9389 unsafe impl ::windows::runtime::Abi for KSCAMERA_EXTENDEDPROP_METADATAINFO {
9390     type Abi = Self;
9391     type DefaultType = Self;
9392 }
9393 pub const KSCAMERA_EXTENDEDPROP_METADATA_ALIGNMENTREQUIRED: u64 = 256u64;
9394 pub const KSCAMERA_EXTENDEDPROP_METADATA_MEMORYTYPE_MASK: u64 = 255u64;
9395 pub const KSCAMERA_EXTENDEDPROP_METADATA_SYSTEMMEMORY: u64 = 1u64;
9396 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9397 #[repr(transparent)]
9398 pub struct KSCAMERA_EXTENDEDPROP_MetadataAlignment(pub i32);
9399 pub const KSCAMERA_EXTENDEDPROP_MetadataAlignment_16: KSCAMERA_EXTENDEDPROP_MetadataAlignment = KSCAMERA_EXTENDEDPROP_MetadataAlignment(4i32);
9400 pub const KSCAMERA_EXTENDEDPROP_MetadataAlignment_32: KSCAMERA_EXTENDEDPROP_MetadataAlignment = KSCAMERA_EXTENDEDPROP_MetadataAlignment(5i32);
9401 pub const KSCAMERA_EXTENDEDPROP_MetadataAlignment_64: KSCAMERA_EXTENDEDPROP_MetadataAlignment = KSCAMERA_EXTENDEDPROP_MetadataAlignment(6i32);
9402 pub const KSCAMERA_EXTENDEDPROP_MetadataAlignment_128: KSCAMERA_EXTENDEDPROP_MetadataAlignment = KSCAMERA_EXTENDEDPROP_MetadataAlignment(7i32);
9403 pub const KSCAMERA_EXTENDEDPROP_MetadataAlignment_256: KSCAMERA_EXTENDEDPROP_MetadataAlignment = KSCAMERA_EXTENDEDPROP_MetadataAlignment(8i32);
9404 pub const KSCAMERA_EXTENDEDPROP_MetadataAlignment_512: KSCAMERA_EXTENDEDPROP_MetadataAlignment = KSCAMERA_EXTENDEDPROP_MetadataAlignment(9i32);
9405 pub const KSCAMERA_EXTENDEDPROP_MetadataAlignment_1024: KSCAMERA_EXTENDEDPROP_MetadataAlignment = KSCAMERA_EXTENDEDPROP_MetadataAlignment(10i32);
9406 pub const KSCAMERA_EXTENDEDPROP_MetadataAlignment_2048: KSCAMERA_EXTENDEDPROP_MetadataAlignment = KSCAMERA_EXTENDEDPROP_MetadataAlignment(11i32);
9407 pub const KSCAMERA_EXTENDEDPROP_MetadataAlignment_4096: KSCAMERA_EXTENDEDPROP_MetadataAlignment = KSCAMERA_EXTENDEDPROP_MetadataAlignment(12i32);
9408 pub const KSCAMERA_EXTENDEDPROP_MetadataAlignment_8192: KSCAMERA_EXTENDEDPROP_MetadataAlignment = KSCAMERA_EXTENDEDPROP_MetadataAlignment(13i32);
9409 impl ::std::convert::From<i32> for KSCAMERA_EXTENDEDPROP_MetadataAlignment {
from(value: i32) -> Self9410     fn from(value: i32) -> Self {
9411         Self(value)
9412     }
9413 }
9414 unsafe impl ::windows::runtime::Abi for KSCAMERA_EXTENDEDPROP_MetadataAlignment {
9415     type Abi = Self;
9416     type DefaultType = Self;
9417 }
9418 pub const KSCAMERA_EXTENDEDPROP_OIS_AUTO: u64 = 2u64;
9419 pub const KSCAMERA_EXTENDEDPROP_OIS_OFF: u64 = 0u64;
9420 pub const KSCAMERA_EXTENDEDPROP_OIS_ON: u64 = 1u64;
9421 pub const KSCAMERA_EXTENDEDPROP_OPTIMIZATION_DEFAULT: u64 = 0u64;
9422 pub const KSCAMERA_EXTENDEDPROP_OPTIMIZATION_LATENCY: u64 = 8u64;
9423 pub const KSCAMERA_EXTENDEDPROP_OPTIMIZATION_PHOTO: u64 = 1u64;
9424 pub const KSCAMERA_EXTENDEDPROP_OPTIMIZATION_POWER: u64 = 16u64;
9425 pub const KSCAMERA_EXTENDEDPROP_OPTIMIZATION_QUALITY: u64 = 4u64;
9426 pub const KSCAMERA_EXTENDEDPROP_OPTIMIZATION_VIDEO: u64 = 2u64;
9427 pub const KSCAMERA_EXTENDEDPROP_PHOTOCONFIRMATION_OFF: u64 = 0u64;
9428 pub const KSCAMERA_EXTENDEDPROP_PHOTOCONFIRMATION_ON: u64 = 1u64;
9429 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9430 #[repr(C)]
9431 pub struct KSCAMERA_EXTENDEDPROP_PHOTOMODE {
9432     pub RequestedHistoryFrames: u32,
9433     pub MaxHistoryFrames: u32,
9434     pub SubMode: u32,
9435     pub Reserved: u32,
9436 }
9437 impl KSCAMERA_EXTENDEDPROP_PHOTOMODE {}
9438 impl ::std::default::Default for KSCAMERA_EXTENDEDPROP_PHOTOMODE {
default() -> Self9439     fn default() -> Self {
9440         unsafe { ::std::mem::zeroed() }
9441     }
9442 }
9443 impl ::std::fmt::Debug for KSCAMERA_EXTENDEDPROP_PHOTOMODE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9444     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9445         fmt.debug_struct("KSCAMERA_EXTENDEDPROP_PHOTOMODE").field("RequestedHistoryFrames", &self.RequestedHistoryFrames).field("MaxHistoryFrames", &self.MaxHistoryFrames).field("SubMode", &self.SubMode).field("Reserved", &self.Reserved).finish()
9446     }
9447 }
9448 impl ::std::cmp::PartialEq for KSCAMERA_EXTENDEDPROP_PHOTOMODE {
eq(&self, other: &Self) -> bool9449     fn eq(&self, other: &Self) -> bool {
9450         self.RequestedHistoryFrames == other.RequestedHistoryFrames && self.MaxHistoryFrames == other.MaxHistoryFrames && self.SubMode == other.SubMode && self.Reserved == other.Reserved
9451     }
9452 }
9453 impl ::std::cmp::Eq for KSCAMERA_EXTENDEDPROP_PHOTOMODE {}
9454 unsafe impl ::windows::runtime::Abi for KSCAMERA_EXTENDEDPROP_PHOTOMODE {
9455     type Abi = Self;
9456     type DefaultType = Self;
9457 }
9458 pub const KSCAMERA_EXTENDEDPROP_PHOTOMODE_NORMAL: u64 = 0u64;
9459 pub const KSCAMERA_EXTENDEDPROP_PHOTOMODE_SEQUENCE: u64 = 1u64;
9460 pub const KSCAMERA_EXTENDEDPROP_PHOTOMODE_SEQUENCE_SUB_NONE: u32 = 0u32;
9461 pub const KSCAMERA_EXTENDEDPROP_PHOTOMODE_SEQUENCE_SUB_VARIABLE: u32 = 1u32;
9462 pub const KSCAMERA_EXTENDEDPROP_PHOTOTHUMBNAIL_16X: u64 = 8u64;
9463 pub const KSCAMERA_EXTENDEDPROP_PHOTOTHUMBNAIL_2X: u64 = 1u64;
9464 pub const KSCAMERA_EXTENDEDPROP_PHOTOTHUMBNAIL_4X: u64 = 2u64;
9465 pub const KSCAMERA_EXTENDEDPROP_PHOTOTHUMBNAIL_8X: u64 = 4u64;
9466 pub const KSCAMERA_EXTENDEDPROP_PHOTOTHUMBNAIL_DISABLE: u64 = 0u64;
9467 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9468 #[repr(C)]
9469 pub struct KSCAMERA_EXTENDEDPROP_PROFILE {
9470     pub ProfileId: ::windows::runtime::GUID,
9471     pub Index: u32,
9472     pub Reserved: u32,
9473 }
9474 impl KSCAMERA_EXTENDEDPROP_PROFILE {}
9475 impl ::std::default::Default for KSCAMERA_EXTENDEDPROP_PROFILE {
default() -> Self9476     fn default() -> Self {
9477         unsafe { ::std::mem::zeroed() }
9478     }
9479 }
9480 impl ::std::fmt::Debug for KSCAMERA_EXTENDEDPROP_PROFILE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9481     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9482         fmt.debug_struct("KSCAMERA_EXTENDEDPROP_PROFILE").field("ProfileId", &self.ProfileId).field("Index", &self.Index).field("Reserved", &self.Reserved).finish()
9483     }
9484 }
9485 impl ::std::cmp::PartialEq for KSCAMERA_EXTENDEDPROP_PROFILE {
eq(&self, other: &Self) -> bool9486     fn eq(&self, other: &Self) -> bool {
9487         self.ProfileId == other.ProfileId && self.Index == other.Index && self.Reserved == other.Reserved
9488     }
9489 }
9490 impl ::std::cmp::Eq for KSCAMERA_EXTENDEDPROP_PROFILE {}
9491 unsafe impl ::windows::runtime::Abi for KSCAMERA_EXTENDEDPROP_PROFILE {
9492     type Abi = Self;
9493     type DefaultType = Self;
9494 }
9495 pub const KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_DYNAMIC: u64 = 2u64;
9496 pub const KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_OFF: u64 = 0u64;
9497 pub const KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_ON: u64 = 1u64;
9498 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9499 #[repr(transparent)]
9500 pub struct KSCAMERA_EXTENDEDPROP_ROITYPE(pub i32);
9501 pub const KSCAMERA_EXTENDEDPROP_ROITYPE_UNKNOWN: KSCAMERA_EXTENDEDPROP_ROITYPE = KSCAMERA_EXTENDEDPROP_ROITYPE(0i32);
9502 pub const KSCAMERA_EXTENDEDPROP_ROITYPE_FACE: KSCAMERA_EXTENDEDPROP_ROITYPE = KSCAMERA_EXTENDEDPROP_ROITYPE(1i32);
9503 impl ::std::convert::From<i32> for KSCAMERA_EXTENDEDPROP_ROITYPE {
from(value: i32) -> Self9504     fn from(value: i32) -> Self {
9505         Self(value)
9506     }
9507 }
9508 unsafe impl ::windows::runtime::Abi for KSCAMERA_EXTENDEDPROP_ROITYPE {
9509     type Abi = Self;
9510     type DefaultType = Self;
9511 }
9512 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9513 #[repr(C)]
9514 pub struct KSCAMERA_EXTENDEDPROP_ROI_CONFIGCAPS {
9515     pub ControlId: u32,
9516     pub MaxNumberOfROIs: u32,
9517     pub Capability: u64,
9518 }
9519 impl KSCAMERA_EXTENDEDPROP_ROI_CONFIGCAPS {}
9520 impl ::std::default::Default for KSCAMERA_EXTENDEDPROP_ROI_CONFIGCAPS {
default() -> Self9521     fn default() -> Self {
9522         unsafe { ::std::mem::zeroed() }
9523     }
9524 }
9525 impl ::std::fmt::Debug for KSCAMERA_EXTENDEDPROP_ROI_CONFIGCAPS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9526     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9527         fmt.debug_struct("KSCAMERA_EXTENDEDPROP_ROI_CONFIGCAPS").field("ControlId", &self.ControlId).field("MaxNumberOfROIs", &self.MaxNumberOfROIs).field("Capability", &self.Capability).finish()
9528     }
9529 }
9530 impl ::std::cmp::PartialEq for KSCAMERA_EXTENDEDPROP_ROI_CONFIGCAPS {
eq(&self, other: &Self) -> bool9531     fn eq(&self, other: &Self) -> bool {
9532         self.ControlId == other.ControlId && self.MaxNumberOfROIs == other.MaxNumberOfROIs && self.Capability == other.Capability
9533     }
9534 }
9535 impl ::std::cmp::Eq for KSCAMERA_EXTENDEDPROP_ROI_CONFIGCAPS {}
9536 unsafe impl ::windows::runtime::Abi for KSCAMERA_EXTENDEDPROP_ROI_CONFIGCAPS {
9537     type Abi = Self;
9538     type DefaultType = Self;
9539 }
9540 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9541 #[repr(C)]
9542 pub struct KSCAMERA_EXTENDEDPROP_ROI_CONFIGCAPSHEADER {
9543     pub Size: u32,
9544     pub ConfigCapCount: u32,
9545     pub Reserved: u64,
9546 }
9547 impl KSCAMERA_EXTENDEDPROP_ROI_CONFIGCAPSHEADER {}
9548 impl ::std::default::Default for KSCAMERA_EXTENDEDPROP_ROI_CONFIGCAPSHEADER {
default() -> Self9549     fn default() -> Self {
9550         unsafe { ::std::mem::zeroed() }
9551     }
9552 }
9553 impl ::std::fmt::Debug for KSCAMERA_EXTENDEDPROP_ROI_CONFIGCAPSHEADER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9554     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9555         fmt.debug_struct("KSCAMERA_EXTENDEDPROP_ROI_CONFIGCAPSHEADER").field("Size", &self.Size).field("ConfigCapCount", &self.ConfigCapCount).field("Reserved", &self.Reserved).finish()
9556     }
9557 }
9558 impl ::std::cmp::PartialEq for KSCAMERA_EXTENDEDPROP_ROI_CONFIGCAPSHEADER {
eq(&self, other: &Self) -> bool9559     fn eq(&self, other: &Self) -> bool {
9560         self.Size == other.Size && self.ConfigCapCount == other.ConfigCapCount && self.Reserved == other.Reserved
9561     }
9562 }
9563 impl ::std::cmp::Eq for KSCAMERA_EXTENDEDPROP_ROI_CONFIGCAPSHEADER {}
9564 unsafe impl ::windows::runtime::Abi for KSCAMERA_EXTENDEDPROP_ROI_CONFIGCAPSHEADER {
9565     type Abi = Self;
9566     type DefaultType = Self;
9567 }
9568 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9569 #[repr(C)]
9570 #[cfg(feature = "Win32_Foundation")]
9571 pub struct KSCAMERA_EXTENDEDPROP_ROI_EXPOSURE {
9572     pub ROIInfo: KSCAMERA_EXTENDEDPROP_ROI_INFO,
9573     pub Reserved: u64,
9574 }
9575 #[cfg(feature = "Win32_Foundation")]
9576 impl KSCAMERA_EXTENDEDPROP_ROI_EXPOSURE {}
9577 #[cfg(feature = "Win32_Foundation")]
9578 impl ::std::default::Default for KSCAMERA_EXTENDEDPROP_ROI_EXPOSURE {
default() -> Self9579     fn default() -> Self {
9580         unsafe { ::std::mem::zeroed() }
9581     }
9582 }
9583 #[cfg(feature = "Win32_Foundation")]
9584 impl ::std::fmt::Debug for KSCAMERA_EXTENDEDPROP_ROI_EXPOSURE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9585     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9586         fmt.debug_struct("KSCAMERA_EXTENDEDPROP_ROI_EXPOSURE").field("ROIInfo", &self.ROIInfo).field("Reserved", &self.Reserved).finish()
9587     }
9588 }
9589 #[cfg(feature = "Win32_Foundation")]
9590 impl ::std::cmp::PartialEq for KSCAMERA_EXTENDEDPROP_ROI_EXPOSURE {
eq(&self, other: &Self) -> bool9591     fn eq(&self, other: &Self) -> bool {
9592         self.ROIInfo == other.ROIInfo && self.Reserved == other.Reserved
9593     }
9594 }
9595 #[cfg(feature = "Win32_Foundation")]
9596 impl ::std::cmp::Eq for KSCAMERA_EXTENDEDPROP_ROI_EXPOSURE {}
9597 #[cfg(feature = "Win32_Foundation")]
9598 unsafe impl ::windows::runtime::Abi for KSCAMERA_EXTENDEDPROP_ROI_EXPOSURE {
9599     type Abi = Self;
9600     type DefaultType = Self;
9601 }
9602 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9603 #[repr(C)]
9604 #[cfg(feature = "Win32_Foundation")]
9605 pub struct KSCAMERA_EXTENDEDPROP_ROI_FOCUS {
9606     pub ROIInfo: KSCAMERA_EXTENDEDPROP_ROI_INFO,
9607     pub Reserved: u64,
9608 }
9609 #[cfg(feature = "Win32_Foundation")]
9610 impl KSCAMERA_EXTENDEDPROP_ROI_FOCUS {}
9611 #[cfg(feature = "Win32_Foundation")]
9612 impl ::std::default::Default for KSCAMERA_EXTENDEDPROP_ROI_FOCUS {
default() -> Self9613     fn default() -> Self {
9614         unsafe { ::std::mem::zeroed() }
9615     }
9616 }
9617 #[cfg(feature = "Win32_Foundation")]
9618 impl ::std::fmt::Debug for KSCAMERA_EXTENDEDPROP_ROI_FOCUS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9619     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9620         fmt.debug_struct("KSCAMERA_EXTENDEDPROP_ROI_FOCUS").field("ROIInfo", &self.ROIInfo).field("Reserved", &self.Reserved).finish()
9621     }
9622 }
9623 #[cfg(feature = "Win32_Foundation")]
9624 impl ::std::cmp::PartialEq for KSCAMERA_EXTENDEDPROP_ROI_FOCUS {
eq(&self, other: &Self) -> bool9625     fn eq(&self, other: &Self) -> bool {
9626         self.ROIInfo == other.ROIInfo && self.Reserved == other.Reserved
9627     }
9628 }
9629 #[cfg(feature = "Win32_Foundation")]
9630 impl ::std::cmp::Eq for KSCAMERA_EXTENDEDPROP_ROI_FOCUS {}
9631 #[cfg(feature = "Win32_Foundation")]
9632 unsafe impl ::windows::runtime::Abi for KSCAMERA_EXTENDEDPROP_ROI_FOCUS {
9633     type Abi = Self;
9634     type DefaultType = Self;
9635 }
9636 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9637 #[repr(C)]
9638 #[cfg(feature = "Win32_Foundation")]
9639 pub struct KSCAMERA_EXTENDEDPROP_ROI_INFO {
9640     pub Region: super::super::super::Foundation::RECT,
9641     pub Flags: u64,
9642     pub Weight: i32,
9643     pub RegionOfInterestType: i32,
9644 }
9645 #[cfg(feature = "Win32_Foundation")]
9646 impl KSCAMERA_EXTENDEDPROP_ROI_INFO {}
9647 #[cfg(feature = "Win32_Foundation")]
9648 impl ::std::default::Default for KSCAMERA_EXTENDEDPROP_ROI_INFO {
default() -> Self9649     fn default() -> Self {
9650         unsafe { ::std::mem::zeroed() }
9651     }
9652 }
9653 #[cfg(feature = "Win32_Foundation")]
9654 impl ::std::fmt::Debug for KSCAMERA_EXTENDEDPROP_ROI_INFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9655     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9656         fmt.debug_struct("KSCAMERA_EXTENDEDPROP_ROI_INFO").field("Region", &self.Region).field("Flags", &self.Flags).field("Weight", &self.Weight).field("RegionOfInterestType", &self.RegionOfInterestType).finish()
9657     }
9658 }
9659 #[cfg(feature = "Win32_Foundation")]
9660 impl ::std::cmp::PartialEq for KSCAMERA_EXTENDEDPROP_ROI_INFO {
eq(&self, other: &Self) -> bool9661     fn eq(&self, other: &Self) -> bool {
9662         self.Region == other.Region && self.Flags == other.Flags && self.Weight == other.Weight && self.RegionOfInterestType == other.RegionOfInterestType
9663     }
9664 }
9665 #[cfg(feature = "Win32_Foundation")]
9666 impl ::std::cmp::Eq for KSCAMERA_EXTENDEDPROP_ROI_INFO {}
9667 #[cfg(feature = "Win32_Foundation")]
9668 unsafe impl ::windows::runtime::Abi for KSCAMERA_EXTENDEDPROP_ROI_INFO {
9669     type Abi = Self;
9670     type DefaultType = Self;
9671 }
9672 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9673 #[repr(C)]
9674 pub struct KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROL {
9675     pub ControlId: u32,
9676     pub ROICount: u32,
9677     pub Result: u32,
9678     pub Reserved: u32,
9679 }
9680 impl KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROL {}
9681 impl ::std::default::Default for KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROL {
default() -> Self9682     fn default() -> Self {
9683         unsafe { ::std::mem::zeroed() }
9684     }
9685 }
9686 impl ::std::fmt::Debug for KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROL {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9687     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9688         fmt.debug_struct("KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROL").field("ControlId", &self.ControlId).field("ROICount", &self.ROICount).field("Result", &self.Result).field("Reserved", &self.Reserved).finish()
9689     }
9690 }
9691 impl ::std::cmp::PartialEq for KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROL {
eq(&self, other: &Self) -> bool9692     fn eq(&self, other: &Self) -> bool {
9693         self.ControlId == other.ControlId && self.ROICount == other.ROICount && self.Result == other.Result && self.Reserved == other.Reserved
9694     }
9695 }
9696 impl ::std::cmp::Eq for KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROL {}
9697 unsafe impl ::windows::runtime::Abi for KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROL {
9698     type Abi = Self;
9699     type DefaultType = Self;
9700 }
9701 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9702 #[repr(C)]
9703 pub struct KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROLHEADER {
9704     pub Size: u32,
9705     pub ControlCount: u32,
9706     pub Reserved: u64,
9707 }
9708 impl KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROLHEADER {}
9709 impl ::std::default::Default for KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROLHEADER {
default() -> Self9710     fn default() -> Self {
9711         unsafe { ::std::mem::zeroed() }
9712     }
9713 }
9714 impl ::std::fmt::Debug for KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROLHEADER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9715     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9716         fmt.debug_struct("KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROLHEADER").field("Size", &self.Size).field("ControlCount", &self.ControlCount).field("Reserved", &self.Reserved).finish()
9717     }
9718 }
9719 impl ::std::cmp::PartialEq for KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROLHEADER {
eq(&self, other: &Self) -> bool9720     fn eq(&self, other: &Self) -> bool {
9721         self.Size == other.Size && self.ControlCount == other.ControlCount && self.Reserved == other.Reserved
9722     }
9723 }
9724 impl ::std::cmp::Eq for KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROLHEADER {}
9725 unsafe impl ::windows::runtime::Abi for KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROLHEADER {
9726     type Abi = Self;
9727     type DefaultType = Self;
9728 }
9729 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9730 #[repr(C)]
9731 #[cfg(feature = "Win32_Foundation")]
9732 pub struct KSCAMERA_EXTENDEDPROP_ROI_WHITEBALANCE {
9733     pub ROIInfo: KSCAMERA_EXTENDEDPROP_ROI_INFO,
9734     pub Reserved: u64,
9735 }
9736 #[cfg(feature = "Win32_Foundation")]
9737 impl KSCAMERA_EXTENDEDPROP_ROI_WHITEBALANCE {}
9738 #[cfg(feature = "Win32_Foundation")]
9739 impl ::std::default::Default for KSCAMERA_EXTENDEDPROP_ROI_WHITEBALANCE {
default() -> Self9740     fn default() -> Self {
9741         unsafe { ::std::mem::zeroed() }
9742     }
9743 }
9744 #[cfg(feature = "Win32_Foundation")]
9745 impl ::std::fmt::Debug for KSCAMERA_EXTENDEDPROP_ROI_WHITEBALANCE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9746     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9747         fmt.debug_struct("KSCAMERA_EXTENDEDPROP_ROI_WHITEBALANCE").field("ROIInfo", &self.ROIInfo).field("Reserved", &self.Reserved).finish()
9748     }
9749 }
9750 #[cfg(feature = "Win32_Foundation")]
9751 impl ::std::cmp::PartialEq for KSCAMERA_EXTENDEDPROP_ROI_WHITEBALANCE {
eq(&self, other: &Self) -> bool9752     fn eq(&self, other: &Self) -> bool {
9753         self.ROIInfo == other.ROIInfo && self.Reserved == other.Reserved
9754     }
9755 }
9756 #[cfg(feature = "Win32_Foundation")]
9757 impl ::std::cmp::Eq for KSCAMERA_EXTENDEDPROP_ROI_WHITEBALANCE {}
9758 #[cfg(feature = "Win32_Foundation")]
9759 unsafe impl ::windows::runtime::Abi for KSCAMERA_EXTENDEDPROP_ROI_WHITEBALANCE {
9760     type Abi = Self;
9761     type DefaultType = Self;
9762 }
9763 pub const KSCAMERA_EXTENDEDPROP_SCENEMODE_AUTO: u64 = 0u64;
9764 pub const KSCAMERA_EXTENDEDPROP_SCENEMODE_BACKLIT: u64 = 1024u64;
9765 pub const KSCAMERA_EXTENDEDPROP_SCENEMODE_BEACH: u64 = 32u64;
9766 pub const KSCAMERA_EXTENDEDPROP_SCENEMODE_CANDLELIGHT: u64 = 128u64;
9767 pub const KSCAMERA_EXTENDEDPROP_SCENEMODE_LANDSCAPE: u64 = 256u64;
9768 pub const KSCAMERA_EXTENDEDPROP_SCENEMODE_MACRO: u64 = 1u64;
9769 pub const KSCAMERA_EXTENDEDPROP_SCENEMODE_MANUAL: u64 = 36028797018963968u64;
9770 pub const KSCAMERA_EXTENDEDPROP_SCENEMODE_NIGHT: u64 = 16u64;
9771 pub const KSCAMERA_EXTENDEDPROP_SCENEMODE_NIGHTPORTRAIT: u64 = 512u64;
9772 pub const KSCAMERA_EXTENDEDPROP_SCENEMODE_PORTRAIT: u64 = 2u64;
9773 pub const KSCAMERA_EXTENDEDPROP_SCENEMODE_SNOW: u64 = 8u64;
9774 pub const KSCAMERA_EXTENDEDPROP_SCENEMODE_SPORT: u64 = 4u64;
9775 pub const KSCAMERA_EXTENDEDPROP_SCENEMODE_SUNSET: u64 = 64u64;
9776 pub const KSCAMERA_EXTENDEDPROP_SECUREMODE_DISABLED: u64 = 1u64;
9777 pub const KSCAMERA_EXTENDEDPROP_SECUREMODE_ENABLED: u64 = 2u64;
9778 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9779 #[repr(C)]
9780 pub struct KSCAMERA_EXTENDEDPROP_VALUE {
9781     pub Value: KSCAMERA_EXTENDEDPROP_VALUE_0,
9782 }
9783 impl KSCAMERA_EXTENDEDPROP_VALUE {}
9784 impl ::std::default::Default for KSCAMERA_EXTENDEDPROP_VALUE {
default() -> Self9785     fn default() -> Self {
9786         unsafe { ::std::mem::zeroed() }
9787     }
9788 }
9789 impl ::std::cmp::PartialEq for KSCAMERA_EXTENDEDPROP_VALUE {
eq(&self, _other: &Self) -> bool9790     fn eq(&self, _other: &Self) -> bool {
9791         unimplemented!()
9792     }
9793 }
9794 impl ::std::cmp::Eq for KSCAMERA_EXTENDEDPROP_VALUE {}
9795 unsafe impl ::windows::runtime::Abi for KSCAMERA_EXTENDEDPROP_VALUE {
9796     type Abi = Self;
9797     type DefaultType = Self;
9798 }
9799 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9800 #[repr(C)]
9801 pub union KSCAMERA_EXTENDEDPROP_VALUE_0 {
9802     pub dbl: f64,
9803     pub ull: u64,
9804     pub ul: u32,
9805     pub ratio: u64,
9806     pub l: i32,
9807     pub ll: i64,
9808 }
9809 impl KSCAMERA_EXTENDEDPROP_VALUE_0 {}
9810 impl ::std::default::Default for KSCAMERA_EXTENDEDPROP_VALUE_0 {
default() -> Self9811     fn default() -> Self {
9812         unsafe { ::std::mem::zeroed() }
9813     }
9814 }
9815 impl ::std::cmp::PartialEq for KSCAMERA_EXTENDEDPROP_VALUE_0 {
eq(&self, _other: &Self) -> bool9816     fn eq(&self, _other: &Self) -> bool {
9817         unimplemented!()
9818     }
9819 }
9820 impl ::std::cmp::Eq for KSCAMERA_EXTENDEDPROP_VALUE_0 {}
9821 unsafe impl ::windows::runtime::Abi for KSCAMERA_EXTENDEDPROP_VALUE_0 {
9822     type Abi = Self;
9823     type DefaultType = Self;
9824 }
9825 pub const KSCAMERA_EXTENDEDPROP_VFR_OFF: u64 = 0u64;
9826 pub const KSCAMERA_EXTENDEDPROP_VFR_ON: u64 = 1u64;
9827 pub const KSCAMERA_EXTENDEDPROP_VIDEOHDR_AUTO: u64 = 2u64;
9828 pub const KSCAMERA_EXTENDEDPROP_VIDEOHDR_OFF: u64 = 0u64;
9829 pub const KSCAMERA_EXTENDEDPROP_VIDEOHDR_ON: u64 = 1u64;
9830 pub const KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO: u64 = 1u64;
9831 pub const KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK: u64 = 4u64;
9832 pub const KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_MANUAL: u64 = 2u64;
9833 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9834 #[repr(C)]
9835 pub struct KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING {
9836     pub Mode: u32,
9837     pub Min: i32,
9838     pub Max: i32,
9839     pub Step: i32,
9840     pub VideoProc: KSCAMERA_EXTENDEDPROP_VALUE,
9841     pub Reserved: u64,
9842 }
9843 impl KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING {}
9844 impl ::std::default::Default for KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING {
default() -> Self9845     fn default() -> Self {
9846         unsafe { ::std::mem::zeroed() }
9847     }
9848 }
9849 impl ::std::cmp::PartialEq for KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING {
eq(&self, _other: &Self) -> bool9850     fn eq(&self, _other: &Self) -> bool {
9851         unimplemented!()
9852     }
9853 }
9854 impl ::std::cmp::Eq for KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING {}
9855 unsafe impl ::windows::runtime::Abi for KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING {
9856     type Abi = Self;
9857     type DefaultType = Self;
9858 }
9859 pub const KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_AUTO: u64 = 2u64;
9860 pub const KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_OFF: u64 = 0u64;
9861 pub const KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_ON: u64 = 1u64;
9862 pub const KSCAMERA_EXTENDEDPROP_VIDEOTEMPORALDENOISING_AUTO: u64 = 1u64;
9863 pub const KSCAMERA_EXTENDEDPROP_VIDEOTEMPORALDENOISING_OFF: u64 = 2u64;
9864 pub const KSCAMERA_EXTENDEDPROP_VIDEOTEMPORALDENOISING_ON: u64 = 4u64;
9865 pub const KSCAMERA_EXTENDEDPROP_VIDEOTORCH_OFF: u64 = 0u64;
9866 pub const KSCAMERA_EXTENDEDPROP_VIDEOTORCH_ON: u64 = 1u64;
9867 pub const KSCAMERA_EXTENDEDPROP_VIDEOTORCH_ON_ADJUSTABLEPOWER: u64 = 2u64;
9868 pub const KSCAMERA_EXTENDEDPROP_WARMSTART_MODE_DISABLED: u64 = 0u64;
9869 pub const KSCAMERA_EXTENDEDPROP_WARMSTART_MODE_ENABLED: u64 = 1u64;
9870 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9871 #[repr(transparent)]
9872 pub struct KSCAMERA_EXTENDEDPROP_WBPRESET(pub i32);
9873 pub const KSCAMERA_EXTENDEDPROP_WBPRESET_CLOUDY: KSCAMERA_EXTENDEDPROP_WBPRESET = KSCAMERA_EXTENDEDPROP_WBPRESET(1i32);
9874 pub const KSCAMERA_EXTENDEDPROP_WBPRESET_DAYLIGHT: KSCAMERA_EXTENDEDPROP_WBPRESET = KSCAMERA_EXTENDEDPROP_WBPRESET(2i32);
9875 pub const KSCAMERA_EXTENDEDPROP_WBPRESET_FLASH: KSCAMERA_EXTENDEDPROP_WBPRESET = KSCAMERA_EXTENDEDPROP_WBPRESET(3i32);
9876 pub const KSCAMERA_EXTENDEDPROP_WBPRESET_FLUORESCENT: KSCAMERA_EXTENDEDPROP_WBPRESET = KSCAMERA_EXTENDEDPROP_WBPRESET(4i32);
9877 pub const KSCAMERA_EXTENDEDPROP_WBPRESET_TUNGSTEN: KSCAMERA_EXTENDEDPROP_WBPRESET = KSCAMERA_EXTENDEDPROP_WBPRESET(5i32);
9878 pub const KSCAMERA_EXTENDEDPROP_WBPRESET_CANDLELIGHT: KSCAMERA_EXTENDEDPROP_WBPRESET = KSCAMERA_EXTENDEDPROP_WBPRESET(6i32);
9879 impl ::std::convert::From<i32> for KSCAMERA_EXTENDEDPROP_WBPRESET {
from(value: i32) -> Self9880     fn from(value: i32) -> Self {
9881         Self(value)
9882     }
9883 }
9884 unsafe impl ::windows::runtime::Abi for KSCAMERA_EXTENDEDPROP_WBPRESET {
9885     type Abi = Self;
9886     type DefaultType = Self;
9887 }
9888 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9889 #[repr(transparent)]
9890 pub struct KSCAMERA_EXTENDEDPROP_WHITEBALANCE_MODE(pub i32);
9891 pub const KSCAMERA_EXTENDEDPROP_WHITEBALANCE_TEMPERATURE: KSCAMERA_EXTENDEDPROP_WHITEBALANCE_MODE = KSCAMERA_EXTENDEDPROP_WHITEBALANCE_MODE(1i32);
9892 pub const KSCAMERA_EXTENDEDPROP_WHITEBALANCE_PRESET: KSCAMERA_EXTENDEDPROP_WHITEBALANCE_MODE = KSCAMERA_EXTENDEDPROP_WHITEBALANCE_MODE(2i32);
9893 impl ::std::convert::From<i32> for KSCAMERA_EXTENDEDPROP_WHITEBALANCE_MODE {
from(value: i32) -> Self9894     fn from(value: i32) -> Self {
9895         Self(value)
9896     }
9897 }
9898 unsafe impl ::windows::runtime::Abi for KSCAMERA_EXTENDEDPROP_WHITEBALANCE_MODE {
9899     type Abi = Self;
9900     type DefaultType = Self;
9901 }
9902 pub const KSCAMERA_EXTENDEDPROP_ZOOM_DEFAULT: u64 = 0u64;
9903 pub const KSCAMERA_EXTENDEDPROP_ZOOM_DIRECT: u64 = 1u64;
9904 pub const KSCAMERA_EXTENDEDPROP_ZOOM_SMOOTH: u64 = 2u64;
9905 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9906 #[repr(C)]
9907 pub struct KSCAMERA_MAXVIDEOFPS_FORPHOTORES {
9908     pub PhotoResWidth: u32,
9909     pub PhotoResHeight: u32,
9910     pub PreviewFPSNum: u32,
9911     pub PreviewFPSDenom: u32,
9912     pub CaptureFPSNum: u32,
9913     pub CaptureFPSDenom: u32,
9914 }
9915 impl KSCAMERA_MAXVIDEOFPS_FORPHOTORES {}
9916 impl ::std::default::Default for KSCAMERA_MAXVIDEOFPS_FORPHOTORES {
default() -> Self9917     fn default() -> Self {
9918         unsafe { ::std::mem::zeroed() }
9919     }
9920 }
9921 impl ::std::fmt::Debug for KSCAMERA_MAXVIDEOFPS_FORPHOTORES {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9922     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9923         fmt.debug_struct("KSCAMERA_MAXVIDEOFPS_FORPHOTORES")
9924             .field("PhotoResWidth", &self.PhotoResWidth)
9925             .field("PhotoResHeight", &self.PhotoResHeight)
9926             .field("PreviewFPSNum", &self.PreviewFPSNum)
9927             .field("PreviewFPSDenom", &self.PreviewFPSDenom)
9928             .field("CaptureFPSNum", &self.CaptureFPSNum)
9929             .field("CaptureFPSDenom", &self.CaptureFPSDenom)
9930             .finish()
9931     }
9932 }
9933 impl ::std::cmp::PartialEq for KSCAMERA_MAXVIDEOFPS_FORPHOTORES {
eq(&self, other: &Self) -> bool9934     fn eq(&self, other: &Self) -> bool {
9935         self.PhotoResWidth == other.PhotoResWidth && self.PhotoResHeight == other.PhotoResHeight && self.PreviewFPSNum == other.PreviewFPSNum && self.PreviewFPSDenom == other.PreviewFPSDenom && self.CaptureFPSNum == other.CaptureFPSNum && self.CaptureFPSDenom == other.CaptureFPSDenom
9936     }
9937 }
9938 impl ::std::cmp::Eq for KSCAMERA_MAXVIDEOFPS_FORPHOTORES {}
9939 unsafe impl ::windows::runtime::Abi for KSCAMERA_MAXVIDEOFPS_FORPHOTORES {
9940     type Abi = Self;
9941     type DefaultType = Self;
9942 }
9943 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9944 #[repr(C)]
9945 #[cfg(feature = "Win32_Foundation")]
9946 pub struct KSCAMERA_METADATA_BACKGROUNDSEGMENTATIONMASK {
9947     pub Header: KSCAMERA_METADATA_ITEMHEADER,
9948     pub MaskCoverageBoundingBox: super::super::super::Foundation::RECT,
9949     pub MaskResolution: super::super::super::Foundation::SIZE,
9950     pub ForegroundBoundingBox: super::super::super::Foundation::RECT,
9951     pub MaskData: [u8; 1],
9952 }
9953 #[cfg(feature = "Win32_Foundation")]
9954 impl KSCAMERA_METADATA_BACKGROUNDSEGMENTATIONMASK {}
9955 #[cfg(feature = "Win32_Foundation")]
9956 impl ::std::default::Default for KSCAMERA_METADATA_BACKGROUNDSEGMENTATIONMASK {
default() -> Self9957     fn default() -> Self {
9958         unsafe { ::std::mem::zeroed() }
9959     }
9960 }
9961 #[cfg(feature = "Win32_Foundation")]
9962 impl ::std::fmt::Debug for KSCAMERA_METADATA_BACKGROUNDSEGMENTATIONMASK {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9963     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9964         fmt.debug_struct("KSCAMERA_METADATA_BACKGROUNDSEGMENTATIONMASK")
9965             .field("Header", &self.Header)
9966             .field("MaskCoverageBoundingBox", &self.MaskCoverageBoundingBox)
9967             .field("MaskResolution", &self.MaskResolution)
9968             .field("ForegroundBoundingBox", &self.ForegroundBoundingBox)
9969             .field("MaskData", &self.MaskData)
9970             .finish()
9971     }
9972 }
9973 #[cfg(feature = "Win32_Foundation")]
9974 impl ::std::cmp::PartialEq for KSCAMERA_METADATA_BACKGROUNDSEGMENTATIONMASK {
eq(&self, other: &Self) -> bool9975     fn eq(&self, other: &Self) -> bool {
9976         self.Header == other.Header && self.MaskCoverageBoundingBox == other.MaskCoverageBoundingBox && self.MaskResolution == other.MaskResolution && self.ForegroundBoundingBox == other.ForegroundBoundingBox && self.MaskData == other.MaskData
9977     }
9978 }
9979 #[cfg(feature = "Win32_Foundation")]
9980 impl ::std::cmp::Eq for KSCAMERA_METADATA_BACKGROUNDSEGMENTATIONMASK {}
9981 #[cfg(feature = "Win32_Foundation")]
9982 unsafe impl ::windows::runtime::Abi for KSCAMERA_METADATA_BACKGROUNDSEGMENTATIONMASK {
9983     type Abi = Self;
9984     type DefaultType = Self;
9985 }
9986 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9987 #[repr(C)]
9988 pub struct KSCAMERA_METADATA_CAPTURESTATS {
9989     pub Header: KSCAMERA_METADATA_ITEMHEADER,
9990     pub Flags: u32,
9991     pub Reserved: u32,
9992     pub ExposureTime: u64,
9993     pub ExposureCompensationFlags: u64,
9994     pub ExposureCompensationValue: i32,
9995     pub IsoSpeed: u32,
9996     pub FocusState: u32,
9997     pub LensPosition: u32,
9998     pub WhiteBalance: u32,
9999     pub Flash: u32,
10000     pub FlashPower: u32,
10001     pub ZoomFactor: u32,
10002     pub SceneMode: u64,
10003     pub SensorFramerate: u64,
10004 }
10005 impl KSCAMERA_METADATA_CAPTURESTATS {}
10006 impl ::std::default::Default for KSCAMERA_METADATA_CAPTURESTATS {
default() -> Self10007     fn default() -> Self {
10008         unsafe { ::std::mem::zeroed() }
10009     }
10010 }
10011 impl ::std::fmt::Debug for KSCAMERA_METADATA_CAPTURESTATS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10012     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10013         fmt.debug_struct("KSCAMERA_METADATA_CAPTURESTATS")
10014             .field("Header", &self.Header)
10015             .field("Flags", &self.Flags)
10016             .field("Reserved", &self.Reserved)
10017             .field("ExposureTime", &self.ExposureTime)
10018             .field("ExposureCompensationFlags", &self.ExposureCompensationFlags)
10019             .field("ExposureCompensationValue", &self.ExposureCompensationValue)
10020             .field("IsoSpeed", &self.IsoSpeed)
10021             .field("FocusState", &self.FocusState)
10022             .field("LensPosition", &self.LensPosition)
10023             .field("WhiteBalance", &self.WhiteBalance)
10024             .field("Flash", &self.Flash)
10025             .field("FlashPower", &self.FlashPower)
10026             .field("ZoomFactor", &self.ZoomFactor)
10027             .field("SceneMode", &self.SceneMode)
10028             .field("SensorFramerate", &self.SensorFramerate)
10029             .finish()
10030     }
10031 }
10032 impl ::std::cmp::PartialEq for KSCAMERA_METADATA_CAPTURESTATS {
eq(&self, other: &Self) -> bool10033     fn eq(&self, other: &Self) -> bool {
10034         self.Header == other.Header
10035             && self.Flags == other.Flags
10036             && self.Reserved == other.Reserved
10037             && self.ExposureTime == other.ExposureTime
10038             && self.ExposureCompensationFlags == other.ExposureCompensationFlags
10039             && self.ExposureCompensationValue == other.ExposureCompensationValue
10040             && self.IsoSpeed == other.IsoSpeed
10041             && self.FocusState == other.FocusState
10042             && self.LensPosition == other.LensPosition
10043             && self.WhiteBalance == other.WhiteBalance
10044             && self.Flash == other.Flash
10045             && self.FlashPower == other.FlashPower
10046             && self.ZoomFactor == other.ZoomFactor
10047             && self.SceneMode == other.SceneMode
10048             && self.SensorFramerate == other.SensorFramerate
10049     }
10050 }
10051 impl ::std::cmp::Eq for KSCAMERA_METADATA_CAPTURESTATS {}
10052 unsafe impl ::windows::runtime::Abi for KSCAMERA_METADATA_CAPTURESTATS {
10053     type Abi = Self;
10054     type DefaultType = Self;
10055 }
10056 pub const KSCAMERA_METADATA_CAPTURESTATS_FLAG_EXPOSURECOMPENSATION: u32 = 2u32;
10057 pub const KSCAMERA_METADATA_CAPTURESTATS_FLAG_EXPOSURETIME: u32 = 1u32;
10058 pub const KSCAMERA_METADATA_CAPTURESTATS_FLAG_FLASH: u32 = 64u32;
10059 pub const KSCAMERA_METADATA_CAPTURESTATS_FLAG_FLASHPOWER: u32 = 128u32;
10060 pub const KSCAMERA_METADATA_CAPTURESTATS_FLAG_FOCUSSTATE: u32 = 8u32;
10061 pub const KSCAMERA_METADATA_CAPTURESTATS_FLAG_ISOSPEED: u32 = 4u32;
10062 pub const KSCAMERA_METADATA_CAPTURESTATS_FLAG_LENSPOSITION: u32 = 16u32;
10063 pub const KSCAMERA_METADATA_CAPTURESTATS_FLAG_SCENEMODE: u32 = 512u32;
10064 pub const KSCAMERA_METADATA_CAPTURESTATS_FLAG_SENSORFRAMERATE: u32 = 1024u32;
10065 pub const KSCAMERA_METADATA_CAPTURESTATS_FLAG_WHITEBALANCE: u32 = 32u32;
10066 pub const KSCAMERA_METADATA_CAPTURESTATS_FLAG_ZOOMFACTOR: u32 = 256u32;
10067 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10068 #[repr(C)]
10069 pub struct KSCAMERA_METADATA_DIGITALWINDOW {
10070     pub Header: KSCAMERA_METADATA_ITEMHEADER,
10071     pub Window: KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_SETTING,
10072 }
10073 impl KSCAMERA_METADATA_DIGITALWINDOW {}
10074 impl ::std::default::Default for KSCAMERA_METADATA_DIGITALWINDOW {
default() -> Self10075     fn default() -> Self {
10076         unsafe { ::std::mem::zeroed() }
10077     }
10078 }
10079 impl ::std::fmt::Debug for KSCAMERA_METADATA_DIGITALWINDOW {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10080     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10081         fmt.debug_struct("KSCAMERA_METADATA_DIGITALWINDOW").field("Header", &self.Header).field("Window", &self.Window).finish()
10082     }
10083 }
10084 impl ::std::cmp::PartialEq for KSCAMERA_METADATA_DIGITALWINDOW {
eq(&self, other: &Self) -> bool10085     fn eq(&self, other: &Self) -> bool {
10086         self.Header == other.Header && self.Window == other.Window
10087     }
10088 }
10089 impl ::std::cmp::Eq for KSCAMERA_METADATA_DIGITALWINDOW {}
10090 unsafe impl ::windows::runtime::Abi for KSCAMERA_METADATA_DIGITALWINDOW {
10091     type Abi = Self;
10092     type DefaultType = Self;
10093 }
10094 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10095 #[repr(C)]
10096 pub struct KSCAMERA_METADATA_FRAMEILLUMINATION {
10097     pub Header: KSCAMERA_METADATA_ITEMHEADER,
10098     pub Flags: u32,
10099     pub Reserved: u32,
10100 }
10101 impl KSCAMERA_METADATA_FRAMEILLUMINATION {}
10102 impl ::std::default::Default for KSCAMERA_METADATA_FRAMEILLUMINATION {
default() -> Self10103     fn default() -> Self {
10104         unsafe { ::std::mem::zeroed() }
10105     }
10106 }
10107 impl ::std::fmt::Debug for KSCAMERA_METADATA_FRAMEILLUMINATION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10108     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10109         fmt.debug_struct("KSCAMERA_METADATA_FRAMEILLUMINATION").field("Header", &self.Header).field("Flags", &self.Flags).field("Reserved", &self.Reserved).finish()
10110     }
10111 }
10112 impl ::std::cmp::PartialEq for KSCAMERA_METADATA_FRAMEILLUMINATION {
eq(&self, other: &Self) -> bool10113     fn eq(&self, other: &Self) -> bool {
10114         self.Header == other.Header && self.Flags == other.Flags && self.Reserved == other.Reserved
10115     }
10116 }
10117 impl ::std::cmp::Eq for KSCAMERA_METADATA_FRAMEILLUMINATION {}
10118 unsafe impl ::windows::runtime::Abi for KSCAMERA_METADATA_FRAMEILLUMINATION {
10119     type Abi = Self;
10120     type DefaultType = Self;
10121 }
10122 pub const KSCAMERA_METADATA_FRAMEILLUMINATION_FLAG_ON: u32 = 1u32;
10123 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10124 #[repr(C)]
10125 pub struct KSCAMERA_METADATA_ITEMHEADER {
10126     pub MetadataId: u32,
10127     pub Size: u32,
10128 }
10129 impl KSCAMERA_METADATA_ITEMHEADER {}
10130 impl ::std::default::Default for KSCAMERA_METADATA_ITEMHEADER {
default() -> Self10131     fn default() -> Self {
10132         unsafe { ::std::mem::zeroed() }
10133     }
10134 }
10135 impl ::std::fmt::Debug for KSCAMERA_METADATA_ITEMHEADER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10136     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10137         fmt.debug_struct("KSCAMERA_METADATA_ITEMHEADER").field("MetadataId", &self.MetadataId).field("Size", &self.Size).finish()
10138     }
10139 }
10140 impl ::std::cmp::PartialEq for KSCAMERA_METADATA_ITEMHEADER {
eq(&self, other: &Self) -> bool10141     fn eq(&self, other: &Self) -> bool {
10142         self.MetadataId == other.MetadataId && self.Size == other.Size
10143     }
10144 }
10145 impl ::std::cmp::Eq for KSCAMERA_METADATA_ITEMHEADER {}
10146 unsafe impl ::windows::runtime::Abi for KSCAMERA_METADATA_ITEMHEADER {
10147     type Abi = Self;
10148     type DefaultType = Self;
10149 }
10150 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10151 #[repr(C)]
10152 pub struct KSCAMERA_METADATA_PHOTOCONFIRMATION {
10153     pub Header: KSCAMERA_METADATA_ITEMHEADER,
10154     pub PhotoConfirmationIndex: u32,
10155     pub Reserved: u32,
10156 }
10157 impl KSCAMERA_METADATA_PHOTOCONFIRMATION {}
10158 impl ::std::default::Default for KSCAMERA_METADATA_PHOTOCONFIRMATION {
default() -> Self10159     fn default() -> Self {
10160         unsafe { ::std::mem::zeroed() }
10161     }
10162 }
10163 impl ::std::fmt::Debug for KSCAMERA_METADATA_PHOTOCONFIRMATION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10164     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10165         fmt.debug_struct("KSCAMERA_METADATA_PHOTOCONFIRMATION").field("Header", &self.Header).field("PhotoConfirmationIndex", &self.PhotoConfirmationIndex).field("Reserved", &self.Reserved).finish()
10166     }
10167 }
10168 impl ::std::cmp::PartialEq for KSCAMERA_METADATA_PHOTOCONFIRMATION {
eq(&self, other: &Self) -> bool10169     fn eq(&self, other: &Self) -> bool {
10170         self.Header == other.Header && self.PhotoConfirmationIndex == other.PhotoConfirmationIndex && self.Reserved == other.Reserved
10171     }
10172 }
10173 impl ::std::cmp::Eq for KSCAMERA_METADATA_PHOTOCONFIRMATION {}
10174 unsafe impl ::windows::runtime::Abi for KSCAMERA_METADATA_PHOTOCONFIRMATION {
10175     type Abi = Self;
10176     type DefaultType = Self;
10177 }
10178 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10179 #[repr(transparent)]
10180 pub struct KSCAMERA_MetadataId(pub i32);
10181 pub const MetadataId_Standard_Start: KSCAMERA_MetadataId = KSCAMERA_MetadataId(1i32);
10182 pub const MetadataId_PhotoConfirmation: KSCAMERA_MetadataId = KSCAMERA_MetadataId(1i32);
10183 pub const MetadataId_UsbVideoHeader: KSCAMERA_MetadataId = KSCAMERA_MetadataId(2i32);
10184 pub const MetadataId_CaptureStats: KSCAMERA_MetadataId = KSCAMERA_MetadataId(3i32);
10185 pub const MetadataId_CameraExtrinsics: KSCAMERA_MetadataId = KSCAMERA_MetadataId(4i32);
10186 pub const MetadataId_CameraIntrinsics: KSCAMERA_MetadataId = KSCAMERA_MetadataId(5i32);
10187 pub const MetadataId_FrameIllumination: KSCAMERA_MetadataId = KSCAMERA_MetadataId(6i32);
10188 pub const MetadataId_DigitalWindow: KSCAMERA_MetadataId = KSCAMERA_MetadataId(7i32);
10189 pub const MetadataId_BackgroundSegmentationMask: KSCAMERA_MetadataId = KSCAMERA_MetadataId(8i32);
10190 pub const MetadataId_Standard_End: KSCAMERA_MetadataId = KSCAMERA_MetadataId(8i32);
10191 pub const MetadataId_Custom_Start: KSCAMERA_MetadataId = KSCAMERA_MetadataId(-2147483648i32);
10192 impl ::std::convert::From<i32> for KSCAMERA_MetadataId {
from(value: i32) -> Self10193     fn from(value: i32) -> Self {
10194         Self(value)
10195     }
10196 }
10197 unsafe impl ::windows::runtime::Abi for KSCAMERA_MetadataId {
10198     type Abi = Self;
10199     type DefaultType = Self;
10200 }
10201 pub const KSCAMERA_PERFRAMESETTING_AUTO: u64 = 4294967296u64;
10202 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10203 #[repr(C)]
10204 pub struct KSCAMERA_PERFRAMESETTING_CAP_HEADER {
10205     pub Size: u32,
10206     pub ItemCount: u32,
10207     pub Flags: u64,
10208 }
10209 impl KSCAMERA_PERFRAMESETTING_CAP_HEADER {}
10210 impl ::std::default::Default for KSCAMERA_PERFRAMESETTING_CAP_HEADER {
default() -> Self10211     fn default() -> Self {
10212         unsafe { ::std::mem::zeroed() }
10213     }
10214 }
10215 impl ::std::fmt::Debug for KSCAMERA_PERFRAMESETTING_CAP_HEADER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10216     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10217         fmt.debug_struct("KSCAMERA_PERFRAMESETTING_CAP_HEADER").field("Size", &self.Size).field("ItemCount", &self.ItemCount).field("Flags", &self.Flags).finish()
10218     }
10219 }
10220 impl ::std::cmp::PartialEq for KSCAMERA_PERFRAMESETTING_CAP_HEADER {
eq(&self, other: &Self) -> bool10221     fn eq(&self, other: &Self) -> bool {
10222         self.Size == other.Size && self.ItemCount == other.ItemCount && self.Flags == other.Flags
10223     }
10224 }
10225 impl ::std::cmp::Eq for KSCAMERA_PERFRAMESETTING_CAP_HEADER {}
10226 unsafe impl ::windows::runtime::Abi for KSCAMERA_PERFRAMESETTING_CAP_HEADER {
10227     type Abi = Self;
10228     type DefaultType = Self;
10229 }
10230 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10231 #[repr(C)]
10232 pub struct KSCAMERA_PERFRAMESETTING_CAP_ITEM_HEADER {
10233     pub Size: u32,
10234     pub Type: u32,
10235     pub Flags: u64,
10236 }
10237 impl KSCAMERA_PERFRAMESETTING_CAP_ITEM_HEADER {}
10238 impl ::std::default::Default for KSCAMERA_PERFRAMESETTING_CAP_ITEM_HEADER {
default() -> Self10239     fn default() -> Self {
10240         unsafe { ::std::mem::zeroed() }
10241     }
10242 }
10243 impl ::std::fmt::Debug for KSCAMERA_PERFRAMESETTING_CAP_ITEM_HEADER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10244     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10245         fmt.debug_struct("KSCAMERA_PERFRAMESETTING_CAP_ITEM_HEADER").field("Size", &self.Size).field("Type", &self.Type).field("Flags", &self.Flags).finish()
10246     }
10247 }
10248 impl ::std::cmp::PartialEq for KSCAMERA_PERFRAMESETTING_CAP_ITEM_HEADER {
eq(&self, other: &Self) -> bool10249     fn eq(&self, other: &Self) -> bool {
10250         self.Size == other.Size && self.Type == other.Type && self.Flags == other.Flags
10251     }
10252 }
10253 impl ::std::cmp::Eq for KSCAMERA_PERFRAMESETTING_CAP_ITEM_HEADER {}
10254 unsafe impl ::windows::runtime::Abi for KSCAMERA_PERFRAMESETTING_CAP_ITEM_HEADER {
10255     type Abi = Self;
10256     type DefaultType = Self;
10257 }
10258 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10259 #[repr(C)]
10260 pub struct KSCAMERA_PERFRAMESETTING_CUSTOM_ITEM {
10261     pub Size: u32,
10262     pub Reserved: u32,
10263     pub Id: ::windows::runtime::GUID,
10264 }
10265 impl KSCAMERA_PERFRAMESETTING_CUSTOM_ITEM {}
10266 impl ::std::default::Default for KSCAMERA_PERFRAMESETTING_CUSTOM_ITEM {
default() -> Self10267     fn default() -> Self {
10268         unsafe { ::std::mem::zeroed() }
10269     }
10270 }
10271 impl ::std::fmt::Debug for KSCAMERA_PERFRAMESETTING_CUSTOM_ITEM {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10272     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10273         fmt.debug_struct("KSCAMERA_PERFRAMESETTING_CUSTOM_ITEM").field("Size", &self.Size).field("Reserved", &self.Reserved).field("Id", &self.Id).finish()
10274     }
10275 }
10276 impl ::std::cmp::PartialEq for KSCAMERA_PERFRAMESETTING_CUSTOM_ITEM {
eq(&self, other: &Self) -> bool10277     fn eq(&self, other: &Self) -> bool {
10278         self.Size == other.Size && self.Reserved == other.Reserved && self.Id == other.Id
10279     }
10280 }
10281 impl ::std::cmp::Eq for KSCAMERA_PERFRAMESETTING_CUSTOM_ITEM {}
10282 unsafe impl ::windows::runtime::Abi for KSCAMERA_PERFRAMESETTING_CUSTOM_ITEM {
10283     type Abi = Self;
10284     type DefaultType = Self;
10285 }
10286 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10287 #[repr(C)]
10288 pub struct KSCAMERA_PERFRAMESETTING_FRAME_HEADER {
10289     pub Size: u32,
10290     pub Id: u32,
10291     pub ItemCount: u32,
10292     pub Reserved: u32,
10293 }
10294 impl KSCAMERA_PERFRAMESETTING_FRAME_HEADER {}
10295 impl ::std::default::Default for KSCAMERA_PERFRAMESETTING_FRAME_HEADER {
default() -> Self10296     fn default() -> Self {
10297         unsafe { ::std::mem::zeroed() }
10298     }
10299 }
10300 impl ::std::fmt::Debug for KSCAMERA_PERFRAMESETTING_FRAME_HEADER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10301     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10302         fmt.debug_struct("KSCAMERA_PERFRAMESETTING_FRAME_HEADER").field("Size", &self.Size).field("Id", &self.Id).field("ItemCount", &self.ItemCount).field("Reserved", &self.Reserved).finish()
10303     }
10304 }
10305 impl ::std::cmp::PartialEq for KSCAMERA_PERFRAMESETTING_FRAME_HEADER {
eq(&self, other: &Self) -> bool10306     fn eq(&self, other: &Self) -> bool {
10307         self.Size == other.Size && self.Id == other.Id && self.ItemCount == other.ItemCount && self.Reserved == other.Reserved
10308     }
10309 }
10310 impl ::std::cmp::Eq for KSCAMERA_PERFRAMESETTING_FRAME_HEADER {}
10311 unsafe impl ::windows::runtime::Abi for KSCAMERA_PERFRAMESETTING_FRAME_HEADER {
10312     type Abi = Self;
10313     type DefaultType = Self;
10314 }
10315 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10316 #[repr(C)]
10317 pub struct KSCAMERA_PERFRAMESETTING_HEADER {
10318     pub Size: u32,
10319     pub FrameCount: u32,
10320     pub Id: ::windows::runtime::GUID,
10321     pub Flags: u64,
10322     pub LoopCount: u32,
10323     pub Reserved: u32,
10324 }
10325 impl KSCAMERA_PERFRAMESETTING_HEADER {}
10326 impl ::std::default::Default for KSCAMERA_PERFRAMESETTING_HEADER {
default() -> Self10327     fn default() -> Self {
10328         unsafe { ::std::mem::zeroed() }
10329     }
10330 }
10331 impl ::std::fmt::Debug for KSCAMERA_PERFRAMESETTING_HEADER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10332     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10333         fmt.debug_struct("KSCAMERA_PERFRAMESETTING_HEADER").field("Size", &self.Size).field("FrameCount", &self.FrameCount).field("Id", &self.Id).field("Flags", &self.Flags).field("LoopCount", &self.LoopCount).field("Reserved", &self.Reserved).finish()
10334     }
10335 }
10336 impl ::std::cmp::PartialEq for KSCAMERA_PERFRAMESETTING_HEADER {
eq(&self, other: &Self) -> bool10337     fn eq(&self, other: &Self) -> bool {
10338         self.Size == other.Size && self.FrameCount == other.FrameCount && self.Id == other.Id && self.Flags == other.Flags && self.LoopCount == other.LoopCount && self.Reserved == other.Reserved
10339     }
10340 }
10341 impl ::std::cmp::Eq for KSCAMERA_PERFRAMESETTING_HEADER {}
10342 unsafe impl ::windows::runtime::Abi for KSCAMERA_PERFRAMESETTING_HEADER {
10343     type Abi = Self;
10344     type DefaultType = Self;
10345 }
10346 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10347 #[repr(C)]
10348 pub struct KSCAMERA_PERFRAMESETTING_ITEM_HEADER {
10349     pub Size: u32,
10350     pub Type: u32,
10351     pub Flags: u64,
10352 }
10353 impl KSCAMERA_PERFRAMESETTING_ITEM_HEADER {}
10354 impl ::std::default::Default for KSCAMERA_PERFRAMESETTING_ITEM_HEADER {
default() -> Self10355     fn default() -> Self {
10356         unsafe { ::std::mem::zeroed() }
10357     }
10358 }
10359 impl ::std::fmt::Debug for KSCAMERA_PERFRAMESETTING_ITEM_HEADER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10360     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10361         fmt.debug_struct("KSCAMERA_PERFRAMESETTING_ITEM_HEADER").field("Size", &self.Size).field("Type", &self.Type).field("Flags", &self.Flags).finish()
10362     }
10363 }
10364 impl ::std::cmp::PartialEq for KSCAMERA_PERFRAMESETTING_ITEM_HEADER {
eq(&self, other: &Self) -> bool10365     fn eq(&self, other: &Self) -> bool {
10366         self.Size == other.Size && self.Type == other.Type && self.Flags == other.Flags
10367     }
10368 }
10369 impl ::std::cmp::Eq for KSCAMERA_PERFRAMESETTING_ITEM_HEADER {}
10370 unsafe impl ::windows::runtime::Abi for KSCAMERA_PERFRAMESETTING_ITEM_HEADER {
10371     type Abi = Self;
10372     type DefaultType = Self;
10373 }
10374 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10375 #[repr(transparent)]
10376 pub struct KSCAMERA_PERFRAMESETTING_ITEM_TYPE(pub i32);
10377 pub const KSCAMERA_PERFRAMESETTING_ITEM_EXPOSURE_TIME: KSCAMERA_PERFRAMESETTING_ITEM_TYPE = KSCAMERA_PERFRAMESETTING_ITEM_TYPE(1i32);
10378 pub const KSCAMERA_PERFRAMESETTING_ITEM_FLASH: KSCAMERA_PERFRAMESETTING_ITEM_TYPE = KSCAMERA_PERFRAMESETTING_ITEM_TYPE(2i32);
10379 pub const KSCAMERA_PERFRAMESETTING_ITEM_EXPOSURE_COMPENSATION: KSCAMERA_PERFRAMESETTING_ITEM_TYPE = KSCAMERA_PERFRAMESETTING_ITEM_TYPE(3i32);
10380 pub const KSCAMERA_PERFRAMESETTING_ITEM_ISO: KSCAMERA_PERFRAMESETTING_ITEM_TYPE = KSCAMERA_PERFRAMESETTING_ITEM_TYPE(4i32);
10381 pub const KSCAMERA_PERFRAMESETTING_ITEM_FOCUS: KSCAMERA_PERFRAMESETTING_ITEM_TYPE = KSCAMERA_PERFRAMESETTING_ITEM_TYPE(5i32);
10382 pub const KSCAMERA_PERFRAMESETTING_ITEM_PHOTOCONFIRMATION: KSCAMERA_PERFRAMESETTING_ITEM_TYPE = KSCAMERA_PERFRAMESETTING_ITEM_TYPE(6i32);
10383 pub const KSCAMERA_PERFRAMESETTING_ITEM_CUSTOM: KSCAMERA_PERFRAMESETTING_ITEM_TYPE = KSCAMERA_PERFRAMESETTING_ITEM_TYPE(7i32);
10384 impl ::std::convert::From<i32> for KSCAMERA_PERFRAMESETTING_ITEM_TYPE {
from(value: i32) -> Self10385     fn from(value: i32) -> Self {
10386         Self(value)
10387     }
10388 }
10389 unsafe impl ::windows::runtime::Abi for KSCAMERA_PERFRAMESETTING_ITEM_TYPE {
10390     type Abi = Self;
10391     type DefaultType = Self;
10392 }
10393 pub const KSCAMERA_PERFRAMESETTING_MANUAL: u64 = 8589934592u64;
10394 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10395 #[repr(C)]
10396 pub struct KSCAMERA_PROFILE_CONCURRENCYINFO {
10397     pub ReferenceGuid: ::windows::runtime::GUID,
10398     pub Reserved: u32,
10399     pub ProfileCount: u32,
10400     pub Profiles: *mut KSCAMERA_PROFILE_INFO,
10401 }
10402 impl KSCAMERA_PROFILE_CONCURRENCYINFO {}
10403 impl ::std::default::Default for KSCAMERA_PROFILE_CONCURRENCYINFO {
default() -> Self10404     fn default() -> Self {
10405         unsafe { ::std::mem::zeroed() }
10406     }
10407 }
10408 impl ::std::fmt::Debug for KSCAMERA_PROFILE_CONCURRENCYINFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10409     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10410         fmt.debug_struct("KSCAMERA_PROFILE_CONCURRENCYINFO").field("ReferenceGuid", &self.ReferenceGuid).field("Reserved", &self.Reserved).field("ProfileCount", &self.ProfileCount).field("Profiles", &self.Profiles).finish()
10411     }
10412 }
10413 impl ::std::cmp::PartialEq for KSCAMERA_PROFILE_CONCURRENCYINFO {
eq(&self, other: &Self) -> bool10414     fn eq(&self, other: &Self) -> bool {
10415         self.ReferenceGuid == other.ReferenceGuid && self.Reserved == other.Reserved && self.ProfileCount == other.ProfileCount && self.Profiles == other.Profiles
10416     }
10417 }
10418 impl ::std::cmp::Eq for KSCAMERA_PROFILE_CONCURRENCYINFO {}
10419 unsafe impl ::windows::runtime::Abi for KSCAMERA_PROFILE_CONCURRENCYINFO {
10420     type Abi = Self;
10421     type DefaultType = Self;
10422 }
10423 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10424 #[repr(C)]
10425 pub struct KSCAMERA_PROFILE_INFO {
10426     pub ProfileId: ::windows::runtime::GUID,
10427     pub Index: u32,
10428     pub PinCount: u32,
10429     pub Pins: *mut KSCAMERA_PROFILE_PININFO,
10430 }
10431 impl KSCAMERA_PROFILE_INFO {}
10432 impl ::std::default::Default for KSCAMERA_PROFILE_INFO {
default() -> Self10433     fn default() -> Self {
10434         unsafe { ::std::mem::zeroed() }
10435     }
10436 }
10437 impl ::std::fmt::Debug for KSCAMERA_PROFILE_INFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10438     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10439         fmt.debug_struct("KSCAMERA_PROFILE_INFO").field("ProfileId", &self.ProfileId).field("Index", &self.Index).field("PinCount", &self.PinCount).field("Pins", &self.Pins).finish()
10440     }
10441 }
10442 impl ::std::cmp::PartialEq for KSCAMERA_PROFILE_INFO {
eq(&self, other: &Self) -> bool10443     fn eq(&self, other: &Self) -> bool {
10444         self.ProfileId == other.ProfileId && self.Index == other.Index && self.PinCount == other.PinCount && self.Pins == other.Pins
10445     }
10446 }
10447 impl ::std::cmp::Eq for KSCAMERA_PROFILE_INFO {}
10448 unsafe impl ::windows::runtime::Abi for KSCAMERA_PROFILE_INFO {
10449     type Abi = Self;
10450     type DefaultType = Self;
10451 }
10452 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10453 #[repr(C)]
10454 pub struct KSCAMERA_PROFILE_MEDIAINFO {
10455     pub Resolution: KSCAMERA_PROFILE_MEDIAINFO_1,
10456     pub MaxFrameRate: KSCAMERA_PROFILE_MEDIAINFO_0,
10457     pub Flags: u64,
10458     pub Data0: u32,
10459     pub Data1: u32,
10460     pub Data2: u32,
10461     pub Data3: u32,
10462 }
10463 impl KSCAMERA_PROFILE_MEDIAINFO {}
10464 impl ::std::default::Default for KSCAMERA_PROFILE_MEDIAINFO {
default() -> Self10465     fn default() -> Self {
10466         unsafe { ::std::mem::zeroed() }
10467     }
10468 }
10469 impl ::std::fmt::Debug for KSCAMERA_PROFILE_MEDIAINFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10470     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10471         fmt.debug_struct("KSCAMERA_PROFILE_MEDIAINFO").field("Resolution", &self.Resolution).field("MaxFrameRate", &self.MaxFrameRate).field("Flags", &self.Flags).field("Data0", &self.Data0).field("Data1", &self.Data1).field("Data2", &self.Data2).field("Data3", &self.Data3).finish()
10472     }
10473 }
10474 impl ::std::cmp::PartialEq for KSCAMERA_PROFILE_MEDIAINFO {
eq(&self, other: &Self) -> bool10475     fn eq(&self, other: &Self) -> bool {
10476         self.Resolution == other.Resolution && self.MaxFrameRate == other.MaxFrameRate && self.Flags == other.Flags && self.Data0 == other.Data0 && self.Data1 == other.Data1 && self.Data2 == other.Data2 && self.Data3 == other.Data3
10477     }
10478 }
10479 impl ::std::cmp::Eq for KSCAMERA_PROFILE_MEDIAINFO {}
10480 unsafe impl ::windows::runtime::Abi for KSCAMERA_PROFILE_MEDIAINFO {
10481     type Abi = Self;
10482     type DefaultType = Self;
10483 }
10484 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10485 #[repr(C)]
10486 pub struct KSCAMERA_PROFILE_MEDIAINFO_0 {
10487     pub Numerator: u32,
10488     pub Denominator: u32,
10489 }
10490 impl KSCAMERA_PROFILE_MEDIAINFO_0 {}
10491 impl ::std::default::Default for KSCAMERA_PROFILE_MEDIAINFO_0 {
default() -> Self10492     fn default() -> Self {
10493         unsafe { ::std::mem::zeroed() }
10494     }
10495 }
10496 impl ::std::fmt::Debug for KSCAMERA_PROFILE_MEDIAINFO_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10497     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10498         fmt.debug_struct("_MaxFrameRate_e__Struct").field("Numerator", &self.Numerator).field("Denominator", &self.Denominator).finish()
10499     }
10500 }
10501 impl ::std::cmp::PartialEq for KSCAMERA_PROFILE_MEDIAINFO_0 {
eq(&self, other: &Self) -> bool10502     fn eq(&self, other: &Self) -> bool {
10503         self.Numerator == other.Numerator && self.Denominator == other.Denominator
10504     }
10505 }
10506 impl ::std::cmp::Eq for KSCAMERA_PROFILE_MEDIAINFO_0 {}
10507 unsafe impl ::windows::runtime::Abi for KSCAMERA_PROFILE_MEDIAINFO_0 {
10508     type Abi = Self;
10509     type DefaultType = Self;
10510 }
10511 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10512 #[repr(C)]
10513 pub struct KSCAMERA_PROFILE_MEDIAINFO_1 {
10514     pub X: u32,
10515     pub Y: u32,
10516 }
10517 impl KSCAMERA_PROFILE_MEDIAINFO_1 {}
10518 impl ::std::default::Default for KSCAMERA_PROFILE_MEDIAINFO_1 {
default() -> Self10519     fn default() -> Self {
10520         unsafe { ::std::mem::zeroed() }
10521     }
10522 }
10523 impl ::std::fmt::Debug for KSCAMERA_PROFILE_MEDIAINFO_1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10524     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10525         fmt.debug_struct("_Resolution_e__Struct").field("X", &self.X).field("Y", &self.Y).finish()
10526     }
10527 }
10528 impl ::std::cmp::PartialEq for KSCAMERA_PROFILE_MEDIAINFO_1 {
eq(&self, other: &Self) -> bool10529     fn eq(&self, other: &Self) -> bool {
10530         self.X == other.X && self.Y == other.Y
10531     }
10532 }
10533 impl ::std::cmp::Eq for KSCAMERA_PROFILE_MEDIAINFO_1 {}
10534 unsafe impl ::windows::runtime::Abi for KSCAMERA_PROFILE_MEDIAINFO_1 {
10535     type Abi = Self;
10536     type DefaultType = Self;
10537 }
10538 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10539 #[repr(C)]
10540 pub struct KSCAMERA_PROFILE_PININFO {
10541     pub PinCategory: ::windows::runtime::GUID,
10542     pub Anonymous: KSCAMERA_PROFILE_PININFO_0,
10543     pub MediaInfoCount: u32,
10544     pub MediaInfos: *mut KSCAMERA_PROFILE_MEDIAINFO,
10545 }
10546 impl KSCAMERA_PROFILE_PININFO {}
10547 impl ::std::default::Default for KSCAMERA_PROFILE_PININFO {
default() -> Self10548     fn default() -> Self {
10549         unsafe { ::std::mem::zeroed() }
10550     }
10551 }
10552 impl ::std::cmp::PartialEq for KSCAMERA_PROFILE_PININFO {
eq(&self, _other: &Self) -> bool10553     fn eq(&self, _other: &Self) -> bool {
10554         unimplemented!()
10555     }
10556 }
10557 impl ::std::cmp::Eq for KSCAMERA_PROFILE_PININFO {}
10558 unsafe impl ::windows::runtime::Abi for KSCAMERA_PROFILE_PININFO {
10559     type Abi = Self;
10560     type DefaultType = Self;
10561 }
10562 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10563 #[repr(C)]
10564 pub union KSCAMERA_PROFILE_PININFO_0 {
10565     pub Anonymous: KSCAMERA_PROFILE_PININFO_0_0,
10566     pub Reserved: u32,
10567 }
10568 impl KSCAMERA_PROFILE_PININFO_0 {}
10569 impl ::std::default::Default for KSCAMERA_PROFILE_PININFO_0 {
default() -> Self10570     fn default() -> Self {
10571         unsafe { ::std::mem::zeroed() }
10572     }
10573 }
10574 impl ::std::cmp::PartialEq for KSCAMERA_PROFILE_PININFO_0 {
eq(&self, _other: &Self) -> bool10575     fn eq(&self, _other: &Self) -> bool {
10576         unimplemented!()
10577     }
10578 }
10579 impl ::std::cmp::Eq for KSCAMERA_PROFILE_PININFO_0 {}
10580 unsafe impl ::windows::runtime::Abi for KSCAMERA_PROFILE_PININFO_0 {
10581     type Abi = Self;
10582     type DefaultType = Self;
10583 }
10584 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10585 #[repr(C)]
10586 pub struct KSCAMERA_PROFILE_PININFO_0_0 {
10587     pub PinIndex: u16,
10588     pub ProfileSensorType: u16,
10589 }
10590 impl KSCAMERA_PROFILE_PININFO_0_0 {}
10591 impl ::std::default::Default for KSCAMERA_PROFILE_PININFO_0_0 {
default() -> Self10592     fn default() -> Self {
10593         unsafe { ::std::mem::zeroed() }
10594     }
10595 }
10596 impl ::std::fmt::Debug for KSCAMERA_PROFILE_PININFO_0_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10597     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10598         fmt.debug_struct("_Anonymous_e__Struct").field("PinIndex", &self.PinIndex).field("ProfileSensorType", &self.ProfileSensorType).finish()
10599     }
10600 }
10601 impl ::std::cmp::PartialEq for KSCAMERA_PROFILE_PININFO_0_0 {
eq(&self, other: &Self) -> bool10602     fn eq(&self, other: &Self) -> bool {
10603         self.PinIndex == other.PinIndex && self.ProfileSensorType == other.ProfileSensorType
10604     }
10605 }
10606 impl ::std::cmp::Eq for KSCAMERA_PROFILE_PININFO_0_0 {}
10607 unsafe impl ::windows::runtime::Abi for KSCAMERA_PROFILE_PININFO_0_0 {
10608     type Abi = Self;
10609     type DefaultType = Self;
10610 }
10611 pub const KSCATEGORY_ACOUSTIC_ECHO_CANCEL: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3214294400, 50521, 4560, [138, 43, 0, 160, 201, 37, 90, 193]);
10612 pub const KSCATEGORY_AUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1771351300, 37871, 4560, [163, 204, 0, 160, 201, 34, 49, 150]);
10613 pub const KSCATEGORY_BRIDGE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(140181248, 25294, 4559, [165, 214, 40, 219, 4, 193, 0, 0]);
10614 pub const KSCATEGORY_CAPTURE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1709733693, 36694, 4560, [163, 185, 0, 160, 201, 34, 49, 150]);
10615 pub const KSCATEGORY_CLOCK: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1394025600, 18321, 4560, [165, 214, 40, 219, 4, 193, 0, 0]);
10616 pub const KSCATEGORY_COMMUNICATIONSTRANSFORM: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3474840108, 38723, 4560, [163, 238, 0, 160, 201, 34, 49, 150]);
10617 pub const KSCATEGORY_CROSSBAR: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2811865089, 42093, 4560, [161, 140, 0, 160, 36, 1, 220, 212]);
10618 pub const KSCATEGORY_DATACOMPRESSOR: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(512018688, 32368, 4560, [165, 214, 40, 219, 4, 193, 0, 0]);
10619 pub const KSCATEGORY_DATADECOMPRESSOR: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(656518688, 32368, 4560, [165, 214, 40, 219, 4, 193, 0, 0]);
10620 pub const KSCATEGORY_DATATRANSFORM: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(783318688, 32368, 4560, [165, 214, 40, 219, 4, 193, 0, 0]);
10621 pub const KSCATEGORY_ENCODER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(426286070, 50052, 18685, [173, 81, 144, 229, 140, 121, 247, 11]);
10622 pub const KSCATEGORY_ESCALANTE_PLATFORM_DRIVER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1962127016, 38760, 4561, [142, 7, 0, 160, 201, 94, 194, 46]);
10623 pub const KSCATEGORY_FILESYSTEM: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1980755294, 37719, 4560, [163, 204, 0, 160, 201, 34, 49, 150]);
10624 pub const KSCATEGORY_INTERFACETRANSFORM: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3474840109, 38723, 4560, [163, 238, 0, 160, 201, 34, 49, 150]);
10625 pub const KSCATEGORY_MEDIUMTRANSFORM: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3474840110, 38723, 4560, [163, 238, 0, 160, 201, 34, 49, 150]);
10626 pub const KSCATEGORY_MICROPHONE_ARRAY_PROCESSOR: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2198488306, 41773, 18283, [190, 151, 66, 132, 86, 115, 179, 90]);
10627 pub const KSCATEGORY_MIXER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2910886912, 31624, 4560, [165, 214, 40, 219, 4, 193, 0, 0]);
10628 pub const KSCATEGORY_MULTIPLEXER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2052973011, 417, 17708, [180, 129, 79, 162, 185, 98, 113, 232]);
10629 pub const KSCATEGORY_NETWORK: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1741278268, 27076, 4562, [135, 89, 0, 160, 201, 34, 49, 150]);
10630 pub const KSCATEGORY_NETWORK_CAMERA: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3089335890, 46336, 16875, [180, 243, 66, 52, 247, 245, 174, 153]);
10631 pub const KSCATEGORY_PROXY: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2548804298, 38333, 4560, [163, 234, 0, 160, 201, 34, 49, 150]);
10632 pub const KSCATEGORY_QUALITY: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2548804299, 38333, 4560, [163, 234, 0, 160, 201, 34, 49, 150]);
10633 pub const KSCATEGORY_REALTIME: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3943784444, 4296, 18788, [131, 29, 109, 203, 2, 230, 242, 63]);
10634 pub const KSCATEGORY_RENDER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1709733694, 36694, 4560, [163, 185, 0, 160, 201, 34, 49, 150]);
10635 pub const KSCATEGORY_SENSOR_CAMERA: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(619008727, 25891, 18423, [166, 71, 211, 70, 91, 241, 245, 202]);
10636 pub const KSCATEGORY_SENSOR_GROUP: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1721528852, 2696, 17169, [167, 243, 78, 121, 130, 14, 51, 189]);
10637 pub const KSCATEGORY_SPLITTER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(172118688, 32368, 4560, [165, 214, 40, 219, 4, 193, 0, 0]);
10638 pub const KSCATEGORY_TEXT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1771351302, 37871, 4560, [163, 204, 0, 160, 201, 34, 49, 150]);
10639 pub const KSCATEGORY_TOPOLOGY: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3718597184, 7756, 4561, [160, 80, 64, 87, 5, 193, 0, 0]);
10640 pub const KSCATEGORY_TVAUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2811865090, 42093, 4560, [161, 140, 0, 160, 36, 1, 220, 212]);
10641 pub const KSCATEGORY_TVTUNER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2811865088, 42093, 4560, [161, 140, 0, 160, 36, 1, 220, 212]);
10642 pub const KSCATEGORY_VBICODEC: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(131782240, 8945, 4561, [169, 244, 0, 192, 79, 187, 222, 143]);
10643 pub const KSCATEGORY_VIDEO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1771351301, 37871, 4560, [163, 204, 0, 160, 201, 34, 49, 150]);
10644 pub const KSCATEGORY_VIDEO_CAMERA: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3845273463, 63862, 20315, [155, 85, 185, 70, 153, 196, 110, 68]);
10645 pub const KSCATEGORY_VIRTUAL: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(889449156, 7974, 4561, [138, 176, 0, 160, 201, 34, 49, 150]);
10646 pub const KSCATEGORY_VPMUX: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2811865091, 42093, 4560, [161, 140, 0, 160, 36, 1, 220, 212]);
10647 pub const KSCATEGORY_WDMAUD_USE_PIN_NAME: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1201994272, 41553, 4561, [160, 80, 0, 0, 248, 0, 71, 136]);
10648 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10649 #[repr(C)]
10650 pub struct KSCLOCK_CREATE {
10651     pub CreateFlags: u32,
10652 }
10653 impl KSCLOCK_CREATE {}
10654 impl ::std::default::Default for KSCLOCK_CREATE {
default() -> Self10655     fn default() -> Self {
10656         unsafe { ::std::mem::zeroed() }
10657     }
10658 }
10659 impl ::std::fmt::Debug for KSCLOCK_CREATE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10660     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10661         fmt.debug_struct("KSCLOCK_CREATE").field("CreateFlags", &self.CreateFlags).finish()
10662     }
10663 }
10664 impl ::std::cmp::PartialEq for KSCLOCK_CREATE {
eq(&self, other: &Self) -> bool10665     fn eq(&self, other: &Self) -> bool {
10666         self.CreateFlags == other.CreateFlags
10667     }
10668 }
10669 impl ::std::cmp::Eq for KSCLOCK_CREATE {}
10670 unsafe impl ::windows::runtime::Abi for KSCLOCK_CREATE {
10671     type Abi = Self;
10672     type DefaultType = Self;
10673 }
10674 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10675 #[repr(C)]
10676 pub struct KSCOMPONENTID {
10677     pub Manufacturer: ::windows::runtime::GUID,
10678     pub Product: ::windows::runtime::GUID,
10679     pub Component: ::windows::runtime::GUID,
10680     pub Name: ::windows::runtime::GUID,
10681     pub Version: u32,
10682     pub Revision: u32,
10683 }
10684 impl KSCOMPONENTID {}
10685 impl ::std::default::Default for KSCOMPONENTID {
default() -> Self10686     fn default() -> Self {
10687         unsafe { ::std::mem::zeroed() }
10688     }
10689 }
10690 impl ::std::fmt::Debug for KSCOMPONENTID {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10691     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10692         fmt.debug_struct("KSCOMPONENTID").field("Manufacturer", &self.Manufacturer).field("Product", &self.Product).field("Component", &self.Component).field("Name", &self.Name).field("Version", &self.Version).field("Revision", &self.Revision).finish()
10693     }
10694 }
10695 impl ::std::cmp::PartialEq for KSCOMPONENTID {
eq(&self, other: &Self) -> bool10696     fn eq(&self, other: &Self) -> bool {
10697         self.Manufacturer == other.Manufacturer && self.Product == other.Product && self.Component == other.Component && self.Name == other.Name && self.Version == other.Version && self.Revision == other.Revision
10698     }
10699 }
10700 impl ::std::cmp::Eq for KSCOMPONENTID {}
10701 unsafe impl ::windows::runtime::Abi for KSCOMPONENTID {
10702     type Abi = Self;
10703     type DefaultType = Self;
10704 }
10705 pub const KSCOMPONENTID_USBAUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2400351728, 9961, 16996, [186, 77, 57, 255, 240, 29, 148, 170]);
10706 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10707 #[repr(C)]
10708 pub struct KSCORRELATED_TIME {
10709     pub Time: i64,
10710     pub SystemTime: i64,
10711 }
10712 impl KSCORRELATED_TIME {}
10713 impl ::std::default::Default for KSCORRELATED_TIME {
default() -> Self10714     fn default() -> Self {
10715         unsafe { ::std::mem::zeroed() }
10716     }
10717 }
10718 impl ::std::fmt::Debug for KSCORRELATED_TIME {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10719     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10720         fmt.debug_struct("KSCORRELATED_TIME").field("Time", &self.Time).field("SystemTime", &self.SystemTime).finish()
10721     }
10722 }
10723 impl ::std::cmp::PartialEq for KSCORRELATED_TIME {
eq(&self, other: &Self) -> bool10724     fn eq(&self, other: &Self) -> bool {
10725         self.Time == other.Time && self.SystemTime == other.SystemTime
10726     }
10727 }
10728 impl ::std::cmp::Eq for KSCORRELATED_TIME {}
10729 unsafe impl ::windows::runtime::Abi for KSCORRELATED_TIME {
10730     type Abi = Self;
10731     type DefaultType = Self;
10732 }
10733 pub const KSCREATE_ITEM_FREEONSTOP: u32 = 8u32;
10734 pub const KSCREATE_ITEM_NOPARAMETERS: u32 = 4u32;
10735 pub const KSCREATE_ITEM_SECURITYCHANGED: u32 = 1u32;
10736 pub const KSCREATE_ITEM_WILDCARD: u32 = 2u32;
10737 pub const KSCameraProfileSensorType_Custom: u32 = 128u32;
10738 pub const KSCameraProfileSensorType_Depth: u32 = 4u32;
10739 pub const KSCameraProfileSensorType_ImageSegmentation: u32 = 16u32;
10740 pub const KSCameraProfileSensorType_Infrared: u32 = 2u32;
10741 pub const KSCameraProfileSensorType_PoseTracking: u32 = 8u32;
10742 pub const KSCameraProfileSensorType_RGB: u32 = 1u32;
10743 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10744 #[repr(C)]
10745 pub union KSDATAFORMAT {
10746     pub Anonymous: KSDATAFORMAT_0,
10747     pub Alignment: i64,
10748 }
10749 impl KSDATAFORMAT {}
10750 impl ::std::default::Default for KSDATAFORMAT {
default() -> Self10751     fn default() -> Self {
10752         unsafe { ::std::mem::zeroed() }
10753     }
10754 }
10755 impl ::std::cmp::PartialEq for KSDATAFORMAT {
eq(&self, _other: &Self) -> bool10756     fn eq(&self, _other: &Self) -> bool {
10757         unimplemented!()
10758     }
10759 }
10760 impl ::std::cmp::Eq for KSDATAFORMAT {}
10761 unsafe impl ::windows::runtime::Abi for KSDATAFORMAT {
10762     type Abi = Self;
10763     type DefaultType = Self;
10764 }
10765 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10766 #[repr(C)]
10767 pub struct KSDATAFORMAT_0 {
10768     pub FormatSize: u32,
10769     pub Flags: u32,
10770     pub SampleSize: u32,
10771     pub Reserved: u32,
10772     pub MajorFormat: ::windows::runtime::GUID,
10773     pub SubFormat: ::windows::runtime::GUID,
10774     pub Specifier: ::windows::runtime::GUID,
10775 }
10776 impl KSDATAFORMAT_0 {}
10777 impl ::std::default::Default for KSDATAFORMAT_0 {
default() -> Self10778     fn default() -> Self {
10779         unsafe { ::std::mem::zeroed() }
10780     }
10781 }
10782 impl ::std::fmt::Debug for KSDATAFORMAT_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10783     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10784         fmt.debug_struct("_Anonymous_e__Struct").field("FormatSize", &self.FormatSize).field("Flags", &self.Flags).field("SampleSize", &self.SampleSize).field("Reserved", &self.Reserved).field("MajorFormat", &self.MajorFormat).field("SubFormat", &self.SubFormat).field("Specifier", &self.Specifier).finish()
10785     }
10786 }
10787 impl ::std::cmp::PartialEq for KSDATAFORMAT_0 {
eq(&self, other: &Self) -> bool10788     fn eq(&self, other: &Self) -> bool {
10789         self.FormatSize == other.FormatSize && self.Flags == other.Flags && self.SampleSize == other.SampleSize && self.Reserved == other.Reserved && self.MajorFormat == other.MajorFormat && self.SubFormat == other.SubFormat && self.Specifier == other.Specifier
10790     }
10791 }
10792 impl ::std::cmp::Eq for KSDATAFORMAT_0 {}
10793 unsafe impl ::windows::runtime::Abi for KSDATAFORMAT_0 {
10794     type Abi = Self;
10795     type DefaultType = Self;
10796 }
10797 pub const KSDATAFORMAT_BIT_ATTRIBUTES: u32 = 1u32;
10798 pub const KSDATAFORMAT_BIT_TEMPORAL_COMPRESSION: u32 = 0u32;
10799 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10800 #[repr(C, packed(1))]
10801 #[cfg(feature = "Win32_Media_Multimedia")]
10802 pub struct KSDATAFORMAT_DSOUND {
10803     pub DataFormat: KSDATAFORMAT,
10804     pub BufferDesc: KSDSOUND_BUFFERDESC,
10805 }
10806 #[cfg(feature = "Win32_Media_Multimedia")]
10807 impl KSDATAFORMAT_DSOUND {}
10808 #[cfg(feature = "Win32_Media_Multimedia")]
10809 impl ::std::default::Default for KSDATAFORMAT_DSOUND {
default() -> Self10810     fn default() -> Self {
10811         unsafe { ::std::mem::zeroed() }
10812     }
10813 }
10814 #[cfg(feature = "Win32_Media_Multimedia")]
10815 impl ::std::cmp::PartialEq for KSDATAFORMAT_DSOUND {
eq(&self, _other: &Self) -> bool10816     fn eq(&self, _other: &Self) -> bool {
10817         unimplemented!()
10818     }
10819 }
10820 #[cfg(feature = "Win32_Media_Multimedia")]
10821 impl ::std::cmp::Eq for KSDATAFORMAT_DSOUND {}
10822 #[cfg(feature = "Win32_Media_Multimedia")]
10823 unsafe impl ::windows::runtime::Abi for KSDATAFORMAT_DSOUND {
10824     type Abi = Self;
10825     type DefaultType = Self;
10826 }
10827 pub const KSDATAFORMAT_SPECIFIER_AC3_AUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3765272804, 56134, 4559, [180, 209, 0, 128, 95, 108, 187, 234]);
10828 pub const KSDATAFORMAT_SPECIFIER_ANALOGVIDEO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(75685344, 30743, 4559, [138, 3, 0, 170, 0, 110, 203, 101]);
10829 pub const KSDATAFORMAT_SPECIFIER_DIALECT_AC3_AUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(911358773, 36581, 4561, [140, 163, 0, 96, 176, 87, 102, 74]);
10830 pub const KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_AUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(911358770, 36581, 4561, [140, 163, 0, 96, 176, 87, 102, 74]);
10831 pub const KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_VIDEO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(911358769, 36581, 4561, [140, 163, 0, 96, 176, 87, 102, 74]);
10832 pub const KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_AUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(911358772, 36581, 4561, [140, 163, 0, 96, 176, 87, 102, 74]);
10833 pub const KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_VIDEO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(911358771, 36581, 4561, [140, 163, 0, 96, 176, 87, 102, 74]);
10834 pub const KSDATAFORMAT_SPECIFIER_DSOUND: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1367707810, 41348, 4560, [133, 34, 0, 192, 79, 217, 186, 243]);
10835 pub const KSDATAFORMAT_SPECIFIER_FILEHANDLE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1709733692, 36694, 4560, [163, 185, 0, 160, 201, 34, 49, 150]);
10836 pub const KSDATAFORMAT_SPECIFIER_FILENAME: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2860088128, 59764, 4559, [165, 214, 40, 219, 4, 193, 0, 0]);
10837 pub const KSDATAFORMAT_SPECIFIER_H264_VIDEO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(538426885, 26153, 16968, [170, 237, 126, 26, 71, 188, 155, 156]);
10838 pub const KSDATAFORMAT_SPECIFIER_IMAGE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1764729721, 54248, 18001, [181, 180, 11, 148, 176, 19, 238, 175]);
10839 pub const KSDATAFORMAT_SPECIFIER_JPEG_IMAGE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1764729721, 54248, 18001, [181, 180, 11, 148, 176, 19, 238, 175]);
10840 pub const KSDATAFORMAT_SPECIFIER_LPCM_AUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3765272806, 56134, 4559, [180, 209, 0, 128, 95, 108, 187, 234]);
10841 pub const KSDATAFORMAT_SPECIFIER_MPEG1_VIDEO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(89694082, 50006, 4558, [191, 1, 0, 170, 0, 85, 89, 90]);
10842 pub const KSDATAFORMAT_SPECIFIER_MPEG2_AUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3765272805, 56134, 4559, [180, 209, 0, 128, 95, 108, 187, 234]);
10843 pub const KSDATAFORMAT_SPECIFIER_MPEG2_VIDEO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3765272803, 56134, 4559, [180, 209, 0, 128, 95, 108, 187, 234]);
10844 pub const KSDATAFORMAT_SPECIFIER_NONE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(258217942, 49944, 4560, [164, 63, 0, 160, 201, 34, 49, 150]);
10845 pub const KSDATAFORMAT_SPECIFIER_VBI: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4146755296, 60170, 4560, [172, 228, 0, 0, 192, 204, 22, 186]);
10846 pub const KSDATAFORMAT_SPECIFIER_VC_ID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2912473476, 43715, 4560, [164, 28, 0, 160, 201, 34, 49, 150]);
10847 pub const KSDATAFORMAT_SPECIFIER_VIDEOINFO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(89694080, 50006, 4558, [191, 1, 0, 170, 0, 85, 89, 90]);
10848 pub const KSDATAFORMAT_SPECIFIER_VIDEOINFO2: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4146755232, 60170, 4560, [172, 228, 0, 0, 192, 204, 22, 186]);
10849 pub const KSDATAFORMAT_SPECIFIER_WAVEFORMATEX: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(89694081, 50006, 4558, [191, 1, 0, 170, 0, 85, 89, 90]);
10850 pub const KSDATAFORMAT_SUBTYPE_AC3_AUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3765272620, 56134, 4559, [180, 209, 0, 128, 95, 108, 187, 234]);
10851 pub const KSDATAFORMAT_SUBTYPE_ADPCM: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2, 0, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10852 pub const KSDATAFORMAT_SUBTYPE_ALAW: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(6, 0, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10853 pub const KSDATAFORMAT_SUBTYPE_ANALOG: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1840918928, 26557, 4559, [160, 247, 0, 32, 175, 209, 86, 228]);
10854 pub const KSDATAFORMAT_SUBTYPE_CC: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(857820353, 287, 4562, [180, 177, 0, 160, 209, 2, 207, 190]);
10855 pub const KSDATAFORMAT_SUBTYPE_D16: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(80, 4, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10856 pub const KSDATAFORMAT_SUBTYPE_DRM: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(9, 0, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10857 pub const KSDATAFORMAT_SUBTYPE_DSS_AUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2695843714, 57699, 4560, [186, 217, 0, 96, 151, 68, 17, 26]);
10858 pub const KSDATAFORMAT_SUBTYPE_DSS_VIDEO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2695843713, 57699, 4560, [186, 217, 0, 96, 151, 68, 17, 26]);
10859 pub const KSDATAFORMAT_SUBTYPE_DTS_AUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3765272627, 56134, 4559, [180, 209, 0, 128, 95, 108, 187, 234]);
10860 pub const KSDATAFORMAT_SUBTYPE_IEC61937_AAC: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(6, 3306, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10861 pub const KSDATAFORMAT_SUBTYPE_IEC61937_ATRAC: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(8, 3306, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10862 pub const KSDATAFORMAT_SUBTYPE_IEC61937_DOLBY_DIGITAL: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(146, 0, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10863 pub const KSDATAFORMAT_SUBTYPE_IEC61937_DOLBY_DIGITAL_PLUS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(10, 3306, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10864 pub const KSDATAFORMAT_SUBTYPE_IEC61937_DOLBY_DIGITAL_PLUS_ATMOS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(266, 3306, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10865 pub const KSDATAFORMAT_SUBTYPE_IEC61937_DOLBY_MAT20: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(268, 3306, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10866 pub const KSDATAFORMAT_SUBTYPE_IEC61937_DOLBY_MAT21: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(780, 3306, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10867 pub const KSDATAFORMAT_SUBTYPE_IEC61937_DOLBY_MLP: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(12, 3306, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10868 pub const KSDATAFORMAT_SUBTYPE_IEC61937_DST: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(13, 3306, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10869 pub const KSDATAFORMAT_SUBTYPE_IEC61937_DTS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(8, 0, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10870 pub const KSDATAFORMAT_SUBTYPE_IEC61937_DTSX_E1: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(267, 3306, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10871 pub const KSDATAFORMAT_SUBTYPE_IEC61937_DTSX_E2: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(779, 3306, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10872 pub const KSDATAFORMAT_SUBTYPE_IEC61937_DTS_HD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(11, 3306, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10873 pub const KSDATAFORMAT_SUBTYPE_IEC61937_MPEG1: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3, 3306, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10874 pub const KSDATAFORMAT_SUBTYPE_IEC61937_MPEG2: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4, 3306, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10875 pub const KSDATAFORMAT_SUBTYPE_IEC61937_MPEG3: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(5, 3306, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10876 pub const KSDATAFORMAT_SUBTYPE_IEC61937_ONE_BIT_AUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(9, 3306, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10877 pub const KSDATAFORMAT_SUBTYPE_IEC61937_WMA_PRO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(356, 0, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10878 pub const KSDATAFORMAT_SUBTYPE_IMAGE_RGB32: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(22, 0, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10879 pub const KSDATAFORMAT_SUBTYPE_JPEG: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(434415018, 22114, 20421, [160, 192, 23, 88, 2, 142, 16, 87]);
10880 pub const KSDATAFORMAT_SUBTYPE_L16: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(81, 0, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10881 pub const KSDATAFORMAT_SUBTYPE_L16_CUSTOM: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(81, 32768, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10882 pub const KSDATAFORMAT_SUBTYPE_L16_IR: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(81, 2, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10883 pub const KSDATAFORMAT_SUBTYPE_L8: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(50, 0, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10884 pub const KSDATAFORMAT_SUBTYPE_L8_CUSTOM: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(50, 32768, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10885 pub const KSDATAFORMAT_SUBTYPE_L8_IR: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(50, 2, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10886 pub const KSDATAFORMAT_SUBTYPE_LPCM_AUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3765272626, 56134, 4559, [180, 209, 0, 128, 95, 108, 187, 234]);
10887 pub const KSDATAFORMAT_SUBTYPE_Line21_BytePair: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1854753314, 12556, 4560, [183, 154, 0, 170, 0, 55, 103, 167]);
10888 pub const KSDATAFORMAT_SUBTYPE_Line21_GOPPacket: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1854753315, 12556, 4560, [183, 154, 0, 170, 0, 55, 103, 167]);
10889 pub const KSDATAFORMAT_SUBTYPE_MIDI: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(489039712, 59735, 4559, [165, 214, 40, 219, 4, 193, 0, 0]);
10890 pub const KSDATAFORMAT_SUBTYPE_MIDI_BUS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(748773280, 27902, 4559, [165, 214, 40, 219, 4, 193, 0, 0]);
10891 pub const KSDATAFORMAT_SUBTYPE_MJPG_CUSTOM: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1196444237, 32768, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10892 pub const KSDATAFORMAT_SUBTYPE_MJPG_DEPTH: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1196444237, 4, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10893 pub const KSDATAFORMAT_SUBTYPE_MJPG_IR: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1196444237, 2, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10894 pub const KSDATAFORMAT_SUBTYPE_MPEG: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(80, 0, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10895 pub const KSDATAFORMAT_SUBTYPE_MPEG1Packet: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3828804480, 21071, 4558, [159, 83, 0, 32, 175, 11, 167, 112]);
10896 pub const KSDATAFORMAT_SUBTYPE_MPEG1Payload: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3828804481, 21071, 4558, [159, 83, 0, 32, 175, 11, 167, 112]);
10897 pub const KSDATAFORMAT_SUBTYPE_MPEG1Video: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3828804486, 21071, 4558, [159, 83, 0, 32, 175, 11, 167, 112]);
10898 pub const KSDATAFORMAT_SUBTYPE_MPEG2_AUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3765272619, 56134, 4559, [180, 209, 0, 128, 95, 108, 187, 234]);
10899 pub const KSDATAFORMAT_SUBTYPE_MPEG2_VIDEO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3765272614, 56134, 4559, [180, 209, 0, 128, 95, 108, 187, 234]);
10900 pub const KSDATAFORMAT_SUBTYPE_MPEGLAYER3: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(85, 0, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10901 pub const KSDATAFORMAT_SUBTYPE_MPEG_HEAAC: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(5648, 0, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10902 pub const KSDATAFORMAT_SUBTYPE_MULAW: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(7, 0, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10903 pub const KSDATAFORMAT_SUBTYPE_NABTS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4146755298, 60170, 4560, [172, 228, 0, 0, 192, 204, 22, 186]);
10904 pub const KSDATAFORMAT_SUBTYPE_NABTS_FEC: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3881286817, 14764, 4561, [169, 245, 0, 192, 79, 187, 222, 143]);
10905 pub const KSDATAFORMAT_SUBTYPE_NONE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3828804494, 21071, 4558, [159, 83, 0, 32, 175, 11, 167, 112]);
10906 pub const KSDATAFORMAT_SUBTYPE_OVERLAY: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3828804479, 21071, 4558, [159, 83, 0, 32, 175, 11, 167, 112]);
10907 pub const KSDATAFORMAT_SUBTYPE_RAW8: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3391150496, 15934, 4561, [155, 249, 0, 192, 79, 187, 222, 191]);
10908 pub const KSDATAFORMAT_SUBTYPE_RIFF: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1234557678, 40678, 4560, [164, 14, 0, 160, 201, 34, 49, 150]);
10909 pub const KSDATAFORMAT_SUBTYPE_RIFFMIDI: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1234557680, 40678, 4560, [164, 14, 0, 160, 201, 34, 49, 150]);
10910 pub const KSDATAFORMAT_SUBTYPE_RIFFWAVE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3828804491, 21071, 4558, [159, 83, 0, 32, 175, 11, 167, 112]);
10911 pub const KSDATAFORMAT_SUBTYPE_SDDS_AUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3765272628, 56134, 4559, [180, 209, 0, 128, 95, 108, 187, 234]);
10912 pub const KSDATAFORMAT_SUBTYPE_STANDARD_AC3_AUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(911358757, 36581, 4561, [140, 163, 0, 96, 176, 87, 102, 74]);
10913 pub const KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_AUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(911358754, 36581, 4561, [140, 163, 0, 96, 176, 87, 102, 74]);
10914 pub const KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_VIDEO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(911358753, 36581, 4561, [140, 163, 0, 96, 176, 87, 102, 74]);
10915 pub const KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_AUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(911358756, 36581, 4561, [140, 163, 0, 96, 176, 87, 102, 74]);
10916 pub const KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_VIDEO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(911358755, 36581, 4561, [140, 163, 0, 96, 176, 87, 102, 74]);
10917 pub const KSDATAFORMAT_SUBTYPE_SUBPICTURE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3765272621, 56134, 4559, [180, 209, 0, 128, 95, 108, 187, 234]);
10918 pub const KSDATAFORMAT_SUBTYPE_TELETEXT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4146755299, 60170, 4560, [172, 228, 0, 0, 192, 204, 22, 186]);
10919 pub const KSDATAFORMAT_SUBTYPE_VPVBI: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1520134721, 6690, 4561, [186, 217, 0, 96, 151, 68, 17, 26]);
10920 pub const KSDATAFORMAT_SUBTYPE_VPVideo: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1520134720, 6690, 4561, [186, 217, 0, 96, 151, 68, 17, 26]);
10921 pub const KSDATAFORMAT_SUBTYPE_WMAUDIO2: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(353, 0, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10922 pub const KSDATAFORMAT_SUBTYPE_WMAUDIO3: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(354, 0, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10923 pub const KSDATAFORMAT_SUBTYPE_WMAUDIO_LOSSLESS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(355, 0, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10924 pub const KSDATAFORMAT_TYPE_ANALOGAUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(75685601, 30743, 4559, [138, 3, 0, 170, 0, 110, 203, 101]);
10925 pub const KSDATAFORMAT_TYPE_ANALOGVIDEO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(75685345, 30743, 4559, [138, 3, 0, 170, 0, 110, 203, 101]);
10926 pub const KSDATAFORMAT_TYPE_AUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1935963489, 0, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10927 pub const KSDATAFORMAT_TYPE_AUXLine21Data: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1728768640, 14978, 4560, [183, 155, 0, 170, 0, 55, 103, 167]);
10928 pub const KSDATAFORMAT_TYPE_DVD_ENCRYPTED_PACK: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3976958314, 1101, 4561, [170, 120, 0, 192, 79, 195, 29, 96]);
10929 pub const KSDATAFORMAT_TYPE_IMAGE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1914145827, 58459, 4565, [188, 42, 0, 176, 208, 243, 244, 171]);
10930 pub const KSDATAFORMAT_TYPE_MIDI: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1935960429, 0, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10931 pub const KSDATAFORMAT_TYPE_MPEG2_PES: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3765272608, 56134, 4559, [180, 209, 0, 128, 95, 108, 187, 234]);
10932 pub const KSDATAFORMAT_TYPE_MPEG2_PROGRAM: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3765272610, 56134, 4559, [180, 209, 0, 128, 95, 108, 187, 234]);
10933 pub const KSDATAFORMAT_TYPE_MPEG2_TRANSPORT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3765272611, 56134, 4559, [180, 209, 0, 128, 95, 108, 187, 234]);
10934 pub const KSDATAFORMAT_TYPE_MUSIC: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3878015840, 25292, 4559, [165, 214, 40, 219, 4, 193, 0, 0]);
10935 pub const KSDATAFORMAT_TYPE_NABTS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3881286816, 14764, 4561, [169, 245, 0, 192, 79, 187, 222, 143]);
10936 pub const KSDATAFORMAT_TYPE_STANDARD_ELEMENTARY_STREAM: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(911358737, 36581, 4561, [140, 163, 0, 96, 176, 87, 102, 74]);
10937 pub const KSDATAFORMAT_TYPE_STANDARD_PACK_HEADER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(911358739, 36581, 4561, [140, 163, 0, 96, 176, 87, 102, 74]);
10938 pub const KSDATAFORMAT_TYPE_STANDARD_PES_PACKET: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(911358738, 36581, 4561, [140, 163, 0, 96, 176, 87, 102, 74]);
10939 pub const KSDATAFORMAT_TYPE_STREAM: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3828804483, 21071, 4558, [159, 83, 0, 32, 175, 11, 167, 112]);
10940 pub const KSDATAFORMAT_TYPE_TEXT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1937012852, 0, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10941 pub const KSDATAFORMAT_TYPE_VBI: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4146755297, 60170, 4560, [172, 228, 0, 0, 192, 204, 22, 186]);
10942 pub const KSDATAFORMAT_TYPE_VIDEO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1935960438, 0, 16, [128, 0, 0, 170, 0, 56, 155, 113]);
10943 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10944 #[repr(C, packed(1))]
10945 #[cfg(feature = "Win32_Media_Multimedia")]
10946 pub struct KSDATAFORMAT_WAVEFORMATEX {
10947     pub DataFormat: KSDATAFORMAT,
10948     pub WaveFormatEx: super::super::Multimedia::WAVEFORMATEX,
10949 }
10950 #[cfg(feature = "Win32_Media_Multimedia")]
10951 impl KSDATAFORMAT_WAVEFORMATEX {}
10952 #[cfg(feature = "Win32_Media_Multimedia")]
10953 impl ::std::default::Default for KSDATAFORMAT_WAVEFORMATEX {
default() -> Self10954     fn default() -> Self {
10955         unsafe { ::std::mem::zeroed() }
10956     }
10957 }
10958 #[cfg(feature = "Win32_Media_Multimedia")]
10959 impl ::std::cmp::PartialEq for KSDATAFORMAT_WAVEFORMATEX {
eq(&self, _other: &Self) -> bool10960     fn eq(&self, _other: &Self) -> bool {
10961         unimplemented!()
10962     }
10963 }
10964 #[cfg(feature = "Win32_Media_Multimedia")]
10965 impl ::std::cmp::Eq for KSDATAFORMAT_WAVEFORMATEX {}
10966 #[cfg(feature = "Win32_Media_Multimedia")]
10967 unsafe impl ::windows::runtime::Abi for KSDATAFORMAT_WAVEFORMATEX {
10968     type Abi = Self;
10969     type DefaultType = Self;
10970 }
10971 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10972 #[repr(C, packed(1))]
10973 #[cfg(feature = "Win32_Media_Multimedia")]
10974 pub struct KSDATAFORMAT_WAVEFORMATEXTENSIBLE {
10975     pub DataFormat: KSDATAFORMAT,
10976     pub WaveFormatExt: super::super::Multimedia::WAVEFORMATEXTENSIBLE,
10977 }
10978 #[cfg(feature = "Win32_Media_Multimedia")]
10979 impl KSDATAFORMAT_WAVEFORMATEXTENSIBLE {}
10980 #[cfg(feature = "Win32_Media_Multimedia")]
10981 impl ::std::default::Default for KSDATAFORMAT_WAVEFORMATEXTENSIBLE {
default() -> Self10982     fn default() -> Self {
10983         unsafe { ::std::mem::zeroed() }
10984     }
10985 }
10986 #[cfg(feature = "Win32_Media_Multimedia")]
10987 impl ::std::cmp::PartialEq for KSDATAFORMAT_WAVEFORMATEXTENSIBLE {
eq(&self, _other: &Self) -> bool10988     fn eq(&self, _other: &Self) -> bool {
10989         unimplemented!()
10990     }
10991 }
10992 #[cfg(feature = "Win32_Media_Multimedia")]
10993 impl ::std::cmp::Eq for KSDATAFORMAT_WAVEFORMATEXTENSIBLE {}
10994 #[cfg(feature = "Win32_Media_Multimedia")]
10995 unsafe impl ::windows::runtime::Abi for KSDATAFORMAT_WAVEFORMATEXTENSIBLE {
10996     type Abi = Self;
10997     type DefaultType = Self;
10998 }
10999 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11000 #[repr(C)]
11001 pub struct KSDATARANGE_AUDIO {
11002     pub DataRange: KSDATAFORMAT,
11003     pub MaximumChannels: u32,
11004     pub MinimumBitsPerSample: u32,
11005     pub MaximumBitsPerSample: u32,
11006     pub MinimumSampleFrequency: u32,
11007     pub MaximumSampleFrequency: u32,
11008 }
11009 impl KSDATARANGE_AUDIO {}
11010 impl ::std::default::Default for KSDATARANGE_AUDIO {
default() -> Self11011     fn default() -> Self {
11012         unsafe { ::std::mem::zeroed() }
11013     }
11014 }
11015 impl ::std::cmp::PartialEq for KSDATARANGE_AUDIO {
eq(&self, _other: &Self) -> bool11016     fn eq(&self, _other: &Self) -> bool {
11017         unimplemented!()
11018     }
11019 }
11020 impl ::std::cmp::Eq for KSDATARANGE_AUDIO {}
11021 unsafe impl ::windows::runtime::Abi for KSDATARANGE_AUDIO {
11022     type Abi = Self;
11023     type DefaultType = Self;
11024 }
11025 pub const KSDATARANGE_BIT_ATTRIBUTES: u32 = 1u32;
11026 pub const KSDATARANGE_BIT_REQUIRED_ATTRIBUTES: u32 = 2u32;
11027 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11028 #[repr(C)]
11029 pub struct KSDATARANGE_MUSIC {
11030     pub DataRange: KSDATAFORMAT,
11031     pub Technology: ::windows::runtime::GUID,
11032     pub Channels: u32,
11033     pub Notes: u32,
11034     pub ChannelMask: u32,
11035 }
11036 impl KSDATARANGE_MUSIC {}
11037 impl ::std::default::Default for KSDATARANGE_MUSIC {
default() -> Self11038     fn default() -> Self {
11039         unsafe { ::std::mem::zeroed() }
11040     }
11041 }
11042 impl ::std::cmp::PartialEq for KSDATARANGE_MUSIC {
eq(&self, _other: &Self) -> bool11043     fn eq(&self, _other: &Self) -> bool {
11044         unimplemented!()
11045     }
11046 }
11047 impl ::std::cmp::Eq for KSDATARANGE_MUSIC {}
11048 unsafe impl ::windows::runtime::Abi for KSDATARANGE_MUSIC {
11049     type Abi = Self;
11050     type DefaultType = Self;
11051 }
11052 pub const KSDEGRADESETID_Standard: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2673230208, 28748, 4560, [165, 214, 40, 219, 4, 193, 0, 0]);
11053 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11054 #[repr(transparent)]
11055 pub struct KSDEGRADE_STANDARD(pub i32);
11056 pub const KSDEGRADE_STANDARD_SAMPLE: KSDEGRADE_STANDARD = KSDEGRADE_STANDARD(0i32);
11057 pub const KSDEGRADE_STANDARD_QUALITY: KSDEGRADE_STANDARD = KSDEGRADE_STANDARD(1i32);
11058 pub const KSDEGRADE_STANDARD_COMPUTATION: KSDEGRADE_STANDARD = KSDEGRADE_STANDARD(2i32);
11059 pub const KSDEGRADE_STANDARD_SKIP: KSDEGRADE_STANDARD = KSDEGRADE_STANDARD(3i32);
11060 impl ::std::convert::From<i32> for KSDEGRADE_STANDARD {
from(value: i32) -> Self11061     fn from(value: i32) -> Self {
11062         Self(value)
11063     }
11064 }
11065 unsafe impl ::windows::runtime::Abi for KSDEGRADE_STANDARD {
11066     type Abi = Self;
11067     type DefaultType = Self;
11068 }
11069 pub const KSDEVICE_DESCRIPTOR_VERSION: u32 = 256u32;
11070 pub const KSDEVICE_DESCRIPTOR_VERSION_2: u32 = 272u32;
11071 pub const KSDEVICE_FLAG_ENABLE_QUERYINTERFACE: u32 = 4u32;
11072 pub const KSDEVICE_FLAG_ENABLE_REMOTE_WAKEUP: u32 = 1u32;
11073 pub const KSDEVICE_FLAG_LOWPOWER_PASSTHROUGH: u32 = 2u32;
11074 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11075 #[repr(C)]
11076 pub struct KSDEVICE_PROFILE_INFO {
11077     pub Type: u32,
11078     pub Size: u32,
11079     pub Anonymous: KSDEVICE_PROFILE_INFO_0,
11080 }
11081 impl KSDEVICE_PROFILE_INFO {}
11082 impl ::std::default::Default for KSDEVICE_PROFILE_INFO {
default() -> Self11083     fn default() -> Self {
11084         unsafe { ::std::mem::zeroed() }
11085     }
11086 }
11087 impl ::std::cmp::PartialEq for KSDEVICE_PROFILE_INFO {
eq(&self, _other: &Self) -> bool11088     fn eq(&self, _other: &Self) -> bool {
11089         unimplemented!()
11090     }
11091 }
11092 impl ::std::cmp::Eq for KSDEVICE_PROFILE_INFO {}
11093 unsafe impl ::windows::runtime::Abi for KSDEVICE_PROFILE_INFO {
11094     type Abi = Self;
11095     type DefaultType = Self;
11096 }
11097 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11098 #[repr(C)]
11099 pub union KSDEVICE_PROFILE_INFO_0 {
11100     pub Camera: KSDEVICE_PROFILE_INFO_0_0,
11101 }
11102 impl KSDEVICE_PROFILE_INFO_0 {}
11103 impl ::std::default::Default for KSDEVICE_PROFILE_INFO_0 {
default() -> Self11104     fn default() -> Self {
11105         unsafe { ::std::mem::zeroed() }
11106     }
11107 }
11108 impl ::std::cmp::PartialEq for KSDEVICE_PROFILE_INFO_0 {
eq(&self, _other: &Self) -> bool11109     fn eq(&self, _other: &Self) -> bool {
11110         unimplemented!()
11111     }
11112 }
11113 impl ::std::cmp::Eq for KSDEVICE_PROFILE_INFO_0 {}
11114 unsafe impl ::windows::runtime::Abi for KSDEVICE_PROFILE_INFO_0 {
11115     type Abi = Self;
11116     type DefaultType = Self;
11117 }
11118 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11119 #[repr(C)]
11120 pub struct KSDEVICE_PROFILE_INFO_0_0 {
11121     pub Info: KSCAMERA_PROFILE_INFO,
11122     pub Reserved: u32,
11123     pub ConcurrencyCount: u32,
11124     pub Concurrency: *mut KSCAMERA_PROFILE_CONCURRENCYINFO,
11125 }
11126 impl KSDEVICE_PROFILE_INFO_0_0 {}
11127 impl ::std::default::Default for KSDEVICE_PROFILE_INFO_0_0 {
default() -> Self11128     fn default() -> Self {
11129         unsafe { ::std::mem::zeroed() }
11130     }
11131 }
11132 impl ::std::fmt::Debug for KSDEVICE_PROFILE_INFO_0_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11133     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11134         fmt.debug_struct("_Camera_e__Struct").field("Info", &self.Info).field("Reserved", &self.Reserved).field("ConcurrencyCount", &self.ConcurrencyCount).field("Concurrency", &self.Concurrency).finish()
11135     }
11136 }
11137 impl ::std::cmp::PartialEq for KSDEVICE_PROFILE_INFO_0_0 {
eq(&self, other: &Self) -> bool11138     fn eq(&self, other: &Self) -> bool {
11139         self.Info == other.Info && self.Reserved == other.Reserved && self.ConcurrencyCount == other.ConcurrencyCount && self.Concurrency == other.Concurrency
11140     }
11141 }
11142 impl ::std::cmp::Eq for KSDEVICE_PROFILE_INFO_0_0 {}
11143 unsafe impl ::windows::runtime::Abi for KSDEVICE_PROFILE_INFO_0_0 {
11144     type Abi = Self;
11145     type DefaultType = Self;
11146 }
11147 pub const KSDEVICE_PROFILE_TYPE_CAMERA: u32 = 1u32;
11148 pub const KSDEVICE_PROFILE_TYPE_UNKNOWN: u32 = 0u32;
11149 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11150 #[repr(transparent)]
11151 pub struct KSDEVICE_THERMAL_STATE(pub i32);
11152 pub const KSDEVICE_THERMAL_STATE_LOW: KSDEVICE_THERMAL_STATE = KSDEVICE_THERMAL_STATE(0i32);
11153 pub const KSDEVICE_THERMAL_STATE_HIGH: KSDEVICE_THERMAL_STATE = KSDEVICE_THERMAL_STATE(1i32);
11154 impl ::std::convert::From<i32> for KSDEVICE_THERMAL_STATE {
from(value: i32) -> Self11155     fn from(value: i32) -> Self {
11156         Self(value)
11157     }
11158 }
11159 unsafe impl ::windows::runtime::Abi for KSDEVICE_THERMAL_STATE {
11160     type Abi = Self;
11161     type DefaultType = Self;
11162 }
11163 pub const KSDISPATCH_FASTIO: u32 = 2147483648u32;
11164 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11165 #[repr(C)]
11166 pub struct KSDISPLAYCHANGE {
11167     pub PelsWidth: u32,
11168     pub PelsHeight: u32,
11169     pub BitsPerPel: u32,
11170     pub DeviceID: [u16; 1],
11171 }
11172 impl KSDISPLAYCHANGE {}
11173 impl ::std::default::Default for KSDISPLAYCHANGE {
default() -> Self11174     fn default() -> Self {
11175         unsafe { ::std::mem::zeroed() }
11176     }
11177 }
11178 impl ::std::fmt::Debug for KSDISPLAYCHANGE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11179     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11180         fmt.debug_struct("KSDISPLAYCHANGE").field("PelsWidth", &self.PelsWidth).field("PelsHeight", &self.PelsHeight).field("BitsPerPel", &self.BitsPerPel).field("DeviceID", &self.DeviceID).finish()
11181     }
11182 }
11183 impl ::std::cmp::PartialEq for KSDISPLAYCHANGE {
eq(&self, other: &Self) -> bool11184     fn eq(&self, other: &Self) -> bool {
11185         self.PelsWidth == other.PelsWidth && self.PelsHeight == other.PelsHeight && self.BitsPerPel == other.BitsPerPel && self.DeviceID == other.DeviceID
11186     }
11187 }
11188 impl ::std::cmp::Eq for KSDISPLAYCHANGE {}
11189 unsafe impl ::windows::runtime::Abi for KSDISPLAYCHANGE {
11190     type Abi = Self;
11191     type DefaultType = Self;
11192 }
11193 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11194 #[repr(C)]
11195 pub struct KSDS3D_BUFFER_ALL {
11196     pub Position: DS3DVECTOR,
11197     pub Velocity: DS3DVECTOR,
11198     pub InsideConeAngle: u32,
11199     pub OutsideConeAngle: u32,
11200     pub ConeOrientation: DS3DVECTOR,
11201     pub ConeOutsideVolume: i32,
11202     pub MinDistance: f32,
11203     pub MaxDistance: f32,
11204     pub Mode: u32,
11205 }
11206 impl KSDS3D_BUFFER_ALL {}
11207 impl ::std::default::Default for KSDS3D_BUFFER_ALL {
default() -> Self11208     fn default() -> Self {
11209         unsafe { ::std::mem::zeroed() }
11210     }
11211 }
11212 impl ::std::cmp::PartialEq for KSDS3D_BUFFER_ALL {
eq(&self, _other: &Self) -> bool11213     fn eq(&self, _other: &Self) -> bool {
11214         unimplemented!()
11215     }
11216 }
11217 impl ::std::cmp::Eq for KSDS3D_BUFFER_ALL {}
11218 unsafe impl ::windows::runtime::Abi for KSDS3D_BUFFER_ALL {
11219     type Abi = Self;
11220     type DefaultType = Self;
11221 }
11222 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11223 #[repr(C)]
11224 pub struct KSDS3D_BUFFER_CONE_ANGLES {
11225     pub InsideConeAngle: u32,
11226     pub OutsideConeAngle: u32,
11227 }
11228 impl KSDS3D_BUFFER_CONE_ANGLES {}
11229 impl ::std::default::Default for KSDS3D_BUFFER_CONE_ANGLES {
default() -> Self11230     fn default() -> Self {
11231         unsafe { ::std::mem::zeroed() }
11232     }
11233 }
11234 impl ::std::fmt::Debug for KSDS3D_BUFFER_CONE_ANGLES {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11235     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11236         fmt.debug_struct("KSDS3D_BUFFER_CONE_ANGLES").field("InsideConeAngle", &self.InsideConeAngle).field("OutsideConeAngle", &self.OutsideConeAngle).finish()
11237     }
11238 }
11239 impl ::std::cmp::PartialEq for KSDS3D_BUFFER_CONE_ANGLES {
eq(&self, other: &Self) -> bool11240     fn eq(&self, other: &Self) -> bool {
11241         self.InsideConeAngle == other.InsideConeAngle && self.OutsideConeAngle == other.OutsideConeAngle
11242     }
11243 }
11244 impl ::std::cmp::Eq for KSDS3D_BUFFER_CONE_ANGLES {}
11245 unsafe impl ::windows::runtime::Abi for KSDS3D_BUFFER_CONE_ANGLES {
11246     type Abi = Self;
11247     type DefaultType = Self;
11248 }
11249 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11250 #[repr(transparent)]
11251 pub struct KSDS3D_HRTF_COEFF_FORMAT(pub i32);
11252 pub const FLOAT_COEFF: KSDS3D_HRTF_COEFF_FORMAT = KSDS3D_HRTF_COEFF_FORMAT(0i32);
11253 pub const SHORT_COEFF: KSDS3D_HRTF_COEFF_FORMAT = KSDS3D_HRTF_COEFF_FORMAT(1i32);
11254 pub const KSDS3D_COEFF_COUNT: KSDS3D_HRTF_COEFF_FORMAT = KSDS3D_HRTF_COEFF_FORMAT(2i32);
11255 impl ::std::convert::From<i32> for KSDS3D_HRTF_COEFF_FORMAT {
from(value: i32) -> Self11256     fn from(value: i32) -> Self {
11257         Self(value)
11258     }
11259 }
11260 unsafe impl ::windows::runtime::Abi for KSDS3D_HRTF_COEFF_FORMAT {
11261     type Abi = Self;
11262     type DefaultType = Self;
11263 }
11264 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11265 #[repr(C)]
11266 pub struct KSDS3D_HRTF_FILTER_FORMAT_MSG {
11267     pub FilterMethod: KSDS3D_HRTF_FILTER_METHOD,
11268     pub CoeffFormat: KSDS3D_HRTF_COEFF_FORMAT,
11269     pub Version: KSDS3D_HRTF_FILTER_VERSION,
11270     pub Reserved: u32,
11271 }
11272 impl KSDS3D_HRTF_FILTER_FORMAT_MSG {}
11273 impl ::std::default::Default for KSDS3D_HRTF_FILTER_FORMAT_MSG {
default() -> Self11274     fn default() -> Self {
11275         unsafe { ::std::mem::zeroed() }
11276     }
11277 }
11278 impl ::std::fmt::Debug for KSDS3D_HRTF_FILTER_FORMAT_MSG {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11279     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11280         fmt.debug_struct("KSDS3D_HRTF_FILTER_FORMAT_MSG").field("FilterMethod", &self.FilterMethod).field("CoeffFormat", &self.CoeffFormat).field("Version", &self.Version).field("Reserved", &self.Reserved).finish()
11281     }
11282 }
11283 impl ::std::cmp::PartialEq for KSDS3D_HRTF_FILTER_FORMAT_MSG {
eq(&self, other: &Self) -> bool11284     fn eq(&self, other: &Self) -> bool {
11285         self.FilterMethod == other.FilterMethod && self.CoeffFormat == other.CoeffFormat && self.Version == other.Version && self.Reserved == other.Reserved
11286     }
11287 }
11288 impl ::std::cmp::Eq for KSDS3D_HRTF_FILTER_FORMAT_MSG {}
11289 unsafe impl ::windows::runtime::Abi for KSDS3D_HRTF_FILTER_FORMAT_MSG {
11290     type Abi = Self;
11291     type DefaultType = Self;
11292 }
11293 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11294 #[repr(transparent)]
11295 pub struct KSDS3D_HRTF_FILTER_METHOD(pub i32);
11296 pub const DIRECT_FORM: KSDS3D_HRTF_FILTER_METHOD = KSDS3D_HRTF_FILTER_METHOD(0i32);
11297 pub const CASCADE_FORM: KSDS3D_HRTF_FILTER_METHOD = KSDS3D_HRTF_FILTER_METHOD(1i32);
11298 pub const KSDS3D_FILTER_METHOD_COUNT: KSDS3D_HRTF_FILTER_METHOD = KSDS3D_HRTF_FILTER_METHOD(2i32);
11299 impl ::std::convert::From<i32> for KSDS3D_HRTF_FILTER_METHOD {
from(value: i32) -> Self11300     fn from(value: i32) -> Self {
11301         Self(value)
11302     }
11303 }
11304 unsafe impl ::windows::runtime::Abi for KSDS3D_HRTF_FILTER_METHOD {
11305     type Abi = Self;
11306     type DefaultType = Self;
11307 }
11308 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11309 #[repr(transparent)]
11310 pub struct KSDS3D_HRTF_FILTER_QUALITY(pub i32);
11311 pub const FULL_FILTER: KSDS3D_HRTF_FILTER_QUALITY = KSDS3D_HRTF_FILTER_QUALITY(0i32);
11312 pub const LIGHT_FILTER: KSDS3D_HRTF_FILTER_QUALITY = KSDS3D_HRTF_FILTER_QUALITY(1i32);
11313 pub const KSDS3D_FILTER_QUALITY_COUNT: KSDS3D_HRTF_FILTER_QUALITY = KSDS3D_HRTF_FILTER_QUALITY(2i32);
11314 impl ::std::convert::From<i32> for KSDS3D_HRTF_FILTER_QUALITY {
from(value: i32) -> Self11315     fn from(value: i32) -> Self {
11316         Self(value)
11317     }
11318 }
11319 unsafe impl ::windows::runtime::Abi for KSDS3D_HRTF_FILTER_QUALITY {
11320     type Abi = Self;
11321     type DefaultType = Self;
11322 }
11323 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11324 #[repr(transparent)]
11325 pub struct KSDS3D_HRTF_FILTER_VERSION(pub i32);
11326 pub const DS3D_HRTF_VERSION_1: KSDS3D_HRTF_FILTER_VERSION = KSDS3D_HRTF_FILTER_VERSION(0i32);
11327 impl ::std::convert::From<i32> for KSDS3D_HRTF_FILTER_VERSION {
from(value: i32) -> Self11328     fn from(value: i32) -> Self {
11329         Self(value)
11330     }
11331 }
11332 unsafe impl ::windows::runtime::Abi for KSDS3D_HRTF_FILTER_VERSION {
11333     type Abi = Self;
11334     type DefaultType = Self;
11335 }
11336 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11337 #[repr(C)]
11338 pub struct KSDS3D_HRTF_INIT_MSG {
11339     pub Size: u32,
11340     pub Quality: KSDS3D_HRTF_FILTER_QUALITY,
11341     pub SampleRate: f32,
11342     pub MaxFilterSize: u32,
11343     pub FilterTransientMuteLength: u32,
11344     pub FilterOverlapBufferLength: u32,
11345     pub OutputOverlapBufferLength: u32,
11346     pub Reserved: u32,
11347 }
11348 impl KSDS3D_HRTF_INIT_MSG {}
11349 impl ::std::default::Default for KSDS3D_HRTF_INIT_MSG {
default() -> Self11350     fn default() -> Self {
11351         unsafe { ::std::mem::zeroed() }
11352     }
11353 }
11354 impl ::std::fmt::Debug for KSDS3D_HRTF_INIT_MSG {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11355     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11356         fmt.debug_struct("KSDS3D_HRTF_INIT_MSG")
11357             .field("Size", &self.Size)
11358             .field("Quality", &self.Quality)
11359             .field("SampleRate", &self.SampleRate)
11360             .field("MaxFilterSize", &self.MaxFilterSize)
11361             .field("FilterTransientMuteLength", &self.FilterTransientMuteLength)
11362             .field("FilterOverlapBufferLength", &self.FilterOverlapBufferLength)
11363             .field("OutputOverlapBufferLength", &self.OutputOverlapBufferLength)
11364             .field("Reserved", &self.Reserved)
11365             .finish()
11366     }
11367 }
11368 impl ::std::cmp::PartialEq for KSDS3D_HRTF_INIT_MSG {
eq(&self, other: &Self) -> bool11369     fn eq(&self, other: &Self) -> bool {
11370         self.Size == other.Size && self.Quality == other.Quality && self.SampleRate == other.SampleRate && self.MaxFilterSize == other.MaxFilterSize && self.FilterTransientMuteLength == other.FilterTransientMuteLength && self.FilterOverlapBufferLength == other.FilterOverlapBufferLength && self.OutputOverlapBufferLength == other.OutputOverlapBufferLength && self.Reserved == other.Reserved
11371     }
11372 }
11373 impl ::std::cmp::Eq for KSDS3D_HRTF_INIT_MSG {}
11374 unsafe impl ::windows::runtime::Abi for KSDS3D_HRTF_INIT_MSG {
11375     type Abi = Self;
11376     type DefaultType = Self;
11377 }
11378 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11379 #[repr(C)]
11380 #[cfg(feature = "Win32_Foundation")]
11381 pub struct KSDS3D_HRTF_PARAMS_MSG {
11382     pub Size: u32,
11383     pub Enabled: u32,
11384     pub SwapChannels: super::super::super::Foundation::BOOL,
11385     pub ZeroAzimuth: super::super::super::Foundation::BOOL,
11386     pub CrossFadeOutput: super::super::super::Foundation::BOOL,
11387     pub FilterSize: u32,
11388 }
11389 #[cfg(feature = "Win32_Foundation")]
11390 impl KSDS3D_HRTF_PARAMS_MSG {}
11391 #[cfg(feature = "Win32_Foundation")]
11392 impl ::std::default::Default for KSDS3D_HRTF_PARAMS_MSG {
default() -> Self11393     fn default() -> Self {
11394         unsafe { ::std::mem::zeroed() }
11395     }
11396 }
11397 #[cfg(feature = "Win32_Foundation")]
11398 impl ::std::fmt::Debug for KSDS3D_HRTF_PARAMS_MSG {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11399     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11400         fmt.debug_struct("KSDS3D_HRTF_PARAMS_MSG").field("Size", &self.Size).field("Enabled", &self.Enabled).field("SwapChannels", &self.SwapChannels).field("ZeroAzimuth", &self.ZeroAzimuth).field("CrossFadeOutput", &self.CrossFadeOutput).field("FilterSize", &self.FilterSize).finish()
11401     }
11402 }
11403 #[cfg(feature = "Win32_Foundation")]
11404 impl ::std::cmp::PartialEq for KSDS3D_HRTF_PARAMS_MSG {
eq(&self, other: &Self) -> bool11405     fn eq(&self, other: &Self) -> bool {
11406         self.Size == other.Size && self.Enabled == other.Enabled && self.SwapChannels == other.SwapChannels && self.ZeroAzimuth == other.ZeroAzimuth && self.CrossFadeOutput == other.CrossFadeOutput && self.FilterSize == other.FilterSize
11407     }
11408 }
11409 #[cfg(feature = "Win32_Foundation")]
11410 impl ::std::cmp::Eq for KSDS3D_HRTF_PARAMS_MSG {}
11411 #[cfg(feature = "Win32_Foundation")]
11412 unsafe impl ::windows::runtime::Abi for KSDS3D_HRTF_PARAMS_MSG {
11413     type Abi = Self;
11414     type DefaultType = Self;
11415 }
11416 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11417 #[repr(C)]
11418 pub struct KSDS3D_ITD_PARAMS {
11419     pub Channel: i32,
11420     pub VolSmoothScale: f32,
11421     pub TotalDryAttenuation: f32,
11422     pub TotalWetAttenuation: f32,
11423     pub SmoothFrequency: i32,
11424     pub Delay: i32,
11425 }
11426 impl KSDS3D_ITD_PARAMS {}
11427 impl ::std::default::Default for KSDS3D_ITD_PARAMS {
default() -> Self11428     fn default() -> Self {
11429         unsafe { ::std::mem::zeroed() }
11430     }
11431 }
11432 impl ::std::fmt::Debug for KSDS3D_ITD_PARAMS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11433     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11434         fmt.debug_struct("KSDS3D_ITD_PARAMS")
11435             .field("Channel", &self.Channel)
11436             .field("VolSmoothScale", &self.VolSmoothScale)
11437             .field("TotalDryAttenuation", &self.TotalDryAttenuation)
11438             .field("TotalWetAttenuation", &self.TotalWetAttenuation)
11439             .field("SmoothFrequency", &self.SmoothFrequency)
11440             .field("Delay", &self.Delay)
11441             .finish()
11442     }
11443 }
11444 impl ::std::cmp::PartialEq for KSDS3D_ITD_PARAMS {
eq(&self, other: &Self) -> bool11445     fn eq(&self, other: &Self) -> bool {
11446         self.Channel == other.Channel && self.VolSmoothScale == other.VolSmoothScale && self.TotalDryAttenuation == other.TotalDryAttenuation && self.TotalWetAttenuation == other.TotalWetAttenuation && self.SmoothFrequency == other.SmoothFrequency && self.Delay == other.Delay
11447     }
11448 }
11449 impl ::std::cmp::Eq for KSDS3D_ITD_PARAMS {}
11450 unsafe impl ::windows::runtime::Abi for KSDS3D_ITD_PARAMS {
11451     type Abi = Self;
11452     type DefaultType = Self;
11453 }
11454 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11455 #[repr(C)]
11456 pub struct KSDS3D_ITD_PARAMS_MSG {
11457     pub Enabled: u32,
11458     pub LeftParams: KSDS3D_ITD_PARAMS,
11459     pub RightParams: KSDS3D_ITD_PARAMS,
11460     pub Reserved: u32,
11461 }
11462 impl KSDS3D_ITD_PARAMS_MSG {}
11463 impl ::std::default::Default for KSDS3D_ITD_PARAMS_MSG {
default() -> Self11464     fn default() -> Self {
11465         unsafe { ::std::mem::zeroed() }
11466     }
11467 }
11468 impl ::std::fmt::Debug for KSDS3D_ITD_PARAMS_MSG {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11469     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11470         fmt.debug_struct("KSDS3D_ITD_PARAMS_MSG").field("Enabled", &self.Enabled).field("LeftParams", &self.LeftParams).field("RightParams", &self.RightParams).field("Reserved", &self.Reserved).finish()
11471     }
11472 }
11473 impl ::std::cmp::PartialEq for KSDS3D_ITD_PARAMS_MSG {
eq(&self, other: &Self) -> bool11474     fn eq(&self, other: &Self) -> bool {
11475         self.Enabled == other.Enabled && self.LeftParams == other.LeftParams && self.RightParams == other.RightParams && self.Reserved == other.Reserved
11476     }
11477 }
11478 impl ::std::cmp::Eq for KSDS3D_ITD_PARAMS_MSG {}
11479 unsafe impl ::windows::runtime::Abi for KSDS3D_ITD_PARAMS_MSG {
11480     type Abi = Self;
11481     type DefaultType = Self;
11482 }
11483 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11484 #[repr(C)]
11485 pub struct KSDS3D_LISTENER_ALL {
11486     pub Position: DS3DVECTOR,
11487     pub Velocity: DS3DVECTOR,
11488     pub OrientFront: DS3DVECTOR,
11489     pub OrientTop: DS3DVECTOR,
11490     pub DistanceFactor: f32,
11491     pub RolloffFactor: f32,
11492     pub DopplerFactor: f32,
11493 }
11494 impl KSDS3D_LISTENER_ALL {}
11495 impl ::std::default::Default for KSDS3D_LISTENER_ALL {
default() -> Self11496     fn default() -> Self {
11497         unsafe { ::std::mem::zeroed() }
11498     }
11499 }
11500 impl ::std::cmp::PartialEq for KSDS3D_LISTENER_ALL {
eq(&self, _other: &Self) -> bool11501     fn eq(&self, _other: &Self) -> bool {
11502         unimplemented!()
11503     }
11504 }
11505 impl ::std::cmp::Eq for KSDS3D_LISTENER_ALL {}
11506 unsafe impl ::windows::runtime::Abi for KSDS3D_LISTENER_ALL {
11507     type Abi = Self;
11508     type DefaultType = Self;
11509 }
11510 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11511 #[repr(C)]
11512 pub struct KSDS3D_LISTENER_ORIENTATION {
11513     pub Front: DS3DVECTOR,
11514     pub Top: DS3DVECTOR,
11515 }
11516 impl KSDS3D_LISTENER_ORIENTATION {}
11517 impl ::std::default::Default for KSDS3D_LISTENER_ORIENTATION {
default() -> Self11518     fn default() -> Self {
11519         unsafe { ::std::mem::zeroed() }
11520     }
11521 }
11522 impl ::std::cmp::PartialEq for KSDS3D_LISTENER_ORIENTATION {
eq(&self, _other: &Self) -> bool11523     fn eq(&self, _other: &Self) -> bool {
11524         unimplemented!()
11525     }
11526 }
11527 impl ::std::cmp::Eq for KSDS3D_LISTENER_ORIENTATION {}
11528 unsafe impl ::windows::runtime::Abi for KSDS3D_LISTENER_ORIENTATION {
11529     type Abi = Self;
11530     type DefaultType = Self;
11531 }
11532 pub const KSDSOUND_3D_MODE_DISABLE: u32 = 2u32;
11533 pub const KSDSOUND_3D_MODE_HEADRELATIVE: u32 = 1u32;
11534 pub const KSDSOUND_3D_MODE_NORMAL: u32 = 0u32;
11535 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11536 #[repr(C, packed(1))]
11537 #[cfg(feature = "Win32_Media_Multimedia")]
11538 pub struct KSDSOUND_BUFFERDESC {
11539     pub Flags: u32,
11540     pub Control: u32,
11541     pub WaveFormatEx: super::super::Multimedia::WAVEFORMATEX,
11542 }
11543 #[cfg(feature = "Win32_Media_Multimedia")]
11544 impl KSDSOUND_BUFFERDESC {}
11545 #[cfg(feature = "Win32_Media_Multimedia")]
11546 impl ::std::default::Default for KSDSOUND_BUFFERDESC {
default() -> Self11547     fn default() -> Self {
11548         unsafe { ::std::mem::zeroed() }
11549     }
11550 }
11551 #[cfg(feature = "Win32_Media_Multimedia")]
11552 impl ::std::cmp::PartialEq for KSDSOUND_BUFFERDESC {
eq(&self, _other: &Self) -> bool11553     fn eq(&self, _other: &Self) -> bool {
11554         unimplemented!()
11555     }
11556 }
11557 #[cfg(feature = "Win32_Media_Multimedia")]
11558 impl ::std::cmp::Eq for KSDSOUND_BUFFERDESC {}
11559 #[cfg(feature = "Win32_Media_Multimedia")]
11560 unsafe impl ::windows::runtime::Abi for KSDSOUND_BUFFERDESC {
11561     type Abi = Self;
11562     type DefaultType = Self;
11563 }
11564 pub const KSDSOUND_BUFFER_CTRL_3D: u32 = 1u32;
11565 pub const KSDSOUND_BUFFER_CTRL_FREQUENCY: u32 = 2u32;
11566 pub const KSDSOUND_BUFFER_CTRL_HRTF_3D: u32 = 1073741824u32;
11567 pub const KSDSOUND_BUFFER_CTRL_PAN: u32 = 4u32;
11568 pub const KSDSOUND_BUFFER_CTRL_POSITIONNOTIFY: u32 = 16u32;
11569 pub const KSDSOUND_BUFFER_CTRL_VOLUME: u32 = 8u32;
11570 pub const KSDSOUND_BUFFER_LOCHARDWARE: u32 = 4u32;
11571 pub const KSDSOUND_BUFFER_LOCSOFTWARE: u32 = 8u32;
11572 pub const KSDSOUND_BUFFER_PRIMARY: u32 = 1u32;
11573 pub const KSDSOUND_BUFFER_STATIC: u32 = 2u32;
11574 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11575 #[repr(C)]
11576 pub struct KSERROR {
11577     pub Context: *mut ::std::ffi::c_void,
11578     pub Status: u32,
11579 }
11580 impl KSERROR {}
11581 impl ::std::default::Default for KSERROR {
default() -> Self11582     fn default() -> Self {
11583         unsafe { ::std::mem::zeroed() }
11584     }
11585 }
11586 impl ::std::fmt::Debug for KSERROR {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11587     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11588         fmt.debug_struct("KSERROR").field("Context", &self.Context).field("Status", &self.Status).finish()
11589     }
11590 }
11591 impl ::std::cmp::PartialEq for KSERROR {
eq(&self, other: &Self) -> bool11592     fn eq(&self, other: &Self) -> bool {
11593         self.Context == other.Context && self.Status == other.Status
11594     }
11595 }
11596 impl ::std::cmp::Eq for KSERROR {}
11597 unsafe impl ::windows::runtime::Abi for KSERROR {
11598     type Abi = Self;
11599     type DefaultType = Self;
11600 }
11601 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11602 #[repr(C)]
11603 #[cfg(feature = "Win32_Foundation")]
11604 pub struct KSEVENTDATA {
11605     pub NotificationType: u32,
11606     pub Anonymous: KSEVENTDATA_0,
11607 }
11608 #[cfg(feature = "Win32_Foundation")]
11609 impl KSEVENTDATA {}
11610 #[cfg(feature = "Win32_Foundation")]
11611 impl ::std::default::Default for KSEVENTDATA {
default() -> Self11612     fn default() -> Self {
11613         unsafe { ::std::mem::zeroed() }
11614     }
11615 }
11616 #[cfg(feature = "Win32_Foundation")]
11617 impl ::std::cmp::PartialEq for KSEVENTDATA {
eq(&self, _other: &Self) -> bool11618     fn eq(&self, _other: &Self) -> bool {
11619         unimplemented!()
11620     }
11621 }
11622 #[cfg(feature = "Win32_Foundation")]
11623 impl ::std::cmp::Eq for KSEVENTDATA {}
11624 #[cfg(feature = "Win32_Foundation")]
11625 unsafe impl ::windows::runtime::Abi for KSEVENTDATA {
11626     type Abi = Self;
11627     type DefaultType = Self;
11628 }
11629 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11630 #[repr(C)]
11631 #[cfg(feature = "Win32_Foundation")]
11632 pub union KSEVENTDATA_0 {
11633     pub EventHandle: KSEVENTDATA_0_1,
11634     pub SemaphoreHandle: KSEVENTDATA_0_2,
11635     pub Alignment: KSEVENTDATA_0_0,
11636 }
11637 #[cfg(feature = "Win32_Foundation")]
11638 impl KSEVENTDATA_0 {}
11639 #[cfg(feature = "Win32_Foundation")]
11640 impl ::std::default::Default for KSEVENTDATA_0 {
default() -> Self11641     fn default() -> Self {
11642         unsafe { ::std::mem::zeroed() }
11643     }
11644 }
11645 #[cfg(feature = "Win32_Foundation")]
11646 impl ::std::cmp::PartialEq for KSEVENTDATA_0 {
eq(&self, _other: &Self) -> bool11647     fn eq(&self, _other: &Self) -> bool {
11648         unimplemented!()
11649     }
11650 }
11651 #[cfg(feature = "Win32_Foundation")]
11652 impl ::std::cmp::Eq for KSEVENTDATA_0 {}
11653 #[cfg(feature = "Win32_Foundation")]
11654 unsafe impl ::windows::runtime::Abi for KSEVENTDATA_0 {
11655     type Abi = Self;
11656     type DefaultType = Self;
11657 }
11658 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11659 #[repr(C)]
11660 pub struct KSEVENTDATA_0_0 {
11661     pub Unused: *mut ::std::ffi::c_void,
11662     pub Alignment: [isize; 2],
11663 }
11664 impl KSEVENTDATA_0_0 {}
11665 impl ::std::default::Default for KSEVENTDATA_0_0 {
default() -> Self11666     fn default() -> Self {
11667         unsafe { ::std::mem::zeroed() }
11668     }
11669 }
11670 impl ::std::fmt::Debug for KSEVENTDATA_0_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11671     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11672         fmt.debug_struct("_Alignment_e__Struct").field("Unused", &self.Unused).field("Alignment", &self.Alignment).finish()
11673     }
11674 }
11675 impl ::std::cmp::PartialEq for KSEVENTDATA_0_0 {
eq(&self, other: &Self) -> bool11676     fn eq(&self, other: &Self) -> bool {
11677         self.Unused == other.Unused && self.Alignment == other.Alignment
11678     }
11679 }
11680 impl ::std::cmp::Eq for KSEVENTDATA_0_0 {}
11681 unsafe impl ::windows::runtime::Abi for KSEVENTDATA_0_0 {
11682     type Abi = Self;
11683     type DefaultType = Self;
11684 }
11685 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11686 #[repr(C)]
11687 #[cfg(feature = "Win32_Foundation")]
11688 pub struct KSEVENTDATA_0_1 {
11689     pub Event: super::super::super::Foundation::HANDLE,
11690     pub Reserved: [usize; 2],
11691 }
11692 #[cfg(feature = "Win32_Foundation")]
11693 impl KSEVENTDATA_0_1 {}
11694 #[cfg(feature = "Win32_Foundation")]
11695 impl ::std::default::Default for KSEVENTDATA_0_1 {
default() -> Self11696     fn default() -> Self {
11697         unsafe { ::std::mem::zeroed() }
11698     }
11699 }
11700 #[cfg(feature = "Win32_Foundation")]
11701 impl ::std::fmt::Debug for KSEVENTDATA_0_1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11702     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11703         fmt.debug_struct("_EventHandle_e__Struct").field("Event", &self.Event).field("Reserved", &self.Reserved).finish()
11704     }
11705 }
11706 #[cfg(feature = "Win32_Foundation")]
11707 impl ::std::cmp::PartialEq for KSEVENTDATA_0_1 {
eq(&self, other: &Self) -> bool11708     fn eq(&self, other: &Self) -> bool {
11709         self.Event == other.Event && self.Reserved == other.Reserved
11710     }
11711 }
11712 #[cfg(feature = "Win32_Foundation")]
11713 impl ::std::cmp::Eq for KSEVENTDATA_0_1 {}
11714 #[cfg(feature = "Win32_Foundation")]
11715 unsafe impl ::windows::runtime::Abi for KSEVENTDATA_0_1 {
11716     type Abi = Self;
11717     type DefaultType = Self;
11718 }
11719 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11720 #[repr(C)]
11721 #[cfg(feature = "Win32_Foundation")]
11722 pub struct KSEVENTDATA_0_2 {
11723     pub Semaphore: super::super::super::Foundation::HANDLE,
11724     pub Reserved: u32,
11725     pub Adjustment: i32,
11726 }
11727 #[cfg(feature = "Win32_Foundation")]
11728 impl KSEVENTDATA_0_2 {}
11729 #[cfg(feature = "Win32_Foundation")]
11730 impl ::std::default::Default for KSEVENTDATA_0_2 {
default() -> Self11731     fn default() -> Self {
11732         unsafe { ::std::mem::zeroed() }
11733     }
11734 }
11735 #[cfg(feature = "Win32_Foundation")]
11736 impl ::std::fmt::Debug for KSEVENTDATA_0_2 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11737     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11738         fmt.debug_struct("_SemaphoreHandle_e__Struct").field("Semaphore", &self.Semaphore).field("Reserved", &self.Reserved).field("Adjustment", &self.Adjustment).finish()
11739     }
11740 }
11741 #[cfg(feature = "Win32_Foundation")]
11742 impl ::std::cmp::PartialEq for KSEVENTDATA_0_2 {
eq(&self, other: &Self) -> bool11743     fn eq(&self, other: &Self) -> bool {
11744         self.Semaphore == other.Semaphore && self.Reserved == other.Reserved && self.Adjustment == other.Adjustment
11745     }
11746 }
11747 #[cfg(feature = "Win32_Foundation")]
11748 impl ::std::cmp::Eq for KSEVENTDATA_0_2 {}
11749 #[cfg(feature = "Win32_Foundation")]
11750 unsafe impl ::windows::runtime::Abi for KSEVENTDATA_0_2 {
11751     type Abi = Self;
11752     type DefaultType = Self;
11753 }
11754 pub const KSEVENTF_DPC: u32 = 16u32;
11755 pub const KSEVENTF_EVENT_HANDLE: u32 = 1u32;
11756 pub const KSEVENTF_EVENT_OBJECT: u32 = 4u32;
11757 pub const KSEVENTF_KSWORKITEM: u32 = 128u32;
11758 pub const KSEVENTF_SEMAPHORE_HANDLE: u32 = 2u32;
11759 pub const KSEVENTF_SEMAPHORE_OBJECT: u32 = 8u32;
11760 pub const KSEVENTF_WORKITEM: u32 = 32u32;
11761 pub const KSEVENTSETID_AudioControlChange: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3898513048, 64047, 4561, [149, 189, 0, 192, 79, 185, 37, 211]);
11762 pub const KSEVENTSETID_CameraAsyncControl: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(580982612, 38657, 16520, [179, 63, 107, 156, 188, 82, 223, 94]);
11763 pub const KSEVENTSETID_CameraEvent: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2023338720, 27459, 18788, [157, 42, 162, 31, 64, 97, 245, 118]);
11764 pub const KSEVENTSETID_Clock: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(911052320, 25287, 4559, [165, 214, 40, 219, 4, 193, 0, 0]);
11765 pub const KSEVENTSETID_Connection: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2135673824, 40613, 4559, [165, 214, 40, 219, 4, 193, 0, 0]);
11766 pub const KSEVENTSETID_Device: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(679646956, 40852, 16820, [161, 83, 170, 49, 174, 236, 179, 63]);
11767 pub const KSEVENTSETID_DynamicFormatChange: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(371901526, 33751, 16953, [150, 223, 199, 95, 250, 19, 139, 198]);
11768 pub const KSEVENTSETID_EXTDEV_Command: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(278690184, 46027, 4562, [180, 142, 0, 96, 151, 179, 57, 27]);
11769 pub const KSEVENTSETID_ExtendedCameraControl: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1461490377, 5026, 18403, [166, 73, 210, 167, 120, 22, 99, 132]);
11770 pub const KSEVENTSETID_LoopedStreaming: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1182972224, 50927, 4560, [150, 216, 0, 170, 0, 81, 229, 29]);
11771 pub const KSEVENTSETID_PinCapsChange: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3712948526, 15224, 18861, [165, 52, 44, 49, 91, 130, 32, 0]);
11772 pub const KSEVENTSETID_SoundDetector: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1769495707, 64557, 18902, [172, 50, 71, 153, 248, 125, 233, 246]);
11773 pub const KSEVENTSETID_StreamAllocator: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1977177457, 1852, 4560, [161, 97, 0, 32, 175, 209, 86, 228]);
11774 pub const KSEVENTSETID_Telephony: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3078558388, 52916, 17540, [141, 94, 82, 193, 231, 216, 118, 45]);
11775 pub const KSEVENTSETID_VIDCAPTOSTI: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3678920224, 63016, 4561, [186, 65, 0, 160, 201, 13, 43, 5]);
11776 pub const KSEVENTSETID_VIDCAP_TVAUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1781401169, 10468, 4560, [161, 140, 0, 160, 201, 17, 137, 86]);
11777 pub const KSEVENTSETID_VPNotify: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(549804430, 54216, 4560, [141, 252, 0, 192, 79, 215, 192, 139]);
11778 pub const KSEVENTSETID_VPVBINotify: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3964836609, 6687, 4561, [186, 217, 0, 96, 151, 68, 17, 26]);
11779 pub const KSEVENTSETID_VolumeLimit: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3658908773, 14972, 18520, [157, 74, 62, 142, 36, 112, 26, 239]);
11780 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11781 #[repr(transparent)]
11782 pub struct KSEVENT_AUDIO_CONTROL_CHANGE(pub i32);
11783 pub const KSEVENT_CONTROL_CHANGE: KSEVENT_AUDIO_CONTROL_CHANGE = KSEVENT_AUDIO_CONTROL_CHANGE(0i32);
11784 impl ::std::convert::From<i32> for KSEVENT_AUDIO_CONTROL_CHANGE {
from(value: i32) -> Self11785     fn from(value: i32) -> Self {
11786         Self(value)
11787     }
11788 }
11789 unsafe impl ::windows::runtime::Abi for KSEVENT_AUDIO_CONTROL_CHANGE {
11790     type Abi = Self;
11791     type DefaultType = Self;
11792 }
11793 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11794 #[repr(transparent)]
11795 pub struct KSEVENT_CAMERACONTROL(pub i32);
11796 pub const KSEVENT_CAMERACONTROL_FOCUS: KSEVENT_CAMERACONTROL = KSEVENT_CAMERACONTROL(0i32);
11797 pub const KSEVENT_CAMERACONTROL_ZOOM: KSEVENT_CAMERACONTROL = KSEVENT_CAMERACONTROL(1i32);
11798 impl ::std::convert::From<i32> for KSEVENT_CAMERACONTROL {
from(value: i32) -> Self11799     fn from(value: i32) -> Self {
11800         Self(value)
11801     }
11802 }
11803 unsafe impl ::windows::runtime::Abi for KSEVENT_CAMERACONTROL {
11804     type Abi = Self;
11805     type DefaultType = Self;
11806 }
11807 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11808 #[repr(transparent)]
11809 pub struct KSEVENT_CAMERAEVENT(pub i32);
11810 pub const KSEVENT_PHOTO_SAMPLE_SCANNED: KSEVENT_CAMERAEVENT = KSEVENT_CAMERAEVENT(0i32);
11811 impl ::std::convert::From<i32> for KSEVENT_CAMERAEVENT {
from(value: i32) -> Self11812     fn from(value: i32) -> Self {
11813         Self(value)
11814     }
11815 }
11816 unsafe impl ::windows::runtime::Abi for KSEVENT_CAMERAEVENT {
11817     type Abi = Self;
11818     type DefaultType = Self;
11819 }
11820 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11821 #[repr(transparent)]
11822 pub struct KSEVENT_CLOCK_POSITION(pub i32);
11823 pub const KSEVENT_CLOCK_INTERVAL_MARK: KSEVENT_CLOCK_POSITION = KSEVENT_CLOCK_POSITION(0i32);
11824 pub const KSEVENT_CLOCK_POSITION_MARK: KSEVENT_CLOCK_POSITION = KSEVENT_CLOCK_POSITION(1i32);
11825 impl ::std::convert::From<i32> for KSEVENT_CLOCK_POSITION {
from(value: i32) -> Self11826     fn from(value: i32) -> Self {
11827         Self(value)
11828     }
11829 }
11830 unsafe impl ::windows::runtime::Abi for KSEVENT_CLOCK_POSITION {
11831     type Abi = Self;
11832     type DefaultType = Self;
11833 }
11834 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11835 #[repr(transparent)]
11836 pub struct KSEVENT_CONNECTION(pub i32);
11837 pub const KSEVENT_CONNECTION_POSITIONUPDATE: KSEVENT_CONNECTION = KSEVENT_CONNECTION(0i32);
11838 pub const KSEVENT_CONNECTION_DATADISCONTINUITY: KSEVENT_CONNECTION = KSEVENT_CONNECTION(1i32);
11839 pub const KSEVENT_CONNECTION_TIMEDISCONTINUITY: KSEVENT_CONNECTION = KSEVENT_CONNECTION(2i32);
11840 pub const KSEVENT_CONNECTION_PRIORITY: KSEVENT_CONNECTION = KSEVENT_CONNECTION(3i32);
11841 pub const KSEVENT_CONNECTION_ENDOFSTREAM: KSEVENT_CONNECTION = KSEVENT_CONNECTION(4i32);
11842 impl ::std::convert::From<i32> for KSEVENT_CONNECTION {
from(value: i32) -> Self11843     fn from(value: i32) -> Self {
11844         Self(value)
11845     }
11846 }
11847 unsafe impl ::windows::runtime::Abi for KSEVENT_CONNECTION {
11848     type Abi = Self;
11849     type DefaultType = Self;
11850 }
11851 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11852 #[repr(transparent)]
11853 pub struct KSEVENT_CROSSBAR(pub i32);
11854 pub const KSEVENT_CROSSBAR_CHANGED: KSEVENT_CROSSBAR = KSEVENT_CROSSBAR(0i32);
11855 impl ::std::convert::From<i32> for KSEVENT_CROSSBAR {
from(value: i32) -> Self11856     fn from(value: i32) -> Self {
11857         Self(value)
11858     }
11859 }
11860 unsafe impl ::windows::runtime::Abi for KSEVENT_CROSSBAR {
11861     type Abi = Self;
11862     type DefaultType = Self;
11863 }
11864 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11865 #[repr(transparent)]
11866 pub struct KSEVENT_DEVCMD(pub i32);
11867 pub const KSEVENT_EXTDEV_COMMAND_NOTIFY_INTERIM_READY: KSEVENT_DEVCMD = KSEVENT_DEVCMD(0i32);
11868 pub const KSEVENT_EXTDEV_COMMAND_CONTROL_INTERIM_READY: KSEVENT_DEVCMD = KSEVENT_DEVCMD(1i32);
11869 pub const KSEVENT_EXTDEV_COMMAND_BUSRESET: KSEVENT_DEVCMD = KSEVENT_DEVCMD(2i32);
11870 pub const KSEVENT_EXTDEV_TIMECODE_UPDATE: KSEVENT_DEVCMD = KSEVENT_DEVCMD(3i32);
11871 pub const KSEVENT_EXTDEV_OPERATION_MODE_UPDATE: KSEVENT_DEVCMD = KSEVENT_DEVCMD(4i32);
11872 pub const KSEVENT_EXTDEV_TRANSPORT_STATE_UPDATE: KSEVENT_DEVCMD = KSEVENT_DEVCMD(5i32);
11873 pub const KSEVENT_EXTDEV_NOTIFY_REMOVAL: KSEVENT_DEVCMD = KSEVENT_DEVCMD(6i32);
11874 pub const KSEVENT_EXTDEV_NOTIFY_MEDIUM_CHANGE: KSEVENT_DEVCMD = KSEVENT_DEVCMD(7i32);
11875 impl ::std::convert::From<i32> for KSEVENT_DEVCMD {
from(value: i32) -> Self11876     fn from(value: i32) -> Self {
11877         Self(value)
11878     }
11879 }
11880 unsafe impl ::windows::runtime::Abi for KSEVENT_DEVCMD {
11881     type Abi = Self;
11882     type DefaultType = Self;
11883 }
11884 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11885 #[repr(transparent)]
11886 pub struct KSEVENT_DEVICE(pub i32);
11887 pub const KSEVENT_DEVICE_LOST: KSEVENT_DEVICE = KSEVENT_DEVICE(0i32);
11888 pub const KSEVENT_DEVICE_PREEMPTED: KSEVENT_DEVICE = KSEVENT_DEVICE(1i32);
11889 pub const KSEVENT_DEVICE_THERMAL_HIGH: KSEVENT_DEVICE = KSEVENT_DEVICE(2i32);
11890 pub const KSEVENT_DEVICE_THERMAL_LOW: KSEVENT_DEVICE = KSEVENT_DEVICE(3i32);
11891 impl ::std::convert::From<i32> for KSEVENT_DEVICE {
from(value: i32) -> Self11892     fn from(value: i32) -> Self {
11893         Self(value)
11894     }
11895 }
11896 unsafe impl ::windows::runtime::Abi for KSEVENT_DEVICE {
11897     type Abi = Self;
11898     type DefaultType = Self;
11899 }
11900 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11901 #[repr(transparent)]
11902 pub struct KSEVENT_DYNAMICFORMATCHANGE(pub i32);
11903 pub const KSEVENT_DYNAMIC_FORMAT_CHANGE: KSEVENT_DYNAMICFORMATCHANGE = KSEVENT_DYNAMICFORMATCHANGE(0i32);
11904 impl ::std::convert::From<i32> for KSEVENT_DYNAMICFORMATCHANGE {
from(value: i32) -> Self11905     fn from(value: i32) -> Self {
11906         Self(value)
11907     }
11908 }
11909 unsafe impl ::windows::runtime::Abi for KSEVENT_DYNAMICFORMATCHANGE {
11910     type Abi = Self;
11911     type DefaultType = Self;
11912 }
11913 pub const KSEVENT_ENTRY_BUFFERED: u32 = 4u32;
11914 pub const KSEVENT_ENTRY_DELETED: u32 = 1u32;
11915 pub const KSEVENT_ENTRY_ONESHOT: u32 = 2u32;
11916 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11917 #[repr(transparent)]
11918 pub struct KSEVENT_LOOPEDSTREAMING(pub i32);
11919 pub const KSEVENT_LOOPEDSTREAMING_POSITION: KSEVENT_LOOPEDSTREAMING = KSEVENT_LOOPEDSTREAMING(0i32);
11920 impl ::std::convert::From<i32> for KSEVENT_LOOPEDSTREAMING {
from(value: i32) -> Self11921     fn from(value: i32) -> Self {
11922         Self(value)
11923     }
11924 }
11925 unsafe impl ::windows::runtime::Abi for KSEVENT_LOOPEDSTREAMING {
11926     type Abi = Self;
11927     type DefaultType = Self;
11928 }
11929 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11930 #[repr(transparent)]
11931 pub struct KSEVENT_PINCAPS_CHANGENOTIFICATIONS(pub i32);
11932 pub const KSEVENT_PINCAPS_FORMATCHANGE: KSEVENT_PINCAPS_CHANGENOTIFICATIONS = KSEVENT_PINCAPS_CHANGENOTIFICATIONS(0i32);
11933 pub const KSEVENT_PINCAPS_JACKINFOCHANGE: KSEVENT_PINCAPS_CHANGENOTIFICATIONS = KSEVENT_PINCAPS_CHANGENOTIFICATIONS(1i32);
11934 impl ::std::convert::From<i32> for KSEVENT_PINCAPS_CHANGENOTIFICATIONS {
from(value: i32) -> Self11935     fn from(value: i32) -> Self {
11936         Self(value)
11937     }
11938 }
11939 unsafe impl ::windows::runtime::Abi for KSEVENT_PINCAPS_CHANGENOTIFICATIONS {
11940     type Abi = Self;
11941     type DefaultType = Self;
11942 }
11943 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11944 #[repr(transparent)]
11945 pub struct KSEVENT_SOUNDDETECTOR(pub i32);
11946 pub const KSEVENT_SOUNDDETECTOR_MATCHDETECTED: KSEVENT_SOUNDDETECTOR = KSEVENT_SOUNDDETECTOR(1i32);
11947 impl ::std::convert::From<i32> for KSEVENT_SOUNDDETECTOR {
from(value: i32) -> Self11948     fn from(value: i32) -> Self {
11949         Self(value)
11950     }
11951 }
11952 unsafe impl ::windows::runtime::Abi for KSEVENT_SOUNDDETECTOR {
11953     type Abi = Self;
11954     type DefaultType = Self;
11955 }
11956 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11957 #[repr(transparent)]
11958 pub struct KSEVENT_STREAMALLOCATOR(pub i32);
11959 pub const KSEVENT_STREAMALLOCATOR_INTERNAL_FREEFRAME: KSEVENT_STREAMALLOCATOR = KSEVENT_STREAMALLOCATOR(0i32);
11960 pub const KSEVENT_STREAMALLOCATOR_FREEFRAME: KSEVENT_STREAMALLOCATOR = KSEVENT_STREAMALLOCATOR(1i32);
11961 impl ::std::convert::From<i32> for KSEVENT_STREAMALLOCATOR {
from(value: i32) -> Self11962     fn from(value: i32) -> Self {
11963         Self(value)
11964     }
11965 }
11966 unsafe impl ::windows::runtime::Abi for KSEVENT_STREAMALLOCATOR {
11967     type Abi = Self;
11968     type DefaultType = Self;
11969 }
11970 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11971 #[repr(transparent)]
11972 pub struct KSEVENT_TELEPHONY(pub i32);
11973 pub const KSEVENT_TELEPHONY_ENDPOINTPAIRS_CHANGED: KSEVENT_TELEPHONY = KSEVENT_TELEPHONY(0i32);
11974 impl ::std::convert::From<i32> for KSEVENT_TELEPHONY {
from(value: i32) -> Self11975     fn from(value: i32) -> Self {
11976         Self(value)
11977     }
11978 }
11979 unsafe impl ::windows::runtime::Abi for KSEVENT_TELEPHONY {
11980     type Abi = Self;
11981     type DefaultType = Self;
11982 }
11983 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11984 #[repr(C)]
11985 #[cfg(feature = "Win32_Foundation")]
11986 pub struct KSEVENT_TIME_INTERVAL {
11987     pub EventData: KSEVENTDATA,
11988     pub TimeBase: i64,
11989     pub Interval: i64,
11990 }
11991 #[cfg(feature = "Win32_Foundation")]
11992 impl KSEVENT_TIME_INTERVAL {}
11993 #[cfg(feature = "Win32_Foundation")]
11994 impl ::std::default::Default for KSEVENT_TIME_INTERVAL {
default() -> Self11995     fn default() -> Self {
11996         unsafe { ::std::mem::zeroed() }
11997     }
11998 }
11999 #[cfg(feature = "Win32_Foundation")]
12000 impl ::std::cmp::PartialEq for KSEVENT_TIME_INTERVAL {
eq(&self, _other: &Self) -> bool12001     fn eq(&self, _other: &Self) -> bool {
12002         unimplemented!()
12003     }
12004 }
12005 #[cfg(feature = "Win32_Foundation")]
12006 impl ::std::cmp::Eq for KSEVENT_TIME_INTERVAL {}
12007 #[cfg(feature = "Win32_Foundation")]
12008 unsafe impl ::windows::runtime::Abi for KSEVENT_TIME_INTERVAL {
12009     type Abi = Self;
12010     type DefaultType = Self;
12011 }
12012 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12013 #[repr(C)]
12014 #[cfg(feature = "Win32_Foundation")]
12015 pub struct KSEVENT_TIME_MARK {
12016     pub EventData: KSEVENTDATA,
12017     pub MarkTime: i64,
12018 }
12019 #[cfg(feature = "Win32_Foundation")]
12020 impl KSEVENT_TIME_MARK {}
12021 #[cfg(feature = "Win32_Foundation")]
12022 impl ::std::default::Default for KSEVENT_TIME_MARK {
default() -> Self12023     fn default() -> Self {
12024         unsafe { ::std::mem::zeroed() }
12025     }
12026 }
12027 #[cfg(feature = "Win32_Foundation")]
12028 impl ::std::cmp::PartialEq for KSEVENT_TIME_MARK {
eq(&self, _other: &Self) -> bool12029     fn eq(&self, _other: &Self) -> bool {
12030         unimplemented!()
12031     }
12032 }
12033 #[cfg(feature = "Win32_Foundation")]
12034 impl ::std::cmp::Eq for KSEVENT_TIME_MARK {}
12035 #[cfg(feature = "Win32_Foundation")]
12036 unsafe impl ::windows::runtime::Abi for KSEVENT_TIME_MARK {
12037     type Abi = Self;
12038     type DefaultType = Self;
12039 }
12040 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12041 #[repr(transparent)]
12042 pub struct KSEVENT_TUNER(pub i32);
12043 pub const KSEVENT_TUNER_CHANGED: KSEVENT_TUNER = KSEVENT_TUNER(0i32);
12044 pub const KSEVENT_TUNER_INITIATE_SCAN: KSEVENT_TUNER = KSEVENT_TUNER(1i32);
12045 impl ::std::convert::From<i32> for KSEVENT_TUNER {
from(value: i32) -> Self12046     fn from(value: i32) -> Self {
12047         Self(value)
12048     }
12049 }
12050 unsafe impl ::windows::runtime::Abi for KSEVENT_TUNER {
12051     type Abi = Self;
12052     type DefaultType = Self;
12053 }
12054 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12055 #[repr(C)]
12056 #[cfg(feature = "Win32_Foundation")]
12057 pub struct KSEVENT_TUNER_INITIATE_SCAN_S {
12058     pub EventData: KSEVENTDATA,
12059     pub StartFrequency: u32,
12060     pub EndFrequency: u32,
12061 }
12062 #[cfg(feature = "Win32_Foundation")]
12063 impl KSEVENT_TUNER_INITIATE_SCAN_S {}
12064 #[cfg(feature = "Win32_Foundation")]
12065 impl ::std::default::Default for KSEVENT_TUNER_INITIATE_SCAN_S {
default() -> Self12066     fn default() -> Self {
12067         unsafe { ::std::mem::zeroed() }
12068     }
12069 }
12070 #[cfg(feature = "Win32_Foundation")]
12071 impl ::std::cmp::PartialEq for KSEVENT_TUNER_INITIATE_SCAN_S {
eq(&self, _other: &Self) -> bool12072     fn eq(&self, _other: &Self) -> bool {
12073         unimplemented!()
12074     }
12075 }
12076 #[cfg(feature = "Win32_Foundation")]
12077 impl ::std::cmp::Eq for KSEVENT_TUNER_INITIATE_SCAN_S {}
12078 #[cfg(feature = "Win32_Foundation")]
12079 unsafe impl ::windows::runtime::Abi for KSEVENT_TUNER_INITIATE_SCAN_S {
12080     type Abi = Self;
12081     type DefaultType = Self;
12082 }
12083 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12084 #[repr(transparent)]
12085 pub struct KSEVENT_TVAUDIO(pub i32);
12086 pub const KSEVENT_TVAUDIO_CHANGED: KSEVENT_TVAUDIO = KSEVENT_TVAUDIO(0i32);
12087 impl ::std::convert::From<i32> for KSEVENT_TVAUDIO {
from(value: i32) -> Self12088     fn from(value: i32) -> Self {
12089         Self(value)
12090     }
12091 }
12092 unsafe impl ::windows::runtime::Abi for KSEVENT_TVAUDIO {
12093     type Abi = Self;
12094     type DefaultType = Self;
12095 }
12096 pub const KSEVENT_TYPE_BASICSUPPORT: u32 = 512u32;
12097 pub const KSEVENT_TYPE_ENABLE: u32 = 1u32;
12098 pub const KSEVENT_TYPE_ENABLEBUFFERED: u32 = 4u32;
12099 pub const KSEVENT_TYPE_ONESHOT: u32 = 2u32;
12100 pub const KSEVENT_TYPE_QUERYBUFFER: u32 = 1024u32;
12101 pub const KSEVENT_TYPE_SETSUPPORT: u32 = 256u32;
12102 pub const KSEVENT_TYPE_TOPOLOGY: u32 = 268435456u32;
12103 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12104 #[repr(transparent)]
12105 pub struct KSEVENT_VIDCAPTOSTI(pub i32);
12106 pub const KSEVENT_VIDCAPTOSTI_EXT_TRIGGER: KSEVENT_VIDCAPTOSTI = KSEVENT_VIDCAPTOSTI(0i32);
12107 pub const KSEVENT_VIDCAP_AUTO_UPDATE: KSEVENT_VIDCAPTOSTI = KSEVENT_VIDCAPTOSTI(1i32);
12108 pub const KSEVENT_VIDCAP_SEARCH: KSEVENT_VIDCAPTOSTI = KSEVENT_VIDCAPTOSTI(2i32);
12109 impl ::std::convert::From<i32> for KSEVENT_VIDCAPTOSTI {
from(value: i32) -> Self12110     fn from(value: i32) -> Self {
12111         Self(value)
12112     }
12113 }
12114 unsafe impl ::windows::runtime::Abi for KSEVENT_VIDCAPTOSTI {
12115     type Abi = Self;
12116     type DefaultType = Self;
12117 }
12118 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12119 #[repr(transparent)]
12120 pub struct KSEVENT_VIDEODECODER(pub i32);
12121 pub const KSEVENT_VIDEODECODER_CHANGED: KSEVENT_VIDEODECODER = KSEVENT_VIDEODECODER(0i32);
12122 impl ::std::convert::From<i32> for KSEVENT_VIDEODECODER {
from(value: i32) -> Self12123     fn from(value: i32) -> Self {
12124         Self(value)
12125     }
12126 }
12127 unsafe impl ::windows::runtime::Abi for KSEVENT_VIDEODECODER {
12128     type Abi = Self;
12129     type DefaultType = Self;
12130 }
12131 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12132 #[repr(transparent)]
12133 pub struct KSEVENT_VOLUMELIMIT(pub i32);
12134 pub const KSEVENT_VOLUMELIMIT_CHANGED: KSEVENT_VOLUMELIMIT = KSEVENT_VOLUMELIMIT(0i32);
12135 impl ::std::convert::From<i32> for KSEVENT_VOLUMELIMIT {
from(value: i32) -> Self12136     fn from(value: i32) -> Self {
12137         Self(value)
12138     }
12139 }
12140 unsafe impl ::windows::runtime::Abi for KSEVENT_VOLUMELIMIT {
12141     type Abi = Self;
12142     type DefaultType = Self;
12143 }
12144 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12145 #[repr(transparent)]
12146 pub struct KSEVENT_VPNOTIFY(pub i32);
12147 pub const KSEVENT_VPNOTIFY_FORMATCHANGE: KSEVENT_VPNOTIFY = KSEVENT_VPNOTIFY(0i32);
12148 impl ::std::convert::From<i32> for KSEVENT_VPNOTIFY {
from(value: i32) -> Self12149     fn from(value: i32) -> Self {
12150         Self(value)
12151     }
12152 }
12153 unsafe impl ::windows::runtime::Abi for KSEVENT_VPNOTIFY {
12154     type Abi = Self;
12155     type DefaultType = Self;
12156 }
12157 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12158 #[repr(transparent)]
12159 pub struct KSEVENT_VPVBINOTIFY(pub i32);
12160 pub const KSEVENT_VPVBINOTIFY_FORMATCHANGE: KSEVENT_VPVBINOTIFY = KSEVENT_VPVBINOTIFY(0i32);
12161 impl ::std::convert::From<i32> for KSEVENT_VPVBINOTIFY {
from(value: i32) -> Self12162     fn from(value: i32) -> Self {
12163         Self(value)
12164     }
12165 }
12166 unsafe impl ::windows::runtime::Abi for KSEVENT_VPVBINOTIFY {
12167     type Abi = Self;
12168     type DefaultType = Self;
12169 }
12170 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12171 #[repr(C)]
12172 pub struct KSE_NODE {
12173     pub Event: KSIDENTIFIER,
12174     pub NodeId: u32,
12175     pub Reserved: u32,
12176 }
12177 impl KSE_NODE {}
12178 impl ::std::default::Default for KSE_NODE {
default() -> Self12179     fn default() -> Self {
12180         unsafe { ::std::mem::zeroed() }
12181     }
12182 }
12183 impl ::std::cmp::PartialEq for KSE_NODE {
eq(&self, _other: &Self) -> bool12184     fn eq(&self, _other: &Self) -> bool {
12185         unimplemented!()
12186     }
12187 }
12188 impl ::std::cmp::Eq for KSE_NODE {}
12189 unsafe impl ::windows::runtime::Abi for KSE_NODE {
12190     type Abi = Self;
12191     type DefaultType = Self;
12192 }
12193 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12194 #[repr(C)]
12195 pub struct KSE_PIN {
12196     pub Event: KSIDENTIFIER,
12197     pub PinId: u32,
12198     pub Reserved: u32,
12199 }
12200 impl KSE_PIN {}
12201 impl ::std::default::Default for KSE_PIN {
default() -> Self12202     fn default() -> Self {
12203         unsafe { ::std::mem::zeroed() }
12204     }
12205 }
12206 impl ::std::cmp::PartialEq for KSE_PIN {
eq(&self, _other: &Self) -> bool12207     fn eq(&self, _other: &Self) -> bool {
12208         unimplemented!()
12209     }
12210 }
12211 impl ::std::cmp::Eq for KSE_PIN {}
12212 unsafe impl ::windows::runtime::Abi for KSE_PIN {
12213     type Abi = Self;
12214     type DefaultType = Self;
12215 }
12216 pub const KSFILTER_FLAG_CRITICAL_PROCESSING: u32 = 2u32;
12217 pub const KSFILTER_FLAG_DENY_USERMODE_ACCESS: u32 = 2147483648u32;
12218 pub const KSFILTER_FLAG_DISPATCH_LEVEL_PROCESSING: u32 = 1u32;
12219 pub const KSFILTER_FLAG_HYPERCRITICAL_PROCESSING: u32 = 4u32;
12220 pub const KSFILTER_FLAG_PRIORITIZE_REFERENCEGUID: u32 = 16u32;
12221 pub const KSFILTER_FLAG_RECEIVE_ZERO_LENGTH_SAMPLES: u32 = 8u32;
12222 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12223 #[repr(C)]
12224 pub struct KSFRAMETIME {
12225     pub Duration: i64,
12226     pub FrameFlags: u32,
12227     pub Reserved: u32,
12228 }
12229 impl KSFRAMETIME {}
12230 impl ::std::default::Default for KSFRAMETIME {
default() -> Self12231     fn default() -> Self {
12232         unsafe { ::std::mem::zeroed() }
12233     }
12234 }
12235 impl ::std::fmt::Debug for KSFRAMETIME {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12236     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12237         fmt.debug_struct("KSFRAMETIME").field("Duration", &self.Duration).field("FrameFlags", &self.FrameFlags).field("Reserved", &self.Reserved).finish()
12238     }
12239 }
12240 impl ::std::cmp::PartialEq for KSFRAMETIME {
eq(&self, other: &Self) -> bool12241     fn eq(&self, other: &Self) -> bool {
12242         self.Duration == other.Duration && self.FrameFlags == other.FrameFlags && self.Reserved == other.Reserved
12243     }
12244 }
12245 impl ::std::cmp::Eq for KSFRAMETIME {}
12246 unsafe impl ::windows::runtime::Abi for KSFRAMETIME {
12247     type Abi = Self;
12248     type DefaultType = Self;
12249 }
12250 pub const KSFRAMETIME_VARIABLESIZE: u32 = 1u32;
12251 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12252 #[repr(C)]
12253 #[cfg(feature = "Win32_Foundation")]
12254 pub struct KSGOP_USERDATA {
12255     pub sc: u32,
12256     pub reserved1: u32,
12257     pub cFields: u8,
12258     pub l21Data: [super::super::super::Foundation::CHAR; 3],
12259 }
12260 #[cfg(feature = "Win32_Foundation")]
12261 impl KSGOP_USERDATA {}
12262 #[cfg(feature = "Win32_Foundation")]
12263 impl ::std::default::Default for KSGOP_USERDATA {
default() -> Self12264     fn default() -> Self {
12265         unsafe { ::std::mem::zeroed() }
12266     }
12267 }
12268 #[cfg(feature = "Win32_Foundation")]
12269 impl ::std::fmt::Debug for KSGOP_USERDATA {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12270     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12271         fmt.debug_struct("KSGOP_USERDATA").field("sc", &self.sc).field("reserved1", &self.reserved1).field("cFields", &self.cFields).field("l21Data", &self.l21Data).finish()
12272     }
12273 }
12274 #[cfg(feature = "Win32_Foundation")]
12275 impl ::std::cmp::PartialEq for KSGOP_USERDATA {
eq(&self, other: &Self) -> bool12276     fn eq(&self, other: &Self) -> bool {
12277         self.sc == other.sc && self.reserved1 == other.reserved1 && self.cFields == other.cFields && self.l21Data == other.l21Data
12278     }
12279 }
12280 #[cfg(feature = "Win32_Foundation")]
12281 impl ::std::cmp::Eq for KSGOP_USERDATA {}
12282 #[cfg(feature = "Win32_Foundation")]
12283 unsafe impl ::windows::runtime::Abi for KSGOP_USERDATA {
12284     type Abi = Self;
12285     type DefaultType = Self;
12286 }
12287 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12288 #[repr(C)]
12289 pub struct KSIDENTIFIER {
12290     pub Anonymous: KSIDENTIFIER_0,
12291 }
12292 impl KSIDENTIFIER {}
12293 impl ::std::default::Default for KSIDENTIFIER {
default() -> Self12294     fn default() -> Self {
12295         unsafe { ::std::mem::zeroed() }
12296     }
12297 }
12298 impl ::std::cmp::PartialEq for KSIDENTIFIER {
eq(&self, _other: &Self) -> bool12299     fn eq(&self, _other: &Self) -> bool {
12300         unimplemented!()
12301     }
12302 }
12303 impl ::std::cmp::Eq for KSIDENTIFIER {}
12304 unsafe impl ::windows::runtime::Abi for KSIDENTIFIER {
12305     type Abi = Self;
12306     type DefaultType = Self;
12307 }
12308 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12309 #[repr(C)]
12310 pub union KSIDENTIFIER_0 {
12311     pub Anonymous: KSIDENTIFIER_0_0,
12312     pub Alignment: i64,
12313 }
12314 impl KSIDENTIFIER_0 {}
12315 impl ::std::default::Default for KSIDENTIFIER_0 {
default() -> Self12316     fn default() -> Self {
12317         unsafe { ::std::mem::zeroed() }
12318     }
12319 }
12320 impl ::std::cmp::PartialEq for KSIDENTIFIER_0 {
eq(&self, _other: &Self) -> bool12321     fn eq(&self, _other: &Self) -> bool {
12322         unimplemented!()
12323     }
12324 }
12325 impl ::std::cmp::Eq for KSIDENTIFIER_0 {}
12326 unsafe impl ::windows::runtime::Abi for KSIDENTIFIER_0 {
12327     type Abi = Self;
12328     type DefaultType = Self;
12329 }
12330 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12331 #[repr(C)]
12332 pub struct KSIDENTIFIER_0_0 {
12333     pub Set: ::windows::runtime::GUID,
12334     pub Id: u32,
12335     pub Flags: u32,
12336 }
12337 impl KSIDENTIFIER_0_0 {}
12338 impl ::std::default::Default for KSIDENTIFIER_0_0 {
default() -> Self12339     fn default() -> Self {
12340         unsafe { ::std::mem::zeroed() }
12341     }
12342 }
12343 impl ::std::fmt::Debug for KSIDENTIFIER_0_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12344     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12345         fmt.debug_struct("_Anonymous_e__Struct").field("Set", &self.Set).field("Id", &self.Id).field("Flags", &self.Flags).finish()
12346     }
12347 }
12348 impl ::std::cmp::PartialEq for KSIDENTIFIER_0_0 {
eq(&self, other: &Self) -> bool12349     fn eq(&self, other: &Self) -> bool {
12350         self.Set == other.Set && self.Id == other.Id && self.Flags == other.Flags
12351     }
12352 }
12353 impl ::std::cmp::Eq for KSIDENTIFIER_0_0 {}
12354 unsafe impl ::windows::runtime::Abi for KSIDENTIFIER_0_0 {
12355     type Abi = Self;
12356     type DefaultType = Self;
12357 }
12358 pub const KSINTERFACESETID_FileIo: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2356122412, 59249, 4560, [184, 255, 0, 160, 201, 34, 49, 150]);
12359 pub const KSINTERFACESETID_Media: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(974383936, 12455, 4560, [165, 214, 40, 219, 4, 193, 0, 0]);
12360 pub const KSINTERFACESETID_Standard: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(445081248, 25294, 4559, [165, 214, 40, 219, 4, 193, 0, 0]);
12361 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12362 #[repr(transparent)]
12363 pub struct KSINTERFACE_FILEIO(pub i32);
12364 pub const KSINTERFACE_FILEIO_STREAMING: KSINTERFACE_FILEIO = KSINTERFACE_FILEIO(0i32);
12365 impl ::std::convert::From<i32> for KSINTERFACE_FILEIO {
from(value: i32) -> Self12366     fn from(value: i32) -> Self {
12367         Self(value)
12368     }
12369 }
12370 unsafe impl ::windows::runtime::Abi for KSINTERFACE_FILEIO {
12371     type Abi = Self;
12372     type DefaultType = Self;
12373 }
12374 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12375 #[repr(transparent)]
12376 pub struct KSINTERFACE_MEDIA(pub i32);
12377 pub const KSINTERFACE_MEDIA_MUSIC: KSINTERFACE_MEDIA = KSINTERFACE_MEDIA(0i32);
12378 pub const KSINTERFACE_MEDIA_WAVE_BUFFERED: KSINTERFACE_MEDIA = KSINTERFACE_MEDIA(1i32);
12379 pub const KSINTERFACE_MEDIA_WAVE_QUEUED: KSINTERFACE_MEDIA = KSINTERFACE_MEDIA(2i32);
12380 impl ::std::convert::From<i32> for KSINTERFACE_MEDIA {
from(value: i32) -> Self12381     fn from(value: i32) -> Self {
12382         Self(value)
12383     }
12384 }
12385 unsafe impl ::windows::runtime::Abi for KSINTERFACE_MEDIA {
12386     type Abi = Self;
12387     type DefaultType = Self;
12388 }
12389 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12390 #[repr(transparent)]
12391 pub struct KSINTERFACE_STANDARD(pub i32);
12392 pub const KSINTERFACE_STANDARD_STREAMING: KSINTERFACE_STANDARD = KSINTERFACE_STANDARD(0i32);
12393 pub const KSINTERFACE_STANDARD_LOOPED_STREAMING: KSINTERFACE_STANDARD = KSINTERFACE_STANDARD(1i32);
12394 pub const KSINTERFACE_STANDARD_CONTROL: KSINTERFACE_STANDARD = KSINTERFACE_STANDARD(2i32);
12395 impl ::std::convert::From<i32> for KSINTERFACE_STANDARD {
from(value: i32) -> Self12396     fn from(value: i32) -> Self {
12397         Self(value)
12398     }
12399 }
12400 unsafe impl ::windows::runtime::Abi for KSINTERFACE_STANDARD {
12401     type Abi = Self;
12402     type DefaultType = Self;
12403 }
12404 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12405 #[repr(C)]
12406 pub struct KSINTERVAL {
12407     pub TimeBase: i64,
12408     pub Interval: i64,
12409 }
12410 impl KSINTERVAL {}
12411 impl ::std::default::Default for KSINTERVAL {
default() -> Self12412     fn default() -> Self {
12413         unsafe { ::std::mem::zeroed() }
12414     }
12415 }
12416 impl ::std::fmt::Debug for KSINTERVAL {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12417     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12418         fmt.debug_struct("KSINTERVAL").field("TimeBase", &self.TimeBase).field("Interval", &self.Interval).finish()
12419     }
12420 }
12421 impl ::std::cmp::PartialEq for KSINTERVAL {
eq(&self, other: &Self) -> bool12422     fn eq(&self, other: &Self) -> bool {
12423         self.TimeBase == other.TimeBase && self.Interval == other.Interval
12424     }
12425 }
12426 impl ::std::cmp::Eq for KSINTERVAL {}
12427 unsafe impl ::windows::runtime::Abi for KSINTERVAL {
12428     type Abi = Self;
12429     type DefaultType = Self;
12430 }
12431 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12432 #[repr(C)]
12433 #[cfg(feature = "Win32_Foundation")]
12434 pub struct KSJACK_DESCRIPTION {
12435     pub ChannelMapping: u32,
12436     pub Color: u32,
12437     pub ConnectionType: EPcxConnectionType,
12438     pub GeoLocation: EPcxGeoLocation,
12439     pub GenLocation: EPcxGenLocation,
12440     pub PortConnection: EPxcPortConnection,
12441     pub IsConnected: super::super::super::Foundation::BOOL,
12442 }
12443 #[cfg(feature = "Win32_Foundation")]
12444 impl KSJACK_DESCRIPTION {}
12445 #[cfg(feature = "Win32_Foundation")]
12446 impl ::std::default::Default for KSJACK_DESCRIPTION {
default() -> Self12447     fn default() -> Self {
12448         unsafe { ::std::mem::zeroed() }
12449     }
12450 }
12451 #[cfg(feature = "Win32_Foundation")]
12452 impl ::std::fmt::Debug for KSJACK_DESCRIPTION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12453     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12454         fmt.debug_struct("KSJACK_DESCRIPTION")
12455             .field("ChannelMapping", &self.ChannelMapping)
12456             .field("Color", &self.Color)
12457             .field("ConnectionType", &self.ConnectionType)
12458             .field("GeoLocation", &self.GeoLocation)
12459             .field("GenLocation", &self.GenLocation)
12460             .field("PortConnection", &self.PortConnection)
12461             .field("IsConnected", &self.IsConnected)
12462             .finish()
12463     }
12464 }
12465 #[cfg(feature = "Win32_Foundation")]
12466 impl ::std::cmp::PartialEq for KSJACK_DESCRIPTION {
eq(&self, other: &Self) -> bool12467     fn eq(&self, other: &Self) -> bool {
12468         self.ChannelMapping == other.ChannelMapping && self.Color == other.Color && self.ConnectionType == other.ConnectionType && self.GeoLocation == other.GeoLocation && self.GenLocation == other.GenLocation && self.PortConnection == other.PortConnection && self.IsConnected == other.IsConnected
12469     }
12470 }
12471 #[cfg(feature = "Win32_Foundation")]
12472 impl ::std::cmp::Eq for KSJACK_DESCRIPTION {}
12473 #[cfg(feature = "Win32_Foundation")]
12474 unsafe impl ::windows::runtime::Abi for KSJACK_DESCRIPTION {
12475     type Abi = Self;
12476     type DefaultType = Self;
12477 }
12478 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12479 #[repr(C)]
12480 pub struct KSJACK_DESCRIPTION2 {
12481     pub DeviceStateInfo: u32,
12482     pub JackCapabilities: u32,
12483 }
12484 impl KSJACK_DESCRIPTION2 {}
12485 impl ::std::default::Default for KSJACK_DESCRIPTION2 {
default() -> Self12486     fn default() -> Self {
12487         unsafe { ::std::mem::zeroed() }
12488     }
12489 }
12490 impl ::std::fmt::Debug for KSJACK_DESCRIPTION2 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12491     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12492         fmt.debug_struct("KSJACK_DESCRIPTION2").field("DeviceStateInfo", &self.DeviceStateInfo).field("JackCapabilities", &self.JackCapabilities).finish()
12493     }
12494 }
12495 impl ::std::cmp::PartialEq for KSJACK_DESCRIPTION2 {
eq(&self, other: &Self) -> bool12496     fn eq(&self, other: &Self) -> bool {
12497         self.DeviceStateInfo == other.DeviceStateInfo && self.JackCapabilities == other.JackCapabilities
12498     }
12499 }
12500 impl ::std::cmp::Eq for KSJACK_DESCRIPTION2 {}
12501 unsafe impl ::windows::runtime::Abi for KSJACK_DESCRIPTION2 {
12502     type Abi = Self;
12503     type DefaultType = Self;
12504 }
12505 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12506 #[repr(transparent)]
12507 pub struct KSJACK_SINK_CONNECTIONTYPE(pub i32);
12508 pub const KSJACK_SINK_CONNECTIONTYPE_HDMI: KSJACK_SINK_CONNECTIONTYPE = KSJACK_SINK_CONNECTIONTYPE(0i32);
12509 pub const KSJACK_SINK_CONNECTIONTYPE_DISPLAYPORT: KSJACK_SINK_CONNECTIONTYPE = KSJACK_SINK_CONNECTIONTYPE(1i32);
12510 impl ::std::convert::From<i32> for KSJACK_SINK_CONNECTIONTYPE {
from(value: i32) -> Self12511     fn from(value: i32) -> Self {
12512         Self(value)
12513     }
12514 }
12515 unsafe impl ::windows::runtime::Abi for KSJACK_SINK_CONNECTIONTYPE {
12516     type Abi = Self;
12517     type DefaultType = Self;
12518 }
12519 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12520 #[repr(C)]
12521 #[cfg(feature = "Win32_Foundation")]
12522 pub struct KSJACK_SINK_INFORMATION {
12523     pub ConnType: KSJACK_SINK_CONNECTIONTYPE,
12524     pub ManufacturerId: u16,
12525     pub ProductId: u16,
12526     pub AudioLatency: u16,
12527     pub HDCPCapable: super::super::super::Foundation::BOOL,
12528     pub AICapable: super::super::super::Foundation::BOOL,
12529     pub SinkDescriptionLength: u8,
12530     pub SinkDescription: [u16; 32],
12531     pub PortId: super::super::super::Foundation::LUID,
12532 }
12533 #[cfg(feature = "Win32_Foundation")]
12534 impl KSJACK_SINK_INFORMATION {}
12535 #[cfg(feature = "Win32_Foundation")]
12536 impl ::std::default::Default for KSJACK_SINK_INFORMATION {
default() -> Self12537     fn default() -> Self {
12538         unsafe { ::std::mem::zeroed() }
12539     }
12540 }
12541 #[cfg(feature = "Win32_Foundation")]
12542 impl ::std::fmt::Debug for KSJACK_SINK_INFORMATION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12543     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12544         fmt.debug_struct("KSJACK_SINK_INFORMATION")
12545             .field("ConnType", &self.ConnType)
12546             .field("ManufacturerId", &self.ManufacturerId)
12547             .field("ProductId", &self.ProductId)
12548             .field("AudioLatency", &self.AudioLatency)
12549             .field("HDCPCapable", &self.HDCPCapable)
12550             .field("AICapable", &self.AICapable)
12551             .field("SinkDescriptionLength", &self.SinkDescriptionLength)
12552             .field("SinkDescription", &self.SinkDescription)
12553             .field("PortId", &self.PortId)
12554             .finish()
12555     }
12556 }
12557 #[cfg(feature = "Win32_Foundation")]
12558 impl ::std::cmp::PartialEq for KSJACK_SINK_INFORMATION {
eq(&self, other: &Self) -> bool12559     fn eq(&self, other: &Self) -> bool {
12560         self.ConnType == other.ConnType && self.ManufacturerId == other.ManufacturerId && self.ProductId == other.ProductId && self.AudioLatency == other.AudioLatency && self.HDCPCapable == other.HDCPCapable && self.AICapable == other.AICapable && self.SinkDescriptionLength == other.SinkDescriptionLength && self.SinkDescription == other.SinkDescription && self.PortId == other.PortId
12561     }
12562 }
12563 #[cfg(feature = "Win32_Foundation")]
12564 impl ::std::cmp::Eq for KSJACK_SINK_INFORMATION {}
12565 #[cfg(feature = "Win32_Foundation")]
12566 unsafe impl ::windows::runtime::Abi for KSJACK_SINK_INFORMATION {
12567     type Abi = Self;
12568     type DefaultType = Self;
12569 }
12570 pub const KSMEDIUMSETID_MidiBus: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(93356096, 12870, 4560, [165, 214, 40, 219, 4, 193, 0, 0]);
12571 pub const KSMEDIUMSETID_Standard: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1195881248, 25294, 4559, [165, 214, 40, 219, 4, 193, 0, 0]);
12572 pub const KSMEDIUMSETID_VPBus: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2710312428, 52803, 4560, [171, 231, 0, 160, 201, 34, 49, 150]);
12573 pub const KSMEDIUM_STANDARD_DEVIO: u32 = 0u32;
12574 pub const KSMEDIUM_TYPE_ANYINSTANCE: u32 = 0u32;
12575 pub const KSMEMORY_TYPE_DEVICE_UNKNOWN: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(152811065, 24639, 4561, [176, 103, 0, 160, 201, 6, 40, 2]);
12576 pub const KSMEMORY_TYPE_KERNEL_NONPAGED: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1248681924, 30869, 4561, [176, 105, 0, 160, 201, 6, 40, 2]);
12577 pub const KSMEMORY_TYPE_KERNEL_PAGED: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3627284728, 30868, 4561, [176, 105, 0, 160, 201, 6, 40, 2]);
12578 pub const KSMEMORY_TYPE_SYSTEM: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(152811064, 24639, 4561, [176, 103, 0, 160, 201, 6, 40, 2]);
12579 pub const KSMEMORY_TYPE_USER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2360409128, 30867, 4561, [176, 105, 0, 160, 201, 6, 40, 2]);
12580 pub const KSMETHODSETID_StreamAllocator: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3480109889, 60551, 4559, [161, 48, 0, 32, 175, 209, 86, 228]);
12581 pub const KSMETHODSETID_StreamIo: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1708131274, 5411, 4562, [178, 122, 0, 160, 201, 34, 49, 150]);
12582 pub const KSMETHODSETID_Wavetable: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3706663403, 55559, 4560, [149, 131, 0, 192, 79, 185, 37, 211]);
12583 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12584 #[repr(transparent)]
12585 pub struct KSMETHOD_STREAMALLOCATOR(pub i32);
12586 pub const KSMETHOD_STREAMALLOCATOR_ALLOC: KSMETHOD_STREAMALLOCATOR = KSMETHOD_STREAMALLOCATOR(0i32);
12587 pub const KSMETHOD_STREAMALLOCATOR_FREE: KSMETHOD_STREAMALLOCATOR = KSMETHOD_STREAMALLOCATOR(1i32);
12588 impl ::std::convert::From<i32> for KSMETHOD_STREAMALLOCATOR {
from(value: i32) -> Self12589     fn from(value: i32) -> Self {
12590         Self(value)
12591     }
12592 }
12593 unsafe impl ::windows::runtime::Abi for KSMETHOD_STREAMALLOCATOR {
12594     type Abi = Self;
12595     type DefaultType = Self;
12596 }
12597 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12598 #[repr(transparent)]
12599 pub struct KSMETHOD_STREAMIO(pub i32);
12600 pub const KSMETHOD_STREAMIO_READ: KSMETHOD_STREAMIO = KSMETHOD_STREAMIO(0i32);
12601 pub const KSMETHOD_STREAMIO_WRITE: KSMETHOD_STREAMIO = KSMETHOD_STREAMIO(1i32);
12602 impl ::std::convert::From<i32> for KSMETHOD_STREAMIO {
from(value: i32) -> Self12603     fn from(value: i32) -> Self {
12604         Self(value)
12605     }
12606 }
12607 unsafe impl ::windows::runtime::Abi for KSMETHOD_STREAMIO {
12608     type Abi = Self;
12609     type DefaultType = Self;
12610 }
12611 pub const KSMETHOD_TYPE_BASICSUPPORT: u32 = 512u32;
12612 pub const KSMETHOD_TYPE_MODIFY: u32 = 3u32;
12613 pub const KSMETHOD_TYPE_NONE: u32 = 0u32;
12614 pub const KSMETHOD_TYPE_READ: u32 = 1u32;
12615 pub const KSMETHOD_TYPE_SEND: u32 = 1u32;
12616 pub const KSMETHOD_TYPE_SETSUPPORT: u32 = 256u32;
12617 pub const KSMETHOD_TYPE_SOURCE: u32 = 4u32;
12618 pub const KSMETHOD_TYPE_TOPOLOGY: u32 = 268435456u32;
12619 pub const KSMETHOD_TYPE_WRITE: u32 = 2u32;
12620 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12621 #[repr(transparent)]
12622 pub struct KSMETHOD_WAVETABLE(pub i32);
12623 pub const KSMETHOD_WAVETABLE_WAVE_ALLOC: KSMETHOD_WAVETABLE = KSMETHOD_WAVETABLE(0i32);
12624 pub const KSMETHOD_WAVETABLE_WAVE_FREE: KSMETHOD_WAVETABLE = KSMETHOD_WAVETABLE(1i32);
12625 pub const KSMETHOD_WAVETABLE_WAVE_FIND: KSMETHOD_WAVETABLE = KSMETHOD_WAVETABLE(2i32);
12626 pub const KSMETHOD_WAVETABLE_WAVE_WRITE: KSMETHOD_WAVETABLE = KSMETHOD_WAVETABLE(3i32);
12627 impl ::std::convert::From<i32> for KSMETHOD_WAVETABLE {
from(value: i32) -> Self12628     fn from(value: i32) -> Self {
12629         Self(value)
12630     }
12631 }
12632 unsafe impl ::windows::runtime::Abi for KSMETHOD_WAVETABLE {
12633     type Abi = Self;
12634     type DefaultType = Self;
12635 }
12636 pub const KSMETHOD_WAVE_QUEUED_BREAKLOOP: u32 = 1u32;
12637 pub const KSMFT_CATEGORY_AUDIO_DECODER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2661760948, 61306, 17753, [141, 93, 113, 157, 143, 4, 38, 199]);
12638 pub const KSMFT_CATEGORY_AUDIO_EFFECT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(285625416, 13896, 20176, [147, 46, 5, 206, 138, 200, 17, 183]);
12639 pub const KSMFT_CATEGORY_AUDIO_ENCODER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2445691856, 63774, 19852, [146, 118, 219, 36, 130, 121, 217, 117]);
12640 pub const KSMFT_CATEGORY_DEMULTIPLEXER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2825915002, 37787, 17605, [153, 215, 118, 34, 107, 35, 179, 241]);
12641 pub const KSMFT_CATEGORY_MULTIPLEXER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(94131742, 1454, 19297, [182, 157, 85, 182, 30, 229, 74, 123]);
12642 pub const KSMFT_CATEGORY_OTHER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2417450327, 47082, 18689, [174, 179, 147, 58, 135, 71, 117, 111]);
12643 pub const KSMFT_CATEGORY_VIDEO_DECODER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3602918731, 26675, 17844, [151, 26, 5, 164, 176, 75, 171, 145]);
12644 pub const KSMFT_CATEGORY_VIDEO_EFFECT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(316767265, 21292, 19054, [138, 28, 64, 130, 90, 115, 99, 151]);
12645 pub const KSMFT_CATEGORY_VIDEO_ENCODER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4154371197, 58693, 17287, [189, 238, 214, 71, 215, 189, 228, 42]);
12646 pub const KSMFT_CATEGORY_VIDEO_PROCESSOR: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(808363004, 43615, 18425, [159, 122, 194, 24, 139, 177, 99, 2]);
12647 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12648 #[repr(transparent)]
12649 pub struct KSMICARRAY_MICARRAYTYPE(pub i32);
12650 pub const KSMICARRAY_MICARRAYTYPE_LINEAR: KSMICARRAY_MICARRAYTYPE = KSMICARRAY_MICARRAYTYPE(0i32);
12651 pub const KSMICARRAY_MICARRAYTYPE_PLANAR: KSMICARRAY_MICARRAYTYPE = KSMICARRAY_MICARRAYTYPE(1i32);
12652 pub const KSMICARRAY_MICARRAYTYPE_3D: KSMICARRAY_MICARRAYTYPE = KSMICARRAY_MICARRAYTYPE(2i32);
12653 impl ::std::convert::From<i32> for KSMICARRAY_MICARRAYTYPE {
from(value: i32) -> Self12654     fn from(value: i32) -> Self {
12655         Self(value)
12656     }
12657 }
12658 unsafe impl ::windows::runtime::Abi for KSMICARRAY_MICARRAYTYPE {
12659     type Abi = Self;
12660     type DefaultType = Self;
12661 }
12662 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12663 #[repr(transparent)]
12664 pub struct KSMICARRAY_MICTYPE(pub i32);
12665 pub const KSMICARRAY_MICTYPE_OMNIDIRECTIONAL: KSMICARRAY_MICTYPE = KSMICARRAY_MICTYPE(0i32);
12666 pub const KSMICARRAY_MICTYPE_SUBCARDIOID: KSMICARRAY_MICTYPE = KSMICARRAY_MICTYPE(1i32);
12667 pub const KSMICARRAY_MICTYPE_CARDIOID: KSMICARRAY_MICTYPE = KSMICARRAY_MICTYPE(2i32);
12668 pub const KSMICARRAY_MICTYPE_SUPERCARDIOID: KSMICARRAY_MICTYPE = KSMICARRAY_MICTYPE(3i32);
12669 pub const KSMICARRAY_MICTYPE_HYPERCARDIOID: KSMICARRAY_MICTYPE = KSMICARRAY_MICTYPE(4i32);
12670 pub const KSMICARRAY_MICTYPE_8SHAPED: KSMICARRAY_MICTYPE = KSMICARRAY_MICTYPE(5i32);
12671 pub const KSMICARRAY_MICTYPE_VENDORDEFINED: KSMICARRAY_MICTYPE = KSMICARRAY_MICTYPE(15i32);
12672 impl ::std::convert::From<i32> for KSMICARRAY_MICTYPE {
from(value: i32) -> Self12673     fn from(value: i32) -> Self {
12674         Self(value)
12675     }
12676 }
12677 unsafe impl ::windows::runtime::Abi for KSMICARRAY_MICTYPE {
12678     type Abi = Self;
12679     type DefaultType = Self;
12680 }
12681 pub const KSMPEGVIDMODE_LTRBOX: u32 = 2u32;
12682 pub const KSMPEGVIDMODE_PANSCAN: u32 = 1u32;
12683 pub const KSMPEGVIDMODE_SCALE: u32 = 4u32;
12684 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12685 #[repr(C)]
12686 pub struct KSMPEGVID_RECT {
12687     pub StartX: u32,
12688     pub StartY: u32,
12689     pub EndX: u32,
12690     pub EndY: u32,
12691 }
12692 impl KSMPEGVID_RECT {}
12693 impl ::std::default::Default for KSMPEGVID_RECT {
default() -> Self12694     fn default() -> Self {
12695         unsafe { ::std::mem::zeroed() }
12696     }
12697 }
12698 impl ::std::fmt::Debug for KSMPEGVID_RECT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12699     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12700         fmt.debug_struct("KSMPEGVID_RECT").field("StartX", &self.StartX).field("StartY", &self.StartY).field("EndX", &self.EndX).field("EndY", &self.EndY).finish()
12701     }
12702 }
12703 impl ::std::cmp::PartialEq for KSMPEGVID_RECT {
eq(&self, other: &Self) -> bool12704     fn eq(&self, other: &Self) -> bool {
12705         self.StartX == other.StartX && self.StartY == other.StartY && self.EndX == other.EndX && self.EndY == other.EndY
12706     }
12707 }
12708 impl ::std::cmp::Eq for KSMPEGVID_RECT {}
12709 unsafe impl ::windows::runtime::Abi for KSMPEGVID_RECT {
12710     type Abi = Self;
12711     type DefaultType = Self;
12712 }
12713 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12714 #[repr(C)]
12715 pub struct KSMULTIPLE_DATA_PROP {
12716     pub Property: KSIDENTIFIER,
12717     pub MultipleItem: KSMULTIPLE_ITEM,
12718 }
12719 impl KSMULTIPLE_DATA_PROP {}
12720 impl ::std::default::Default for KSMULTIPLE_DATA_PROP {
default() -> Self12721     fn default() -> Self {
12722         unsafe { ::std::mem::zeroed() }
12723     }
12724 }
12725 impl ::std::cmp::PartialEq for KSMULTIPLE_DATA_PROP {
eq(&self, _other: &Self) -> bool12726     fn eq(&self, _other: &Self) -> bool {
12727         unimplemented!()
12728     }
12729 }
12730 impl ::std::cmp::Eq for KSMULTIPLE_DATA_PROP {}
12731 unsafe impl ::windows::runtime::Abi for KSMULTIPLE_DATA_PROP {
12732     type Abi = Self;
12733     type DefaultType = Self;
12734 }
12735 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12736 #[repr(C)]
12737 pub struct KSMULTIPLE_ITEM {
12738     pub Size: u32,
12739     pub Count: u32,
12740 }
12741 impl KSMULTIPLE_ITEM {}
12742 impl ::std::default::Default for KSMULTIPLE_ITEM {
default() -> Self12743     fn default() -> Self {
12744         unsafe { ::std::mem::zeroed() }
12745     }
12746 }
12747 impl ::std::fmt::Debug for KSMULTIPLE_ITEM {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12748     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12749         fmt.debug_struct("KSMULTIPLE_ITEM").field("Size", &self.Size).field("Count", &self.Count).finish()
12750     }
12751 }
12752 impl ::std::cmp::PartialEq for KSMULTIPLE_ITEM {
eq(&self, other: &Self) -> bool12753     fn eq(&self, other: &Self) -> bool {
12754         self.Size == other.Size && self.Count == other.Count
12755     }
12756 }
12757 impl ::std::cmp::Eq for KSMULTIPLE_ITEM {}
12758 unsafe impl ::windows::runtime::Abi for KSMULTIPLE_ITEM {
12759     type Abi = Self;
12760     type DefaultType = Self;
12761 }
12762 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12763 #[repr(C)]
12764 pub struct KSMUSICFORMAT {
12765     pub TimeDeltaMs: u32,
12766     pub ByteCount: u32,
12767 }
12768 impl KSMUSICFORMAT {}
12769 impl ::std::default::Default for KSMUSICFORMAT {
default() -> Self12770     fn default() -> Self {
12771         unsafe { ::std::mem::zeroed() }
12772     }
12773 }
12774 impl ::std::fmt::Debug for KSMUSICFORMAT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12775     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12776         fmt.debug_struct("KSMUSICFORMAT").field("TimeDeltaMs", &self.TimeDeltaMs).field("ByteCount", &self.ByteCount).finish()
12777     }
12778 }
12779 impl ::std::cmp::PartialEq for KSMUSICFORMAT {
eq(&self, other: &Self) -> bool12780     fn eq(&self, other: &Self) -> bool {
12781         self.TimeDeltaMs == other.TimeDeltaMs && self.ByteCount == other.ByteCount
12782     }
12783 }
12784 impl ::std::cmp::Eq for KSMUSICFORMAT {}
12785 unsafe impl ::windows::runtime::Abi for KSMUSICFORMAT {
12786     type Abi = Self;
12787     type DefaultType = Self;
12788 }
12789 pub const KSMUSIC_TECHNOLOGY_FMSYNTH: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(623664256, 25321, 4559, [165, 214, 40, 219, 4, 193, 0, 0]);
12790 pub const KSMUSIC_TECHNOLOGY_PORT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2261331552, 25320, 4559, [165, 214, 40, 219, 4, 193, 0, 0]);
12791 pub const KSMUSIC_TECHNOLOGY_SQSYNTH: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(248464256, 25321, 4559, [165, 214, 40, 219, 4, 193, 0, 0]);
12792 pub const KSMUSIC_TECHNOLOGY_SWSYNTH: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(926971702, 13856, 4561, [133, 211, 0, 0, 248, 117, 67, 128]);
12793 pub const KSMUSIC_TECHNOLOGY_WAVETABLE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(961464256, 25321, 4559, [165, 214, 40, 219, 4, 193, 0, 0]);
12794 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12795 #[repr(C)]
12796 pub struct KSM_NODE {
12797     pub Method: KSIDENTIFIER,
12798     pub NodeId: u32,
12799     pub Reserved: u32,
12800 }
12801 impl KSM_NODE {}
12802 impl ::std::default::Default for KSM_NODE {
default() -> Self12803     fn default() -> Self {
12804         unsafe { ::std::mem::zeroed() }
12805     }
12806 }
12807 impl ::std::cmp::PartialEq for KSM_NODE {
eq(&self, _other: &Self) -> bool12808     fn eq(&self, _other: &Self) -> bool {
12809         unimplemented!()
12810     }
12811 }
12812 impl ::std::cmp::Eq for KSM_NODE {}
12813 unsafe impl ::windows::runtime::Abi for KSM_NODE {
12814     type Abi = Self;
12815     type DefaultType = Self;
12816 }
12817 pub const KSNAME_Allocator: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1680825600, 18321, 4560, [165, 214, 40, 219, 4, 193, 0, 0]);
12818 pub const KSNAME_Clock: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1394025600, 18321, 4560, [165, 214, 40, 219, 4, 193, 0, 0]);
12819 pub const KSNAME_Filter: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2604030096, 5727, 4560, [161, 149, 0, 32, 175, 209, 86, 228]);
12820 pub const KSNAME_Pin: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(342825600, 18321, 4560, [165, 214, 40, 219, 4, 193, 0, 0]);
12821 pub const KSNAME_TopologyNode: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(102827546, 61045, 4560, [185, 21, 0, 160, 201, 34, 49, 150]);
12822 pub const KSNODEPIN_AEC_CAPTURE_IN: u32 = 2u32;
12823 pub const KSNODEPIN_AEC_CAPTURE_OUT: u32 = 3u32;
12824 pub const KSNODEPIN_AEC_RENDER_IN: u32 = 1u32;
12825 pub const KSNODEPIN_AEC_RENDER_OUT: u32 = 0u32;
12826 pub const KSNODEPIN_DEMUX_IN: u32 = 0u32;
12827 pub const KSNODEPIN_DEMUX_OUT: u32 = 1u32;
12828 pub const KSNODEPIN_STANDARD_IN: u32 = 1u32;
12829 pub const KSNODEPIN_STANDARD_OUT: u32 = 0u32;
12830 pub const KSNODEPIN_SUM_MUX_IN: u32 = 1u32;
12831 pub const KSNODEPIN_SUM_MUX_OUT: u32 = 0u32;
12832 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12833 #[repr(C)]
12834 pub struct KSNODEPROPERTY {
12835     pub Property: KSIDENTIFIER,
12836     pub NodeId: u32,
12837     pub Reserved: u32,
12838 }
12839 impl KSNODEPROPERTY {}
12840 impl ::std::default::Default for KSNODEPROPERTY {
default() -> Self12841     fn default() -> Self {
12842         unsafe { ::std::mem::zeroed() }
12843     }
12844 }
12845 impl ::std::cmp::PartialEq for KSNODEPROPERTY {
eq(&self, _other: &Self) -> bool12846     fn eq(&self, _other: &Self) -> bool {
12847         unimplemented!()
12848     }
12849 }
12850 impl ::std::cmp::Eq for KSNODEPROPERTY {}
12851 unsafe impl ::windows::runtime::Abi for KSNODEPROPERTY {
12852     type Abi = Self;
12853     type DefaultType = Self;
12854 }
12855 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12856 #[repr(C)]
12857 pub struct KSNODEPROPERTY_AUDIO_3D_LISTENER {
12858     pub NodeProperty: KSNODEPROPERTY,
12859     pub ListenerId: *mut ::std::ffi::c_void,
12860 }
12861 impl KSNODEPROPERTY_AUDIO_3D_LISTENER {}
12862 impl ::std::default::Default for KSNODEPROPERTY_AUDIO_3D_LISTENER {
default() -> Self12863     fn default() -> Self {
12864         unsafe { ::std::mem::zeroed() }
12865     }
12866 }
12867 impl ::std::cmp::PartialEq for KSNODEPROPERTY_AUDIO_3D_LISTENER {
eq(&self, _other: &Self) -> bool12868     fn eq(&self, _other: &Self) -> bool {
12869         unimplemented!()
12870     }
12871 }
12872 impl ::std::cmp::Eq for KSNODEPROPERTY_AUDIO_3D_LISTENER {}
12873 unsafe impl ::windows::runtime::Abi for KSNODEPROPERTY_AUDIO_3D_LISTENER {
12874     type Abi = Self;
12875     type DefaultType = Self;
12876 }
12877 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12878 #[repr(C)]
12879 pub struct KSNODEPROPERTY_AUDIO_CHANNEL {
12880     pub NodeProperty: KSNODEPROPERTY,
12881     pub Channel: i32,
12882     pub Reserved: u32,
12883 }
12884 impl KSNODEPROPERTY_AUDIO_CHANNEL {}
12885 impl ::std::default::Default for KSNODEPROPERTY_AUDIO_CHANNEL {
default() -> Self12886     fn default() -> Self {
12887         unsafe { ::std::mem::zeroed() }
12888     }
12889 }
12890 impl ::std::cmp::PartialEq for KSNODEPROPERTY_AUDIO_CHANNEL {
eq(&self, _other: &Self) -> bool12891     fn eq(&self, _other: &Self) -> bool {
12892         unimplemented!()
12893     }
12894 }
12895 impl ::std::cmp::Eq for KSNODEPROPERTY_AUDIO_CHANNEL {}
12896 unsafe impl ::windows::runtime::Abi for KSNODEPROPERTY_AUDIO_CHANNEL {
12897     type Abi = Self;
12898     type DefaultType = Self;
12899 }
12900 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12901 #[repr(C)]
12902 pub struct KSNODEPROPERTY_AUDIO_DEV_SPECIFIC {
12903     pub NodeProperty: KSNODEPROPERTY,
12904     pub DevSpecificId: u32,
12905     pub DeviceInfo: u32,
12906     pub Length: u32,
12907 }
12908 impl KSNODEPROPERTY_AUDIO_DEV_SPECIFIC {}
12909 impl ::std::default::Default for KSNODEPROPERTY_AUDIO_DEV_SPECIFIC {
default() -> Self12910     fn default() -> Self {
12911         unsafe { ::std::mem::zeroed() }
12912     }
12913 }
12914 impl ::std::cmp::PartialEq for KSNODEPROPERTY_AUDIO_DEV_SPECIFIC {
eq(&self, _other: &Self) -> bool12915     fn eq(&self, _other: &Self) -> bool {
12916         unimplemented!()
12917     }
12918 }
12919 impl ::std::cmp::Eq for KSNODEPROPERTY_AUDIO_DEV_SPECIFIC {}
12920 unsafe impl ::windows::runtime::Abi for KSNODEPROPERTY_AUDIO_DEV_SPECIFIC {
12921     type Abi = Self;
12922     type DefaultType = Self;
12923 }
12924 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12925 #[repr(C)]
12926 pub struct KSNODEPROPERTY_AUDIO_PROPERTY {
12927     pub NodeProperty: KSNODEPROPERTY,
12928     pub AppContext: *mut ::std::ffi::c_void,
12929     pub Length: u32,
12930 }
12931 impl KSNODEPROPERTY_AUDIO_PROPERTY {}
12932 impl ::std::default::Default for KSNODEPROPERTY_AUDIO_PROPERTY {
default() -> Self12933     fn default() -> Self {
12934         unsafe { ::std::mem::zeroed() }
12935     }
12936 }
12937 impl ::std::cmp::PartialEq for KSNODEPROPERTY_AUDIO_PROPERTY {
eq(&self, _other: &Self) -> bool12938     fn eq(&self, _other: &Self) -> bool {
12939         unimplemented!()
12940     }
12941 }
12942 impl ::std::cmp::Eq for KSNODEPROPERTY_AUDIO_PROPERTY {}
12943 unsafe impl ::windows::runtime::Abi for KSNODEPROPERTY_AUDIO_PROPERTY {
12944     type Abi = Self;
12945     type DefaultType = Self;
12946 }
12947 pub const KSNODETYPE_1394_DA_STREAM: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757187046, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12948 pub const KSNODETYPE_1394_DV_STREAM_SOUNDTRACK: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757187047, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12949 pub const KSNODETYPE_3D_EFFECTS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1431394400, 50521, 4560, [138, 43, 0, 160, 201, 37, 90, 193]);
12950 pub const KSNODETYPE_ADC: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1300463584, 50517, 4560, [138, 43, 0, 160, 201, 37, 90, 193]);
12951 pub const KSNODETYPE_AGC: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3901528992, 50519, 4560, [138, 43, 0, 160, 201, 37, 90, 193]);
12952 pub const KSNODETYPE_ANALOG_CONNECTOR: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757187041, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12953 pub const KSNODETYPE_ANALOG_TAPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757187303, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12954 pub const KSNODETYPE_AUDIO_ENGINE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(902493924, 62387, 16744, [187, 75, 85, 231, 122, 70, 28, 126]);
12955 pub const KSNODETYPE_AUDIO_KEYWORDDETECTOR: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(941088952, 57176, 17269, [182, 105, 196, 150, 52, 51, 31, 157]);
12956 pub const KSNODETYPE_AUDIO_LOOPBACK: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2403516594, 37326, 19407, [156, 205, 14, 89, 144, 55, 171, 53]);
12957 pub const KSNODETYPE_AUDIO_MODULE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1168815150, 51947, 16466, [138, 169, 179, 140, 181, 16, 150, 25]);
12958 pub const KSNODETYPE_BIDIRECTIONAL_UNDEFINED: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757186528, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12959 pub const KSNODETYPE_CABLE_TUNER_AUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757187310, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12960 pub const KSNODETYPE_CD_PLAYER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757187299, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12961 pub const KSNODETYPE_CHORUS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(538394400, 50521, 4560, [138, 43, 0, 160, 201, 37, 90, 193]);
12962 pub const KSNODETYPE_COMMUNICATION_SPEAKER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757186278, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12963 pub const KSNODETYPE_DAC: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1350230880, 50516, 4560, [138, 43, 0, 160, 201, 37, 90, 193]);
12964 pub const KSNODETYPE_DAT_IO_DIGITAL_AUDIO_TAPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757187300, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12965 pub const KSNODETYPE_DCC_IO_DIGITAL_COMPACT_CASSETTE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757187301, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12966 pub const KSNODETYPE_DELAY: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(340361696, 50520, 4560, [138, 43, 0, 160, 201, 37, 90, 193]);
12967 pub const KSNODETYPE_DEMUX: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3236653012, 59399, 4560, [149, 138, 0, 192, 79, 185, 37, 211]);
12968 pub const KSNODETYPE_DESKTOP_MICROPHONE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757186018, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12969 pub const KSNODETYPE_DESKTOP_SPEAKER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757186276, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12970 pub const KSNODETYPE_DEV_SPECIFIC: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2484894400, 50521, 4560, [138, 43, 0, 160, 201, 37, 90, 193]);
12971 pub const KSNODETYPE_DIGITAL_AUDIO_INTERFACE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757187042, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12972 pub const KSNODETYPE_DISPLAYPORT_INTERFACE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3833479217, 16038, 16781, [143, 155, 183, 56, 67, 204, 186, 151]);
12973 pub const KSNODETYPE_DOWN_LINE_PHONE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757186787, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12974 pub const KSNODETYPE_DRM_DESCRAMBLE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4290473535, 52478, 19844, [144, 217, 66, 20, 24, 176, 58, 142]);
12975 pub const KSNODETYPE_DSS_AUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757187311, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12976 pub const KSNODETYPE_DVD_AUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757187307, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12977 pub const KSNODETYPE_DYN_RANGE_COMPRESSOR: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(147367592, 24607, 19192, [135, 147, 217, 5, 255, 76, 169, 125]);
12978 pub const KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757186533, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12979 pub const KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757186532, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12980 pub const KSNODETYPE_EMBEDDED_UNDEFINED: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757187296, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12981 pub const KSNODETYPE_EQUALIZATION_NOISE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757187298, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12982 pub const KSNODETYPE_EQUALIZER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2638328992, 50519, 4560, [138, 43, 0, 160, 201, 37, 90, 193]);
12983 pub const KSNODETYPE_EXTERNAL_UNDEFINED: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757187040, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12984 pub const KSNODETYPE_FM_RX: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2202694460, 62597, 16832, [166, 43, 81, 48, 37, 1, 78, 64]);
12985 pub const KSNODETYPE_HANDSET: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757186529, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12986 pub const KSNODETYPE_HDMI_INTERFACE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3518614570, 62745, 16767, [145, 201, 85, 250, 101, 72, 16, 1]);
12987 pub const KSNODETYPE_HEADPHONES: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757186274, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12988 pub const KSNODETYPE_HEADSET: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757186530, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12989 pub const KSNODETYPE_HEAD_MOUNTED_DISPLAY_AUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757186275, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12990 pub const KSNODETYPE_INPUT_UNDEFINED: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757186016, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12991 pub const KSNODETYPE_LEGACY_AUDIO_CONNECTOR: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757187044, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12992 pub const KSNODETYPE_LEVEL_CALIBRATION_NOISE_SOURCE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757187297, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12993 pub const KSNODETYPE_LINE_CONNECTOR: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757187043, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12994 pub const KSNODETYPE_LOUDNESS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1099461696, 50520, 4560, [138, 43, 0, 160, 201, 37, 90, 193]);
12995 pub const KSNODETYPE_LOW_FREQUENCY_EFFECTS_SPEAKER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757186279, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12996 pub const KSNODETYPE_MICROPHONE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757186017, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12997 pub const KSNODETYPE_MICROPHONE_ARRAY: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757186021, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
12998 pub const KSNODETYPE_MIDI_ELEMENT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(29818470, 28232, 19557, [172, 155, 82, 219, 93, 101, 108, 126]);
12999 pub const KSNODETYPE_MIDI_JACK: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(643697727, 64057, 19955, [171, 4, 190, 1, 185, 30, 41, 154]);
13000 pub const KSNODETYPE_MINIDISK: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757187302, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
13001 pub const KSNODETYPE_MULTITRACK_RECORDER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757187314, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
13002 pub const KSNODETYPE_MUTE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(45228992, 50519, 4560, [138, 43, 0, 160, 201, 37, 90, 193]);
13003 pub const KSNODETYPE_MUX: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(753596288, 50518, 4560, [138, 43, 0, 160, 201, 37, 90, 193]);
13004 pub const KSNODETYPE_NOISE_SUPPRESS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3766456383, 25341, 20064, [140, 221, 222, 167, 35, 102, 101, 181]);
13005 pub const KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757186020, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
13006 pub const KSNODETYPE_OUTPUT_UNDEFINED: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757186272, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
13007 pub const KSNODETYPE_PARAMETRIC_EQUALIZER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(431700586, 52779, 17474, [135, 236, 103, 39, 195, 202, 180, 119]);
13008 pub const KSNODETYPE_PEAKMETER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2693096734, 24333, 19254, [168, 105, 209, 149, 214, 171, 75, 158]);
13009 pub const KSNODETYPE_PERSONAL_MICROPHONE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757186019, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
13010 pub const KSNODETYPE_PHONE_LINE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757186785, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
13011 pub const KSNODETYPE_PHONOGRAPH: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757187304, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
13012 pub const KSNODETYPE_PROCESSING_MICROPHONE_ARRAY: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757186022, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
13013 pub const KSNODETYPE_PROLOGIC_DECODER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2199661696, 50520, 4560, [138, 43, 0, 160, 201, 37, 90, 193]);
13014 pub const KSNODETYPE_PROLOGIC_ENCODER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2155136434, 15462, 4562, [180, 90, 48, 120, 48, 44, 32, 48]);
13015 pub const KSNODETYPE_RADIO_RECEIVER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757187312, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
13016 pub const KSNODETYPE_RADIO_TRANSMITTER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757187313, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
13017 pub const KSNODETYPE_REVERB: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4009961696, 50520, 4560, [138, 43, 0, 160, 201, 37, 90, 193]);
13018 pub const KSNODETYPE_ROOM_SPEAKER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757186277, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
13019 pub const KSNODETYPE_SATELLITE_RECEIVER_AUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757187309, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
13020 pub const KSNODETYPE_SPDIF_INTERFACE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757187045, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
13021 pub const KSNODETYPE_SPEAKER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757186273, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
13022 pub const KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757186531, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
13023 pub const KSNODETYPE_SPEAKERS_STATIC_JACK: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(685789063, 19902, 20365, [133, 137, 2, 93, 32, 157, 251, 74]);
13024 pub const KSNODETYPE_SRC: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2646063584, 50517, 4560, [138, 43, 0, 160, 201, 37, 90, 193]);
13025 pub const KSNODETYPE_STEREO_WIDE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2850461696, 50520, 4560, [138, 43, 0, 160, 201, 37, 90, 193]);
13026 pub const KSNODETYPE_SUM: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3661896288, 50518, 4560, [138, 43, 0, 160, 201, 37, 90, 193]);
13027 pub const KSNODETYPE_SUPERMIX: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3849563584, 50517, 4560, [138, 43, 0, 160, 201, 37, 90, 193]);
13028 pub const KSNODETYPE_SYNTHESIZER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757187315, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
13029 pub const KSNODETYPE_TELEPHONE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757186786, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
13030 pub const KSNODETYPE_TELEPHONY_BIDI: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1752005824, 55555, 16984, [180, 67, 58, 61, 53, 128, 116, 28]);
13031 pub const KSNODETYPE_TELEPHONY_UNDEFINED: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757186784, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
13032 pub const KSNODETYPE_TONE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1980228992, 50519, 4560, [138, 43, 0, 160, 201, 37, 90, 193]);
13033 pub const KSNODETYPE_TV_TUNER_AUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757187308, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
13034 pub const KSNODETYPE_UPDOWN_MIX: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3085813199, 31587, 20194, [161, 0, 41, 238, 44, 182, 178, 222]);
13035 pub const KSNODETYPE_VCR_AUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757187305, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
13036 pub const KSNODETYPE_VIDEO_CAMERA_TERMINAL: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757189606, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
13037 pub const KSNODETYPE_VIDEO_DISC_AUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757187306, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
13038 pub const KSNODETYPE_VIDEO_INPUT_MTT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757189607, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
13039 pub const KSNODETYPE_VIDEO_INPUT_TERMINAL: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757189602, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
13040 pub const KSNODETYPE_VIDEO_OUTPUT_MTT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757189608, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
13041 pub const KSNODETYPE_VIDEO_OUTPUT_TERMINAL: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757189603, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
13042 pub const KSNODETYPE_VIDEO_PROCESSING: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757189605, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
13043 pub const KSNODETYPE_VIDEO_SELECTOR: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757189604, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
13044 pub const KSNODETYPE_VIDEO_STREAMING: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3757189601, 63247, 4560, [185, 23, 0, 160, 201, 34, 49, 150]);
13045 pub const KSNODETYPE_VOLUME: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(979028992, 50519, 4560, [138, 43, 0, 160, 201, 37, 90, 193]);
13046 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13047 #[repr(C)]
13048 pub struct KSNODE_CREATE {
13049     pub CreateFlags: u32,
13050     pub Node: u32,
13051 }
13052 impl KSNODE_CREATE {}
13053 impl ::std::default::Default for KSNODE_CREATE {
default() -> Self13054     fn default() -> Self {
13055         unsafe { ::std::mem::zeroed() }
13056     }
13057 }
13058 impl ::std::fmt::Debug for KSNODE_CREATE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13059     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13060         fmt.debug_struct("KSNODE_CREATE").field("CreateFlags", &self.CreateFlags).field("Node", &self.Node).finish()
13061     }
13062 }
13063 impl ::std::cmp::PartialEq for KSNODE_CREATE {
eq(&self, other: &Self) -> bool13064     fn eq(&self, other: &Self) -> bool {
13065         self.CreateFlags == other.CreateFlags && self.Node == other.Node
13066     }
13067 }
13068 impl ::std::cmp::Eq for KSNODE_CREATE {}
13069 unsafe impl ::windows::runtime::Abi for KSNODE_CREATE {
13070     type Abi = Self;
13071     type DefaultType = Self;
13072 }
13073 pub const KSNOTIFICATIONID_AudioModule: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2619482352, 55718, 19804, [160, 54, 87, 56, 87, 253, 80, 210]);
13074 pub const KSNOTIFICATIONID_SoundDetector: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1669978180, 47922, 19532, [168, 2, 244, 180, 183, 122, 254, 173]);
13075 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13076 #[repr(C)]
13077 pub struct KSPIN_CINSTANCES {
13078     pub PossibleCount: u32,
13079     pub CurrentCount: u32,
13080 }
13081 impl KSPIN_CINSTANCES {}
13082 impl ::std::default::Default for KSPIN_CINSTANCES {
default() -> Self13083     fn default() -> Self {
13084         unsafe { ::std::mem::zeroed() }
13085     }
13086 }
13087 impl ::std::fmt::Debug for KSPIN_CINSTANCES {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13088     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13089         fmt.debug_struct("KSPIN_CINSTANCES").field("PossibleCount", &self.PossibleCount).field("CurrentCount", &self.CurrentCount).finish()
13090     }
13091 }
13092 impl ::std::cmp::PartialEq for KSPIN_CINSTANCES {
eq(&self, other: &Self) -> bool13093     fn eq(&self, other: &Self) -> bool {
13094         self.PossibleCount == other.PossibleCount && self.CurrentCount == other.CurrentCount
13095     }
13096 }
13097 impl ::std::cmp::Eq for KSPIN_CINSTANCES {}
13098 unsafe impl ::windows::runtime::Abi for KSPIN_CINSTANCES {
13099     type Abi = Self;
13100     type DefaultType = Self;
13101 }
13102 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13103 #[repr(transparent)]
13104 pub struct KSPIN_COMMUNICATION(pub i32);
13105 pub const KSPIN_COMMUNICATION_NONE: KSPIN_COMMUNICATION = KSPIN_COMMUNICATION(0i32);
13106 pub const KSPIN_COMMUNICATION_SINK: KSPIN_COMMUNICATION = KSPIN_COMMUNICATION(1i32);
13107 pub const KSPIN_COMMUNICATION_SOURCE: KSPIN_COMMUNICATION = KSPIN_COMMUNICATION(2i32);
13108 pub const KSPIN_COMMUNICATION_BOTH: KSPIN_COMMUNICATION = KSPIN_COMMUNICATION(3i32);
13109 pub const KSPIN_COMMUNICATION_BRIDGE: KSPIN_COMMUNICATION = KSPIN_COMMUNICATION(4i32);
13110 impl ::std::convert::From<i32> for KSPIN_COMMUNICATION {
from(value: i32) -> Self13111     fn from(value: i32) -> Self {
13112         Self(value)
13113     }
13114 }
13115 unsafe impl ::windows::runtime::Abi for KSPIN_COMMUNICATION {
13116     type Abi = Self;
13117     type DefaultType = Self;
13118 }
13119 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13120 #[repr(C)]
13121 #[cfg(feature = "Win32_Foundation")]
13122 pub struct KSPIN_CONNECT {
13123     pub Interface: KSIDENTIFIER,
13124     pub Medium: KSIDENTIFIER,
13125     pub PinId: u32,
13126     pub PinToHandle: super::super::super::Foundation::HANDLE,
13127     pub Priority: KSPRIORITY,
13128 }
13129 #[cfg(feature = "Win32_Foundation")]
13130 impl KSPIN_CONNECT {}
13131 #[cfg(feature = "Win32_Foundation")]
13132 impl ::std::default::Default for KSPIN_CONNECT {
default() -> Self13133     fn default() -> Self {
13134         unsafe { ::std::mem::zeroed() }
13135     }
13136 }
13137 #[cfg(feature = "Win32_Foundation")]
13138 impl ::std::cmp::PartialEq for KSPIN_CONNECT {
eq(&self, _other: &Self) -> bool13139     fn eq(&self, _other: &Self) -> bool {
13140         unimplemented!()
13141     }
13142 }
13143 #[cfg(feature = "Win32_Foundation")]
13144 impl ::std::cmp::Eq for KSPIN_CONNECT {}
13145 #[cfg(feature = "Win32_Foundation")]
13146 unsafe impl ::windows::runtime::Abi for KSPIN_CONNECT {
13147     type Abi = Self;
13148     type DefaultType = Self;
13149 }
13150 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13151 #[repr(transparent)]
13152 pub struct KSPIN_DATAFLOW(pub i32);
13153 pub const KSPIN_DATAFLOW_IN: KSPIN_DATAFLOW = KSPIN_DATAFLOW(1i32);
13154 pub const KSPIN_DATAFLOW_OUT: KSPIN_DATAFLOW = KSPIN_DATAFLOW(2i32);
13155 impl ::std::convert::From<i32> for KSPIN_DATAFLOW {
from(value: i32) -> Self13156     fn from(value: i32) -> Self {
13157         Self(value)
13158     }
13159 }
13160 unsafe impl ::windows::runtime::Abi for KSPIN_DATAFLOW {
13161     type Abi = Self;
13162     type DefaultType = Self;
13163 }
13164 pub const KSPIN_FLAG_ASYNCHRONOUS_PROCESSING: u32 = 8u32;
13165 pub const KSPIN_FLAG_CRITICAL_PROCESSING: u32 = 2u32;
13166 pub const KSPIN_FLAG_DENY_USERMODE_ACCESS: u32 = 2147483648u32;
13167 pub const KSPIN_FLAG_DISPATCH_LEVEL_PROCESSING: u32 = 1u32;
13168 pub const KSPIN_FLAG_DISTINCT_TRAILING_EDGE: u32 = 512u32;
13169 pub const KSPIN_FLAG_DO_NOT_INITIATE_PROCESSING: u32 = 16u32;
13170 pub const KSPIN_FLAG_DO_NOT_USE_STANDARD_TRANSPORT: u32 = 524288u32;
13171 pub const KSPIN_FLAG_ENFORCE_FIFO: u32 = 128u32;
13172 pub const KSPIN_FLAG_FIXED_FORMAT: u32 = 1048576u32;
13173 pub const KSPIN_FLAG_FRAMES_NOT_REQUIRED_FOR_PROCESSING: u32 = 64u32;
13174 pub const KSPIN_FLAG_GENERATE_EOS_EVENTS: u32 = 2097152u32;
13175 pub const KSPIN_FLAG_GENERATE_MAPPINGS: u32 = 256u32;
13176 pub const KSPIN_FLAG_HYPERCRITICAL_PROCESSING: u32 = 4u32;
13177 pub const KSPIN_FLAG_IMPLEMENT_CLOCK: u32 = 4194304u32;
13178 pub const KSPIN_FLAG_INITIATE_PROCESSING_ON_EVERY_ARRIVAL: u32 = 32u32;
13179 pub const KSPIN_FLAG_PROCESS_IF_ANY_IN_RUN_STATE: u32 = 16777216u32;
13180 pub const KSPIN_FLAG_PROCESS_IN_RUN_STATE_ONLY: u32 = 65536u32;
13181 pub const KSPIN_FLAG_SOME_FRAMES_REQUIRED_FOR_PROCESSING: u32 = 8388608u32;
13182 pub const KSPIN_FLAG_SPLITTER: u32 = 131072u32;
13183 pub const KSPIN_FLAG_USE_STANDARD_TRANSPORT: u32 = 262144u32;
13184 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13185 #[repr(transparent)]
13186 pub struct KSPIN_MDL_CACHING_EVENT(pub i32);
13187 pub const KSPIN_MDL_CACHING_NOTIFY_CLEANUP: KSPIN_MDL_CACHING_EVENT = KSPIN_MDL_CACHING_EVENT(0i32);
13188 pub const KSPIN_MDL_CACHING_NOTIFY_CLEANALL_WAIT: KSPIN_MDL_CACHING_EVENT = KSPIN_MDL_CACHING_EVENT(1i32);
13189 pub const KSPIN_MDL_CACHING_NOTIFY_CLEANALL_NOWAIT: KSPIN_MDL_CACHING_EVENT = KSPIN_MDL_CACHING_EVENT(2i32);
13190 pub const KSPIN_MDL_CACHING_NOTIFY_ADDSAMPLE: KSPIN_MDL_CACHING_EVENT = KSPIN_MDL_CACHING_EVENT(3i32);
13191 impl ::std::convert::From<i32> for KSPIN_MDL_CACHING_EVENT {
from(value: i32) -> Self13192     fn from(value: i32) -> Self {
13193         Self(value)
13194     }
13195 }
13196 unsafe impl ::windows::runtime::Abi for KSPIN_MDL_CACHING_EVENT {
13197     type Abi = Self;
13198     type DefaultType = Self;
13199 }
13200 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13201 #[repr(C)]
13202 pub struct KSPIN_MDL_CACHING_NOTIFICATION {
13203     pub Event: KSPIN_MDL_CACHING_EVENT,
13204     pub Buffer: *mut ::std::ffi::c_void,
13205 }
13206 impl KSPIN_MDL_CACHING_NOTIFICATION {}
13207 impl ::std::default::Default for KSPIN_MDL_CACHING_NOTIFICATION {
default() -> Self13208     fn default() -> Self {
13209         unsafe { ::std::mem::zeroed() }
13210     }
13211 }
13212 impl ::std::fmt::Debug for KSPIN_MDL_CACHING_NOTIFICATION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13213     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13214         fmt.debug_struct("KSPIN_MDL_CACHING_NOTIFICATION").field("Event", &self.Event).field("Buffer", &self.Buffer).finish()
13215     }
13216 }
13217 impl ::std::cmp::PartialEq for KSPIN_MDL_CACHING_NOTIFICATION {
eq(&self, other: &Self) -> bool13218     fn eq(&self, other: &Self) -> bool {
13219         self.Event == other.Event && self.Buffer == other.Buffer
13220     }
13221 }
13222 impl ::std::cmp::Eq for KSPIN_MDL_CACHING_NOTIFICATION {}
13223 unsafe impl ::windows::runtime::Abi for KSPIN_MDL_CACHING_NOTIFICATION {
13224     type Abi = Self;
13225     type DefaultType = Self;
13226 }
13227 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13228 #[repr(C)]
13229 pub struct KSPIN_MDL_CACHING_NOTIFICATION32 {
13230     pub Event: KSPIN_MDL_CACHING_EVENT,
13231     pub Buffer: u32,
13232 }
13233 impl KSPIN_MDL_CACHING_NOTIFICATION32 {}
13234 impl ::std::default::Default for KSPIN_MDL_CACHING_NOTIFICATION32 {
default() -> Self13235     fn default() -> Self {
13236         unsafe { ::std::mem::zeroed() }
13237     }
13238 }
13239 impl ::std::fmt::Debug for KSPIN_MDL_CACHING_NOTIFICATION32 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13240     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13241         fmt.debug_struct("KSPIN_MDL_CACHING_NOTIFICATION32").field("Event", &self.Event).field("Buffer", &self.Buffer).finish()
13242     }
13243 }
13244 impl ::std::cmp::PartialEq for KSPIN_MDL_CACHING_NOTIFICATION32 {
eq(&self, other: &Self) -> bool13245     fn eq(&self, other: &Self) -> bool {
13246         self.Event == other.Event && self.Buffer == other.Buffer
13247     }
13248 }
13249 impl ::std::cmp::Eq for KSPIN_MDL_CACHING_NOTIFICATION32 {}
13250 unsafe impl ::windows::runtime::Abi for KSPIN_MDL_CACHING_NOTIFICATION32 {
13251     type Abi = Self;
13252     type DefaultType = Self;
13253 }
13254 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13255 #[repr(C)]
13256 pub struct KSPIN_PHYSICALCONNECTION {
13257     pub Size: u32,
13258     pub Pin: u32,
13259     pub SymbolicLinkName: [u16; 1],
13260 }
13261 impl KSPIN_PHYSICALCONNECTION {}
13262 impl ::std::default::Default for KSPIN_PHYSICALCONNECTION {
default() -> Self13263     fn default() -> Self {
13264         unsafe { ::std::mem::zeroed() }
13265     }
13266 }
13267 impl ::std::fmt::Debug for KSPIN_PHYSICALCONNECTION {
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("KSPIN_PHYSICALCONNECTION").field("Size", &self.Size).field("Pin", &self.Pin).field("SymbolicLinkName", &self.SymbolicLinkName).finish()
13270     }
13271 }
13272 impl ::std::cmp::PartialEq for KSPIN_PHYSICALCONNECTION {
eq(&self, other: &Self) -> bool13273     fn eq(&self, other: &Self) -> bool {
13274         self.Size == other.Size && self.Pin == other.Pin && self.SymbolicLinkName == other.SymbolicLinkName
13275     }
13276 }
13277 impl ::std::cmp::Eq for KSPIN_PHYSICALCONNECTION {}
13278 unsafe impl ::windows::runtime::Abi for KSPIN_PHYSICALCONNECTION {
13279     type Abi = Self;
13280     type DefaultType = Self;
13281 }
13282 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13283 #[repr(transparent)]
13284 pub struct KSPPROPERTY_ALLOCATOR_MDLCACHING(pub i32);
13285 pub const KSPROPERTY_ALLOCATOR_CLEANUP_CACHEDMDLPAGES: KSPPROPERTY_ALLOCATOR_MDLCACHING = KSPPROPERTY_ALLOCATOR_MDLCACHING(1i32);
13286 impl ::std::convert::From<i32> for KSPPROPERTY_ALLOCATOR_MDLCACHING {
from(value: i32) -> Self13287     fn from(value: i32) -> Self {
13288         Self(value)
13289     }
13290 }
13291 unsafe impl ::windows::runtime::Abi for KSPPROPERTY_ALLOCATOR_MDLCACHING {
13292     type Abi = Self;
13293     type DefaultType = Self;
13294 }
13295 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13296 #[repr(C)]
13297 pub struct KSPRIORITY {
13298     pub PriorityClass: u32,
13299     pub PrioritySubClass: u32,
13300 }
13301 impl KSPRIORITY {}
13302 impl ::std::default::Default for KSPRIORITY {
default() -> Self13303     fn default() -> Self {
13304         unsafe { ::std::mem::zeroed() }
13305     }
13306 }
13307 impl ::std::fmt::Debug for KSPRIORITY {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13308     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13309         fmt.debug_struct("KSPRIORITY").field("PriorityClass", &self.PriorityClass).field("PrioritySubClass", &self.PrioritySubClass).finish()
13310     }
13311 }
13312 impl ::std::cmp::PartialEq for KSPRIORITY {
eq(&self, other: &Self) -> bool13313     fn eq(&self, other: &Self) -> bool {
13314         self.PriorityClass == other.PriorityClass && self.PrioritySubClass == other.PrioritySubClass
13315     }
13316 }
13317 impl ::std::cmp::Eq for KSPRIORITY {}
13318 unsafe impl ::windows::runtime::Abi for KSPRIORITY {
13319     type Abi = Self;
13320     type DefaultType = Self;
13321 }
13322 pub const KSPRIORITY_EXCLUSIVE: u32 = 4294967295u32;
13323 pub const KSPRIORITY_HIGH: u32 = 2147483648u32;
13324 pub const KSPRIORITY_LOW: u32 = 1u32;
13325 pub const KSPRIORITY_NORMAL: u32 = 1073741824u32;
13326 pub const KSPROBE_ALLOCATEMDL: u32 = 16u32;
13327 pub const KSPROBE_ALLOWFORMATCHANGE: u32 = 128u32;
13328 pub const KSPROBE_MODIFY: u32 = 512u32;
13329 pub const KSPROBE_PROBEANDLOCK: u32 = 32u32;
13330 pub const KSPROBE_STREAMREAD: u32 = 0u32;
13331 pub const KSPROBE_STREAMWRITE: u32 = 1u32;
13332 pub const KSPROBE_SYSTEMADDRESS: u32 = 64u32;
13333 pub const KSPROPERTYSETID_ExtendedCameraControl: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(481792274, 49362, 16915, [156, 166, 205, 79, 219, 146, 121, 114]);
13334 pub const KSPROPERTYSETID_NetworkCameraControl: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(242749193, 22341, 20026, [188, 159, 242, 38, 234, 67, 166, 236]);
13335 pub const KSPROPERTYSETID_PerFrameSettingControl: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4059292257, 57062, 17719, [191, 245, 238, 32, 109, 181, 74, 172]);
13336 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13337 #[repr(transparent)]
13338 pub struct KSPROPERTY_AC3(pub i32);
13339 pub const KSPROPERTY_AC3_ERROR_CONCEALMENT: KSPROPERTY_AC3 = KSPROPERTY_AC3(1i32);
13340 pub const KSPROPERTY_AC3_ALTERNATE_AUDIO: KSPROPERTY_AC3 = KSPROPERTY_AC3(2i32);
13341 pub const KSPROPERTY_AC3_DOWNMIX: KSPROPERTY_AC3 = KSPROPERTY_AC3(3i32);
13342 pub const KSPROPERTY_AC3_BIT_STREAM_MODE: KSPROPERTY_AC3 = KSPROPERTY_AC3(4i32);
13343 pub const KSPROPERTY_AC3_DIALOGUE_LEVEL: KSPROPERTY_AC3 = KSPROPERTY_AC3(5i32);
13344 pub const KSPROPERTY_AC3_LANGUAGE_CODE: KSPROPERTY_AC3 = KSPROPERTY_AC3(6i32);
13345 pub const KSPROPERTY_AC3_ROOM_TYPE: KSPROPERTY_AC3 = KSPROPERTY_AC3(7i32);
13346 impl ::std::convert::From<i32> for KSPROPERTY_AC3 {
from(value: i32) -> Self13347     fn from(value: i32) -> Self {
13348         Self(value)
13349     }
13350 }
13351 unsafe impl ::windows::runtime::Abi for KSPROPERTY_AC3 {
13352     type Abi = Self;
13353     type DefaultType = Self;
13354 }
13355 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13356 #[repr(transparent)]
13357 pub struct KSPROPERTY_ALLOCATOR_CONTROL(pub i32);
13358 pub const KSPROPERTY_ALLOCATOR_CONTROL_HONOR_COUNT: KSPROPERTY_ALLOCATOR_CONTROL = KSPROPERTY_ALLOCATOR_CONTROL(0i32);
13359 pub const KSPROPERTY_ALLOCATOR_CONTROL_SURFACE_SIZE: KSPROPERTY_ALLOCATOR_CONTROL = KSPROPERTY_ALLOCATOR_CONTROL(1i32);
13360 pub const KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_CAPS: KSPROPERTY_ALLOCATOR_CONTROL = KSPROPERTY_ALLOCATOR_CONTROL(2i32);
13361 pub const KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_INTERLEAVE: KSPROPERTY_ALLOCATOR_CONTROL = KSPROPERTY_ALLOCATOR_CONTROL(3i32);
13362 impl ::std::convert::From<i32> for KSPROPERTY_ALLOCATOR_CONTROL {
from(value: i32) -> Self13363     fn from(value: i32) -> Self {
13364         Self(value)
13365     }
13366 }
13367 unsafe impl ::windows::runtime::Abi for KSPROPERTY_ALLOCATOR_CONTROL {
13368     type Abi = Self;
13369     type DefaultType = Self;
13370 }
13371 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13372 #[repr(C)]
13373 pub struct KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_CAPS_S {
13374     pub InterleavedCapSupported: u32,
13375 }
13376 impl KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_CAPS_S {}
13377 impl ::std::default::Default for KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_CAPS_S {
default() -> Self13378     fn default() -> Self {
13379         unsafe { ::std::mem::zeroed() }
13380     }
13381 }
13382 impl ::std::fmt::Debug for KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_CAPS_S {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13383     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13384         fmt.debug_struct("KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_CAPS_S").field("InterleavedCapSupported", &self.InterleavedCapSupported).finish()
13385     }
13386 }
13387 impl ::std::cmp::PartialEq for KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_CAPS_S {
eq(&self, other: &Self) -> bool13388     fn eq(&self, other: &Self) -> bool {
13389         self.InterleavedCapSupported == other.InterleavedCapSupported
13390     }
13391 }
13392 impl ::std::cmp::Eq for KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_CAPS_S {}
13393 unsafe impl ::windows::runtime::Abi for KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_CAPS_S {
13394     type Abi = Self;
13395     type DefaultType = Self;
13396 }
13397 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13398 #[repr(C)]
13399 pub struct KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_INTERLEAVE_S {
13400     pub InterleavedCapPossible: u32,
13401 }
13402 impl KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_INTERLEAVE_S {}
13403 impl ::std::default::Default for KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_INTERLEAVE_S {
default() -> Self13404     fn default() -> Self {
13405         unsafe { ::std::mem::zeroed() }
13406     }
13407 }
13408 impl ::std::fmt::Debug for KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_INTERLEAVE_S {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13409     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13410         fmt.debug_struct("KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_INTERLEAVE_S").field("InterleavedCapPossible", &self.InterleavedCapPossible).finish()
13411     }
13412 }
13413 impl ::std::cmp::PartialEq for KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_INTERLEAVE_S {
eq(&self, other: &Self) -> bool13414     fn eq(&self, other: &Self) -> bool {
13415         self.InterleavedCapPossible == other.InterleavedCapPossible
13416     }
13417 }
13418 impl ::std::cmp::Eq for KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_INTERLEAVE_S {}
13419 unsafe impl ::windows::runtime::Abi for KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_INTERLEAVE_S {
13420     type Abi = Self;
13421     type DefaultType = Self;
13422 }
13423 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13424 #[repr(C)]
13425 pub struct KSPROPERTY_ALLOCATOR_CONTROL_SURFACE_SIZE_S {
13426     pub CX: u32,
13427     pub CY: u32,
13428 }
13429 impl KSPROPERTY_ALLOCATOR_CONTROL_SURFACE_SIZE_S {}
13430 impl ::std::default::Default for KSPROPERTY_ALLOCATOR_CONTROL_SURFACE_SIZE_S {
default() -> Self13431     fn default() -> Self {
13432         unsafe { ::std::mem::zeroed() }
13433     }
13434 }
13435 impl ::std::fmt::Debug for KSPROPERTY_ALLOCATOR_CONTROL_SURFACE_SIZE_S {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13436     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13437         fmt.debug_struct("KSPROPERTY_ALLOCATOR_CONTROL_SURFACE_SIZE_S").field("CX", &self.CX).field("CY", &self.CY).finish()
13438     }
13439 }
13440 impl ::std::cmp::PartialEq for KSPROPERTY_ALLOCATOR_CONTROL_SURFACE_SIZE_S {
eq(&self, other: &Self) -> bool13441     fn eq(&self, other: &Self) -> bool {
13442         self.CX == other.CX && self.CY == other.CY
13443     }
13444 }
13445 impl ::std::cmp::Eq for KSPROPERTY_ALLOCATOR_CONTROL_SURFACE_SIZE_S {}
13446 unsafe impl ::windows::runtime::Abi for KSPROPERTY_ALLOCATOR_CONTROL_SURFACE_SIZE_S {
13447     type Abi = Self;
13448     type DefaultType = Self;
13449 }
13450 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13451 #[repr(transparent)]
13452 pub struct KSPROPERTY_AUDDECOUT(pub i32);
13453 pub const KSPROPERTY_AUDDECOUT_MODES: KSPROPERTY_AUDDECOUT = KSPROPERTY_AUDDECOUT(0i32);
13454 pub const KSPROPERTY_AUDDECOUT_CUR_MODE: KSPROPERTY_AUDDECOUT = KSPROPERTY_AUDDECOUT(1i32);
13455 impl ::std::convert::From<i32> for KSPROPERTY_AUDDECOUT {
from(value: i32) -> Self13456     fn from(value: i32) -> Self {
13457         Self(value)
13458     }
13459 }
13460 unsafe impl ::windows::runtime::Abi for KSPROPERTY_AUDDECOUT {
13461     type Abi = Self;
13462     type DefaultType = Self;
13463 }
13464 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13465 #[repr(transparent)]
13466 pub struct KSPROPERTY_AUDIO(pub i32);
13467 pub const KSPROPERTY_AUDIO_LATENCY: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(1i32);
13468 pub const KSPROPERTY_AUDIO_COPY_PROTECTION: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(2i32);
13469 pub const KSPROPERTY_AUDIO_CHANNEL_CONFIG: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(3i32);
13470 pub const KSPROPERTY_AUDIO_VOLUMELEVEL: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(4i32);
13471 pub const KSPROPERTY_AUDIO_POSITION: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(5i32);
13472 pub const KSPROPERTY_AUDIO_DYNAMIC_RANGE: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(6i32);
13473 pub const KSPROPERTY_AUDIO_QUALITY: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(7i32);
13474 pub const KSPROPERTY_AUDIO_SAMPLING_RATE: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(8i32);
13475 pub const KSPROPERTY_AUDIO_DYNAMIC_SAMPLING_RATE: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(9i32);
13476 pub const KSPROPERTY_AUDIO_MIX_LEVEL_TABLE: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(10i32);
13477 pub const KSPROPERTY_AUDIO_MIX_LEVEL_CAPS: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(11i32);
13478 pub const KSPROPERTY_AUDIO_MUX_SOURCE: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(12i32);
13479 pub const KSPROPERTY_AUDIO_MUTE: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(13i32);
13480 pub const KSPROPERTY_AUDIO_BASS: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(14i32);
13481 pub const KSPROPERTY_AUDIO_MID: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(15i32);
13482 pub const KSPROPERTY_AUDIO_TREBLE: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(16i32);
13483 pub const KSPROPERTY_AUDIO_BASS_BOOST: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(17i32);
13484 pub const KSPROPERTY_AUDIO_EQ_LEVEL: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(18i32);
13485 pub const KSPROPERTY_AUDIO_NUM_EQ_BANDS: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(19i32);
13486 pub const KSPROPERTY_AUDIO_EQ_BANDS: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(20i32);
13487 pub const KSPROPERTY_AUDIO_AGC: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(21i32);
13488 pub const KSPROPERTY_AUDIO_DELAY: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(22i32);
13489 pub const KSPROPERTY_AUDIO_LOUDNESS: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(23i32);
13490 pub const KSPROPERTY_AUDIO_WIDE_MODE: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(24i32);
13491 pub const KSPROPERTY_AUDIO_WIDENESS: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(25i32);
13492 pub const KSPROPERTY_AUDIO_REVERB_LEVEL: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(26i32);
13493 pub const KSPROPERTY_AUDIO_CHORUS_LEVEL: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(27i32);
13494 pub const KSPROPERTY_AUDIO_DEV_SPECIFIC: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(28i32);
13495 pub const KSPROPERTY_AUDIO_DEMUX_DEST: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(29i32);
13496 pub const KSPROPERTY_AUDIO_STEREO_ENHANCE: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(30i32);
13497 pub const KSPROPERTY_AUDIO_MANUFACTURE_GUID: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(31i32);
13498 pub const KSPROPERTY_AUDIO_PRODUCT_GUID: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(32i32);
13499 pub const KSPROPERTY_AUDIO_CPU_RESOURCES: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(33i32);
13500 pub const KSPROPERTY_AUDIO_STEREO_SPEAKER_GEOMETRY: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(34i32);
13501 pub const KSPROPERTY_AUDIO_SURROUND_ENCODE: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(35i32);
13502 pub const KSPROPERTY_AUDIO_3D_INTERFACE: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(36i32);
13503 pub const KSPROPERTY_AUDIO_PEAKMETER: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(37i32);
13504 pub const KSPROPERTY_AUDIO_ALGORITHM_INSTANCE: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(38i32);
13505 pub const KSPROPERTY_AUDIO_FILTER_STATE: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(39i32);
13506 pub const KSPROPERTY_AUDIO_PREFERRED_STATUS: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(40i32);
13507 pub const KSPROPERTY_AUDIO_PEQ_MAX_BANDS: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(41i32);
13508 pub const KSPROPERTY_AUDIO_PEQ_NUM_BANDS: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(42i32);
13509 pub const KSPROPERTY_AUDIO_PEQ_BAND_CENTER_FREQ: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(43i32);
13510 pub const KSPROPERTY_AUDIO_PEQ_BAND_Q_FACTOR: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(44i32);
13511 pub const KSPROPERTY_AUDIO_PEQ_BAND_LEVEL: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(45i32);
13512 pub const KSPROPERTY_AUDIO_CHORUS_MODULATION_RATE: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(46i32);
13513 pub const KSPROPERTY_AUDIO_CHORUS_MODULATION_DEPTH: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(47i32);
13514 pub const KSPROPERTY_AUDIO_REVERB_TIME: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(48i32);
13515 pub const KSPROPERTY_AUDIO_REVERB_DELAY_FEEDBACK: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(49i32);
13516 pub const KSPROPERTY_AUDIO_POSITIONEX: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(50i32);
13517 pub const KSPROPERTY_AUDIO_MIC_ARRAY_GEOMETRY: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(51i32);
13518 pub const KSPROPERTY_AUDIO_PRESENTATION_POSITION: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(52i32);
13519 pub const KSPROPERTY_AUDIO_WAVERT_CURRENT_WRITE_POSITION: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(53i32);
13520 pub const KSPROPERTY_AUDIO_LINEAR_BUFFER_POSITION: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(54i32);
13521 pub const KSPROPERTY_AUDIO_PEAKMETER2: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(55i32);
13522 pub const KSPROPERTY_AUDIO_WAVERT_CURRENT_WRITE_LASTBUFFER_POSITION: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(56i32);
13523 pub const KSPROPERTY_AUDIO_VOLUMELIMIT_ENGAGED: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(57i32);
13524 pub const KSPROPERTY_AUDIO_MIC_SENSITIVITY: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(58i32);
13525 pub const KSPROPERTY_AUDIO_MIC_SNR: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(59i32);
13526 pub const KSPROPERTY_AUDIO_MIC_SENSITIVITY2: KSPROPERTY_AUDIO = KSPROPERTY_AUDIO(60i32);
13527 impl ::std::convert::From<i32> for KSPROPERTY_AUDIO {
from(value: i32) -> Self13528     fn from(value: i32) -> Self {
13529         Self(value)
13530     }
13531 }
13532 unsafe impl ::windows::runtime::Abi for KSPROPERTY_AUDIO {
13533     type Abi = Self;
13534     type DefaultType = Self;
13535 }
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 KSPROPERTY_AUDIOENGINE(pub i32);
13539 pub const KSPROPERTY_AUDIOENGINE_LFXENABLE: KSPROPERTY_AUDIOENGINE = KSPROPERTY_AUDIOENGINE(0i32);
13540 pub const KSPROPERTY_AUDIOENGINE_GFXENABLE: KSPROPERTY_AUDIOENGINE = KSPROPERTY_AUDIOENGINE(1i32);
13541 pub const KSPROPERTY_AUDIOENGINE_MIXFORMAT: KSPROPERTY_AUDIOENGINE = KSPROPERTY_AUDIOENGINE(2i32);
13542 pub const KSPROPERTY_AUDIOENGINE_DEVICEFORMAT: KSPROPERTY_AUDIOENGINE = KSPROPERTY_AUDIOENGINE(4i32);
13543 pub const KSPROPERTY_AUDIOENGINE_SUPPORTEDDEVICEFORMATS: KSPROPERTY_AUDIOENGINE = KSPROPERTY_AUDIOENGINE(5i32);
13544 pub const KSPROPERTY_AUDIOENGINE_DESCRIPTOR: KSPROPERTY_AUDIOENGINE = KSPROPERTY_AUDIOENGINE(6i32);
13545 pub const KSPROPERTY_AUDIOENGINE_BUFFER_SIZE_RANGE: KSPROPERTY_AUDIOENGINE = KSPROPERTY_AUDIOENGINE(7i32);
13546 pub const KSPROPERTY_AUDIOENGINE_LOOPBACK_PROTECTION: KSPROPERTY_AUDIOENGINE = KSPROPERTY_AUDIOENGINE(8i32);
13547 pub const KSPROPERTY_AUDIOENGINE_VOLUMELEVEL: KSPROPERTY_AUDIOENGINE = KSPROPERTY_AUDIOENGINE(9i32);
13548 impl ::std::convert::From<i32> for KSPROPERTY_AUDIOENGINE {
from(value: i32) -> Self13549     fn from(value: i32) -> Self {
13550         Self(value)
13551     }
13552 }
13553 unsafe impl ::windows::runtime::Abi for KSPROPERTY_AUDIOENGINE {
13554     type Abi = Self;
13555     type DefaultType = Self;
13556 }
13557 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13558 #[repr(transparent)]
13559 pub struct KSPROPERTY_AUDIOMODULE(pub i32);
13560 pub const KSPROPERTY_AUDIOMODULE_DESCRIPTORS: KSPROPERTY_AUDIOMODULE = KSPROPERTY_AUDIOMODULE(1i32);
13561 pub const KSPROPERTY_AUDIOMODULE_COMMAND: KSPROPERTY_AUDIOMODULE = KSPROPERTY_AUDIOMODULE(2i32);
13562 pub const KSPROPERTY_AUDIOMODULE_NOTIFICATION_DEVICE_ID: KSPROPERTY_AUDIOMODULE = KSPROPERTY_AUDIOMODULE(3i32);
13563 impl ::std::convert::From<i32> for KSPROPERTY_AUDIOMODULE {
from(value: i32) -> Self13564     fn from(value: i32) -> Self {
13565         Self(value)
13566     }
13567 }
13568 unsafe impl ::windows::runtime::Abi for KSPROPERTY_AUDIOMODULE {
13569     type Abi = Self;
13570     type DefaultType = Self;
13571 }
13572 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13573 #[repr(transparent)]
13574 pub struct KSPROPERTY_AUDIOPOSTURE(pub i32);
13575 pub const KSPROPERTY_AUDIOPOSTURE_ORIENTATION: KSPROPERTY_AUDIOPOSTURE = KSPROPERTY_AUDIOPOSTURE(1i32);
13576 impl ::std::convert::From<i32> for KSPROPERTY_AUDIOPOSTURE {
from(value: i32) -> Self13577     fn from(value: i32) -> Self {
13578         Self(value)
13579     }
13580 }
13581 unsafe impl ::windows::runtime::Abi for KSPROPERTY_AUDIOPOSTURE {
13582     type Abi = Self;
13583     type DefaultType = Self;
13584 }
13585 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13586 #[repr(transparent)]
13587 pub struct KSPROPERTY_AUDIORESOURCEMANAGEMENT(pub i32);
13588 pub const KSPROPERTY_AUDIORESOURCEMANAGEMENT_RESOURCEGROUP: KSPROPERTY_AUDIORESOURCEMANAGEMENT = KSPROPERTY_AUDIORESOURCEMANAGEMENT(0i32);
13589 impl ::std::convert::From<i32> for KSPROPERTY_AUDIORESOURCEMANAGEMENT {
from(value: i32) -> Self13590     fn from(value: i32) -> Self {
13591         Self(value)
13592     }
13593 }
13594 unsafe impl ::windows::runtime::Abi for KSPROPERTY_AUDIORESOURCEMANAGEMENT {
13595     type Abi = Self;
13596     type DefaultType = Self;
13597 }
13598 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13599 #[repr(transparent)]
13600 pub struct KSPROPERTY_AUDIOSIGNALPROCESSING(pub i32);
13601 pub const KSPROPERTY_AUDIOSIGNALPROCESSING_MODES: KSPROPERTY_AUDIOSIGNALPROCESSING = KSPROPERTY_AUDIOSIGNALPROCESSING(0i32);
13602 impl ::std::convert::From<i32> for KSPROPERTY_AUDIOSIGNALPROCESSING {
from(value: i32) -> Self13603     fn from(value: i32) -> Self {
13604         Self(value)
13605     }
13606 }
13607 unsafe impl ::windows::runtime::Abi for KSPROPERTY_AUDIOSIGNALPROCESSING {
13608     type Abi = Self;
13609     type DefaultType = Self;
13610 }
13611 pub const KSPROPERTY_AUDIO_BUFFER_DURATION: u32 = 1u32;
13612 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13613 #[repr(transparent)]
13614 pub struct KSPROPERTY_BIBLIOGRAPHIC(pub i32);
13615 pub const KSPROPERTY_BIBLIOGRAPHIC_LEADER: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(1380207648i32);
13616 pub const KSPROPERTY_BIBLIOGRAPHIC_LCCN: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(808529952i32);
13617 pub const KSPROPERTY_BIBLIOGRAPHIC_ISBN: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(808595488i32);
13618 pub const KSPROPERTY_BIBLIOGRAPHIC_ISSN: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(842149920i32);
13619 pub const KSPROPERTY_BIBLIOGRAPHIC_CATALOGINGSOURCE: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(808726560i32);
13620 pub const KSPROPERTY_BIBLIOGRAPHIC_MAINPERSONALNAME: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(808464672i32);
13621 pub const KSPROPERTY_BIBLIOGRAPHIC_MAINCORPORATEBODY: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(808530208i32);
13622 pub const KSPROPERTY_BIBLIOGRAPHIC_MAINMEETINGNAME: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(825307424i32);
13623 pub const KSPROPERTY_BIBLIOGRAPHIC_MAINUNIFORMTITLE: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(808661280i32);
13624 pub const KSPROPERTY_BIBLIOGRAPHIC_UNIFORMTITLE: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(808727072i32);
13625 pub const KSPROPERTY_BIBLIOGRAPHIC_TITLESTATEMENT: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(892613152i32);
13626 pub const KSPROPERTY_BIBLIOGRAPHIC_VARYINGFORMTITLE: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(909390368i32);
13627 pub const KSPROPERTY_BIBLIOGRAPHIC_PUBLICATION: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(808858144i32);
13628 pub const KSPROPERTY_BIBLIOGRAPHIC_PHYSICALDESCRIPTION: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(808465184i32);
13629 pub const KSPROPERTY_BIBLIOGRAPHIC_ADDEDENTRYTITLE: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(808727584i32);
13630 pub const KSPROPERTY_BIBLIOGRAPHIC_SERIESSTATEMENT: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(809055264i32);
13631 pub const KSPROPERTY_BIBLIOGRAPHIC_GENERALNOTE: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(808465696i32);
13632 pub const KSPROPERTY_BIBLIOGRAPHIC_BIBLIOGRAPHYNOTE: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(875574560i32);
13633 pub const KSPROPERTY_BIBLIOGRAPHIC_CONTENTSNOTE: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(892351776i32);
13634 pub const KSPROPERTY_BIBLIOGRAPHIC_CREATIONCREDIT: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(942683424i32);
13635 pub const KSPROPERTY_BIBLIOGRAPHIC_CITATION: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(808531232i32);
13636 pub const KSPROPERTY_BIBLIOGRAPHIC_PARTICIPANT: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(825308448i32);
13637 pub const KSPROPERTY_BIBLIOGRAPHIC_SUMMARY: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(808596768i32);
13638 pub const KSPROPERTY_BIBLIOGRAPHIC_TARGETAUDIENCE: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(825373984i32);
13639 pub const KSPROPERTY_BIBLIOGRAPHIC_ADDEDFORMAVAILABLE: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(808662304i32);
13640 pub const KSPROPERTY_BIBLIOGRAPHIC_SYSTEMDETAILS: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(942880032i32);
13641 pub const KSPROPERTY_BIBLIOGRAPHIC_AWARDS: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(909653280i32);
13642 pub const KSPROPERTY_BIBLIOGRAPHIC_ADDEDENTRYPERSONALNAME: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(808465952i32);
13643 pub const KSPROPERTY_BIBLIOGRAPHIC_ADDEDENTRYTOPICALTERM: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(808793632i32);
13644 pub const KSPROPERTY_BIBLIOGRAPHIC_ADDEDENTRYGEOGRAPHIC: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(825570848i32);
13645 pub const KSPROPERTY_BIBLIOGRAPHIC_INDEXTERMGENRE: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(892679712i32);
13646 pub const KSPROPERTY_BIBLIOGRAPHIC_INDEXTERMCURRICULUM: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(943011360i32);
13647 pub const KSPROPERTY_BIBLIOGRAPHIC_ADDEDENTRYUNIFORMTITLE: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(808662816i32);
13648 pub const KSPROPERTY_BIBLIOGRAPHIC_ADDEDENTRYRELATED: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(808728352i32);
13649 pub const KSPROPERTY_BIBLIOGRAPHIC_SERIESSTATEMENTPERSONALNAME: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(808466464i32);
13650 pub const KSPROPERTY_BIBLIOGRAPHIC_SERIESSTATEMENTUNIFORMTITLE: KSPROPERTY_BIBLIOGRAPHIC = KSPROPERTY_BIBLIOGRAPHIC(808663072i32);
13651 impl ::std::convert::From<i32> for KSPROPERTY_BIBLIOGRAPHIC {
from(value: i32) -> Self13652     fn from(value: i32) -> Self {
13653         Self(value)
13654     }
13655 }
13656 unsafe impl ::windows::runtime::Abi for KSPROPERTY_BIBLIOGRAPHIC {
13657     type Abi = Self;
13658     type DefaultType = Self;
13659 }
13660 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13661 #[repr(C)]
13662 pub union KSPROPERTY_BOUNDS_LONG {
13663     pub Anonymous1: KSPROPERTY_BOUNDS_LONG_0,
13664     pub Anonymous2: KSPROPERTY_BOUNDS_LONG_1,
13665 }
13666 impl KSPROPERTY_BOUNDS_LONG {}
13667 impl ::std::default::Default for KSPROPERTY_BOUNDS_LONG {
default() -> Self13668     fn default() -> Self {
13669         unsafe { ::std::mem::zeroed() }
13670     }
13671 }
13672 impl ::std::cmp::PartialEq for KSPROPERTY_BOUNDS_LONG {
eq(&self, _other: &Self) -> bool13673     fn eq(&self, _other: &Self) -> bool {
13674         unimplemented!()
13675     }
13676 }
13677 impl ::std::cmp::Eq for KSPROPERTY_BOUNDS_LONG {}
13678 unsafe impl ::windows::runtime::Abi for KSPROPERTY_BOUNDS_LONG {
13679     type Abi = Self;
13680     type DefaultType = Self;
13681 }
13682 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13683 #[repr(C)]
13684 pub struct KSPROPERTY_BOUNDS_LONG_0 {
13685     pub SignedMinimum: i32,
13686     pub SignedMaximum: i32,
13687 }
13688 impl KSPROPERTY_BOUNDS_LONG_0 {}
13689 impl ::std::default::Default for KSPROPERTY_BOUNDS_LONG_0 {
default() -> Self13690     fn default() -> Self {
13691         unsafe { ::std::mem::zeroed() }
13692     }
13693 }
13694 impl ::std::fmt::Debug for KSPROPERTY_BOUNDS_LONG_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13695     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13696         fmt.debug_struct("_Anonymous1_e__Struct").field("SignedMinimum", &self.SignedMinimum).field("SignedMaximum", &self.SignedMaximum).finish()
13697     }
13698 }
13699 impl ::std::cmp::PartialEq for KSPROPERTY_BOUNDS_LONG_0 {
eq(&self, other: &Self) -> bool13700     fn eq(&self, other: &Self) -> bool {
13701         self.SignedMinimum == other.SignedMinimum && self.SignedMaximum == other.SignedMaximum
13702     }
13703 }
13704 impl ::std::cmp::Eq for KSPROPERTY_BOUNDS_LONG_0 {}
13705 unsafe impl ::windows::runtime::Abi for KSPROPERTY_BOUNDS_LONG_0 {
13706     type Abi = Self;
13707     type DefaultType = Self;
13708 }
13709 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13710 #[repr(C)]
13711 pub struct KSPROPERTY_BOUNDS_LONG_1 {
13712     pub UnsignedMinimum: u32,
13713     pub UnsignedMaximum: u32,
13714 }
13715 impl KSPROPERTY_BOUNDS_LONG_1 {}
13716 impl ::std::default::Default for KSPROPERTY_BOUNDS_LONG_1 {
default() -> Self13717     fn default() -> Self {
13718         unsafe { ::std::mem::zeroed() }
13719     }
13720 }
13721 impl ::std::fmt::Debug for KSPROPERTY_BOUNDS_LONG_1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13722     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13723         fmt.debug_struct("_Anonymous2_e__Struct").field("UnsignedMinimum", &self.UnsignedMinimum).field("UnsignedMaximum", &self.UnsignedMaximum).finish()
13724     }
13725 }
13726 impl ::std::cmp::PartialEq for KSPROPERTY_BOUNDS_LONG_1 {
eq(&self, other: &Self) -> bool13727     fn eq(&self, other: &Self) -> bool {
13728         self.UnsignedMinimum == other.UnsignedMinimum && self.UnsignedMaximum == other.UnsignedMaximum
13729     }
13730 }
13731 impl ::std::cmp::Eq for KSPROPERTY_BOUNDS_LONG_1 {}
13732 unsafe impl ::windows::runtime::Abi for KSPROPERTY_BOUNDS_LONG_1 {
13733     type Abi = Self;
13734     type DefaultType = Self;
13735 }
13736 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13737 #[repr(C)]
13738 pub union KSPROPERTY_BOUNDS_LONGLONG {
13739     pub Anonymous1: KSPROPERTY_BOUNDS_LONGLONG_0,
13740     pub Anonymous2: KSPROPERTY_BOUNDS_LONGLONG_1,
13741 }
13742 impl KSPROPERTY_BOUNDS_LONGLONG {}
13743 impl ::std::default::Default for KSPROPERTY_BOUNDS_LONGLONG {
default() -> Self13744     fn default() -> Self {
13745         unsafe { ::std::mem::zeroed() }
13746     }
13747 }
13748 impl ::std::cmp::PartialEq for KSPROPERTY_BOUNDS_LONGLONG {
eq(&self, _other: &Self) -> bool13749     fn eq(&self, _other: &Self) -> bool {
13750         unimplemented!()
13751     }
13752 }
13753 impl ::std::cmp::Eq for KSPROPERTY_BOUNDS_LONGLONG {}
13754 unsafe impl ::windows::runtime::Abi for KSPROPERTY_BOUNDS_LONGLONG {
13755     type Abi = Self;
13756     type DefaultType = Self;
13757 }
13758 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13759 #[repr(C)]
13760 pub struct KSPROPERTY_BOUNDS_LONGLONG_0 {
13761     pub SignedMinimum: i64,
13762     pub SignedMaximum: i64,
13763 }
13764 impl KSPROPERTY_BOUNDS_LONGLONG_0 {}
13765 impl ::std::default::Default for KSPROPERTY_BOUNDS_LONGLONG_0 {
default() -> Self13766     fn default() -> Self {
13767         unsafe { ::std::mem::zeroed() }
13768     }
13769 }
13770 impl ::std::fmt::Debug for KSPROPERTY_BOUNDS_LONGLONG_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13771     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13772         fmt.debug_struct("_Anonymous1_e__Struct").field("SignedMinimum", &self.SignedMinimum).field("SignedMaximum", &self.SignedMaximum).finish()
13773     }
13774 }
13775 impl ::std::cmp::PartialEq for KSPROPERTY_BOUNDS_LONGLONG_0 {
eq(&self, other: &Self) -> bool13776     fn eq(&self, other: &Self) -> bool {
13777         self.SignedMinimum == other.SignedMinimum && self.SignedMaximum == other.SignedMaximum
13778     }
13779 }
13780 impl ::std::cmp::Eq for KSPROPERTY_BOUNDS_LONGLONG_0 {}
13781 unsafe impl ::windows::runtime::Abi for KSPROPERTY_BOUNDS_LONGLONG_0 {
13782     type Abi = Self;
13783     type DefaultType = Self;
13784 }
13785 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13786 #[repr(C)]
13787 pub struct KSPROPERTY_BOUNDS_LONGLONG_1 {
13788     pub UnsignedMinimum: u64,
13789     pub UnsignedMaximum: u64,
13790 }
13791 impl KSPROPERTY_BOUNDS_LONGLONG_1 {}
13792 impl ::std::default::Default for KSPROPERTY_BOUNDS_LONGLONG_1 {
default() -> Self13793     fn default() -> Self {
13794         unsafe { ::std::mem::zeroed() }
13795     }
13796 }
13797 impl ::std::fmt::Debug for KSPROPERTY_BOUNDS_LONGLONG_1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13798     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13799         fmt.debug_struct("_Anonymous2_e__Struct").field("UnsignedMinimum", &self.UnsignedMinimum).field("UnsignedMaximum", &self.UnsignedMaximum).finish()
13800     }
13801 }
13802 impl ::std::cmp::PartialEq for KSPROPERTY_BOUNDS_LONGLONG_1 {
eq(&self, other: &Self) -> bool13803     fn eq(&self, other: &Self) -> bool {
13804         self.UnsignedMinimum == other.UnsignedMinimum && self.UnsignedMaximum == other.UnsignedMaximum
13805     }
13806 }
13807 impl ::std::cmp::Eq for KSPROPERTY_BOUNDS_LONGLONG_1 {}
13808 unsafe impl ::windows::runtime::Abi for KSPROPERTY_BOUNDS_LONGLONG_1 {
13809     type Abi = Self;
13810     type DefaultType = Self;
13811 }
13812 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13813 #[repr(transparent)]
13814 pub struct KSPROPERTY_BTAUDIO(pub i32);
13815 pub const KSPROPERTY_ONESHOT_RECONNECT: KSPROPERTY_BTAUDIO = KSPROPERTY_BTAUDIO(0i32);
13816 pub const KSPROPERTY_ONESHOT_DISCONNECT: KSPROPERTY_BTAUDIO = KSPROPERTY_BTAUDIO(1i32);
13817 impl ::std::convert::From<i32> for KSPROPERTY_BTAUDIO {
from(value: i32) -> Self13818     fn from(value: i32) -> Self {
13819         Self(value)
13820     }
13821 }
13822 unsafe impl ::windows::runtime::Abi for KSPROPERTY_BTAUDIO {
13823     type Abi = Self;
13824     type DefaultType = Self;
13825 }
13826 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13827 #[repr(transparent)]
13828 pub struct KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(pub i32);
13829 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOMODE: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(0i32);
13830 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOFRAMERATE: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(1i32);
13831 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOMAXFRAMERATE: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(2i32);
13832 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOTRIGGERTIME: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(3i32);
13833 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_WARMSTART: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(4i32);
13834 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_MAXVIDFPS_PHOTORES: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(5i32);
13835 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOTHUMBNAIL: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(6i32);
13836 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_SCENEMODE: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(7i32);
13837 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_TORCHMODE: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(8i32);
13838 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_FLASHMODE: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(9i32);
13839 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_OPTIMIZATIONHINT: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(10i32);
13840 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_WHITEBALANCEMODE: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(11i32);
13841 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_EXPOSUREMODE: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(12i32);
13842 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_FOCUSMODE: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(13i32);
13843 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_ISO: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(14i32);
13844 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_FIELDOFVIEW: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(15i32);
13845 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_EVCOMPENSATION: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(16i32);
13846 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_CAMERAANGLEOFFSET: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(17i32);
13847 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_METADATA: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(18i32);
13848 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_FOCUSPRIORITY: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(19i32);
13849 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_FOCUSSTATE: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(20i32);
13850 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_ROI_CONFIGCAPS: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(21i32);
13851 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_ROI_ISPCONTROL: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(22i32);
13852 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOCONFIRMATION: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(23i32);
13853 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_ZOOM: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(24i32);
13854 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_MCC: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(25i32);
13855 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(26i32);
13856 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_VIDEOSTABILIZATION: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(27i32);
13857 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_VFR: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(28i32);
13858 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_FACEDETECTION: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(29i32);
13859 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_VIDEOHDR: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(30i32);
13860 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_HISTOGRAM: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(31i32);
13861 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_OIS: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(32i32);
13862 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_ADVANCEDPHOTO: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(33i32);
13863 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_PROFILE: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(34i32);
13864 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_FACEAUTH_MODE: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(35i32);
13865 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_SECURE_MODE: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(36i32);
13866 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_VIDEOTEMPORALDENOISING: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(37i32);
13867 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_IRTORCHMODE: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(38i32);
13868 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_RELATIVEPANELOPTIMIZATION: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(39i32);
13869 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_EYEGAZECORRECTION: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(40i32);
13870 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(41i32);
13871 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_DIGITALWINDOW_CONFIGCAPS: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(42i32);
13872 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_DIGITALWINDOW: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(43i32);
13873 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_END: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(44i32);
13874 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_END2: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY(44i32);
13875 impl ::std::convert::From<i32> for KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY {
from(value: i32) -> Self13876     fn from(value: i32) -> Self {
13877         Self(value)
13878     }
13879 }
13880 unsafe impl ::windows::runtime::Abi for KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY {
13881     type Abi = Self;
13882     type DefaultType = Self;
13883 }
13884 pub const KSPROPERTY_CAMERACONTROL_FLAGS_ABSOLUTE: i32 = 0i32;
13885 pub const KSPROPERTY_CAMERACONTROL_FLAGS_ASYNCHRONOUS: i32 = 4i32;
13886 pub const KSPROPERTY_CAMERACONTROL_FLAGS_AUTO: i32 = 1i32;
13887 pub const KSPROPERTY_CAMERACONTROL_FLAGS_MANUAL: i32 = 2i32;
13888 pub const KSPROPERTY_CAMERACONTROL_FLAGS_RELATIVE: i32 = 16i32;
13889 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13890 #[repr(transparent)]
13891 pub struct KSPROPERTY_CAMERACONTROL_FLASH(pub i32);
13892 pub const KSPROPERTY_CAMERACONTROL_FLASH_PROPERTY_ID: KSPROPERTY_CAMERACONTROL_FLASH = KSPROPERTY_CAMERACONTROL_FLASH(0i32);
13893 impl ::std::convert::From<i32> for KSPROPERTY_CAMERACONTROL_FLASH {
from(value: i32) -> Self13894     fn from(value: i32) -> Self {
13895         Self(value)
13896     }
13897 }
13898 unsafe impl ::windows::runtime::Abi for KSPROPERTY_CAMERACONTROL_FLASH {
13899     type Abi = Self;
13900     type DefaultType = Self;
13901 }
13902 pub const KSPROPERTY_CAMERACONTROL_FLASH_AUTO: i32 = 2i32;
13903 pub const KSPROPERTY_CAMERACONTROL_FLASH_FLAGS_AUTO: i32 = 1i32;
13904 pub const KSPROPERTY_CAMERACONTROL_FLASH_FLAGS_MANUAL: i32 = 2i32;
13905 pub const KSPROPERTY_CAMERACONTROL_FLASH_OFF: i32 = 0i32;
13906 pub const KSPROPERTY_CAMERACONTROL_FLASH_ON: i32 = 1i32;
13907 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13908 #[repr(C)]
13909 pub struct KSPROPERTY_CAMERACONTROL_FLASH_S {
13910     pub Flash: u32,
13911     pub Capabilities: u32,
13912 }
13913 impl KSPROPERTY_CAMERACONTROL_FLASH_S {}
13914 impl ::std::default::Default for KSPROPERTY_CAMERACONTROL_FLASH_S {
default() -> Self13915     fn default() -> Self {
13916         unsafe { ::std::mem::zeroed() }
13917     }
13918 }
13919 impl ::std::fmt::Debug for KSPROPERTY_CAMERACONTROL_FLASH_S {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13920     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13921         fmt.debug_struct("KSPROPERTY_CAMERACONTROL_FLASH_S").field("Flash", &self.Flash).field("Capabilities", &self.Capabilities).finish()
13922     }
13923 }
13924 impl ::std::cmp::PartialEq for KSPROPERTY_CAMERACONTROL_FLASH_S {
eq(&self, other: &Self) -> bool13925     fn eq(&self, other: &Self) -> bool {
13926         self.Flash == other.Flash && self.Capabilities == other.Capabilities
13927     }
13928 }
13929 impl ::std::cmp::Eq for KSPROPERTY_CAMERACONTROL_FLASH_S {}
13930 unsafe impl ::windows::runtime::Abi for KSPROPERTY_CAMERACONTROL_FLASH_S {
13931     type Abi = Self;
13932     type DefaultType = Self;
13933 }
13934 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13935 #[repr(C)]
13936 pub struct KSPROPERTY_CAMERACONTROL_FOCAL_LENGTH_S {
13937     pub Property: KSIDENTIFIER,
13938     pub lOcularFocalLength: i32,
13939     pub lObjectiveFocalLengthMin: i32,
13940     pub lObjectiveFocalLengthMax: i32,
13941 }
13942 impl KSPROPERTY_CAMERACONTROL_FOCAL_LENGTH_S {}
13943 impl ::std::default::Default for KSPROPERTY_CAMERACONTROL_FOCAL_LENGTH_S {
default() -> Self13944     fn default() -> Self {
13945         unsafe { ::std::mem::zeroed() }
13946     }
13947 }
13948 impl ::std::cmp::PartialEq for KSPROPERTY_CAMERACONTROL_FOCAL_LENGTH_S {
eq(&self, _other: &Self) -> bool13949     fn eq(&self, _other: &Self) -> bool {
13950         unimplemented!()
13951     }
13952 }
13953 impl ::std::cmp::Eq for KSPROPERTY_CAMERACONTROL_FOCAL_LENGTH_S {}
13954 unsafe impl ::windows::runtime::Abi for KSPROPERTY_CAMERACONTROL_FOCAL_LENGTH_S {
13955     type Abi = Self;
13956     type DefaultType = Self;
13957 }
13958 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13959 #[repr(transparent)]
13960 pub struct KSPROPERTY_CAMERACONTROL_IMAGE_PIN_CAPABILITY(pub i32);
13961 pub const KSPROPERTY_CAMERACONTROL_IMAGE_PIN_CAPABILITY_PROPERTY_ID: KSPROPERTY_CAMERACONTROL_IMAGE_PIN_CAPABILITY = KSPROPERTY_CAMERACONTROL_IMAGE_PIN_CAPABILITY(0i32);
13962 impl ::std::convert::From<i32> for KSPROPERTY_CAMERACONTROL_IMAGE_PIN_CAPABILITY {
from(value: i32) -> Self13963     fn from(value: i32) -> Self {
13964         Self(value)
13965     }
13966 }
13967 unsafe impl ::windows::runtime::Abi for KSPROPERTY_CAMERACONTROL_IMAGE_PIN_CAPABILITY {
13968     type Abi = Self;
13969     type DefaultType = Self;
13970 }
13971 pub const KSPROPERTY_CAMERACONTROL_IMAGE_PIN_CAPABILITY_EXCLUSIVE_WITH_RECORD: i32 = 1i32;
13972 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13973 #[repr(C)]
13974 pub struct KSPROPERTY_CAMERACONTROL_IMAGE_PIN_CAPABILITY_S {
13975     pub Capabilities: u32,
13976     pub Reserved0: u32,
13977 }
13978 impl KSPROPERTY_CAMERACONTROL_IMAGE_PIN_CAPABILITY_S {}
13979 impl ::std::default::Default for KSPROPERTY_CAMERACONTROL_IMAGE_PIN_CAPABILITY_S {
default() -> Self13980     fn default() -> Self {
13981         unsafe { ::std::mem::zeroed() }
13982     }
13983 }
13984 impl ::std::fmt::Debug for KSPROPERTY_CAMERACONTROL_IMAGE_PIN_CAPABILITY_S {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13985     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13986         fmt.debug_struct("KSPROPERTY_CAMERACONTROL_IMAGE_PIN_CAPABILITY_S").field("Capabilities", &self.Capabilities).field("Reserved0", &self.Reserved0).finish()
13987     }
13988 }
13989 impl ::std::cmp::PartialEq for KSPROPERTY_CAMERACONTROL_IMAGE_PIN_CAPABILITY_S {
eq(&self, other: &Self) -> bool13990     fn eq(&self, other: &Self) -> bool {
13991         self.Capabilities == other.Capabilities && self.Reserved0 == other.Reserved0
13992     }
13993 }
13994 impl ::std::cmp::Eq for KSPROPERTY_CAMERACONTROL_IMAGE_PIN_CAPABILITY_S {}
13995 unsafe impl ::windows::runtime::Abi for KSPROPERTY_CAMERACONTROL_IMAGE_PIN_CAPABILITY_S {
13996     type Abi = Self;
13997     type DefaultType = Self;
13998 }
13999 pub const KSPROPERTY_CAMERACONTROL_IMAGE_PIN_CAPABILITY_SEQUENCE_EXCLUSIVE_WITH_RECORD: i32 = 2i32;
14000 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14001 #[repr(C)]
14002 pub struct KSPROPERTY_CAMERACONTROL_NODE_FOCAL_LENGTH_S {
14003     pub NodeProperty: KSNODEPROPERTY,
14004     pub lOcularFocalLength: i32,
14005     pub lObjectiveFocalLengthMin: i32,
14006     pub lObjectiveFocalLengthMax: i32,
14007 }
14008 impl KSPROPERTY_CAMERACONTROL_NODE_FOCAL_LENGTH_S {}
14009 impl ::std::default::Default for KSPROPERTY_CAMERACONTROL_NODE_FOCAL_LENGTH_S {
default() -> Self14010     fn default() -> Self {
14011         unsafe { ::std::mem::zeroed() }
14012     }
14013 }
14014 impl ::std::cmp::PartialEq for KSPROPERTY_CAMERACONTROL_NODE_FOCAL_LENGTH_S {
eq(&self, _other: &Self) -> bool14015     fn eq(&self, _other: &Self) -> bool {
14016         unimplemented!()
14017     }
14018 }
14019 impl ::std::cmp::Eq for KSPROPERTY_CAMERACONTROL_NODE_FOCAL_LENGTH_S {}
14020 unsafe impl ::windows::runtime::Abi for KSPROPERTY_CAMERACONTROL_NODE_FOCAL_LENGTH_S {
14021     type Abi = Self;
14022     type DefaultType = Self;
14023 }
14024 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14025 #[repr(C)]
14026 pub struct KSPROPERTY_CAMERACONTROL_NODE_S {
14027     pub NodeProperty: KSP_NODE,
14028     pub Value: i32,
14029     pub Flags: u32,
14030     pub Capabilities: u32,
14031 }
14032 impl KSPROPERTY_CAMERACONTROL_NODE_S {}
14033 impl ::std::default::Default for KSPROPERTY_CAMERACONTROL_NODE_S {
default() -> Self14034     fn default() -> Self {
14035         unsafe { ::std::mem::zeroed() }
14036     }
14037 }
14038 impl ::std::cmp::PartialEq for KSPROPERTY_CAMERACONTROL_NODE_S {
eq(&self, _other: &Self) -> bool14039     fn eq(&self, _other: &Self) -> bool {
14040         unimplemented!()
14041     }
14042 }
14043 impl ::std::cmp::Eq for KSPROPERTY_CAMERACONTROL_NODE_S {}
14044 unsafe impl ::windows::runtime::Abi for KSPROPERTY_CAMERACONTROL_NODE_S {
14045     type Abi = Self;
14046     type DefaultType = Self;
14047 }
14048 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14049 #[repr(C)]
14050 pub struct KSPROPERTY_CAMERACONTROL_NODE_S2 {
14051     pub NodeProperty: KSP_NODE,
14052     pub Value1: i32,
14053     pub Flags: u32,
14054     pub Capabilities: u32,
14055     pub Value2: i32,
14056 }
14057 impl KSPROPERTY_CAMERACONTROL_NODE_S2 {}
14058 impl ::std::default::Default for KSPROPERTY_CAMERACONTROL_NODE_S2 {
default() -> Self14059     fn default() -> Self {
14060         unsafe { ::std::mem::zeroed() }
14061     }
14062 }
14063 impl ::std::cmp::PartialEq for KSPROPERTY_CAMERACONTROL_NODE_S2 {
eq(&self, _other: &Self) -> bool14064     fn eq(&self, _other: &Self) -> bool {
14065         unimplemented!()
14066     }
14067 }
14068 impl ::std::cmp::Eq for KSPROPERTY_CAMERACONTROL_NODE_S2 {}
14069 unsafe impl ::windows::runtime::Abi for KSPROPERTY_CAMERACONTROL_NODE_S2 {
14070     type Abi = Self;
14071     type DefaultType = Self;
14072 }
14073 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14074 #[repr(transparent)]
14075 pub struct KSPROPERTY_CAMERACONTROL_PERFRAMESETTING_PROPERTY(pub i32);
14076 pub const KSPROPERTY_CAMERACONTROL_PERFRAMESETTING_CAPABILITY: KSPROPERTY_CAMERACONTROL_PERFRAMESETTING_PROPERTY = KSPROPERTY_CAMERACONTROL_PERFRAMESETTING_PROPERTY(0i32);
14077 pub const KSPROPERTY_CAMERACONTROL_PERFRAMESETTING_SET: KSPROPERTY_CAMERACONTROL_PERFRAMESETTING_PROPERTY = KSPROPERTY_CAMERACONTROL_PERFRAMESETTING_PROPERTY(1i32);
14078 pub const KSPROPERTY_CAMERACONTROL_PERFRAMESETTING_CLEAR: KSPROPERTY_CAMERACONTROL_PERFRAMESETTING_PROPERTY = KSPROPERTY_CAMERACONTROL_PERFRAMESETTING_PROPERTY(2i32);
14079 impl ::std::convert::From<i32> for KSPROPERTY_CAMERACONTROL_PERFRAMESETTING_PROPERTY {
from(value: i32) -> Self14080     fn from(value: i32) -> Self {
14081         Self(value)
14082     }
14083 }
14084 unsafe impl ::windows::runtime::Abi for KSPROPERTY_CAMERACONTROL_PERFRAMESETTING_PROPERTY {
14085     type Abi = Self;
14086     type DefaultType = Self;
14087 }
14088 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14089 #[repr(transparent)]
14090 pub struct KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST(pub i32);
14091 pub const KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_PROPERTY_ID: KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST = KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST(0i32);
14092 impl ::std::convert::From<i32> for KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST {
from(value: i32) -> Self14093     fn from(value: i32) -> Self {
14094         Self(value)
14095     }
14096 }
14097 unsafe impl ::windows::runtime::Abi for KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST {
14098     type Abi = Self;
14099     type DefaultType = Self;
14100 }
14101 pub const KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_CONFIG_EXPOSURE: i32 = 512i32;
14102 pub const KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_CONFIG_FOCUS: i32 = 256i32;
14103 pub const KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_CONFIG_WB: i32 = 1024i32;
14104 pub const KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_CONVERGEMODE: i32 = 1073741824i32;
14105 pub const KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_FLAGS_ASYNC: i32 = -2147483648i32;
14106 pub const KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_FLAGS_AUTO: i32 = 1i32;
14107 pub const KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_FLAGS_MANUAL: i32 = 2i32;
14108 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14109 #[repr(C)]
14110 #[cfg(feature = "Win32_Foundation")]
14111 pub struct KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_S {
14112     pub FocusRect: super::super::super::Foundation::RECT,
14113     pub AutoFocusLock: super::super::super::Foundation::BOOL,
14114     pub AutoExposureLock: super::super::super::Foundation::BOOL,
14115     pub AutoWhitebalanceLock: super::super::super::Foundation::BOOL,
14116     pub Anonymous: KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_S_0,
14117 }
14118 #[cfg(feature = "Win32_Foundation")]
14119 impl KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_S {}
14120 #[cfg(feature = "Win32_Foundation")]
14121 impl ::std::default::Default for KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_S {
default() -> Self14122     fn default() -> Self {
14123         unsafe { ::std::mem::zeroed() }
14124     }
14125 }
14126 #[cfg(feature = "Win32_Foundation")]
14127 impl ::std::cmp::PartialEq for KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_S {
eq(&self, _other: &Self) -> bool14128     fn eq(&self, _other: &Self) -> bool {
14129         unimplemented!()
14130     }
14131 }
14132 #[cfg(feature = "Win32_Foundation")]
14133 impl ::std::cmp::Eq for KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_S {}
14134 #[cfg(feature = "Win32_Foundation")]
14135 unsafe impl ::windows::runtime::Abi for KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_S {
14136     type Abi = Self;
14137     type DefaultType = Self;
14138 }
14139 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14140 #[repr(C)]
14141 pub union KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_S_0 {
14142     pub Capabilities: u32,
14143     pub Configuration: u32,
14144 }
14145 impl KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_S_0 {}
14146 impl ::std::default::Default for KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_S_0 {
default() -> Self14147     fn default() -> Self {
14148         unsafe { ::std::mem::zeroed() }
14149     }
14150 }
14151 impl ::std::cmp::PartialEq for KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_S_0 {
eq(&self, _other: &Self) -> bool14152     fn eq(&self, _other: &Self) -> bool {
14153         unimplemented!()
14154     }
14155 }
14156 impl ::std::cmp::Eq for KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_S_0 {}
14157 unsafe impl ::windows::runtime::Abi for KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_S_0 {
14158     type Abi = Self;
14159     type DefaultType = Self;
14160 }
14161 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14162 #[repr(C)]
14163 pub struct KSPROPERTY_CAMERACONTROL_S {
14164     pub Property: KSIDENTIFIER,
14165     pub Value: i32,
14166     pub Flags: u32,
14167     pub Capabilities: u32,
14168 }
14169 impl KSPROPERTY_CAMERACONTROL_S {}
14170 impl ::std::default::Default for KSPROPERTY_CAMERACONTROL_S {
default() -> Self14171     fn default() -> Self {
14172         unsafe { ::std::mem::zeroed() }
14173     }
14174 }
14175 impl ::std::cmp::PartialEq for KSPROPERTY_CAMERACONTROL_S {
eq(&self, _other: &Self) -> bool14176     fn eq(&self, _other: &Self) -> bool {
14177         unimplemented!()
14178     }
14179 }
14180 impl ::std::cmp::Eq for KSPROPERTY_CAMERACONTROL_S {}
14181 unsafe impl ::windows::runtime::Abi for KSPROPERTY_CAMERACONTROL_S {
14182     type Abi = Self;
14183     type DefaultType = Self;
14184 }
14185 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14186 #[repr(C)]
14187 pub struct KSPROPERTY_CAMERACONTROL_S2 {
14188     pub Property: KSIDENTIFIER,
14189     pub Value1: i32,
14190     pub Flags: u32,
14191     pub Capabilities: u32,
14192     pub Value2: i32,
14193 }
14194 impl KSPROPERTY_CAMERACONTROL_S2 {}
14195 impl ::std::default::Default for KSPROPERTY_CAMERACONTROL_S2 {
default() -> Self14196     fn default() -> Self {
14197         unsafe { ::std::mem::zeroed() }
14198     }
14199 }
14200 impl ::std::cmp::PartialEq for KSPROPERTY_CAMERACONTROL_S2 {
eq(&self, _other: &Self) -> bool14201     fn eq(&self, _other: &Self) -> bool {
14202         unimplemented!()
14203     }
14204 }
14205 impl ::std::cmp::Eq for KSPROPERTY_CAMERACONTROL_S2 {}
14206 unsafe impl ::windows::runtime::Abi for KSPROPERTY_CAMERACONTROL_S2 {
14207     type Abi = Self;
14208     type DefaultType = Self;
14209 }
14210 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14211 #[repr(C)]
14212 #[cfg(feature = "Win32_Foundation")]
14213 pub struct KSPROPERTY_CAMERACONTROL_S_EX {
14214     pub Property: KSIDENTIFIER,
14215     pub Value: i32,
14216     pub Flags: u32,
14217     pub Capabilities: u32,
14218     pub FocusRect: super::super::super::Foundation::RECT,
14219 }
14220 #[cfg(feature = "Win32_Foundation")]
14221 impl KSPROPERTY_CAMERACONTROL_S_EX {}
14222 #[cfg(feature = "Win32_Foundation")]
14223 impl ::std::default::Default for KSPROPERTY_CAMERACONTROL_S_EX {
default() -> Self14224     fn default() -> Self {
14225         unsafe { ::std::mem::zeroed() }
14226     }
14227 }
14228 #[cfg(feature = "Win32_Foundation")]
14229 impl ::std::cmp::PartialEq for KSPROPERTY_CAMERACONTROL_S_EX {
eq(&self, _other: &Self) -> bool14230     fn eq(&self, _other: &Self) -> bool {
14231         unimplemented!()
14232     }
14233 }
14234 #[cfg(feature = "Win32_Foundation")]
14235 impl ::std::cmp::Eq for KSPROPERTY_CAMERACONTROL_S_EX {}
14236 #[cfg(feature = "Win32_Foundation")]
14237 unsafe impl ::windows::runtime::Abi for KSPROPERTY_CAMERACONTROL_S_EX {
14238     type Abi = Self;
14239     type DefaultType = Self;
14240 }
14241 pub const KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_AUTO: i32 = 4i32;
14242 pub const KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_FLAGS_AUTO: i32 = 1i32;
14243 pub const KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_FLAGS_MANUAL: i32 = 2i32;
14244 pub const KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_HIGH: i32 = 1i32;
14245 pub const KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_LOW: i32 = 3i32;
14246 pub const KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_MEDIUM: i32 = 2i32;
14247 pub const KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_OFF: i32 = 0i32;
14248 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14249 #[repr(C)]
14250 pub struct KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_S {
14251     pub VideoStabilizationMode: u32,
14252     pub Capabilities: u32,
14253 }
14254 impl KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_S {}
14255 impl ::std::default::Default for KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_S {
default() -> Self14256     fn default() -> Self {
14257         unsafe { ::std::mem::zeroed() }
14258     }
14259 }
14260 impl ::std::fmt::Debug for KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_S {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result14261     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14262         fmt.debug_struct("KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_S").field("VideoStabilizationMode", &self.VideoStabilizationMode).field("Capabilities", &self.Capabilities).finish()
14263     }
14264 }
14265 impl ::std::cmp::PartialEq for KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_S {
eq(&self, other: &Self) -> bool14266     fn eq(&self, other: &Self) -> bool {
14267         self.VideoStabilizationMode == other.VideoStabilizationMode && self.Capabilities == other.Capabilities
14268     }
14269 }
14270 impl ::std::cmp::Eq for KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_S {}
14271 unsafe impl ::windows::runtime::Abi for KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_S {
14272     type Abi = Self;
14273     type DefaultType = Self;
14274 }
14275 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14276 #[repr(transparent)]
14277 pub struct KSPROPERTY_CAMERACONTROL_VIDEO_STABILIZATION_MODE(pub i32);
14278 pub const KSPROPERTY_CAMERACONTROL_VIDEO_STABILIZATION_MODE_PROPERTY_ID: KSPROPERTY_CAMERACONTROL_VIDEO_STABILIZATION_MODE = KSPROPERTY_CAMERACONTROL_VIDEO_STABILIZATION_MODE(0i32);
14279 impl ::std::convert::From<i32> for KSPROPERTY_CAMERACONTROL_VIDEO_STABILIZATION_MODE {
from(value: i32) -> Self14280     fn from(value: i32) -> Self {
14281         Self(value)
14282     }
14283 }
14284 unsafe impl ::windows::runtime::Abi for KSPROPERTY_CAMERACONTROL_VIDEO_STABILIZATION_MODE {
14285     type Abi = Self;
14286     type DefaultType = Self;
14287 }
14288 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14289 #[repr(transparent)]
14290 pub struct KSPROPERTY_CAMERA_PHOTOTRIGGERTIME_FLAGS(pub i32);
14291 pub const KSPROPERTY_CAMERA_PHOTOTRIGGERTIME_CLEAR: KSPROPERTY_CAMERA_PHOTOTRIGGERTIME_FLAGS = KSPROPERTY_CAMERA_PHOTOTRIGGERTIME_FLAGS(0i32);
14292 pub const KSPROPERTY_CAMERA_PHOTOTRIGGERTIME_SET: KSPROPERTY_CAMERA_PHOTOTRIGGERTIME_FLAGS = KSPROPERTY_CAMERA_PHOTOTRIGGERTIME_FLAGS(1i32);
14293 impl ::std::convert::From<i32> for KSPROPERTY_CAMERA_PHOTOTRIGGERTIME_FLAGS {
from(value: i32) -> Self14294     fn from(value: i32) -> Self {
14295         Self(value)
14296     }
14297 }
14298 unsafe impl ::windows::runtime::Abi for KSPROPERTY_CAMERA_PHOTOTRIGGERTIME_FLAGS {
14299     type Abi = Self;
14300     type DefaultType = Self;
14301 }
14302 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14303 #[repr(transparent)]
14304 pub struct KSPROPERTY_CLOCK(pub i32);
14305 pub const KSPROPERTY_CLOCK_TIME: KSPROPERTY_CLOCK = KSPROPERTY_CLOCK(0i32);
14306 pub const KSPROPERTY_CLOCK_PHYSICALTIME: KSPROPERTY_CLOCK = KSPROPERTY_CLOCK(1i32);
14307 pub const KSPROPERTY_CLOCK_CORRELATEDTIME: KSPROPERTY_CLOCK = KSPROPERTY_CLOCK(2i32);
14308 pub const KSPROPERTY_CLOCK_CORRELATEDPHYSICALTIME: KSPROPERTY_CLOCK = KSPROPERTY_CLOCK(3i32);
14309 pub const KSPROPERTY_CLOCK_RESOLUTION: KSPROPERTY_CLOCK = KSPROPERTY_CLOCK(4i32);
14310 pub const KSPROPERTY_CLOCK_STATE: KSPROPERTY_CLOCK = KSPROPERTY_CLOCK(5i32);
14311 impl ::std::convert::From<i32> for KSPROPERTY_CLOCK {
from(value: i32) -> Self14312     fn from(value: i32) -> Self {
14313         Self(value)
14314     }
14315 }
14316 unsafe impl ::windows::runtime::Abi for KSPROPERTY_CLOCK {
14317     type Abi = Self;
14318     type DefaultType = Self;
14319 }
14320 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14321 #[repr(transparent)]
14322 pub struct KSPROPERTY_CONNECTION(pub i32);
14323 pub const KSPROPERTY_CONNECTION_STATE: KSPROPERTY_CONNECTION = KSPROPERTY_CONNECTION(0i32);
14324 pub const KSPROPERTY_CONNECTION_PRIORITY: KSPROPERTY_CONNECTION = KSPROPERTY_CONNECTION(1i32);
14325 pub const KSPROPERTY_CONNECTION_DATAFORMAT: KSPROPERTY_CONNECTION = KSPROPERTY_CONNECTION(2i32);
14326 pub const KSPROPERTY_CONNECTION_ALLOCATORFRAMING: KSPROPERTY_CONNECTION = KSPROPERTY_CONNECTION(3i32);
14327 pub const KSPROPERTY_CONNECTION_PROPOSEDATAFORMAT: KSPROPERTY_CONNECTION = KSPROPERTY_CONNECTION(4i32);
14328 pub const KSPROPERTY_CONNECTION_ACQUIREORDERING: KSPROPERTY_CONNECTION = KSPROPERTY_CONNECTION(5i32);
14329 pub const KSPROPERTY_CONNECTION_ALLOCATORFRAMING_EX: KSPROPERTY_CONNECTION = KSPROPERTY_CONNECTION(6i32);
14330 pub const KSPROPERTY_CONNECTION_STARTAT: KSPROPERTY_CONNECTION = KSPROPERTY_CONNECTION(7i32);
14331 impl ::std::convert::From<i32> for KSPROPERTY_CONNECTION {
from(value: i32) -> Self14332     fn from(value: i32) -> Self {
14333         Self(value)
14334     }
14335 }
14336 unsafe impl ::windows::runtime::Abi for KSPROPERTY_CONNECTION {
14337     type Abi = Self;
14338     type DefaultType = Self;
14339 }
14340 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14341 #[repr(transparent)]
14342 pub struct KSPROPERTY_COPYPROT(pub i32);
14343 pub const KSPROPERTY_DVDCOPY_CHLG_KEY: KSPROPERTY_COPYPROT = KSPROPERTY_COPYPROT(1i32);
14344 pub const KSPROPERTY_DVDCOPY_DVD_KEY1: KSPROPERTY_COPYPROT = KSPROPERTY_COPYPROT(2i32);
14345 pub const KSPROPERTY_DVDCOPY_DEC_KEY2: KSPROPERTY_COPYPROT = KSPROPERTY_COPYPROT(3i32);
14346 pub const KSPROPERTY_DVDCOPY_TITLE_KEY: KSPROPERTY_COPYPROT = KSPROPERTY_COPYPROT(4i32);
14347 pub const KSPROPERTY_COPY_MACROVISION: KSPROPERTY_COPYPROT = KSPROPERTY_COPYPROT(5i32);
14348 pub const KSPROPERTY_DVDCOPY_REGION: KSPROPERTY_COPYPROT = KSPROPERTY_COPYPROT(6i32);
14349 pub const KSPROPERTY_DVDCOPY_SET_COPY_STATE: KSPROPERTY_COPYPROT = KSPROPERTY_COPYPROT(7i32);
14350 pub const KSPROPERTY_DVDCOPY_DISC_KEY: KSPROPERTY_COPYPROT = KSPROPERTY_COPYPROT(128i32);
14351 impl ::std::convert::From<i32> for KSPROPERTY_COPYPROT {
from(value: i32) -> Self14352     fn from(value: i32) -> Self {
14353         Self(value)
14354     }
14355 }
14356 unsafe impl ::windows::runtime::Abi for KSPROPERTY_COPYPROT {
14357     type Abi = Self;
14358     type DefaultType = Self;
14359 }
14360 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14361 #[repr(C)]
14362 pub struct KSPROPERTY_CROSSBAR_ACTIVE_S {
14363     pub Property: KSIDENTIFIER,
14364     pub IndexInputPin: u32,
14365     pub Active: u32,
14366 }
14367 impl KSPROPERTY_CROSSBAR_ACTIVE_S {}
14368 impl ::std::default::Default for KSPROPERTY_CROSSBAR_ACTIVE_S {
default() -> Self14369     fn default() -> Self {
14370         unsafe { ::std::mem::zeroed() }
14371     }
14372 }
14373 impl ::std::cmp::PartialEq for KSPROPERTY_CROSSBAR_ACTIVE_S {
eq(&self, _other: &Self) -> bool14374     fn eq(&self, _other: &Self) -> bool {
14375         unimplemented!()
14376     }
14377 }
14378 impl ::std::cmp::Eq for KSPROPERTY_CROSSBAR_ACTIVE_S {}
14379 unsafe impl ::windows::runtime::Abi for KSPROPERTY_CROSSBAR_ACTIVE_S {
14380     type Abi = Self;
14381     type DefaultType = Self;
14382 }
14383 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14384 #[repr(C)]
14385 pub struct KSPROPERTY_CROSSBAR_CAPS_S {
14386     pub Property: KSIDENTIFIER,
14387     pub NumberOfInputs: u32,
14388     pub NumberOfOutputs: u32,
14389 }
14390 impl KSPROPERTY_CROSSBAR_CAPS_S {}
14391 impl ::std::default::Default for KSPROPERTY_CROSSBAR_CAPS_S {
default() -> Self14392     fn default() -> Self {
14393         unsafe { ::std::mem::zeroed() }
14394     }
14395 }
14396 impl ::std::cmp::PartialEq for KSPROPERTY_CROSSBAR_CAPS_S {
eq(&self, _other: &Self) -> bool14397     fn eq(&self, _other: &Self) -> bool {
14398         unimplemented!()
14399     }
14400 }
14401 impl ::std::cmp::Eq for KSPROPERTY_CROSSBAR_CAPS_S {}
14402 unsafe impl ::windows::runtime::Abi for KSPROPERTY_CROSSBAR_CAPS_S {
14403     type Abi = Self;
14404     type DefaultType = Self;
14405 }
14406 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14407 #[repr(C)]
14408 pub struct KSPROPERTY_CROSSBAR_PININFO_S {
14409     pub Property: KSIDENTIFIER,
14410     pub Direction: KSPIN_DATAFLOW,
14411     pub Index: u32,
14412     pub PinType: u32,
14413     pub RelatedPinIndex: u32,
14414     pub Medium: KSIDENTIFIER,
14415 }
14416 impl KSPROPERTY_CROSSBAR_PININFO_S {}
14417 impl ::std::default::Default for KSPROPERTY_CROSSBAR_PININFO_S {
default() -> Self14418     fn default() -> Self {
14419         unsafe { ::std::mem::zeroed() }
14420     }
14421 }
14422 impl ::std::cmp::PartialEq for KSPROPERTY_CROSSBAR_PININFO_S {
eq(&self, _other: &Self) -> bool14423     fn eq(&self, _other: &Self) -> bool {
14424         unimplemented!()
14425     }
14426 }
14427 impl ::std::cmp::Eq for KSPROPERTY_CROSSBAR_PININFO_S {}
14428 unsafe impl ::windows::runtime::Abi for KSPROPERTY_CROSSBAR_PININFO_S {
14429     type Abi = Self;
14430     type DefaultType = Self;
14431 }
14432 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14433 #[repr(C)]
14434 pub struct KSPROPERTY_CROSSBAR_ROUTE_S {
14435     pub Property: KSIDENTIFIER,
14436     pub IndexInputPin: u32,
14437     pub IndexOutputPin: u32,
14438     pub CanRoute: u32,
14439 }
14440 impl KSPROPERTY_CROSSBAR_ROUTE_S {}
14441 impl ::std::default::Default for KSPROPERTY_CROSSBAR_ROUTE_S {
default() -> Self14442     fn default() -> Self {
14443         unsafe { ::std::mem::zeroed() }
14444     }
14445 }
14446 impl ::std::cmp::PartialEq for KSPROPERTY_CROSSBAR_ROUTE_S {
eq(&self, _other: &Self) -> bool14447     fn eq(&self, _other: &Self) -> bool {
14448         unimplemented!()
14449     }
14450 }
14451 impl ::std::cmp::Eq for KSPROPERTY_CROSSBAR_ROUTE_S {}
14452 unsafe impl ::windows::runtime::Abi for KSPROPERTY_CROSSBAR_ROUTE_S {
14453     type Abi = Self;
14454     type DefaultType = Self;
14455 }
14456 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14457 #[repr(transparent)]
14458 pub struct KSPROPERTY_CYCLIC(pub i32);
14459 pub const KSPROPERTY_CYCLIC_POSITION: KSPROPERTY_CYCLIC = KSPROPERTY_CYCLIC(0i32);
14460 impl ::std::convert::From<i32> for KSPROPERTY_CYCLIC {
from(value: i32) -> Self14461     fn from(value: i32) -> Self {
14462         Self(value)
14463     }
14464 }
14465 unsafe impl ::windows::runtime::Abi for KSPROPERTY_CYCLIC {
14466     type Abi = Self;
14467     type DefaultType = Self;
14468 }
14469 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14470 #[repr(C)]
14471 pub struct KSPROPERTY_DESCRIPTION {
14472     pub AccessFlags: u32,
14473     pub DescriptionSize: u32,
14474     pub PropTypeSet: KSIDENTIFIER,
14475     pub MembersListCount: u32,
14476     pub Reserved: u32,
14477 }
14478 impl KSPROPERTY_DESCRIPTION {}
14479 impl ::std::default::Default for KSPROPERTY_DESCRIPTION {
default() -> Self14480     fn default() -> Self {
14481         unsafe { ::std::mem::zeroed() }
14482     }
14483 }
14484 impl ::std::cmp::PartialEq for KSPROPERTY_DESCRIPTION {
eq(&self, _other: &Self) -> bool14485     fn eq(&self, _other: &Self) -> bool {
14486         unimplemented!()
14487     }
14488 }
14489 impl ::std::cmp::Eq for KSPROPERTY_DESCRIPTION {}
14490 unsafe impl ::windows::runtime::Abi for KSPROPERTY_DESCRIPTION {
14491     type Abi = Self;
14492     type DefaultType = Self;
14493 }
14494 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14495 #[repr(transparent)]
14496 pub struct KSPROPERTY_DIRECTSOUND3DBUFFER(pub i32);
14497 pub const KSPROPERTY_DIRECTSOUND3DBUFFER_ALL: KSPROPERTY_DIRECTSOUND3DBUFFER = KSPROPERTY_DIRECTSOUND3DBUFFER(0i32);
14498 pub const KSPROPERTY_DIRECTSOUND3DBUFFER_POSITION: KSPROPERTY_DIRECTSOUND3DBUFFER = KSPROPERTY_DIRECTSOUND3DBUFFER(1i32);
14499 pub const KSPROPERTY_DIRECTSOUND3DBUFFER_VELOCITY: KSPROPERTY_DIRECTSOUND3DBUFFER = KSPROPERTY_DIRECTSOUND3DBUFFER(2i32);
14500 pub const KSPROPERTY_DIRECTSOUND3DBUFFER_CONEANGLES: KSPROPERTY_DIRECTSOUND3DBUFFER = KSPROPERTY_DIRECTSOUND3DBUFFER(3i32);
14501 pub const KSPROPERTY_DIRECTSOUND3DBUFFER_CONEORIENTATION: KSPROPERTY_DIRECTSOUND3DBUFFER = KSPROPERTY_DIRECTSOUND3DBUFFER(4i32);
14502 pub const KSPROPERTY_DIRECTSOUND3DBUFFER_CONEOUTSIDEVOLUME: KSPROPERTY_DIRECTSOUND3DBUFFER = KSPROPERTY_DIRECTSOUND3DBUFFER(5i32);
14503 pub const KSPROPERTY_DIRECTSOUND3DBUFFER_MINDISTANCE: KSPROPERTY_DIRECTSOUND3DBUFFER = KSPROPERTY_DIRECTSOUND3DBUFFER(6i32);
14504 pub const KSPROPERTY_DIRECTSOUND3DBUFFER_MAXDISTANCE: KSPROPERTY_DIRECTSOUND3DBUFFER = KSPROPERTY_DIRECTSOUND3DBUFFER(7i32);
14505 pub const KSPROPERTY_DIRECTSOUND3DBUFFER_MODE: KSPROPERTY_DIRECTSOUND3DBUFFER = KSPROPERTY_DIRECTSOUND3DBUFFER(8i32);
14506 impl ::std::convert::From<i32> for KSPROPERTY_DIRECTSOUND3DBUFFER {
from(value: i32) -> Self14507     fn from(value: i32) -> Self {
14508         Self(value)
14509     }
14510 }
14511 unsafe impl ::windows::runtime::Abi for KSPROPERTY_DIRECTSOUND3DBUFFER {
14512     type Abi = Self;
14513     type DefaultType = Self;
14514 }
14515 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14516 #[repr(transparent)]
14517 pub struct KSPROPERTY_DIRECTSOUND3DLISTENER(pub i32);
14518 pub const KSPROPERTY_DIRECTSOUND3DLISTENER_ALL: KSPROPERTY_DIRECTSOUND3DLISTENER = KSPROPERTY_DIRECTSOUND3DLISTENER(0i32);
14519 pub const KSPROPERTY_DIRECTSOUND3DLISTENER_POSITION: KSPROPERTY_DIRECTSOUND3DLISTENER = KSPROPERTY_DIRECTSOUND3DLISTENER(1i32);
14520 pub const KSPROPERTY_DIRECTSOUND3DLISTENER_VELOCITY: KSPROPERTY_DIRECTSOUND3DLISTENER = KSPROPERTY_DIRECTSOUND3DLISTENER(2i32);
14521 pub const KSPROPERTY_DIRECTSOUND3DLISTENER_ORIENTATION: KSPROPERTY_DIRECTSOUND3DLISTENER = KSPROPERTY_DIRECTSOUND3DLISTENER(3i32);
14522 pub const KSPROPERTY_DIRECTSOUND3DLISTENER_DISTANCEFACTOR: KSPROPERTY_DIRECTSOUND3DLISTENER = KSPROPERTY_DIRECTSOUND3DLISTENER(4i32);
14523 pub const KSPROPERTY_DIRECTSOUND3DLISTENER_ROLLOFFFACTOR: KSPROPERTY_DIRECTSOUND3DLISTENER = KSPROPERTY_DIRECTSOUND3DLISTENER(5i32);
14524 pub const KSPROPERTY_DIRECTSOUND3DLISTENER_DOPPLERFACTOR: KSPROPERTY_DIRECTSOUND3DLISTENER = KSPROPERTY_DIRECTSOUND3DLISTENER(6i32);
14525 pub const KSPROPERTY_DIRECTSOUND3DLISTENER_BATCH: KSPROPERTY_DIRECTSOUND3DLISTENER = KSPROPERTY_DIRECTSOUND3DLISTENER(7i32);
14526 pub const KSPROPERTY_DIRECTSOUND3DLISTENER_ALLOCATION: KSPROPERTY_DIRECTSOUND3DLISTENER = KSPROPERTY_DIRECTSOUND3DLISTENER(8i32);
14527 impl ::std::convert::From<i32> for KSPROPERTY_DIRECTSOUND3DLISTENER {
from(value: i32) -> Self14528     fn from(value: i32) -> Self {
14529         Self(value)
14530     }
14531 }
14532 unsafe impl ::windows::runtime::Abi for KSPROPERTY_DIRECTSOUND3DLISTENER {
14533     type Abi = Self;
14534     type DefaultType = Self;
14535 }
14536 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14537 #[repr(transparent)]
14538 pub struct KSPROPERTY_DRMAUDIOSTREAM(pub i32);
14539 pub const KSPROPERTY_DRMAUDIOSTREAM_CONTENTID: KSPROPERTY_DRMAUDIOSTREAM = KSPROPERTY_DRMAUDIOSTREAM(0i32);
14540 impl ::std::convert::From<i32> for KSPROPERTY_DRMAUDIOSTREAM {
from(value: i32) -> Self14541     fn from(value: i32) -> Self {
14542         Self(value)
14543     }
14544 }
14545 unsafe impl ::windows::runtime::Abi for KSPROPERTY_DRMAUDIOSTREAM {
14546     type Abi = Self;
14547     type DefaultType = Self;
14548 }
14549 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14550 #[repr(C)]
14551 pub struct KSPROPERTY_DROPPEDFRAMES_CURRENT_S {
14552     pub Property: KSIDENTIFIER,
14553     pub PictureNumber: i64,
14554     pub DropCount: i64,
14555     pub AverageFrameSize: u32,
14556 }
14557 impl KSPROPERTY_DROPPEDFRAMES_CURRENT_S {}
14558 impl ::std::default::Default for KSPROPERTY_DROPPEDFRAMES_CURRENT_S {
default() -> Self14559     fn default() -> Self {
14560         unsafe { ::std::mem::zeroed() }
14561     }
14562 }
14563 impl ::std::cmp::PartialEq for KSPROPERTY_DROPPEDFRAMES_CURRENT_S {
eq(&self, _other: &Self) -> bool14564     fn eq(&self, _other: &Self) -> bool {
14565         unimplemented!()
14566     }
14567 }
14568 impl ::std::cmp::Eq for KSPROPERTY_DROPPEDFRAMES_CURRENT_S {}
14569 unsafe impl ::windows::runtime::Abi for KSPROPERTY_DROPPEDFRAMES_CURRENT_S {
14570     type Abi = Self;
14571     type DefaultType = Self;
14572 }
14573 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14574 #[repr(transparent)]
14575 pub struct KSPROPERTY_DVDSUBPIC(pub i32);
14576 pub const KSPROPERTY_DVDSUBPIC_PALETTE: KSPROPERTY_DVDSUBPIC = KSPROPERTY_DVDSUBPIC(0i32);
14577 pub const KSPROPERTY_DVDSUBPIC_HLI: KSPROPERTY_DVDSUBPIC = KSPROPERTY_DVDSUBPIC(1i32);
14578 pub const KSPROPERTY_DVDSUBPIC_COMPOSIT_ON: KSPROPERTY_DVDSUBPIC = KSPROPERTY_DVDSUBPIC(2i32);
14579 impl ::std::convert::From<i32> for KSPROPERTY_DVDSUBPIC {
from(value: i32) -> Self14580     fn from(value: i32) -> Self {
14581         Self(value)
14582     }
14583 }
14584 unsafe impl ::windows::runtime::Abi for KSPROPERTY_DVDSUBPIC {
14585     type Abi = Self;
14586     type DefaultType = Self;
14587 }
14588 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14589 #[repr(transparent)]
14590 pub struct KSPROPERTY_EXTDEVICE(pub i32);
14591 pub const KSPROPERTY_EXTDEVICE_ID: KSPROPERTY_EXTDEVICE = KSPROPERTY_EXTDEVICE(0i32);
14592 pub const KSPROPERTY_EXTDEVICE_VERSION: KSPROPERTY_EXTDEVICE = KSPROPERTY_EXTDEVICE(1i32);
14593 pub const KSPROPERTY_EXTDEVICE_POWER_STATE: KSPROPERTY_EXTDEVICE = KSPROPERTY_EXTDEVICE(2i32);
14594 pub const KSPROPERTY_EXTDEVICE_PORT: KSPROPERTY_EXTDEVICE = KSPROPERTY_EXTDEVICE(3i32);
14595 pub const KSPROPERTY_EXTDEVICE_CAPABILITIES: KSPROPERTY_EXTDEVICE = KSPROPERTY_EXTDEVICE(4i32);
14596 impl ::std::convert::From<i32> for KSPROPERTY_EXTDEVICE {
from(value: i32) -> Self14597     fn from(value: i32) -> Self {
14598         Self(value)
14599     }
14600 }
14601 unsafe impl ::windows::runtime::Abi for KSPROPERTY_EXTDEVICE {
14602     type Abi = Self;
14603     type DefaultType = Self;
14604 }
14605 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14606 #[repr(C)]
14607 pub struct KSPROPERTY_EXTDEVICE_S {
14608     pub Property: KSIDENTIFIER,
14609     pub u: KSPROPERTY_EXTDEVICE_S_0,
14610 }
14611 impl KSPROPERTY_EXTDEVICE_S {}
14612 impl ::std::default::Default for KSPROPERTY_EXTDEVICE_S {
default() -> Self14613     fn default() -> Self {
14614         unsafe { ::std::mem::zeroed() }
14615     }
14616 }
14617 impl ::std::cmp::PartialEq for KSPROPERTY_EXTDEVICE_S {
eq(&self, _other: &Self) -> bool14618     fn eq(&self, _other: &Self) -> bool {
14619         unimplemented!()
14620     }
14621 }
14622 impl ::std::cmp::Eq for KSPROPERTY_EXTDEVICE_S {}
14623 unsafe impl ::windows::runtime::Abi for KSPROPERTY_EXTDEVICE_S {
14624     type Abi = Self;
14625     type DefaultType = Self;
14626 }
14627 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14628 #[repr(C)]
14629 pub union KSPROPERTY_EXTDEVICE_S_0 {
14630     pub Capabilities: DEVCAPS,
14631     pub DevPort: u32,
14632     pub PowerState: u32,
14633     pub pawchString: [u16; 260],
14634     pub NodeUniqueID: [u32; 2],
14635 }
14636 impl KSPROPERTY_EXTDEVICE_S_0 {}
14637 impl ::std::default::Default for KSPROPERTY_EXTDEVICE_S_0 {
default() -> Self14638     fn default() -> Self {
14639         unsafe { ::std::mem::zeroed() }
14640     }
14641 }
14642 impl ::std::cmp::PartialEq for KSPROPERTY_EXTDEVICE_S_0 {
eq(&self, _other: &Self) -> bool14643     fn eq(&self, _other: &Self) -> bool {
14644         unimplemented!()
14645     }
14646 }
14647 impl ::std::cmp::Eq for KSPROPERTY_EXTDEVICE_S_0 {}
14648 unsafe impl ::windows::runtime::Abi for KSPROPERTY_EXTDEVICE_S_0 {
14649     type Abi = Self;
14650     type DefaultType = Self;
14651 }
14652 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14653 #[repr(transparent)]
14654 pub struct KSPROPERTY_EXTENSION_UNIT(pub i32);
14655 pub const KSPROPERTY_EXTENSION_UNIT_INFO: KSPROPERTY_EXTENSION_UNIT = KSPROPERTY_EXTENSION_UNIT(0i32);
14656 pub const KSPROPERTY_EXTENSION_UNIT_CONTROL: KSPROPERTY_EXTENSION_UNIT = KSPROPERTY_EXTENSION_UNIT(1i32);
14657 pub const KSPROPERTY_EXTENSION_UNIT_PASS_THROUGH: KSPROPERTY_EXTENSION_UNIT = KSPROPERTY_EXTENSION_UNIT(65535i32);
14658 impl ::std::convert::From<i32> for KSPROPERTY_EXTENSION_UNIT {
from(value: i32) -> Self14659     fn from(value: i32) -> Self {
14660         Self(value)
14661     }
14662 }
14663 unsafe impl ::windows::runtime::Abi for KSPROPERTY_EXTENSION_UNIT {
14664     type Abi = Self;
14665     type DefaultType = Self;
14666 }
14667 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14668 #[repr(transparent)]
14669 pub struct KSPROPERTY_EXTXPORT(pub i32);
14670 pub const KSPROPERTY_EXTXPORT_CAPABILITIES: KSPROPERTY_EXTXPORT = KSPROPERTY_EXTXPORT(0i32);
14671 pub const KSPROPERTY_EXTXPORT_INPUT_SIGNAL_MODE: KSPROPERTY_EXTXPORT = KSPROPERTY_EXTXPORT(1i32);
14672 pub const KSPROPERTY_EXTXPORT_OUTPUT_SIGNAL_MODE: KSPROPERTY_EXTXPORT = KSPROPERTY_EXTXPORT(2i32);
14673 pub const KSPROPERTY_EXTXPORT_LOAD_MEDIUM: KSPROPERTY_EXTXPORT = KSPROPERTY_EXTXPORT(3i32);
14674 pub const KSPROPERTY_EXTXPORT_MEDIUM_INFO: KSPROPERTY_EXTXPORT = KSPROPERTY_EXTXPORT(4i32);
14675 pub const KSPROPERTY_EXTXPORT_STATE: KSPROPERTY_EXTXPORT = KSPROPERTY_EXTXPORT(5i32);
14676 pub const KSPROPERTY_EXTXPORT_STATE_NOTIFY: KSPROPERTY_EXTXPORT = KSPROPERTY_EXTXPORT(6i32);
14677 pub const KSPROPERTY_EXTXPORT_TIMECODE_SEARCH: KSPROPERTY_EXTXPORT = KSPROPERTY_EXTXPORT(7i32);
14678 pub const KSPROPERTY_EXTXPORT_ATN_SEARCH: KSPROPERTY_EXTXPORT = KSPROPERTY_EXTXPORT(8i32);
14679 pub const KSPROPERTY_EXTXPORT_RTC_SEARCH: KSPROPERTY_EXTXPORT = KSPROPERTY_EXTXPORT(9i32);
14680 pub const KSPROPERTY_RAW_AVC_CMD: KSPROPERTY_EXTXPORT = KSPROPERTY_EXTXPORT(10i32);
14681 impl ::std::convert::From<i32> for KSPROPERTY_EXTXPORT {
from(value: i32) -> Self14682     fn from(value: i32) -> Self {
14683         Self(value)
14684     }
14685 }
14686 unsafe impl ::windows::runtime::Abi for KSPROPERTY_EXTXPORT {
14687     type Abi = Self;
14688     type DefaultType = Self;
14689 }
14690 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14691 #[repr(C)]
14692 #[cfg(feature = "Win32_Foundation")]
14693 pub struct KSPROPERTY_EXTXPORT_NODE_S {
14694     pub NodeProperty: KSP_NODE,
14695     pub u: KSPROPERTY_EXTXPORT_NODE_S_0,
14696 }
14697 #[cfg(feature = "Win32_Foundation")]
14698 impl KSPROPERTY_EXTXPORT_NODE_S {}
14699 #[cfg(feature = "Win32_Foundation")]
14700 impl ::std::default::Default for KSPROPERTY_EXTXPORT_NODE_S {
default() -> Self14701     fn default() -> Self {
14702         unsafe { ::std::mem::zeroed() }
14703     }
14704 }
14705 #[cfg(feature = "Win32_Foundation")]
14706 impl ::std::cmp::PartialEq for KSPROPERTY_EXTXPORT_NODE_S {
eq(&self, _other: &Self) -> bool14707     fn eq(&self, _other: &Self) -> bool {
14708         unimplemented!()
14709     }
14710 }
14711 #[cfg(feature = "Win32_Foundation")]
14712 impl ::std::cmp::Eq for KSPROPERTY_EXTXPORT_NODE_S {}
14713 #[cfg(feature = "Win32_Foundation")]
14714 unsafe impl ::windows::runtime::Abi for KSPROPERTY_EXTXPORT_NODE_S {
14715     type Abi = Self;
14716     type DefaultType = Self;
14717 }
14718 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14719 #[repr(C)]
14720 #[cfg(feature = "Win32_Foundation")]
14721 pub union KSPROPERTY_EXTXPORT_NODE_S_0 {
14722     pub Capabilities: u32,
14723     pub SignalMode: u32,
14724     pub LoadMedium: u32,
14725     pub MediumInfo: MEDIUM_INFO,
14726     pub XPrtState: TRANSPORT_STATE,
14727     pub Timecode: KSPROPERTY_EXTXPORT_NODE_S_0_1,
14728     pub dwTimecode: u32,
14729     pub dwAbsTrackNumber: u32,
14730     pub RawAVC: KSPROPERTY_EXTXPORT_NODE_S_0_0,
14731 }
14732 #[cfg(feature = "Win32_Foundation")]
14733 impl KSPROPERTY_EXTXPORT_NODE_S_0 {}
14734 #[cfg(feature = "Win32_Foundation")]
14735 impl ::std::default::Default for KSPROPERTY_EXTXPORT_NODE_S_0 {
default() -> Self14736     fn default() -> Self {
14737         unsafe { ::std::mem::zeroed() }
14738     }
14739 }
14740 #[cfg(feature = "Win32_Foundation")]
14741 impl ::std::cmp::PartialEq for KSPROPERTY_EXTXPORT_NODE_S_0 {
eq(&self, _other: &Self) -> bool14742     fn eq(&self, _other: &Self) -> bool {
14743         unimplemented!()
14744     }
14745 }
14746 #[cfg(feature = "Win32_Foundation")]
14747 impl ::std::cmp::Eq for KSPROPERTY_EXTXPORT_NODE_S_0 {}
14748 #[cfg(feature = "Win32_Foundation")]
14749 unsafe impl ::windows::runtime::Abi for KSPROPERTY_EXTXPORT_NODE_S_0 {
14750     type Abi = Self;
14751     type DefaultType = Self;
14752 }
14753 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14754 #[repr(C)]
14755 pub struct KSPROPERTY_EXTXPORT_NODE_S_0_0 {
14756     pub PayloadSize: u32,
14757     pub Payload: [u8; 512],
14758 }
14759 impl KSPROPERTY_EXTXPORT_NODE_S_0_0 {}
14760 impl ::std::default::Default for KSPROPERTY_EXTXPORT_NODE_S_0_0 {
default() -> Self14761     fn default() -> Self {
14762         unsafe { ::std::mem::zeroed() }
14763     }
14764 }
14765 impl ::std::fmt::Debug for KSPROPERTY_EXTXPORT_NODE_S_0_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result14766     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14767         fmt.debug_struct("_RawAVC_e__Struct").field("PayloadSize", &self.PayloadSize).field("Payload", &self.Payload).finish()
14768     }
14769 }
14770 impl ::std::cmp::PartialEq for KSPROPERTY_EXTXPORT_NODE_S_0_0 {
eq(&self, other: &Self) -> bool14771     fn eq(&self, other: &Self) -> bool {
14772         self.PayloadSize == other.PayloadSize && self.Payload == other.Payload
14773     }
14774 }
14775 impl ::std::cmp::Eq for KSPROPERTY_EXTXPORT_NODE_S_0_0 {}
14776 unsafe impl ::windows::runtime::Abi for KSPROPERTY_EXTXPORT_NODE_S_0_0 {
14777     type Abi = Self;
14778     type DefaultType = Self;
14779 }
14780 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14781 #[repr(C)]
14782 pub struct KSPROPERTY_EXTXPORT_NODE_S_0_1 {
14783     pub frame: u8,
14784     pub second: u8,
14785     pub minute: u8,
14786     pub hour: u8,
14787 }
14788 impl KSPROPERTY_EXTXPORT_NODE_S_0_1 {}
14789 impl ::std::default::Default for KSPROPERTY_EXTXPORT_NODE_S_0_1 {
default() -> Self14790     fn default() -> Self {
14791         unsafe { ::std::mem::zeroed() }
14792     }
14793 }
14794 impl ::std::fmt::Debug for KSPROPERTY_EXTXPORT_NODE_S_0_1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result14795     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14796         fmt.debug_struct("_Timecode_e__Struct").field("frame", &self.frame).field("second", &self.second).field("minute", &self.minute).field("hour", &self.hour).finish()
14797     }
14798 }
14799 impl ::std::cmp::PartialEq for KSPROPERTY_EXTXPORT_NODE_S_0_1 {
eq(&self, other: &Self) -> bool14800     fn eq(&self, other: &Self) -> bool {
14801         self.frame == other.frame && self.second == other.second && self.minute == other.minute && self.hour == other.hour
14802     }
14803 }
14804 impl ::std::cmp::Eq for KSPROPERTY_EXTXPORT_NODE_S_0_1 {}
14805 unsafe impl ::windows::runtime::Abi for KSPROPERTY_EXTXPORT_NODE_S_0_1 {
14806     type Abi = Self;
14807     type DefaultType = Self;
14808 }
14809 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14810 #[repr(C)]
14811 #[cfg(feature = "Win32_Foundation")]
14812 pub struct KSPROPERTY_EXTXPORT_S {
14813     pub Property: KSIDENTIFIER,
14814     pub u: KSPROPERTY_EXTXPORT_S_0,
14815 }
14816 #[cfg(feature = "Win32_Foundation")]
14817 impl KSPROPERTY_EXTXPORT_S {}
14818 #[cfg(feature = "Win32_Foundation")]
14819 impl ::std::default::Default for KSPROPERTY_EXTXPORT_S {
default() -> Self14820     fn default() -> Self {
14821         unsafe { ::std::mem::zeroed() }
14822     }
14823 }
14824 #[cfg(feature = "Win32_Foundation")]
14825 impl ::std::cmp::PartialEq for KSPROPERTY_EXTXPORT_S {
eq(&self, _other: &Self) -> bool14826     fn eq(&self, _other: &Self) -> bool {
14827         unimplemented!()
14828     }
14829 }
14830 #[cfg(feature = "Win32_Foundation")]
14831 impl ::std::cmp::Eq for KSPROPERTY_EXTXPORT_S {}
14832 #[cfg(feature = "Win32_Foundation")]
14833 unsafe impl ::windows::runtime::Abi for KSPROPERTY_EXTXPORT_S {
14834     type Abi = Self;
14835     type DefaultType = Self;
14836 }
14837 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14838 #[repr(C)]
14839 #[cfg(feature = "Win32_Foundation")]
14840 pub union KSPROPERTY_EXTXPORT_S_0 {
14841     pub Capabilities: u32,
14842     pub SignalMode: u32,
14843     pub LoadMedium: u32,
14844     pub MediumInfo: MEDIUM_INFO,
14845     pub XPrtState: TRANSPORT_STATE,
14846     pub Timecode: KSPROPERTY_EXTXPORT_S_0_1,
14847     pub dwTimecode: u32,
14848     pub dwAbsTrackNumber: u32,
14849     pub RawAVC: KSPROPERTY_EXTXPORT_S_0_0,
14850 }
14851 #[cfg(feature = "Win32_Foundation")]
14852 impl KSPROPERTY_EXTXPORT_S_0 {}
14853 #[cfg(feature = "Win32_Foundation")]
14854 impl ::std::default::Default for KSPROPERTY_EXTXPORT_S_0 {
default() -> Self14855     fn default() -> Self {
14856         unsafe { ::std::mem::zeroed() }
14857     }
14858 }
14859 #[cfg(feature = "Win32_Foundation")]
14860 impl ::std::cmp::PartialEq for KSPROPERTY_EXTXPORT_S_0 {
eq(&self, _other: &Self) -> bool14861     fn eq(&self, _other: &Self) -> bool {
14862         unimplemented!()
14863     }
14864 }
14865 #[cfg(feature = "Win32_Foundation")]
14866 impl ::std::cmp::Eq for KSPROPERTY_EXTXPORT_S_0 {}
14867 #[cfg(feature = "Win32_Foundation")]
14868 unsafe impl ::windows::runtime::Abi for KSPROPERTY_EXTXPORT_S_0 {
14869     type Abi = Self;
14870     type DefaultType = Self;
14871 }
14872 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14873 #[repr(C)]
14874 pub struct KSPROPERTY_EXTXPORT_S_0_0 {
14875     pub PayloadSize: u32,
14876     pub Payload: [u8; 512],
14877 }
14878 impl KSPROPERTY_EXTXPORT_S_0_0 {}
14879 impl ::std::default::Default for KSPROPERTY_EXTXPORT_S_0_0 {
default() -> Self14880     fn default() -> Self {
14881         unsafe { ::std::mem::zeroed() }
14882     }
14883 }
14884 impl ::std::fmt::Debug for KSPROPERTY_EXTXPORT_S_0_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result14885     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14886         fmt.debug_struct("_RawAVC_e__Struct").field("PayloadSize", &self.PayloadSize).field("Payload", &self.Payload).finish()
14887     }
14888 }
14889 impl ::std::cmp::PartialEq for KSPROPERTY_EXTXPORT_S_0_0 {
eq(&self, other: &Self) -> bool14890     fn eq(&self, other: &Self) -> bool {
14891         self.PayloadSize == other.PayloadSize && self.Payload == other.Payload
14892     }
14893 }
14894 impl ::std::cmp::Eq for KSPROPERTY_EXTXPORT_S_0_0 {}
14895 unsafe impl ::windows::runtime::Abi for KSPROPERTY_EXTXPORT_S_0_0 {
14896     type Abi = Self;
14897     type DefaultType = Self;
14898 }
14899 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14900 #[repr(C)]
14901 pub struct KSPROPERTY_EXTXPORT_S_0_1 {
14902     pub frame: u8,
14903     pub second: u8,
14904     pub minute: u8,
14905     pub hour: u8,
14906 }
14907 impl KSPROPERTY_EXTXPORT_S_0_1 {}
14908 impl ::std::default::Default for KSPROPERTY_EXTXPORT_S_0_1 {
default() -> Self14909     fn default() -> Self {
14910         unsafe { ::std::mem::zeroed() }
14911     }
14912 }
14913 impl ::std::fmt::Debug for KSPROPERTY_EXTXPORT_S_0_1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result14914     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14915         fmt.debug_struct("_Timecode_e__Struct").field("frame", &self.frame).field("second", &self.second).field("minute", &self.minute).field("hour", &self.hour).finish()
14916     }
14917 }
14918 impl ::std::cmp::PartialEq for KSPROPERTY_EXTXPORT_S_0_1 {
eq(&self, other: &Self) -> bool14919     fn eq(&self, other: &Self) -> bool {
14920         self.frame == other.frame && self.second == other.second && self.minute == other.minute && self.hour == other.hour
14921     }
14922 }
14923 impl ::std::cmp::Eq for KSPROPERTY_EXTXPORT_S_0_1 {}
14924 unsafe impl ::windows::runtime::Abi for KSPROPERTY_EXTXPORT_S_0_1 {
14925     type Abi = Self;
14926     type DefaultType = Self;
14927 }
14928 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14929 #[repr(transparent)]
14930 pub struct KSPROPERTY_FMRX_CONTROL(pub i32);
14931 pub const KSPROPERTY_FMRX_STATE: KSPROPERTY_FMRX_CONTROL = KSPROPERTY_FMRX_CONTROL(0i32);
14932 impl ::std::convert::From<i32> for KSPROPERTY_FMRX_CONTROL {
from(value: i32) -> Self14933     fn from(value: i32) -> Self {
14934         Self(value)
14935     }
14936 }
14937 unsafe impl ::windows::runtime::Abi for KSPROPERTY_FMRX_CONTROL {
14938     type Abi = Self;
14939     type DefaultType = Self;
14940 }
14941 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14942 #[repr(transparent)]
14943 pub struct KSPROPERTY_FMRX_TOPOLOGY(pub i32);
14944 pub const KSPROPERTY_FMRX_ENDPOINTID: KSPROPERTY_FMRX_TOPOLOGY = KSPROPERTY_FMRX_TOPOLOGY(0i32);
14945 pub const KSPROPERTY_FMRX_VOLUME: KSPROPERTY_FMRX_TOPOLOGY = KSPROPERTY_FMRX_TOPOLOGY(1i32);
14946 pub const KSPROPERTY_FMRX_ANTENNAENDPOINTID: KSPROPERTY_FMRX_TOPOLOGY = KSPROPERTY_FMRX_TOPOLOGY(2i32);
14947 impl ::std::convert::From<i32> for KSPROPERTY_FMRX_TOPOLOGY {
from(value: i32) -> Self14948     fn from(value: i32) -> Self {
14949         Self(value)
14950     }
14951 }
14952 unsafe impl ::windows::runtime::Abi for KSPROPERTY_FMRX_TOPOLOGY {
14953     type Abi = Self;
14954     type DefaultType = Self;
14955 }
14956 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14957 #[repr(transparent)]
14958 pub struct KSPROPERTY_GENERAL(pub i32);
14959 pub const KSPROPERTY_GENERAL_COMPONENTID: KSPROPERTY_GENERAL = KSPROPERTY_GENERAL(0i32);
14960 impl ::std::convert::From<i32> for KSPROPERTY_GENERAL {
from(value: i32) -> Self14961     fn from(value: i32) -> Self {
14962         Self(value)
14963     }
14964 }
14965 unsafe impl ::windows::runtime::Abi for KSPROPERTY_GENERAL {
14966     type Abi = Self;
14967     type DefaultType = Self;
14968 }
14969 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14970 #[repr(transparent)]
14971 pub struct KSPROPERTY_HRTF3D(pub i32);
14972 pub const KSPROPERTY_HRTF3D_PARAMS: KSPROPERTY_HRTF3D = KSPROPERTY_HRTF3D(0i32);
14973 pub const KSPROPERTY_HRTF3D_INITIALIZE: KSPROPERTY_HRTF3D = KSPROPERTY_HRTF3D(1i32);
14974 pub const KSPROPERTY_HRTF3D_FILTER_FORMAT: KSPROPERTY_HRTF3D = KSPROPERTY_HRTF3D(2i32);
14975 impl ::std::convert::From<i32> for KSPROPERTY_HRTF3D {
from(value: i32) -> Self14976     fn from(value: i32) -> Self {
14977         Self(value)
14978     }
14979 }
14980 unsafe impl ::windows::runtime::Abi for KSPROPERTY_HRTF3D {
14981     type Abi = Self;
14982     type DefaultType = Self;
14983 }
14984 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14985 #[repr(transparent)]
14986 pub struct KSPROPERTY_INTERLEAVEDAUDIO(pub i32);
14987 pub const KSPROPERTY_INTERLEAVEDAUDIO_FORMATINFORMATION: KSPROPERTY_INTERLEAVEDAUDIO = KSPROPERTY_INTERLEAVEDAUDIO(1i32);
14988 impl ::std::convert::From<i32> for KSPROPERTY_INTERLEAVEDAUDIO {
from(value: i32) -> Self14989     fn from(value: i32) -> Self {
14990         Self(value)
14991     }
14992 }
14993 unsafe impl ::windows::runtime::Abi for KSPROPERTY_INTERLEAVEDAUDIO {
14994     type Abi = Self;
14995     type DefaultType = Self;
14996 }
14997 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14998 #[repr(transparent)]
14999 pub struct KSPROPERTY_ITD3D(pub i32);
15000 pub const KSPROPERTY_ITD3D_PARAMS: KSPROPERTY_ITD3D = KSPROPERTY_ITD3D(0i32);
15001 impl ::std::convert::From<i32> for KSPROPERTY_ITD3D {
from(value: i32) -> Self15002     fn from(value: i32) -> Self {
15003         Self(value)
15004     }
15005 }
15006 unsafe impl ::windows::runtime::Abi for KSPROPERTY_ITD3D {
15007     type Abi = Self;
15008     type DefaultType = Self;
15009 }
15010 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15011 #[repr(transparent)]
15012 pub struct KSPROPERTY_JACK(pub i32);
15013 pub const KSPROPERTY_JACK_DESCRIPTION: KSPROPERTY_JACK = KSPROPERTY_JACK(1i32);
15014 pub const KSPROPERTY_JACK_DESCRIPTION2: KSPROPERTY_JACK = KSPROPERTY_JACK(2i32);
15015 pub const KSPROPERTY_JACK_SINK_INFO: KSPROPERTY_JACK = KSPROPERTY_JACK(3i32);
15016 pub const KSPROPERTY_JACK_CONTAINERID: KSPROPERTY_JACK = KSPROPERTY_JACK(4i32);
15017 impl ::std::convert::From<i32> for KSPROPERTY_JACK {
from(value: i32) -> Self15018     fn from(value: i32) -> Self {
15019         Self(value)
15020     }
15021 }
15022 unsafe impl ::windows::runtime::Abi for KSPROPERTY_JACK {
15023     type Abi = Self;
15024     type DefaultType = Self;
15025 }
15026 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15027 #[repr(C)]
15028 pub struct KSPROPERTY_MEDIAAVAILABLE {
15029     pub Earliest: i64,
15030     pub Latest: i64,
15031 }
15032 impl KSPROPERTY_MEDIAAVAILABLE {}
15033 impl ::std::default::Default for KSPROPERTY_MEDIAAVAILABLE {
default() -> Self15034     fn default() -> Self {
15035         unsafe { ::std::mem::zeroed() }
15036     }
15037 }
15038 impl ::std::fmt::Debug for KSPROPERTY_MEDIAAVAILABLE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result15039     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
15040         fmt.debug_struct("KSPROPERTY_MEDIAAVAILABLE").field("Earliest", &self.Earliest).field("Latest", &self.Latest).finish()
15041     }
15042 }
15043 impl ::std::cmp::PartialEq for KSPROPERTY_MEDIAAVAILABLE {
eq(&self, other: &Self) -> bool15044     fn eq(&self, other: &Self) -> bool {
15045         self.Earliest == other.Earliest && self.Latest == other.Latest
15046     }
15047 }
15048 impl ::std::cmp::Eq for KSPROPERTY_MEDIAAVAILABLE {}
15049 unsafe impl ::windows::runtime::Abi for KSPROPERTY_MEDIAAVAILABLE {
15050     type Abi = Self;
15051     type DefaultType = Self;
15052 }
15053 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15054 #[repr(transparent)]
15055 pub struct KSPROPERTY_MEDIASEEKING(pub i32);
15056 pub const KSPROPERTY_MEDIASEEKING_CAPABILITIES: KSPROPERTY_MEDIASEEKING = KSPROPERTY_MEDIASEEKING(0i32);
15057 pub const KSPROPERTY_MEDIASEEKING_FORMATS: KSPROPERTY_MEDIASEEKING = KSPROPERTY_MEDIASEEKING(1i32);
15058 pub const KSPROPERTY_MEDIASEEKING_TIMEFORMAT: KSPROPERTY_MEDIASEEKING = KSPROPERTY_MEDIASEEKING(2i32);
15059 pub const KSPROPERTY_MEDIASEEKING_POSITION: KSPROPERTY_MEDIASEEKING = KSPROPERTY_MEDIASEEKING(3i32);
15060 pub const KSPROPERTY_MEDIASEEKING_STOPPOSITION: KSPROPERTY_MEDIASEEKING = KSPROPERTY_MEDIASEEKING(4i32);
15061 pub const KSPROPERTY_MEDIASEEKING_POSITIONS: KSPROPERTY_MEDIASEEKING = KSPROPERTY_MEDIASEEKING(5i32);
15062 pub const KSPROPERTY_MEDIASEEKING_DURATION: KSPROPERTY_MEDIASEEKING = KSPROPERTY_MEDIASEEKING(6i32);
15063 pub const KSPROPERTY_MEDIASEEKING_AVAILABLE: KSPROPERTY_MEDIASEEKING = KSPROPERTY_MEDIASEEKING(7i32);
15064 pub const KSPROPERTY_MEDIASEEKING_PREROLL: KSPROPERTY_MEDIASEEKING = KSPROPERTY_MEDIASEEKING(8i32);
15065 pub const KSPROPERTY_MEDIASEEKING_CONVERTTIMEFORMAT: KSPROPERTY_MEDIASEEKING = KSPROPERTY_MEDIASEEKING(9i32);
15066 impl ::std::convert::From<i32> for KSPROPERTY_MEDIASEEKING {
from(value: i32) -> Self15067     fn from(value: i32) -> Self {
15068         Self(value)
15069     }
15070 }
15071 unsafe impl ::windows::runtime::Abi for KSPROPERTY_MEDIASEEKING {
15072     type Abi = Self;
15073     type DefaultType = Self;
15074 }
15075 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15076 #[repr(C)]
15077 pub struct KSPROPERTY_MEMBERSHEADER {
15078     pub MembersFlags: u32,
15079     pub MembersSize: u32,
15080     pub MembersCount: u32,
15081     pub Flags: u32,
15082 }
15083 impl KSPROPERTY_MEMBERSHEADER {}
15084 impl ::std::default::Default for KSPROPERTY_MEMBERSHEADER {
default() -> Self15085     fn default() -> Self {
15086         unsafe { ::std::mem::zeroed() }
15087     }
15088 }
15089 impl ::std::fmt::Debug for KSPROPERTY_MEMBERSHEADER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result15090     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
15091         fmt.debug_struct("KSPROPERTY_MEMBERSHEADER").field("MembersFlags", &self.MembersFlags).field("MembersSize", &self.MembersSize).field("MembersCount", &self.MembersCount).field("Flags", &self.Flags).finish()
15092     }
15093 }
15094 impl ::std::cmp::PartialEq for KSPROPERTY_MEMBERSHEADER {
eq(&self, other: &Self) -> bool15095     fn eq(&self, other: &Self) -> bool {
15096         self.MembersFlags == other.MembersFlags && self.MembersSize == other.MembersSize && self.MembersCount == other.MembersCount && self.Flags == other.Flags
15097     }
15098 }
15099 impl ::std::cmp::Eq for KSPROPERTY_MEMBERSHEADER {}
15100 unsafe impl ::windows::runtime::Abi for KSPROPERTY_MEMBERSHEADER {
15101     type Abi = Self;
15102     type DefaultType = Self;
15103 }
15104 pub const KSPROPERTY_MEMBER_FLAG_BASICSUPPORT_MULTICHANNEL: u32 = 2u32;
15105 pub const KSPROPERTY_MEMBER_FLAG_BASICSUPPORT_UNIFORM: u32 = 4u32;
15106 pub const KSPROPERTY_MEMBER_FLAG_DEFAULT: u32 = 1u32;
15107 pub const KSPROPERTY_MEMBER_RANGES: u32 = 1u32;
15108 pub const KSPROPERTY_MEMBER_STEPPEDRANGES: u32 = 2u32;
15109 pub const KSPROPERTY_MEMBER_VALUES: u32 = 3u32;
15110 pub const KSPROPERTY_MEMORY_TRANSPORT: i32 = 1i32;
15111 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15112 #[repr(transparent)]
15113 pub struct KSPROPERTY_MPEG2VID(pub i32);
15114 pub const KSPROPERTY_MPEG2VID_MODES: KSPROPERTY_MPEG2VID = KSPROPERTY_MPEG2VID(0i32);
15115 pub const KSPROPERTY_MPEG2VID_CUR_MODE: KSPROPERTY_MPEG2VID = KSPROPERTY_MPEG2VID(1i32);
15116 pub const KSPROPERTY_MPEG2VID_4_3_RECT: KSPROPERTY_MPEG2VID = KSPROPERTY_MPEG2VID(2i32);
15117 pub const KSPROPERTY_MPEG2VID_16_9_RECT: KSPROPERTY_MPEG2VID = KSPROPERTY_MPEG2VID(3i32);
15118 pub const KSPROPERTY_MPEG2VID_16_9_PANSCAN: KSPROPERTY_MPEG2VID = KSPROPERTY_MPEG2VID(4i32);
15119 impl ::std::convert::From<i32> for KSPROPERTY_MPEG2VID {
from(value: i32) -> Self15120     fn from(value: i32) -> Self {
15121         Self(value)
15122     }
15123 }
15124 unsafe impl ::windows::runtime::Abi for KSPROPERTY_MPEG2VID {
15125     type Abi = Self;
15126     type DefaultType = Self;
15127 }
15128 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15129 #[repr(transparent)]
15130 pub struct KSPROPERTY_MPEG4_MEDIATYPE_ATTRIBUTES(pub i32);
15131 pub const KSPROPERTY_MPEG4_MEDIATYPE_SD_BOX: KSPROPERTY_MPEG4_MEDIATYPE_ATTRIBUTES = KSPROPERTY_MPEG4_MEDIATYPE_ATTRIBUTES(1i32);
15132 impl ::std::convert::From<i32> for KSPROPERTY_MPEG4_MEDIATYPE_ATTRIBUTES {
from(value: i32) -> Self15133     fn from(value: i32) -> Self {
15134         Self(value)
15135     }
15136 }
15137 unsafe impl ::windows::runtime::Abi for KSPROPERTY_MPEG4_MEDIATYPE_ATTRIBUTES {
15138     type Abi = Self;
15139     type DefaultType = Self;
15140 }
15141 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15142 #[repr(C)]
15143 pub struct KSPROPERTY_NETWORKCAMERACONTROL_EVENT_INFO {
15144     pub Header: KSCAMERA_METADATA_ITEMHEADER,
15145     pub EventFilter: [u16; 1],
15146 }
15147 impl KSPROPERTY_NETWORKCAMERACONTROL_EVENT_INFO {}
15148 impl ::std::default::Default for KSPROPERTY_NETWORKCAMERACONTROL_EVENT_INFO {
default() -> Self15149     fn default() -> Self {
15150         unsafe { ::std::mem::zeroed() }
15151     }
15152 }
15153 impl ::std::fmt::Debug for KSPROPERTY_NETWORKCAMERACONTROL_EVENT_INFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result15154     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
15155         fmt.debug_struct("KSPROPERTY_NETWORKCAMERACONTROL_EVENT_INFO").field("Header", &self.Header).field("EventFilter", &self.EventFilter).finish()
15156     }
15157 }
15158 impl ::std::cmp::PartialEq for KSPROPERTY_NETWORKCAMERACONTROL_EVENT_INFO {
eq(&self, other: &Self) -> bool15159     fn eq(&self, other: &Self) -> bool {
15160         self.Header == other.Header && self.EventFilter == other.EventFilter
15161     }
15162 }
15163 impl ::std::cmp::Eq for KSPROPERTY_NETWORKCAMERACONTROL_EVENT_INFO {}
15164 unsafe impl ::windows::runtime::Abi for KSPROPERTY_NETWORKCAMERACONTROL_EVENT_INFO {
15165     type Abi = Self;
15166     type DefaultType = Self;
15167 }
15168 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15169 #[repr(C)]
15170 #[cfg(feature = "Win32_Foundation")]
15171 pub struct KSPROPERTY_NETWORKCAMERACONTROL_METADATA_INFO {
15172     pub MetadataItems: u32,
15173     pub Size: u32,
15174     pub PTZStatus: super::super::super::Foundation::BOOL,
15175     pub Events: super::super::super::Foundation::BOOL,
15176     pub Analytics: super::super::super::Foundation::BOOL,
15177     pub Reserved: super::super::super::Foundation::BOOL,
15178 }
15179 #[cfg(feature = "Win32_Foundation")]
15180 impl KSPROPERTY_NETWORKCAMERACONTROL_METADATA_INFO {}
15181 #[cfg(feature = "Win32_Foundation")]
15182 impl ::std::default::Default for KSPROPERTY_NETWORKCAMERACONTROL_METADATA_INFO {
default() -> Self15183     fn default() -> Self {
15184         unsafe { ::std::mem::zeroed() }
15185     }
15186 }
15187 #[cfg(feature = "Win32_Foundation")]
15188 impl ::std::fmt::Debug for KSPROPERTY_NETWORKCAMERACONTROL_METADATA_INFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result15189     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
15190         fmt.debug_struct("KSPROPERTY_NETWORKCAMERACONTROL_METADATA_INFO").field("MetadataItems", &self.MetadataItems).field("Size", &self.Size).field("PTZStatus", &self.PTZStatus).field("Events", &self.Events).field("Analytics", &self.Analytics).field("Reserved", &self.Reserved).finish()
15191     }
15192 }
15193 #[cfg(feature = "Win32_Foundation")]
15194 impl ::std::cmp::PartialEq for KSPROPERTY_NETWORKCAMERACONTROL_METADATA_INFO {
eq(&self, other: &Self) -> bool15195     fn eq(&self, other: &Self) -> bool {
15196         self.MetadataItems == other.MetadataItems && self.Size == other.Size && self.PTZStatus == other.PTZStatus && self.Events == other.Events && self.Analytics == other.Analytics && self.Reserved == other.Reserved
15197     }
15198 }
15199 #[cfg(feature = "Win32_Foundation")]
15200 impl ::std::cmp::Eq for KSPROPERTY_NETWORKCAMERACONTROL_METADATA_INFO {}
15201 #[cfg(feature = "Win32_Foundation")]
15202 unsafe impl ::windows::runtime::Abi for KSPROPERTY_NETWORKCAMERACONTROL_METADATA_INFO {
15203     type Abi = Self;
15204     type DefaultType = Self;
15205 }
15206 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15207 #[repr(transparent)]
15208 pub struct KSPROPERTY_NETWORKCAMERACONTROL_METADATA_TYPE(pub i32);
15209 pub const KSPROPERTY_NETWORKCAMERACONTROL_METADATA_TYPE_EVENTSINFO: KSPROPERTY_NETWORKCAMERACONTROL_METADATA_TYPE = KSPROPERTY_NETWORKCAMERACONTROL_METADATA_TYPE(0i32);
15210 impl ::std::convert::From<i32> for KSPROPERTY_NETWORKCAMERACONTROL_METADATA_TYPE {
from(value: i32) -> Self15211     fn from(value: i32) -> Self {
15212         Self(value)
15213     }
15214 }
15215 unsafe impl ::windows::runtime::Abi for KSPROPERTY_NETWORKCAMERACONTROL_METADATA_TYPE {
15216     type Abi = Self;
15217     type DefaultType = Self;
15218 }
15219 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15220 #[repr(C)]
15221 pub struct KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_HEADER {
15222     pub Size: u32,
15223     pub Type: KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_TYPE,
15224 }
15225 impl KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_HEADER {}
15226 impl ::std::default::Default for KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_HEADER {
default() -> Self15227     fn default() -> Self {
15228         unsafe { ::std::mem::zeroed() }
15229     }
15230 }
15231 impl ::std::fmt::Debug for KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_HEADER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result15232     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
15233         fmt.debug_struct("KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_HEADER").field("Size", &self.Size).field("Type", &self.Type).finish()
15234     }
15235 }
15236 impl ::std::cmp::PartialEq for KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_HEADER {
eq(&self, other: &Self) -> bool15237     fn eq(&self, other: &Self) -> bool {
15238         self.Size == other.Size && self.Type == other.Type
15239     }
15240 }
15241 impl ::std::cmp::Eq for KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_HEADER {}
15242 unsafe impl ::windows::runtime::Abi for KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_HEADER {
15243     type Abi = Self;
15244     type DefaultType = Self;
15245 }
15246 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15247 #[repr(transparent)]
15248 pub struct KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_TYPE(pub i32);
15249 pub const KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_TYPE_DISABLE: KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_TYPE = KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_TYPE(0i32);
15250 pub const KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_TYPE_HOSTNTP: KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_TYPE = KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_TYPE(1i32);
15251 pub const KSPROPERYT_NETWORKCAMERACONTROL_NTPINFO_TYPE_CUSTOM: KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_TYPE = KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_TYPE(2i32);
15252 impl ::std::convert::From<i32> for KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_TYPE {
from(value: i32) -> Self15253     fn from(value: i32) -> Self {
15254         Self(value)
15255     }
15256 }
15257 unsafe impl ::windows::runtime::Abi for KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_TYPE {
15258     type Abi = Self;
15259     type DefaultType = Self;
15260 }
15261 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15262 #[repr(transparent)]
15263 pub struct KSPROPERTY_NETWORKCAMERACONTROL_PROPERTY(pub i32);
15264 pub const KSPROPERTY_NETWORKCAMERACONTROL_NTP: KSPROPERTY_NETWORKCAMERACONTROL_PROPERTY = KSPROPERTY_NETWORKCAMERACONTROL_PROPERTY(0i32);
15265 pub const KSPROPERTY_NETWORKCAMERACONTROL_URI: KSPROPERTY_NETWORKCAMERACONTROL_PROPERTY = KSPROPERTY_NETWORKCAMERACONTROL_PROPERTY(1i32);
15266 pub const KSPROPERTY_NETWORKCAMERACONTROL_METADATA: KSPROPERTY_NETWORKCAMERACONTROL_PROPERTY = KSPROPERTY_NETWORKCAMERACONTROL_PROPERTY(2i32);
15267 pub const KSPROPERTY_NETWORKCAMERACONTROL_EVENTTOPICS_XML: KSPROPERTY_NETWORKCAMERACONTROL_PROPERTY = KSPROPERTY_NETWORKCAMERACONTROL_PROPERTY(3i32);
15268 impl ::std::convert::From<i32> for KSPROPERTY_NETWORKCAMERACONTROL_PROPERTY {
from(value: i32) -> Self15269     fn from(value: i32) -> Self {
15270         Self(value)
15271     }
15272 }
15273 unsafe impl ::windows::runtime::Abi for KSPROPERTY_NETWORKCAMERACONTROL_PROPERTY {
15274     type Abi = Self;
15275     type DefaultType = Self;
15276 }
15277 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15278 #[repr(transparent)]
15279 pub struct KSPROPERTY_OVERLAYUPDATE(pub i32);
15280 pub const KSPROPERTY_OVERLAYUPDATE_INTERESTS: KSPROPERTY_OVERLAYUPDATE = KSPROPERTY_OVERLAYUPDATE(0i32);
15281 pub const KSPROPERTY_OVERLAYUPDATE_CLIPLIST: KSPROPERTY_OVERLAYUPDATE = KSPROPERTY_OVERLAYUPDATE(1i32);
15282 pub const KSPROPERTY_OVERLAYUPDATE_PALETTE: KSPROPERTY_OVERLAYUPDATE = KSPROPERTY_OVERLAYUPDATE(2i32);
15283 pub const KSPROPERTY_OVERLAYUPDATE_COLORKEY: KSPROPERTY_OVERLAYUPDATE = KSPROPERTY_OVERLAYUPDATE(4i32);
15284 pub const KSPROPERTY_OVERLAYUPDATE_VIDEOPOSITION: KSPROPERTY_OVERLAYUPDATE = KSPROPERTY_OVERLAYUPDATE(8i32);
15285 pub const KSPROPERTY_OVERLAYUPDATE_DISPLAYCHANGE: KSPROPERTY_OVERLAYUPDATE = KSPROPERTY_OVERLAYUPDATE(16i32);
15286 pub const KSPROPERTY_OVERLAYUPDATE_COLORREF: KSPROPERTY_OVERLAYUPDATE = KSPROPERTY_OVERLAYUPDATE(268435456i32);
15287 impl ::std::convert::From<i32> for KSPROPERTY_OVERLAYUPDATE {
from(value: i32) -> Self15288     fn from(value: i32) -> Self {
15289         Self(value)
15290     }
15291 }
15292 unsafe impl ::windows::runtime::Abi for KSPROPERTY_OVERLAYUPDATE {
15293     type Abi = Self;
15294     type DefaultType = Self;
15295 }
15296 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15297 #[repr(transparent)]
15298 pub struct KSPROPERTY_PIN(pub i32);
15299 pub const KSPROPERTY_PIN_CINSTANCES: KSPROPERTY_PIN = KSPROPERTY_PIN(0i32);
15300 pub const KSPROPERTY_PIN_CTYPES: KSPROPERTY_PIN = KSPROPERTY_PIN(1i32);
15301 pub const KSPROPERTY_PIN_DATAFLOW: KSPROPERTY_PIN = KSPROPERTY_PIN(2i32);
15302 pub const KSPROPERTY_PIN_DATARANGES: KSPROPERTY_PIN = KSPROPERTY_PIN(3i32);
15303 pub const KSPROPERTY_PIN_DATAINTERSECTION: KSPROPERTY_PIN = KSPROPERTY_PIN(4i32);
15304 pub const KSPROPERTY_PIN_INTERFACES: KSPROPERTY_PIN = KSPROPERTY_PIN(5i32);
15305 pub const KSPROPERTY_PIN_MEDIUMS: KSPROPERTY_PIN = KSPROPERTY_PIN(6i32);
15306 pub const KSPROPERTY_PIN_COMMUNICATION: KSPROPERTY_PIN = KSPROPERTY_PIN(7i32);
15307 pub const KSPROPERTY_PIN_GLOBALCINSTANCES: KSPROPERTY_PIN = KSPROPERTY_PIN(8i32);
15308 pub const KSPROPERTY_PIN_NECESSARYINSTANCES: KSPROPERTY_PIN = KSPROPERTY_PIN(9i32);
15309 pub const KSPROPERTY_PIN_PHYSICALCONNECTION: KSPROPERTY_PIN = KSPROPERTY_PIN(10i32);
15310 pub const KSPROPERTY_PIN_CATEGORY: KSPROPERTY_PIN = KSPROPERTY_PIN(11i32);
15311 pub const KSPROPERTY_PIN_NAME: KSPROPERTY_PIN = KSPROPERTY_PIN(12i32);
15312 pub const KSPROPERTY_PIN_CONSTRAINEDDATARANGES: KSPROPERTY_PIN = KSPROPERTY_PIN(13i32);
15313 pub const KSPROPERTY_PIN_PROPOSEDATAFORMAT: KSPROPERTY_PIN = KSPROPERTY_PIN(14i32);
15314 pub const KSPROPERTY_PIN_PROPOSEDATAFORMAT2: KSPROPERTY_PIN = KSPROPERTY_PIN(15i32);
15315 pub const KSPROPERTY_PIN_MODEDATAFORMATS: KSPROPERTY_PIN = KSPROPERTY_PIN(16i32);
15316 impl ::std::convert::From<i32> for KSPROPERTY_PIN {
from(value: i32) -> Self15317     fn from(value: i32) -> Self {
15318         Self(value)
15319     }
15320 }
15321 unsafe impl ::windows::runtime::Abi for KSPROPERTY_PIN {
15322     type Abi = Self;
15323     type DefaultType = Self;
15324 }
15325 pub const KSPROPERTY_PIN_FLAGS_ATTRIBUTE_RANGE_AWARE: u32 = 1u32;
15326 pub const KSPROPERTY_PIN_FLAGS_MASK: u32 = 1u32;
15327 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15328 #[repr(C)]
15329 pub struct KSPROPERTY_POSITIONS {
15330     pub Current: i64,
15331     pub Stop: i64,
15332     pub CurrentFlags: KS_SEEKING_FLAGS,
15333     pub StopFlags: KS_SEEKING_FLAGS,
15334 }
15335 impl KSPROPERTY_POSITIONS {}
15336 impl ::std::default::Default for KSPROPERTY_POSITIONS {
default() -> Self15337     fn default() -> Self {
15338         unsafe { ::std::mem::zeroed() }
15339     }
15340 }
15341 impl ::std::fmt::Debug for KSPROPERTY_POSITIONS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result15342     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
15343         fmt.debug_struct("KSPROPERTY_POSITIONS").field("Current", &self.Current).field("Stop", &self.Stop).field("CurrentFlags", &self.CurrentFlags).field("StopFlags", &self.StopFlags).finish()
15344     }
15345 }
15346 impl ::std::cmp::PartialEq for KSPROPERTY_POSITIONS {
eq(&self, other: &Self) -> bool15347     fn eq(&self, other: &Self) -> bool {
15348         self.Current == other.Current && self.Stop == other.Stop && self.CurrentFlags == other.CurrentFlags && self.StopFlags == other.StopFlags
15349     }
15350 }
15351 impl ::std::cmp::Eq for KSPROPERTY_POSITIONS {}
15352 unsafe impl ::windows::runtime::Abi for KSPROPERTY_POSITIONS {
15353     type Abi = Self;
15354     type DefaultType = Self;
15355 }
15356 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15357 #[repr(transparent)]
15358 pub struct KSPROPERTY_QUALITY(pub i32);
15359 pub const KSPROPERTY_QUALITY_REPORT: KSPROPERTY_QUALITY = KSPROPERTY_QUALITY(0i32);
15360 pub const KSPROPERTY_QUALITY_ERROR: KSPROPERTY_QUALITY = KSPROPERTY_QUALITY(1i32);
15361 impl ::std::convert::From<i32> for KSPROPERTY_QUALITY {
from(value: i32) -> Self15362     fn from(value: i32) -> Self {
15363         Self(value)
15364     }
15365 }
15366 unsafe impl ::windows::runtime::Abi for KSPROPERTY_QUALITY {
15367     type Abi = Self;
15368     type DefaultType = Self;
15369 }
15370 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15371 #[repr(transparent)]
15372 pub struct KSPROPERTY_RTAUDIO(pub i32);
15373 pub const KSPROPERTY_RTAUDIO_GETPOSITIONFUNCTION: KSPROPERTY_RTAUDIO = KSPROPERTY_RTAUDIO(0i32);
15374 pub const KSPROPERTY_RTAUDIO_BUFFER: KSPROPERTY_RTAUDIO = KSPROPERTY_RTAUDIO(1i32);
15375 pub const KSPROPERTY_RTAUDIO_HWLATENCY: KSPROPERTY_RTAUDIO = KSPROPERTY_RTAUDIO(2i32);
15376 pub const KSPROPERTY_RTAUDIO_POSITIONREGISTER: KSPROPERTY_RTAUDIO = KSPROPERTY_RTAUDIO(3i32);
15377 pub const KSPROPERTY_RTAUDIO_CLOCKREGISTER: KSPROPERTY_RTAUDIO = KSPROPERTY_RTAUDIO(4i32);
15378 pub const KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION: KSPROPERTY_RTAUDIO = KSPROPERTY_RTAUDIO(5i32);
15379 pub const KSPROPERTY_RTAUDIO_REGISTER_NOTIFICATION_EVENT: KSPROPERTY_RTAUDIO = KSPROPERTY_RTAUDIO(6i32);
15380 pub const KSPROPERTY_RTAUDIO_UNREGISTER_NOTIFICATION_EVENT: KSPROPERTY_RTAUDIO = KSPROPERTY_RTAUDIO(7i32);
15381 pub const KSPROPERTY_RTAUDIO_QUERY_NOTIFICATION_SUPPORT: KSPROPERTY_RTAUDIO = KSPROPERTY_RTAUDIO(8i32);
15382 pub const KSPROPERTY_RTAUDIO_PACKETCOUNT: KSPROPERTY_RTAUDIO = KSPROPERTY_RTAUDIO(9i32);
15383 pub const KSPROPERTY_RTAUDIO_PRESENTATION_POSITION: KSPROPERTY_RTAUDIO = KSPROPERTY_RTAUDIO(10i32);
15384 pub const KSPROPERTY_RTAUDIO_GETREADPACKET: KSPROPERTY_RTAUDIO = KSPROPERTY_RTAUDIO(11i32);
15385 pub const KSPROPERTY_RTAUDIO_SETWRITEPACKET: KSPROPERTY_RTAUDIO = KSPROPERTY_RTAUDIO(12i32);
15386 pub const KSPROPERTY_RTAUDIO_PACKETVREGISTER: KSPROPERTY_RTAUDIO = KSPROPERTY_RTAUDIO(13i32);
15387 impl ::std::convert::From<i32> for KSPROPERTY_RTAUDIO {
from(value: i32) -> Self15388     fn from(value: i32) -> Self {
15389         Self(value)
15390     }
15391 }
15392 unsafe impl ::windows::runtime::Abi for KSPROPERTY_RTAUDIO {
15393     type Abi = Self;
15394     type DefaultType = Self;
15395 }
15396 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15397 #[repr(C)]
15398 pub struct KSPROPERTY_SELECTOR_NODE_S {
15399     pub NodeProperty: KSP_NODE,
15400     pub Value: i32,
15401     pub Flags: u32,
15402     pub Capabilities: u32,
15403 }
15404 impl KSPROPERTY_SELECTOR_NODE_S {}
15405 impl ::std::default::Default for KSPROPERTY_SELECTOR_NODE_S {
default() -> Self15406     fn default() -> Self {
15407         unsafe { ::std::mem::zeroed() }
15408     }
15409 }
15410 impl ::std::cmp::PartialEq for KSPROPERTY_SELECTOR_NODE_S {
eq(&self, _other: &Self) -> bool15411     fn eq(&self, _other: &Self) -> bool {
15412         unimplemented!()
15413     }
15414 }
15415 impl ::std::cmp::Eq for KSPROPERTY_SELECTOR_NODE_S {}
15416 unsafe impl ::windows::runtime::Abi for KSPROPERTY_SELECTOR_NODE_S {
15417     type Abi = Self;
15418     type DefaultType = Self;
15419 }
15420 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15421 #[repr(C)]
15422 pub struct KSPROPERTY_SELECTOR_S {
15423     pub Property: KSIDENTIFIER,
15424     pub Value: i32,
15425     pub Flags: u32,
15426     pub Capabilities: u32,
15427 }
15428 impl KSPROPERTY_SELECTOR_S {}
15429 impl ::std::default::Default for KSPROPERTY_SELECTOR_S {
default() -> Self15430     fn default() -> Self {
15431         unsafe { ::std::mem::zeroed() }
15432     }
15433 }
15434 impl ::std::cmp::PartialEq for KSPROPERTY_SELECTOR_S {
eq(&self, _other: &Self) -> bool15435     fn eq(&self, _other: &Self) -> bool {
15436         unimplemented!()
15437     }
15438 }
15439 impl ::std::cmp::Eq for KSPROPERTY_SELECTOR_S {}
15440 unsafe impl ::windows::runtime::Abi for KSPROPERTY_SELECTOR_S {
15441     type Abi = Self;
15442     type DefaultType = Self;
15443 }
15444 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15445 #[repr(C)]
15446 pub struct KSPROPERTY_SERIAL {
15447     pub PropTypeSet: KSIDENTIFIER,
15448     pub Id: u32,
15449     pub PropertyLength: u32,
15450 }
15451 impl KSPROPERTY_SERIAL {}
15452 impl ::std::default::Default for KSPROPERTY_SERIAL {
default() -> Self15453     fn default() -> Self {
15454         unsafe { ::std::mem::zeroed() }
15455     }
15456 }
15457 impl ::std::cmp::PartialEq for KSPROPERTY_SERIAL {
eq(&self, _other: &Self) -> bool15458     fn eq(&self, _other: &Self) -> bool {
15459         unimplemented!()
15460     }
15461 }
15462 impl ::std::cmp::Eq for KSPROPERTY_SERIAL {}
15463 unsafe impl ::windows::runtime::Abi for KSPROPERTY_SERIAL {
15464     type Abi = Self;
15465     type DefaultType = Self;
15466 }
15467 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15468 #[repr(C, packed(1))]
15469 pub struct KSPROPERTY_SERIALHDR {
15470     pub PropertySet: ::windows::runtime::GUID,
15471     pub Count: u32,
15472 }
15473 impl KSPROPERTY_SERIALHDR {}
15474 impl ::std::default::Default for KSPROPERTY_SERIALHDR {
default() -> Self15475     fn default() -> Self {
15476         unsafe { ::std::mem::zeroed() }
15477     }
15478 }
15479 impl ::std::cmp::PartialEq for KSPROPERTY_SERIALHDR {
eq(&self, _other: &Self) -> bool15480     fn eq(&self, _other: &Self) -> bool {
15481         unimplemented!()
15482     }
15483 }
15484 impl ::std::cmp::Eq for KSPROPERTY_SERIALHDR {}
15485 unsafe impl ::windows::runtime::Abi for KSPROPERTY_SERIALHDR {
15486     type Abi = Self;
15487     type DefaultType = Self;
15488 }
15489 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15490 #[repr(transparent)]
15491 pub struct KSPROPERTY_SOUNDDETECTOR(pub i32);
15492 pub const KSPROPERTY_SOUNDDETECTOR_SUPPORTEDPATTERNS: KSPROPERTY_SOUNDDETECTOR = KSPROPERTY_SOUNDDETECTOR(1i32);
15493 pub const KSPROPERTY_SOUNDDETECTOR_PATTERNS: KSPROPERTY_SOUNDDETECTOR = KSPROPERTY_SOUNDDETECTOR(2i32);
15494 pub const KSPROPERTY_SOUNDDETECTOR_ARMED: KSPROPERTY_SOUNDDETECTOR = KSPROPERTY_SOUNDDETECTOR(3i32);
15495 pub const KSPROPERTY_SOUNDDETECTOR_MATCHRESULT: KSPROPERTY_SOUNDDETECTOR = KSPROPERTY_SOUNDDETECTOR(4i32);
15496 pub const KSPROPERTY_SOUNDDETECTOR_RESET: KSPROPERTY_SOUNDDETECTOR = KSPROPERTY_SOUNDDETECTOR(5i32);
15497 pub const KSPROPERTY_SOUNDDETECTOR_STREAMINGSUPPORT: KSPROPERTY_SOUNDDETECTOR = KSPROPERTY_SOUNDDETECTOR(6i32);
15498 impl ::std::convert::From<i32> for KSPROPERTY_SOUNDDETECTOR {
from(value: i32) -> Self15499     fn from(value: i32) -> Self {
15500         Self(value)
15501     }
15502 }
15503 unsafe impl ::windows::runtime::Abi for KSPROPERTY_SOUNDDETECTOR {
15504     type Abi = Self;
15505     type DefaultType = Self;
15506 }
15507 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15508 #[repr(C)]
15509 pub struct KSPROPERTY_SPHLI {
15510     pub HLISS: u16,
15511     pub Reserved: u16,
15512     pub StartPTM: u32,
15513     pub EndPTM: u32,
15514     pub StartX: u16,
15515     pub StartY: u16,
15516     pub StopX: u16,
15517     pub StopY: u16,
15518     pub ColCon: KS_COLCON,
15519 }
15520 impl KSPROPERTY_SPHLI {}
15521 impl ::std::default::Default for KSPROPERTY_SPHLI {
default() -> Self15522     fn default() -> Self {
15523         unsafe { ::std::mem::zeroed() }
15524     }
15525 }
15526 impl ::std::fmt::Debug for KSPROPERTY_SPHLI {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result15527     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
15528         fmt.debug_struct("KSPROPERTY_SPHLI")
15529             .field("HLISS", &self.HLISS)
15530             .field("Reserved", &self.Reserved)
15531             .field("StartPTM", &self.StartPTM)
15532             .field("EndPTM", &self.EndPTM)
15533             .field("StartX", &self.StartX)
15534             .field("StartY", &self.StartY)
15535             .field("StopX", &self.StopX)
15536             .field("StopY", &self.StopY)
15537             .field("ColCon", &self.ColCon)
15538             .finish()
15539     }
15540 }
15541 impl ::std::cmp::PartialEq for KSPROPERTY_SPHLI {
eq(&self, other: &Self) -> bool15542     fn eq(&self, other: &Self) -> bool {
15543         self.HLISS == other.HLISS && self.Reserved == other.Reserved && self.StartPTM == other.StartPTM && self.EndPTM == other.EndPTM && self.StartX == other.StartX && self.StartY == other.StartY && self.StopX == other.StopX && self.StopY == other.StopY && self.ColCon == other.ColCon
15544     }
15545 }
15546 impl ::std::cmp::Eq for KSPROPERTY_SPHLI {}
15547 unsafe impl ::windows::runtime::Abi for KSPROPERTY_SPHLI {
15548     type Abi = Self;
15549     type DefaultType = Self;
15550 }
15551 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15552 #[repr(C)]
15553 pub struct KSPROPERTY_SPPAL {
15554     pub sppal: [KS_DVD_YUV; 16],
15555 }
15556 impl KSPROPERTY_SPPAL {}
15557 impl ::std::default::Default for KSPROPERTY_SPPAL {
default() -> Self15558     fn default() -> Self {
15559         unsafe { ::std::mem::zeroed() }
15560     }
15561 }
15562 impl ::std::fmt::Debug for KSPROPERTY_SPPAL {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result15563     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
15564         fmt.debug_struct("KSPROPERTY_SPPAL").field("sppal", &self.sppal).finish()
15565     }
15566 }
15567 impl ::std::cmp::PartialEq for KSPROPERTY_SPPAL {
eq(&self, other: &Self) -> bool15568     fn eq(&self, other: &Self) -> bool {
15569         self.sppal == other.sppal
15570     }
15571 }
15572 impl ::std::cmp::Eq for KSPROPERTY_SPPAL {}
15573 unsafe impl ::windows::runtime::Abi for KSPROPERTY_SPPAL {
15574     type Abi = Self;
15575     type DefaultType = Self;
15576 }
15577 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15578 #[repr(C)]
15579 pub struct KSPROPERTY_STEPPING_LONG {
15580     pub SteppingDelta: u32,
15581     pub Reserved: u32,
15582     pub Bounds: KSPROPERTY_BOUNDS_LONG,
15583 }
15584 impl KSPROPERTY_STEPPING_LONG {}
15585 impl ::std::default::Default for KSPROPERTY_STEPPING_LONG {
default() -> Self15586     fn default() -> Self {
15587         unsafe { ::std::mem::zeroed() }
15588     }
15589 }
15590 impl ::std::cmp::PartialEq for KSPROPERTY_STEPPING_LONG {
eq(&self, _other: &Self) -> bool15591     fn eq(&self, _other: &Self) -> bool {
15592         unimplemented!()
15593     }
15594 }
15595 impl ::std::cmp::Eq for KSPROPERTY_STEPPING_LONG {}
15596 unsafe impl ::windows::runtime::Abi for KSPROPERTY_STEPPING_LONG {
15597     type Abi = Self;
15598     type DefaultType = Self;
15599 }
15600 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15601 #[repr(C)]
15602 pub struct KSPROPERTY_STEPPING_LONGLONG {
15603     pub SteppingDelta: u64,
15604     pub Bounds: KSPROPERTY_BOUNDS_LONGLONG,
15605 }
15606 impl KSPROPERTY_STEPPING_LONGLONG {}
15607 impl ::std::default::Default for KSPROPERTY_STEPPING_LONGLONG {
default() -> Self15608     fn default() -> Self {
15609         unsafe { ::std::mem::zeroed() }
15610     }
15611 }
15612 impl ::std::cmp::PartialEq for KSPROPERTY_STEPPING_LONGLONG {
eq(&self, _other: &Self) -> bool15613     fn eq(&self, _other: &Self) -> bool {
15614         unimplemented!()
15615     }
15616 }
15617 impl ::std::cmp::Eq for KSPROPERTY_STEPPING_LONGLONG {}
15618 unsafe impl ::windows::runtime::Abi for KSPROPERTY_STEPPING_LONGLONG {
15619     type Abi = Self;
15620     type DefaultType = Self;
15621 }
15622 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15623 #[repr(transparent)]
15624 pub struct KSPROPERTY_STREAM(pub i32);
15625 pub const KSPROPERTY_STREAM_ALLOCATOR: KSPROPERTY_STREAM = KSPROPERTY_STREAM(0i32);
15626 pub const KSPROPERTY_STREAM_QUALITY: KSPROPERTY_STREAM = KSPROPERTY_STREAM(1i32);
15627 pub const KSPROPERTY_STREAM_DEGRADATION: KSPROPERTY_STREAM = KSPROPERTY_STREAM(2i32);
15628 pub const KSPROPERTY_STREAM_MASTERCLOCK: KSPROPERTY_STREAM = KSPROPERTY_STREAM(3i32);
15629 pub const KSPROPERTY_STREAM_TIMEFORMAT: KSPROPERTY_STREAM = KSPROPERTY_STREAM(4i32);
15630 pub const KSPROPERTY_STREAM_PRESENTATIONTIME: KSPROPERTY_STREAM = KSPROPERTY_STREAM(5i32);
15631 pub const KSPROPERTY_STREAM_PRESENTATIONEXTENT: KSPROPERTY_STREAM = KSPROPERTY_STREAM(6i32);
15632 pub const KSPROPERTY_STREAM_FRAMETIME: KSPROPERTY_STREAM = KSPROPERTY_STREAM(7i32);
15633 pub const KSPROPERTY_STREAM_RATECAPABILITY: KSPROPERTY_STREAM = KSPROPERTY_STREAM(8i32);
15634 pub const KSPROPERTY_STREAM_RATE: KSPROPERTY_STREAM = KSPROPERTY_STREAM(9i32);
15635 pub const KSPROPERTY_STREAM_PIPE_ID: KSPROPERTY_STREAM = KSPROPERTY_STREAM(10i32);
15636 impl ::std::convert::From<i32> for KSPROPERTY_STREAM {
from(value: i32) -> Self15637     fn from(value: i32) -> Self {
15638         Self(value)
15639     }
15640 }
15641 unsafe impl ::windows::runtime::Abi for KSPROPERTY_STREAM {
15642     type Abi = Self;
15643     type DefaultType = Self;
15644 }
15645 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15646 #[repr(transparent)]
15647 pub struct KSPROPERTY_STREAMINTERFACE(pub i32);
15648 pub const KSPROPERTY_STREAMINTERFACE_HEADERSIZE: KSPROPERTY_STREAMINTERFACE = KSPROPERTY_STREAMINTERFACE(0i32);
15649 impl ::std::convert::From<i32> for KSPROPERTY_STREAMINTERFACE {
from(value: i32) -> Self15650     fn from(value: i32) -> Self {
15651         Self(value)
15652     }
15653 }
15654 unsafe impl ::windows::runtime::Abi for KSPROPERTY_STREAMINTERFACE {
15655     type Abi = Self;
15656     type DefaultType = Self;
15657 }
15658 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15659 #[repr(transparent)]
15660 pub struct KSPROPERTY_TELEPHONY_CONTROL(pub i32);
15661 pub const KSPROPERTY_TELEPHONY_PROVIDERID: KSPROPERTY_TELEPHONY_CONTROL = KSPROPERTY_TELEPHONY_CONTROL(0i32);
15662 pub const KSPROPERTY_TELEPHONY_CALLINFO: KSPROPERTY_TELEPHONY_CONTROL = KSPROPERTY_TELEPHONY_CONTROL(1i32);
15663 pub const KSPROPERTY_TELEPHONY_CALLCONTROL: KSPROPERTY_TELEPHONY_CONTROL = KSPROPERTY_TELEPHONY_CONTROL(2i32);
15664 pub const KSPROPERTY_TELEPHONY_PROVIDERCHANGE: KSPROPERTY_TELEPHONY_CONTROL = KSPROPERTY_TELEPHONY_CONTROL(3i32);
15665 pub const KSPROPERTY_TELEPHONY_CALLHOLD: KSPROPERTY_TELEPHONY_CONTROL = KSPROPERTY_TELEPHONY_CONTROL(4i32);
15666 pub const KSPROPERTY_TELEPHONY_MUTE_TX: KSPROPERTY_TELEPHONY_CONTROL = KSPROPERTY_TELEPHONY_CONTROL(5i32);
15667 impl ::std::convert::From<i32> for KSPROPERTY_TELEPHONY_CONTROL {
from(value: i32) -> Self15668     fn from(value: i32) -> Self {
15669         Self(value)
15670     }
15671 }
15672 unsafe impl ::windows::runtime::Abi for KSPROPERTY_TELEPHONY_CONTROL {
15673     type Abi = Self;
15674     type DefaultType = Self;
15675 }
15676 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15677 #[repr(transparent)]
15678 pub struct KSPROPERTY_TELEPHONY_TOPOLOGY(pub i32);
15679 pub const KSPROPERTY_TELEPHONY_ENDPOINTIDPAIR: KSPROPERTY_TELEPHONY_TOPOLOGY = KSPROPERTY_TELEPHONY_TOPOLOGY(0i32);
15680 pub const KSPROPERTY_TELEPHONY_VOLUME: KSPROPERTY_TELEPHONY_TOPOLOGY = KSPROPERTY_TELEPHONY_TOPOLOGY(1i32);
15681 impl ::std::convert::From<i32> for KSPROPERTY_TELEPHONY_TOPOLOGY {
from(value: i32) -> Self15682     fn from(value: i32) -> Self {
15683         Self(value)
15684     }
15685 }
15686 unsafe impl ::windows::runtime::Abi for KSPROPERTY_TELEPHONY_TOPOLOGY {
15687     type Abi = Self;
15688     type DefaultType = Self;
15689 }
15690 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15691 #[repr(transparent)]
15692 pub struct KSPROPERTY_TIMECODE(pub i32);
15693 pub const KSPROPERTY_TIMECODE_READER: KSPROPERTY_TIMECODE = KSPROPERTY_TIMECODE(0i32);
15694 pub const KSPROPERTY_ATN_READER: KSPROPERTY_TIMECODE = KSPROPERTY_TIMECODE(1i32);
15695 pub const KSPROPERTY_RTC_READER: KSPROPERTY_TIMECODE = KSPROPERTY_TIMECODE(2i32);
15696 impl ::std::convert::From<i32> for KSPROPERTY_TIMECODE {
from(value: i32) -> Self15697     fn from(value: i32) -> Self {
15698         Self(value)
15699     }
15700 }
15701 unsafe impl ::windows::runtime::Abi for KSPROPERTY_TIMECODE {
15702     type Abi = Self;
15703     type DefaultType = Self;
15704 }
15705 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15706 #[repr(C)]
15707 #[cfg(feature = "Win32_Graphics_DirectShow")]
15708 pub struct KSPROPERTY_TIMECODE_NODE_S {
15709     pub NodeProperty: KSP_NODE,
15710     pub TimecodeSamp: super::super::super::Graphics::DirectShow::TIMECODE_SAMPLE,
15711 }
15712 #[cfg(feature = "Win32_Graphics_DirectShow")]
15713 impl KSPROPERTY_TIMECODE_NODE_S {}
15714 #[cfg(feature = "Win32_Graphics_DirectShow")]
15715 impl ::std::default::Default for KSPROPERTY_TIMECODE_NODE_S {
default() -> Self15716     fn default() -> Self {
15717         unsafe { ::std::mem::zeroed() }
15718     }
15719 }
15720 #[cfg(feature = "Win32_Graphics_DirectShow")]
15721 impl ::std::cmp::PartialEq for KSPROPERTY_TIMECODE_NODE_S {
eq(&self, _other: &Self) -> bool15722     fn eq(&self, _other: &Self) -> bool {
15723         unimplemented!()
15724     }
15725 }
15726 #[cfg(feature = "Win32_Graphics_DirectShow")]
15727 impl ::std::cmp::Eq for KSPROPERTY_TIMECODE_NODE_S {}
15728 #[cfg(feature = "Win32_Graphics_DirectShow")]
15729 unsafe impl ::windows::runtime::Abi for KSPROPERTY_TIMECODE_NODE_S {
15730     type Abi = Self;
15731     type DefaultType = Self;
15732 }
15733 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15734 #[repr(C)]
15735 #[cfg(feature = "Win32_Graphics_DirectShow")]
15736 pub struct KSPROPERTY_TIMECODE_S {
15737     pub Property: KSIDENTIFIER,
15738     pub TimecodeSamp: super::super::super::Graphics::DirectShow::TIMECODE_SAMPLE,
15739 }
15740 #[cfg(feature = "Win32_Graphics_DirectShow")]
15741 impl KSPROPERTY_TIMECODE_S {}
15742 #[cfg(feature = "Win32_Graphics_DirectShow")]
15743 impl ::std::default::Default for KSPROPERTY_TIMECODE_S {
default() -> Self15744     fn default() -> Self {
15745         unsafe { ::std::mem::zeroed() }
15746     }
15747 }
15748 #[cfg(feature = "Win32_Graphics_DirectShow")]
15749 impl ::std::cmp::PartialEq for KSPROPERTY_TIMECODE_S {
eq(&self, _other: &Self) -> bool15750     fn eq(&self, _other: &Self) -> bool {
15751         unimplemented!()
15752     }
15753 }
15754 #[cfg(feature = "Win32_Graphics_DirectShow")]
15755 impl ::std::cmp::Eq for KSPROPERTY_TIMECODE_S {}
15756 #[cfg(feature = "Win32_Graphics_DirectShow")]
15757 unsafe impl ::windows::runtime::Abi for KSPROPERTY_TIMECODE_S {
15758     type Abi = Self;
15759     type DefaultType = Self;
15760 }
15761 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15762 #[repr(transparent)]
15763 pub struct KSPROPERTY_TOPOLOGY(pub i32);
15764 pub const KSPROPERTY_TOPOLOGY_CATEGORIES: KSPROPERTY_TOPOLOGY = KSPROPERTY_TOPOLOGY(0i32);
15765 pub const KSPROPERTY_TOPOLOGY_NODES: KSPROPERTY_TOPOLOGY = KSPROPERTY_TOPOLOGY(1i32);
15766 pub const KSPROPERTY_TOPOLOGY_CONNECTIONS: KSPROPERTY_TOPOLOGY = KSPROPERTY_TOPOLOGY(2i32);
15767 pub const KSPROPERTY_TOPOLOGY_NAME: KSPROPERTY_TOPOLOGY = KSPROPERTY_TOPOLOGY(3i32);
15768 impl ::std::convert::From<i32> for KSPROPERTY_TOPOLOGY {
from(value: i32) -> Self15769     fn from(value: i32) -> Self {
15770         Self(value)
15771     }
15772 }
15773 unsafe impl ::windows::runtime::Abi for KSPROPERTY_TOPOLOGY {
15774     type Abi = Self;
15775     type DefaultType = Self;
15776 }
15777 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15778 #[repr(transparent)]
15779 pub struct KSPROPERTY_TOPOLOGYNODE(pub i32);
15780 pub const KSPROPERTY_TOPOLOGYNODE_ENABLE: KSPROPERTY_TOPOLOGYNODE = KSPROPERTY_TOPOLOGYNODE(1i32);
15781 pub const KSPROPERTY_TOPOLOGYNODE_RESET: KSPROPERTY_TOPOLOGYNODE = KSPROPERTY_TOPOLOGYNODE(2i32);
15782 impl ::std::convert::From<i32> for KSPROPERTY_TOPOLOGYNODE {
from(value: i32) -> Self15783     fn from(value: i32) -> Self {
15784         Self(value)
15785     }
15786 }
15787 unsafe impl ::windows::runtime::Abi for KSPROPERTY_TOPOLOGYNODE {
15788     type Abi = Self;
15789     type DefaultType = Self;
15790 }
15791 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15792 #[repr(transparent)]
15793 pub struct KSPROPERTY_TUNER(pub i32);
15794 pub const KSPROPERTY_TUNER_CAPS: KSPROPERTY_TUNER = KSPROPERTY_TUNER(0i32);
15795 pub const KSPROPERTY_TUNER_MODE_CAPS: KSPROPERTY_TUNER = KSPROPERTY_TUNER(1i32);
15796 pub const KSPROPERTY_TUNER_MODE: KSPROPERTY_TUNER = KSPROPERTY_TUNER(2i32);
15797 pub const KSPROPERTY_TUNER_STANDARD: KSPROPERTY_TUNER = KSPROPERTY_TUNER(3i32);
15798 pub const KSPROPERTY_TUNER_FREQUENCY: KSPROPERTY_TUNER = KSPROPERTY_TUNER(4i32);
15799 pub const KSPROPERTY_TUNER_INPUT: KSPROPERTY_TUNER = KSPROPERTY_TUNER(5i32);
15800 pub const KSPROPERTY_TUNER_STATUS: KSPROPERTY_TUNER = KSPROPERTY_TUNER(6i32);
15801 pub const KSPROPERTY_TUNER_IF_MEDIUM: KSPROPERTY_TUNER = KSPROPERTY_TUNER(7i32);
15802 pub const KSPROPERTY_TUNER_SCAN_CAPS: KSPROPERTY_TUNER = KSPROPERTY_TUNER(8i32);
15803 pub const KSPROPERTY_TUNER_SCAN_STATUS: KSPROPERTY_TUNER = KSPROPERTY_TUNER(9i32);
15804 pub const KSPROPERTY_TUNER_STANDARD_MODE: KSPROPERTY_TUNER = KSPROPERTY_TUNER(10i32);
15805 pub const KSPROPERTY_TUNER_NETWORKTYPE_SCAN_CAPS: KSPROPERTY_TUNER = KSPROPERTY_TUNER(11i32);
15806 impl ::std::convert::From<i32> for KSPROPERTY_TUNER {
from(value: i32) -> Self15807     fn from(value: i32) -> Self {
15808         Self(value)
15809     }
15810 }
15811 unsafe impl ::windows::runtime::Abi for KSPROPERTY_TUNER {
15812     type Abi = Self;
15813     type DefaultType = Self;
15814 }
15815 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15816 #[repr(C)]
15817 pub struct KSPROPERTY_TUNER_CAPS_S {
15818     pub Property: KSIDENTIFIER,
15819     pub ModesSupported: u32,
15820     pub VideoMedium: KSIDENTIFIER,
15821     pub TVAudioMedium: KSIDENTIFIER,
15822     pub RadioAudioMedium: KSIDENTIFIER,
15823 }
15824 impl KSPROPERTY_TUNER_CAPS_S {}
15825 impl ::std::default::Default for KSPROPERTY_TUNER_CAPS_S {
default() -> Self15826     fn default() -> Self {
15827         unsafe { ::std::mem::zeroed() }
15828     }
15829 }
15830 impl ::std::cmp::PartialEq for KSPROPERTY_TUNER_CAPS_S {
eq(&self, _other: &Self) -> bool15831     fn eq(&self, _other: &Self) -> bool {
15832         unimplemented!()
15833     }
15834 }
15835 impl ::std::cmp::Eq for KSPROPERTY_TUNER_CAPS_S {}
15836 unsafe impl ::windows::runtime::Abi for KSPROPERTY_TUNER_CAPS_S {
15837     type Abi = Self;
15838     type DefaultType = Self;
15839 }
15840 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15841 #[repr(C)]
15842 pub struct KSPROPERTY_TUNER_FREQUENCY_S {
15843     pub Property: KSIDENTIFIER,
15844     pub Frequency: u32,
15845     pub LastFrequency: u32,
15846     pub TuningFlags: u32,
15847     pub VideoSubChannel: u32,
15848     pub AudioSubChannel: u32,
15849     pub Channel: u32,
15850     pub Country: u32,
15851 }
15852 impl KSPROPERTY_TUNER_FREQUENCY_S {}
15853 impl ::std::default::Default for KSPROPERTY_TUNER_FREQUENCY_S {
default() -> Self15854     fn default() -> Self {
15855         unsafe { ::std::mem::zeroed() }
15856     }
15857 }
15858 impl ::std::cmp::PartialEq for KSPROPERTY_TUNER_FREQUENCY_S {
eq(&self, _other: &Self) -> bool15859     fn eq(&self, _other: &Self) -> bool {
15860         unimplemented!()
15861     }
15862 }
15863 impl ::std::cmp::Eq for KSPROPERTY_TUNER_FREQUENCY_S {}
15864 unsafe impl ::windows::runtime::Abi for KSPROPERTY_TUNER_FREQUENCY_S {
15865     type Abi = Self;
15866     type DefaultType = Self;
15867 }
15868 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15869 #[repr(C)]
15870 pub struct KSPROPERTY_TUNER_IF_MEDIUM_S {
15871     pub Property: KSIDENTIFIER,
15872     pub IFMedium: KSIDENTIFIER,
15873 }
15874 impl KSPROPERTY_TUNER_IF_MEDIUM_S {}
15875 impl ::std::default::Default for KSPROPERTY_TUNER_IF_MEDIUM_S {
default() -> Self15876     fn default() -> Self {
15877         unsafe { ::std::mem::zeroed() }
15878     }
15879 }
15880 impl ::std::cmp::PartialEq for KSPROPERTY_TUNER_IF_MEDIUM_S {
eq(&self, _other: &Self) -> bool15881     fn eq(&self, _other: &Self) -> bool {
15882         unimplemented!()
15883     }
15884 }
15885 impl ::std::cmp::Eq for KSPROPERTY_TUNER_IF_MEDIUM_S {}
15886 unsafe impl ::windows::runtime::Abi for KSPROPERTY_TUNER_IF_MEDIUM_S {
15887     type Abi = Self;
15888     type DefaultType = Self;
15889 }
15890 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15891 #[repr(C)]
15892 pub struct KSPROPERTY_TUNER_INPUT_S {
15893     pub Property: KSIDENTIFIER,
15894     pub InputIndex: u32,
15895 }
15896 impl KSPROPERTY_TUNER_INPUT_S {}
15897 impl ::std::default::Default for KSPROPERTY_TUNER_INPUT_S {
default() -> Self15898     fn default() -> Self {
15899         unsafe { ::std::mem::zeroed() }
15900     }
15901 }
15902 impl ::std::cmp::PartialEq for KSPROPERTY_TUNER_INPUT_S {
eq(&self, _other: &Self) -> bool15903     fn eq(&self, _other: &Self) -> bool {
15904         unimplemented!()
15905     }
15906 }
15907 impl ::std::cmp::Eq for KSPROPERTY_TUNER_INPUT_S {}
15908 unsafe impl ::windows::runtime::Abi for KSPROPERTY_TUNER_INPUT_S {
15909     type Abi = Self;
15910     type DefaultType = Self;
15911 }
15912 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15913 #[repr(transparent)]
15914 pub struct KSPROPERTY_TUNER_MODES(pub i32);
15915 pub const KSPROPERTY_TUNER_MODE_TV: KSPROPERTY_TUNER_MODES = KSPROPERTY_TUNER_MODES(1i32);
15916 pub const KSPROPERTY_TUNER_MODE_FM_RADIO: KSPROPERTY_TUNER_MODES = KSPROPERTY_TUNER_MODES(2i32);
15917 pub const KSPROPERTY_TUNER_MODE_AM_RADIO: KSPROPERTY_TUNER_MODES = KSPROPERTY_TUNER_MODES(4i32);
15918 pub const KSPROPERTY_TUNER_MODE_DSS: KSPROPERTY_TUNER_MODES = KSPROPERTY_TUNER_MODES(8i32);
15919 pub const KSPROPERTY_TUNER_MODE_ATSC: KSPROPERTY_TUNER_MODES = KSPROPERTY_TUNER_MODES(16i32);
15920 impl ::std::convert::From<i32> for KSPROPERTY_TUNER_MODES {
from(value: i32) -> Self15921     fn from(value: i32) -> Self {
15922         Self(value)
15923     }
15924 }
15925 unsafe impl ::windows::runtime::Abi for KSPROPERTY_TUNER_MODES {
15926     type Abi = Self;
15927     type DefaultType = Self;
15928 }
15929 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15930 #[repr(C)]
15931 pub struct KSPROPERTY_TUNER_MODE_CAPS_S {
15932     pub Property: KSIDENTIFIER,
15933     pub Mode: u32,
15934     pub StandardsSupported: u32,
15935     pub MinFrequency: u32,
15936     pub MaxFrequency: u32,
15937     pub TuningGranularity: u32,
15938     pub NumberOfInputs: u32,
15939     pub SettlingTime: u32,
15940     pub Strategy: u32,
15941 }
15942 impl KSPROPERTY_TUNER_MODE_CAPS_S {}
15943 impl ::std::default::Default for KSPROPERTY_TUNER_MODE_CAPS_S {
default() -> Self15944     fn default() -> Self {
15945         unsafe { ::std::mem::zeroed() }
15946     }
15947 }
15948 impl ::std::cmp::PartialEq for KSPROPERTY_TUNER_MODE_CAPS_S {
eq(&self, _other: &Self) -> bool15949     fn eq(&self, _other: &Self) -> bool {
15950         unimplemented!()
15951     }
15952 }
15953 impl ::std::cmp::Eq for KSPROPERTY_TUNER_MODE_CAPS_S {}
15954 unsafe impl ::windows::runtime::Abi for KSPROPERTY_TUNER_MODE_CAPS_S {
15955     type Abi = Self;
15956     type DefaultType = Self;
15957 }
15958 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15959 #[repr(C)]
15960 pub struct KSPROPERTY_TUNER_MODE_S {
15961     pub Property: KSIDENTIFIER,
15962     pub Mode: u32,
15963 }
15964 impl KSPROPERTY_TUNER_MODE_S {}
15965 impl ::std::default::Default for KSPROPERTY_TUNER_MODE_S {
default() -> Self15966     fn default() -> Self {
15967         unsafe { ::std::mem::zeroed() }
15968     }
15969 }
15970 impl ::std::cmp::PartialEq for KSPROPERTY_TUNER_MODE_S {
eq(&self, _other: &Self) -> bool15971     fn eq(&self, _other: &Self) -> bool {
15972         unimplemented!()
15973     }
15974 }
15975 impl ::std::cmp::Eq for KSPROPERTY_TUNER_MODE_S {}
15976 unsafe impl ::windows::runtime::Abi for KSPROPERTY_TUNER_MODE_S {
15977     type Abi = Self;
15978     type DefaultType = Self;
15979 }
15980 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15981 #[repr(C)]
15982 pub struct KSPROPERTY_TUNER_NETWORKTYPE_SCAN_CAPS_S {
15983     pub Property: KSIDENTIFIER,
15984     pub NetworkType: ::windows::runtime::GUID,
15985     pub BufferSize: u32,
15986     pub NetworkTunerCapabilities: *mut ::std::ffi::c_void,
15987 }
15988 impl KSPROPERTY_TUNER_NETWORKTYPE_SCAN_CAPS_S {}
15989 impl ::std::default::Default for KSPROPERTY_TUNER_NETWORKTYPE_SCAN_CAPS_S {
default() -> Self15990     fn default() -> Self {
15991         unsafe { ::std::mem::zeroed() }
15992     }
15993 }
15994 impl ::std::cmp::PartialEq for KSPROPERTY_TUNER_NETWORKTYPE_SCAN_CAPS_S {
eq(&self, _other: &Self) -> bool15995     fn eq(&self, _other: &Self) -> bool {
15996         unimplemented!()
15997     }
15998 }
15999 impl ::std::cmp::Eq for KSPROPERTY_TUNER_NETWORKTYPE_SCAN_CAPS_S {}
16000 unsafe impl ::windows::runtime::Abi for KSPROPERTY_TUNER_NETWORKTYPE_SCAN_CAPS_S {
16001     type Abi = Self;
16002     type DefaultType = Self;
16003 }
16004 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16005 #[repr(C)]
16006 #[cfg(feature = "Win32_Foundation")]
16007 pub struct KSPROPERTY_TUNER_SCAN_CAPS_S {
16008     pub Property: KSIDENTIFIER,
16009     pub fSupportsHardwareAssistedScanning: super::super::super::Foundation::BOOL,
16010     pub SupportedBroadcastStandards: u32,
16011     pub GUIDBucket: *mut ::std::ffi::c_void,
16012     pub lengthofBucket: u32,
16013 }
16014 #[cfg(feature = "Win32_Foundation")]
16015 impl KSPROPERTY_TUNER_SCAN_CAPS_S {}
16016 #[cfg(feature = "Win32_Foundation")]
16017 impl ::std::default::Default for KSPROPERTY_TUNER_SCAN_CAPS_S {
default() -> Self16018     fn default() -> Self {
16019         unsafe { ::std::mem::zeroed() }
16020     }
16021 }
16022 #[cfg(feature = "Win32_Foundation")]
16023 impl ::std::cmp::PartialEq for KSPROPERTY_TUNER_SCAN_CAPS_S {
eq(&self, _other: &Self) -> bool16024     fn eq(&self, _other: &Self) -> bool {
16025         unimplemented!()
16026     }
16027 }
16028 #[cfg(feature = "Win32_Foundation")]
16029 impl ::std::cmp::Eq for KSPROPERTY_TUNER_SCAN_CAPS_S {}
16030 #[cfg(feature = "Win32_Foundation")]
16031 unsafe impl ::windows::runtime::Abi for KSPROPERTY_TUNER_SCAN_CAPS_S {
16032     type Abi = Self;
16033     type DefaultType = Self;
16034 }
16035 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16036 #[repr(C)]
16037 pub struct KSPROPERTY_TUNER_SCAN_STATUS_S {
16038     pub Property: KSIDENTIFIER,
16039     pub LockStatus: _TunerDecoderLockType,
16040     pub CurrentFrequency: u32,
16041 }
16042 impl KSPROPERTY_TUNER_SCAN_STATUS_S {}
16043 impl ::std::default::Default for KSPROPERTY_TUNER_SCAN_STATUS_S {
default() -> Self16044     fn default() -> Self {
16045         unsafe { ::std::mem::zeroed() }
16046     }
16047 }
16048 impl ::std::cmp::PartialEq for KSPROPERTY_TUNER_SCAN_STATUS_S {
eq(&self, _other: &Self) -> bool16049     fn eq(&self, _other: &Self) -> bool {
16050         unimplemented!()
16051     }
16052 }
16053 impl ::std::cmp::Eq for KSPROPERTY_TUNER_SCAN_STATUS_S {}
16054 unsafe impl ::windows::runtime::Abi for KSPROPERTY_TUNER_SCAN_STATUS_S {
16055     type Abi = Self;
16056     type DefaultType = Self;
16057 }
16058 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16059 #[repr(C)]
16060 #[cfg(feature = "Win32_Foundation")]
16061 pub struct KSPROPERTY_TUNER_STANDARD_MODE_S {
16062     pub Property: KSIDENTIFIER,
16063     pub AutoDetect: super::super::super::Foundation::BOOL,
16064 }
16065 #[cfg(feature = "Win32_Foundation")]
16066 impl KSPROPERTY_TUNER_STANDARD_MODE_S {}
16067 #[cfg(feature = "Win32_Foundation")]
16068 impl ::std::default::Default for KSPROPERTY_TUNER_STANDARD_MODE_S {
default() -> Self16069     fn default() -> Self {
16070         unsafe { ::std::mem::zeroed() }
16071     }
16072 }
16073 #[cfg(feature = "Win32_Foundation")]
16074 impl ::std::cmp::PartialEq for KSPROPERTY_TUNER_STANDARD_MODE_S {
eq(&self, _other: &Self) -> bool16075     fn eq(&self, _other: &Self) -> bool {
16076         unimplemented!()
16077     }
16078 }
16079 #[cfg(feature = "Win32_Foundation")]
16080 impl ::std::cmp::Eq for KSPROPERTY_TUNER_STANDARD_MODE_S {}
16081 #[cfg(feature = "Win32_Foundation")]
16082 unsafe impl ::windows::runtime::Abi for KSPROPERTY_TUNER_STANDARD_MODE_S {
16083     type Abi = Self;
16084     type DefaultType = Self;
16085 }
16086 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16087 #[repr(C)]
16088 pub struct KSPROPERTY_TUNER_STANDARD_S {
16089     pub Property: KSIDENTIFIER,
16090     pub Standard: u32,
16091 }
16092 impl KSPROPERTY_TUNER_STANDARD_S {}
16093 impl ::std::default::Default for KSPROPERTY_TUNER_STANDARD_S {
default() -> Self16094     fn default() -> Self {
16095         unsafe { ::std::mem::zeroed() }
16096     }
16097 }
16098 impl ::std::cmp::PartialEq for KSPROPERTY_TUNER_STANDARD_S {
eq(&self, _other: &Self) -> bool16099     fn eq(&self, _other: &Self) -> bool {
16100         unimplemented!()
16101     }
16102 }
16103 impl ::std::cmp::Eq for KSPROPERTY_TUNER_STANDARD_S {}
16104 unsafe impl ::windows::runtime::Abi for KSPROPERTY_TUNER_STANDARD_S {
16105     type Abi = Self;
16106     type DefaultType = Self;
16107 }
16108 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16109 #[repr(C)]
16110 pub struct KSPROPERTY_TUNER_STATUS_S {
16111     pub Property: KSIDENTIFIER,
16112     pub CurrentFrequency: u32,
16113     pub PLLOffset: u32,
16114     pub SignalStrength: u32,
16115     pub Busy: u32,
16116 }
16117 impl KSPROPERTY_TUNER_STATUS_S {}
16118 impl ::std::default::Default for KSPROPERTY_TUNER_STATUS_S {
default() -> Self16119     fn default() -> Self {
16120         unsafe { ::std::mem::zeroed() }
16121     }
16122 }
16123 impl ::std::cmp::PartialEq for KSPROPERTY_TUNER_STATUS_S {
eq(&self, _other: &Self) -> bool16124     fn eq(&self, _other: &Self) -> bool {
16125         unimplemented!()
16126     }
16127 }
16128 impl ::std::cmp::Eq for KSPROPERTY_TUNER_STATUS_S {}
16129 unsafe impl ::windows::runtime::Abi for KSPROPERTY_TUNER_STATUS_S {
16130     type Abi = Self;
16131     type DefaultType = Self;
16132 }
16133 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16134 #[repr(C)]
16135 pub struct KSPROPERTY_TVAUDIO_CAPS_S {
16136     pub Property: KSIDENTIFIER,
16137     pub Capabilities: u32,
16138     pub InputMedium: KSIDENTIFIER,
16139     pub OutputMedium: KSIDENTIFIER,
16140 }
16141 impl KSPROPERTY_TVAUDIO_CAPS_S {}
16142 impl ::std::default::Default for KSPROPERTY_TVAUDIO_CAPS_S {
default() -> Self16143     fn default() -> Self {
16144         unsafe { ::std::mem::zeroed() }
16145     }
16146 }
16147 impl ::std::cmp::PartialEq for KSPROPERTY_TVAUDIO_CAPS_S {
eq(&self, _other: &Self) -> bool16148     fn eq(&self, _other: &Self) -> bool {
16149         unimplemented!()
16150     }
16151 }
16152 impl ::std::cmp::Eq for KSPROPERTY_TVAUDIO_CAPS_S {}
16153 unsafe impl ::windows::runtime::Abi for KSPROPERTY_TVAUDIO_CAPS_S {
16154     type Abi = Self;
16155     type DefaultType = Self;
16156 }
16157 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16158 #[repr(C)]
16159 pub struct KSPROPERTY_TVAUDIO_S {
16160     pub Property: KSIDENTIFIER,
16161     pub Mode: u32,
16162 }
16163 impl KSPROPERTY_TVAUDIO_S {}
16164 impl ::std::default::Default for KSPROPERTY_TVAUDIO_S {
default() -> Self16165     fn default() -> Self {
16166         unsafe { ::std::mem::zeroed() }
16167     }
16168 }
16169 impl ::std::cmp::PartialEq for KSPROPERTY_TVAUDIO_S {
eq(&self, _other: &Self) -> bool16170     fn eq(&self, _other: &Self) -> bool {
16171         unimplemented!()
16172     }
16173 }
16174 impl ::std::cmp::Eq for KSPROPERTY_TVAUDIO_S {}
16175 unsafe impl ::windows::runtime::Abi for KSPROPERTY_TVAUDIO_S {
16176     type Abi = Self;
16177     type DefaultType = Self;
16178 }
16179 pub const KSPROPERTY_TYPE_BASICSUPPORT: u32 = 512u32;
16180 pub const KSPROPERTY_TYPE_COPYPAYLOAD: u32 = 2147483648u32;
16181 pub const KSPROPERTY_TYPE_DEFAULTVALUES: u32 = 65536u32;
16182 pub const KSPROPERTY_TYPE_FSFILTERSCOPE: u32 = 1073741824u32;
16183 pub const KSPROPERTY_TYPE_GET: u32 = 1u32;
16184 pub const KSPROPERTY_TYPE_GETPAYLOADSIZE: u32 = 4u32;
16185 pub const KSPROPERTY_TYPE_HIGHPRIORITY: u32 = 134217728u32;
16186 pub const KSPROPERTY_TYPE_RELATIONS: u32 = 1024u32;
16187 pub const KSPROPERTY_TYPE_SERIALIZERAW: u32 = 8192u32;
16188 pub const KSPROPERTY_TYPE_SERIALIZESET: u32 = 2048u32;
16189 pub const KSPROPERTY_TYPE_SERIALIZESIZE: u32 = 32768u32;
16190 pub const KSPROPERTY_TYPE_SET: u32 = 2u32;
16191 pub const KSPROPERTY_TYPE_SETSUPPORT: u32 = 256u32;
16192 pub const KSPROPERTY_TYPE_TOPOLOGY: u32 = 268435456u32;
16193 pub const KSPROPERTY_TYPE_UNSERIALIZERAW: u32 = 16384u32;
16194 pub const KSPROPERTY_TYPE_UNSERIALIZESET: u32 = 4096u32;
16195 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16196 #[repr(transparent)]
16197 pub struct KSPROPERTY_VBICAP(pub i32);
16198 pub const KSPROPERTY_VBICAP_PROPERTIES_PROTECTION: KSPROPERTY_VBICAP = KSPROPERTY_VBICAP(1i32);
16199 impl ::std::convert::From<i32> for KSPROPERTY_VBICAP {
from(value: i32) -> Self16200     fn from(value: i32) -> Self {
16201         Self(value)
16202     }
16203 }
16204 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VBICAP {
16205     type Abi = Self;
16206     type DefaultType = Self;
16207 }
16208 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16209 #[repr(transparent)]
16210 pub struct KSPROPERTY_VBICODECFILTERING(pub i32);
16211 pub const KSPROPERTY_VBICODECFILTERING_SCANLINES_REQUESTED_BIT_ARRAY: KSPROPERTY_VBICODECFILTERING = KSPROPERTY_VBICODECFILTERING(1i32);
16212 pub const KSPROPERTY_VBICODECFILTERING_SCANLINES_DISCOVERED_BIT_ARRAY: KSPROPERTY_VBICODECFILTERING = KSPROPERTY_VBICODECFILTERING(2i32);
16213 pub const KSPROPERTY_VBICODECFILTERING_SUBSTREAMS_REQUESTED_BIT_ARRAY: KSPROPERTY_VBICODECFILTERING = KSPROPERTY_VBICODECFILTERING(3i32);
16214 pub const KSPROPERTY_VBICODECFILTERING_SUBSTREAMS_DISCOVERED_BIT_ARRAY: KSPROPERTY_VBICODECFILTERING = KSPROPERTY_VBICODECFILTERING(4i32);
16215 pub const KSPROPERTY_VBICODECFILTERING_STATISTICS: KSPROPERTY_VBICODECFILTERING = KSPROPERTY_VBICODECFILTERING(5i32);
16216 impl ::std::convert::From<i32> for KSPROPERTY_VBICODECFILTERING {
from(value: i32) -> Self16217     fn from(value: i32) -> Self {
16218         Self(value)
16219     }
16220 }
16221 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VBICODECFILTERING {
16222     type Abi = Self;
16223     type DefaultType = Self;
16224 }
16225 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16226 #[repr(C)]
16227 pub struct KSPROPERTY_VBICODECFILTERING_CC_SUBSTREAMS_S {
16228     pub Property: KSIDENTIFIER,
16229     pub Substreams: VBICODECFILTERING_CC_SUBSTREAMS,
16230 }
16231 impl KSPROPERTY_VBICODECFILTERING_CC_SUBSTREAMS_S {}
16232 impl ::std::default::Default for KSPROPERTY_VBICODECFILTERING_CC_SUBSTREAMS_S {
default() -> Self16233     fn default() -> Self {
16234         unsafe { ::std::mem::zeroed() }
16235     }
16236 }
16237 impl ::std::cmp::PartialEq for KSPROPERTY_VBICODECFILTERING_CC_SUBSTREAMS_S {
eq(&self, _other: &Self) -> bool16238     fn eq(&self, _other: &Self) -> bool {
16239         unimplemented!()
16240     }
16241 }
16242 impl ::std::cmp::Eq for KSPROPERTY_VBICODECFILTERING_CC_SUBSTREAMS_S {}
16243 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VBICODECFILTERING_CC_SUBSTREAMS_S {
16244     type Abi = Self;
16245     type DefaultType = Self;
16246 }
16247 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16248 #[repr(C)]
16249 pub struct KSPROPERTY_VBICODECFILTERING_NABTS_SUBSTREAMS_S {
16250     pub Property: KSIDENTIFIER,
16251     pub Substreams: VBICODECFILTERING_NABTS_SUBSTREAMS,
16252 }
16253 impl KSPROPERTY_VBICODECFILTERING_NABTS_SUBSTREAMS_S {}
16254 impl ::std::default::Default for KSPROPERTY_VBICODECFILTERING_NABTS_SUBSTREAMS_S {
default() -> Self16255     fn default() -> Self {
16256         unsafe { ::std::mem::zeroed() }
16257     }
16258 }
16259 impl ::std::cmp::PartialEq for KSPROPERTY_VBICODECFILTERING_NABTS_SUBSTREAMS_S {
eq(&self, _other: &Self) -> bool16260     fn eq(&self, _other: &Self) -> bool {
16261         unimplemented!()
16262     }
16263 }
16264 impl ::std::cmp::Eq for KSPROPERTY_VBICODECFILTERING_NABTS_SUBSTREAMS_S {}
16265 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VBICODECFILTERING_NABTS_SUBSTREAMS_S {
16266     type Abi = Self;
16267     type DefaultType = Self;
16268 }
16269 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16270 #[repr(C)]
16271 pub struct KSPROPERTY_VBICODECFILTERING_SCANLINES_S {
16272     pub Property: KSIDENTIFIER,
16273     pub Scanlines: VBICODECFILTERING_SCANLINES,
16274 }
16275 impl KSPROPERTY_VBICODECFILTERING_SCANLINES_S {}
16276 impl ::std::default::Default for KSPROPERTY_VBICODECFILTERING_SCANLINES_S {
default() -> Self16277     fn default() -> Self {
16278         unsafe { ::std::mem::zeroed() }
16279     }
16280 }
16281 impl ::std::cmp::PartialEq for KSPROPERTY_VBICODECFILTERING_SCANLINES_S {
eq(&self, _other: &Self) -> bool16282     fn eq(&self, _other: &Self) -> bool {
16283         unimplemented!()
16284     }
16285 }
16286 impl ::std::cmp::Eq for KSPROPERTY_VBICODECFILTERING_SCANLINES_S {}
16287 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VBICODECFILTERING_SCANLINES_S {
16288     type Abi = Self;
16289     type DefaultType = Self;
16290 }
16291 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16292 #[repr(C)]
16293 pub struct KSPROPERTY_VBICODECFILTERING_STATISTICS_CC_PIN_S {
16294     pub Property: KSIDENTIFIER,
16295     pub Statistics: VBICODECFILTERING_STATISTICS_CC_PIN,
16296 }
16297 impl KSPROPERTY_VBICODECFILTERING_STATISTICS_CC_PIN_S {}
16298 impl ::std::default::Default for KSPROPERTY_VBICODECFILTERING_STATISTICS_CC_PIN_S {
default() -> Self16299     fn default() -> Self {
16300         unsafe { ::std::mem::zeroed() }
16301     }
16302 }
16303 impl ::std::cmp::PartialEq for KSPROPERTY_VBICODECFILTERING_STATISTICS_CC_PIN_S {
eq(&self, _other: &Self) -> bool16304     fn eq(&self, _other: &Self) -> bool {
16305         unimplemented!()
16306     }
16307 }
16308 impl ::std::cmp::Eq for KSPROPERTY_VBICODECFILTERING_STATISTICS_CC_PIN_S {}
16309 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VBICODECFILTERING_STATISTICS_CC_PIN_S {
16310     type Abi = Self;
16311     type DefaultType = Self;
16312 }
16313 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16314 #[repr(C)]
16315 pub struct KSPROPERTY_VBICODECFILTERING_STATISTICS_CC_S {
16316     pub Property: KSIDENTIFIER,
16317     pub Statistics: VBICODECFILTERING_STATISTICS_CC,
16318 }
16319 impl KSPROPERTY_VBICODECFILTERING_STATISTICS_CC_S {}
16320 impl ::std::default::Default for KSPROPERTY_VBICODECFILTERING_STATISTICS_CC_S {
default() -> Self16321     fn default() -> Self {
16322         unsafe { ::std::mem::zeroed() }
16323     }
16324 }
16325 impl ::std::cmp::PartialEq for KSPROPERTY_VBICODECFILTERING_STATISTICS_CC_S {
eq(&self, _other: &Self) -> bool16326     fn eq(&self, _other: &Self) -> bool {
16327         unimplemented!()
16328     }
16329 }
16330 impl ::std::cmp::Eq for KSPROPERTY_VBICODECFILTERING_STATISTICS_CC_S {}
16331 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VBICODECFILTERING_STATISTICS_CC_S {
16332     type Abi = Self;
16333     type DefaultType = Self;
16334 }
16335 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16336 #[repr(C)]
16337 pub struct KSPROPERTY_VBICODECFILTERING_STATISTICS_COMMON_PIN_S {
16338     pub Property: KSIDENTIFIER,
16339     pub Statistics: VBICODECFILTERING_STATISTICS_COMMON_PIN,
16340 }
16341 impl KSPROPERTY_VBICODECFILTERING_STATISTICS_COMMON_PIN_S {}
16342 impl ::std::default::Default for KSPROPERTY_VBICODECFILTERING_STATISTICS_COMMON_PIN_S {
default() -> Self16343     fn default() -> Self {
16344         unsafe { ::std::mem::zeroed() }
16345     }
16346 }
16347 impl ::std::cmp::PartialEq for KSPROPERTY_VBICODECFILTERING_STATISTICS_COMMON_PIN_S {
eq(&self, _other: &Self) -> bool16348     fn eq(&self, _other: &Self) -> bool {
16349         unimplemented!()
16350     }
16351 }
16352 impl ::std::cmp::Eq for KSPROPERTY_VBICODECFILTERING_STATISTICS_COMMON_PIN_S {}
16353 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VBICODECFILTERING_STATISTICS_COMMON_PIN_S {
16354     type Abi = Self;
16355     type DefaultType = Self;
16356 }
16357 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16358 #[repr(C)]
16359 pub struct KSPROPERTY_VBICODECFILTERING_STATISTICS_COMMON_S {
16360     pub Property: KSIDENTIFIER,
16361     pub Statistics: VBICODECFILTERING_STATISTICS_COMMON,
16362 }
16363 impl KSPROPERTY_VBICODECFILTERING_STATISTICS_COMMON_S {}
16364 impl ::std::default::Default for KSPROPERTY_VBICODECFILTERING_STATISTICS_COMMON_S {
default() -> Self16365     fn default() -> Self {
16366         unsafe { ::std::mem::zeroed() }
16367     }
16368 }
16369 impl ::std::cmp::PartialEq for KSPROPERTY_VBICODECFILTERING_STATISTICS_COMMON_S {
eq(&self, _other: &Self) -> bool16370     fn eq(&self, _other: &Self) -> bool {
16371         unimplemented!()
16372     }
16373 }
16374 impl ::std::cmp::Eq for KSPROPERTY_VBICODECFILTERING_STATISTICS_COMMON_S {}
16375 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VBICODECFILTERING_STATISTICS_COMMON_S {
16376     type Abi = Self;
16377     type DefaultType = Self;
16378 }
16379 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16380 #[repr(C)]
16381 pub struct KSPROPERTY_VBICODECFILTERING_STATISTICS_NABTS_PIN_S {
16382     pub Property: KSIDENTIFIER,
16383     pub Statistics: VBICODECFILTERING_STATISTICS_NABTS_PIN,
16384 }
16385 impl KSPROPERTY_VBICODECFILTERING_STATISTICS_NABTS_PIN_S {}
16386 impl ::std::default::Default for KSPROPERTY_VBICODECFILTERING_STATISTICS_NABTS_PIN_S {
default() -> Self16387     fn default() -> Self {
16388         unsafe { ::std::mem::zeroed() }
16389     }
16390 }
16391 impl ::std::cmp::PartialEq for KSPROPERTY_VBICODECFILTERING_STATISTICS_NABTS_PIN_S {
eq(&self, _other: &Self) -> bool16392     fn eq(&self, _other: &Self) -> bool {
16393         unimplemented!()
16394     }
16395 }
16396 impl ::std::cmp::Eq for KSPROPERTY_VBICODECFILTERING_STATISTICS_NABTS_PIN_S {}
16397 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VBICODECFILTERING_STATISTICS_NABTS_PIN_S {
16398     type Abi = Self;
16399     type DefaultType = Self;
16400 }
16401 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16402 #[repr(C)]
16403 pub struct KSPROPERTY_VBICODECFILTERING_STATISTICS_NABTS_S {
16404     pub Property: KSIDENTIFIER,
16405     pub Statistics: VBICODECFILTERING_STATISTICS_NABTS,
16406 }
16407 impl KSPROPERTY_VBICODECFILTERING_STATISTICS_NABTS_S {}
16408 impl ::std::default::Default for KSPROPERTY_VBICODECFILTERING_STATISTICS_NABTS_S {
default() -> Self16409     fn default() -> Self {
16410         unsafe { ::std::mem::zeroed() }
16411     }
16412 }
16413 impl ::std::cmp::PartialEq for KSPROPERTY_VBICODECFILTERING_STATISTICS_NABTS_S {
eq(&self, _other: &Self) -> bool16414     fn eq(&self, _other: &Self) -> bool {
16415         unimplemented!()
16416     }
16417 }
16418 impl ::std::cmp::Eq for KSPROPERTY_VBICODECFILTERING_STATISTICS_NABTS_S {}
16419 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VBICODECFILTERING_STATISTICS_NABTS_S {
16420     type Abi = Self;
16421     type DefaultType = Self;
16422 }
16423 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16424 #[repr(transparent)]
16425 pub struct KSPROPERTY_VIDCAP_CAMERACONTROL(pub i32);
16426 pub const KSPROPERTY_CAMERACONTROL_PAN: KSPROPERTY_VIDCAP_CAMERACONTROL = KSPROPERTY_VIDCAP_CAMERACONTROL(0i32);
16427 pub const KSPROPERTY_CAMERACONTROL_TILT: KSPROPERTY_VIDCAP_CAMERACONTROL = KSPROPERTY_VIDCAP_CAMERACONTROL(1i32);
16428 pub const KSPROPERTY_CAMERACONTROL_ROLL: KSPROPERTY_VIDCAP_CAMERACONTROL = KSPROPERTY_VIDCAP_CAMERACONTROL(2i32);
16429 pub const KSPROPERTY_CAMERACONTROL_ZOOM: KSPROPERTY_VIDCAP_CAMERACONTROL = KSPROPERTY_VIDCAP_CAMERACONTROL(3i32);
16430 pub const KSPROPERTY_CAMERACONTROL_EXPOSURE: KSPROPERTY_VIDCAP_CAMERACONTROL = KSPROPERTY_VIDCAP_CAMERACONTROL(4i32);
16431 pub const KSPROPERTY_CAMERACONTROL_IRIS: KSPROPERTY_VIDCAP_CAMERACONTROL = KSPROPERTY_VIDCAP_CAMERACONTROL(5i32);
16432 pub const KSPROPERTY_CAMERACONTROL_FOCUS: KSPROPERTY_VIDCAP_CAMERACONTROL = KSPROPERTY_VIDCAP_CAMERACONTROL(6i32);
16433 pub const KSPROPERTY_CAMERACONTROL_SCANMODE: KSPROPERTY_VIDCAP_CAMERACONTROL = KSPROPERTY_VIDCAP_CAMERACONTROL(7i32);
16434 pub const KSPROPERTY_CAMERACONTROL_PRIVACY: KSPROPERTY_VIDCAP_CAMERACONTROL = KSPROPERTY_VIDCAP_CAMERACONTROL(8i32);
16435 pub const KSPROPERTY_CAMERACONTROL_PANTILT: KSPROPERTY_VIDCAP_CAMERACONTROL = KSPROPERTY_VIDCAP_CAMERACONTROL(9i32);
16436 pub const KSPROPERTY_CAMERACONTROL_PAN_RELATIVE: KSPROPERTY_VIDCAP_CAMERACONTROL = KSPROPERTY_VIDCAP_CAMERACONTROL(10i32);
16437 pub const KSPROPERTY_CAMERACONTROL_TILT_RELATIVE: KSPROPERTY_VIDCAP_CAMERACONTROL = KSPROPERTY_VIDCAP_CAMERACONTROL(11i32);
16438 pub const KSPROPERTY_CAMERACONTROL_ROLL_RELATIVE: KSPROPERTY_VIDCAP_CAMERACONTROL = KSPROPERTY_VIDCAP_CAMERACONTROL(12i32);
16439 pub const KSPROPERTY_CAMERACONTROL_ZOOM_RELATIVE: KSPROPERTY_VIDCAP_CAMERACONTROL = KSPROPERTY_VIDCAP_CAMERACONTROL(13i32);
16440 pub const KSPROPERTY_CAMERACONTROL_EXPOSURE_RELATIVE: KSPROPERTY_VIDCAP_CAMERACONTROL = KSPROPERTY_VIDCAP_CAMERACONTROL(14i32);
16441 pub const KSPROPERTY_CAMERACONTROL_IRIS_RELATIVE: KSPROPERTY_VIDCAP_CAMERACONTROL = KSPROPERTY_VIDCAP_CAMERACONTROL(15i32);
16442 pub const KSPROPERTY_CAMERACONTROL_FOCUS_RELATIVE: KSPROPERTY_VIDCAP_CAMERACONTROL = KSPROPERTY_VIDCAP_CAMERACONTROL(16i32);
16443 pub const KSPROPERTY_CAMERACONTROL_PANTILT_RELATIVE: KSPROPERTY_VIDCAP_CAMERACONTROL = KSPROPERTY_VIDCAP_CAMERACONTROL(17i32);
16444 pub const KSPROPERTY_CAMERACONTROL_FOCAL_LENGTH: KSPROPERTY_VIDCAP_CAMERACONTROL = KSPROPERTY_VIDCAP_CAMERACONTROL(18i32);
16445 pub const KSPROPERTY_CAMERACONTROL_AUTO_EXPOSURE_PRIORITY: KSPROPERTY_VIDCAP_CAMERACONTROL = KSPROPERTY_VIDCAP_CAMERACONTROL(19i32);
16446 impl ::std::convert::From<i32> for KSPROPERTY_VIDCAP_CAMERACONTROL {
from(value: i32) -> Self16447     fn from(value: i32) -> Self {
16448         Self(value)
16449     }
16450 }
16451 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VIDCAP_CAMERACONTROL {
16452     type Abi = Self;
16453     type DefaultType = Self;
16454 }
16455 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16456 #[repr(transparent)]
16457 pub struct KSPROPERTY_VIDCAP_CROSSBAR(pub i32);
16458 pub const KSPROPERTY_CROSSBAR_CAPS: KSPROPERTY_VIDCAP_CROSSBAR = KSPROPERTY_VIDCAP_CROSSBAR(0i32);
16459 pub const KSPROPERTY_CROSSBAR_PININFO: KSPROPERTY_VIDCAP_CROSSBAR = KSPROPERTY_VIDCAP_CROSSBAR(1i32);
16460 pub const KSPROPERTY_CROSSBAR_CAN_ROUTE: KSPROPERTY_VIDCAP_CROSSBAR = KSPROPERTY_VIDCAP_CROSSBAR(2i32);
16461 pub const KSPROPERTY_CROSSBAR_ROUTE: KSPROPERTY_VIDCAP_CROSSBAR = KSPROPERTY_VIDCAP_CROSSBAR(3i32);
16462 pub const KSPROPERTY_CROSSBAR_INPUT_ACTIVE: KSPROPERTY_VIDCAP_CROSSBAR = KSPROPERTY_VIDCAP_CROSSBAR(4i32);
16463 impl ::std::convert::From<i32> for KSPROPERTY_VIDCAP_CROSSBAR {
from(value: i32) -> Self16464     fn from(value: i32) -> Self {
16465         Self(value)
16466     }
16467 }
16468 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VIDCAP_CROSSBAR {
16469     type Abi = Self;
16470     type DefaultType = Self;
16471 }
16472 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16473 #[repr(transparent)]
16474 pub struct KSPROPERTY_VIDCAP_DROPPEDFRAMES(pub i32);
16475 pub const KSPROPERTY_DROPPEDFRAMES_CURRENT: KSPROPERTY_VIDCAP_DROPPEDFRAMES = KSPROPERTY_VIDCAP_DROPPEDFRAMES(0i32);
16476 impl ::std::convert::From<i32> for KSPROPERTY_VIDCAP_DROPPEDFRAMES {
from(value: i32) -> Self16477     fn from(value: i32) -> Self {
16478         Self(value)
16479     }
16480 }
16481 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VIDCAP_DROPPEDFRAMES {
16482     type Abi = Self;
16483     type DefaultType = Self;
16484 }
16485 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16486 #[repr(transparent)]
16487 pub struct KSPROPERTY_VIDCAP_SELECTOR(pub i32);
16488 pub const KSPROPERTY_SELECTOR_SOURCE_NODE_ID: KSPROPERTY_VIDCAP_SELECTOR = KSPROPERTY_VIDCAP_SELECTOR(0i32);
16489 pub const KSPROPERTY_SELECTOR_NUM_SOURCES: KSPROPERTY_VIDCAP_SELECTOR = KSPROPERTY_VIDCAP_SELECTOR(1i32);
16490 impl ::std::convert::From<i32> for KSPROPERTY_VIDCAP_SELECTOR {
from(value: i32) -> Self16491     fn from(value: i32) -> Self {
16492         Self(value)
16493     }
16494 }
16495 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VIDCAP_SELECTOR {
16496     type Abi = Self;
16497     type DefaultType = Self;
16498 }
16499 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16500 #[repr(transparent)]
16501 pub struct KSPROPERTY_VIDCAP_TVAUDIO(pub i32);
16502 pub const KSPROPERTY_TVAUDIO_CAPS: KSPROPERTY_VIDCAP_TVAUDIO = KSPROPERTY_VIDCAP_TVAUDIO(0i32);
16503 pub const KSPROPERTY_TVAUDIO_MODE: KSPROPERTY_VIDCAP_TVAUDIO = KSPROPERTY_VIDCAP_TVAUDIO(1i32);
16504 pub const KSPROPERTY_TVAUDIO_CURRENTLY_AVAILABLE_MODES: KSPROPERTY_VIDCAP_TVAUDIO = KSPROPERTY_VIDCAP_TVAUDIO(2i32);
16505 impl ::std::convert::From<i32> for KSPROPERTY_VIDCAP_TVAUDIO {
from(value: i32) -> Self16506     fn from(value: i32) -> Self {
16507         Self(value)
16508     }
16509 }
16510 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VIDCAP_TVAUDIO {
16511     type Abi = Self;
16512     type DefaultType = Self;
16513 }
16514 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16515 #[repr(transparent)]
16516 pub struct KSPROPERTY_VIDCAP_VIDEOCOMPRESSION(pub i32);
16517 pub const KSPROPERTY_VIDEOCOMPRESSION_GETINFO: KSPROPERTY_VIDCAP_VIDEOCOMPRESSION = KSPROPERTY_VIDCAP_VIDEOCOMPRESSION(0i32);
16518 pub const KSPROPERTY_VIDEOCOMPRESSION_KEYFRAME_RATE: KSPROPERTY_VIDCAP_VIDEOCOMPRESSION = KSPROPERTY_VIDCAP_VIDEOCOMPRESSION(1i32);
16519 pub const KSPROPERTY_VIDEOCOMPRESSION_PFRAMES_PER_KEYFRAME: KSPROPERTY_VIDCAP_VIDEOCOMPRESSION = KSPROPERTY_VIDCAP_VIDEOCOMPRESSION(2i32);
16520 pub const KSPROPERTY_VIDEOCOMPRESSION_QUALITY: KSPROPERTY_VIDCAP_VIDEOCOMPRESSION = KSPROPERTY_VIDCAP_VIDEOCOMPRESSION(3i32);
16521 pub const KSPROPERTY_VIDEOCOMPRESSION_OVERRIDE_KEYFRAME: KSPROPERTY_VIDCAP_VIDEOCOMPRESSION = KSPROPERTY_VIDCAP_VIDEOCOMPRESSION(4i32);
16522 pub const KSPROPERTY_VIDEOCOMPRESSION_OVERRIDE_FRAME_SIZE: KSPROPERTY_VIDCAP_VIDEOCOMPRESSION = KSPROPERTY_VIDCAP_VIDEOCOMPRESSION(5i32);
16523 pub const KSPROPERTY_VIDEOCOMPRESSION_WINDOWSIZE: KSPROPERTY_VIDCAP_VIDEOCOMPRESSION = KSPROPERTY_VIDCAP_VIDEOCOMPRESSION(6i32);
16524 impl ::std::convert::From<i32> for KSPROPERTY_VIDCAP_VIDEOCOMPRESSION {
from(value: i32) -> Self16525     fn from(value: i32) -> Self {
16526         Self(value)
16527     }
16528 }
16529 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VIDCAP_VIDEOCOMPRESSION {
16530     type Abi = Self;
16531     type DefaultType = Self;
16532 }
16533 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16534 #[repr(transparent)]
16535 pub struct KSPROPERTY_VIDCAP_VIDEOCONTROL(pub i32);
16536 pub const KSPROPERTY_VIDEOCONTROL_CAPS: KSPROPERTY_VIDCAP_VIDEOCONTROL = KSPROPERTY_VIDCAP_VIDEOCONTROL(0i32);
16537 pub const KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE: KSPROPERTY_VIDCAP_VIDEOCONTROL = KSPROPERTY_VIDCAP_VIDEOCONTROL(1i32);
16538 pub const KSPROPERTY_VIDEOCONTROL_FRAME_RATES: KSPROPERTY_VIDCAP_VIDEOCONTROL = KSPROPERTY_VIDCAP_VIDEOCONTROL(2i32);
16539 pub const KSPROPERTY_VIDEOCONTROL_MODE: KSPROPERTY_VIDCAP_VIDEOCONTROL = KSPROPERTY_VIDCAP_VIDEOCONTROL(3i32);
16540 impl ::std::convert::From<i32> for KSPROPERTY_VIDCAP_VIDEOCONTROL {
from(value: i32) -> Self16541     fn from(value: i32) -> Self {
16542         Self(value)
16543     }
16544 }
16545 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VIDCAP_VIDEOCONTROL {
16546     type Abi = Self;
16547     type DefaultType = Self;
16548 }
16549 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16550 #[repr(transparent)]
16551 pub struct KSPROPERTY_VIDCAP_VIDEODECODER(pub i32);
16552 pub const KSPROPERTY_VIDEODECODER_CAPS: KSPROPERTY_VIDCAP_VIDEODECODER = KSPROPERTY_VIDCAP_VIDEODECODER(0i32);
16553 pub const KSPROPERTY_VIDEODECODER_STANDARD: KSPROPERTY_VIDCAP_VIDEODECODER = KSPROPERTY_VIDCAP_VIDEODECODER(1i32);
16554 pub const KSPROPERTY_VIDEODECODER_STATUS: KSPROPERTY_VIDCAP_VIDEODECODER = KSPROPERTY_VIDCAP_VIDEODECODER(2i32);
16555 pub const KSPROPERTY_VIDEODECODER_OUTPUT_ENABLE: KSPROPERTY_VIDCAP_VIDEODECODER = KSPROPERTY_VIDCAP_VIDEODECODER(3i32);
16556 pub const KSPROPERTY_VIDEODECODER_VCR_TIMING: KSPROPERTY_VIDCAP_VIDEODECODER = KSPROPERTY_VIDCAP_VIDEODECODER(4i32);
16557 pub const KSPROPERTY_VIDEODECODER_STATUS2: KSPROPERTY_VIDCAP_VIDEODECODER = KSPROPERTY_VIDCAP_VIDEODECODER(5i32);
16558 impl ::std::convert::From<i32> for KSPROPERTY_VIDCAP_VIDEODECODER {
from(value: i32) -> Self16559     fn from(value: i32) -> Self {
16560         Self(value)
16561     }
16562 }
16563 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VIDCAP_VIDEODECODER {
16564     type Abi = Self;
16565     type DefaultType = Self;
16566 }
16567 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16568 #[repr(transparent)]
16569 pub struct KSPROPERTY_VIDCAP_VIDEOENCODER(pub i32);
16570 pub const KSPROPERTY_VIDEOENCODER_CAPS: KSPROPERTY_VIDCAP_VIDEOENCODER = KSPROPERTY_VIDCAP_VIDEOENCODER(0i32);
16571 pub const KSPROPERTY_VIDEOENCODER_STANDARD: KSPROPERTY_VIDCAP_VIDEOENCODER = KSPROPERTY_VIDCAP_VIDEOENCODER(1i32);
16572 pub const KSPROPERTY_VIDEOENCODER_COPYPROTECTION: KSPROPERTY_VIDCAP_VIDEOENCODER = KSPROPERTY_VIDCAP_VIDEOENCODER(2i32);
16573 pub const KSPROPERTY_VIDEOENCODER_CC_ENABLE: KSPROPERTY_VIDCAP_VIDEOENCODER = KSPROPERTY_VIDCAP_VIDEOENCODER(3i32);
16574 impl ::std::convert::From<i32> for KSPROPERTY_VIDCAP_VIDEOENCODER {
from(value: i32) -> Self16575     fn from(value: i32) -> Self {
16576         Self(value)
16577     }
16578 }
16579 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VIDCAP_VIDEOENCODER {
16580     type Abi = Self;
16581     type DefaultType = Self;
16582 }
16583 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16584 #[repr(transparent)]
16585 pub struct KSPROPERTY_VIDCAP_VIDEOPROCAMP(pub i32);
16586 pub const KSPROPERTY_VIDEOPROCAMP_BRIGHTNESS: KSPROPERTY_VIDCAP_VIDEOPROCAMP = KSPROPERTY_VIDCAP_VIDEOPROCAMP(0i32);
16587 pub const KSPROPERTY_VIDEOPROCAMP_CONTRAST: KSPROPERTY_VIDCAP_VIDEOPROCAMP = KSPROPERTY_VIDCAP_VIDEOPROCAMP(1i32);
16588 pub const KSPROPERTY_VIDEOPROCAMP_HUE: KSPROPERTY_VIDCAP_VIDEOPROCAMP = KSPROPERTY_VIDCAP_VIDEOPROCAMP(2i32);
16589 pub const KSPROPERTY_VIDEOPROCAMP_SATURATION: KSPROPERTY_VIDCAP_VIDEOPROCAMP = KSPROPERTY_VIDCAP_VIDEOPROCAMP(3i32);
16590 pub const KSPROPERTY_VIDEOPROCAMP_SHARPNESS: KSPROPERTY_VIDCAP_VIDEOPROCAMP = KSPROPERTY_VIDCAP_VIDEOPROCAMP(4i32);
16591 pub const KSPROPERTY_VIDEOPROCAMP_GAMMA: KSPROPERTY_VIDCAP_VIDEOPROCAMP = KSPROPERTY_VIDCAP_VIDEOPROCAMP(5i32);
16592 pub const KSPROPERTY_VIDEOPROCAMP_COLORENABLE: KSPROPERTY_VIDCAP_VIDEOPROCAMP = KSPROPERTY_VIDCAP_VIDEOPROCAMP(6i32);
16593 pub const KSPROPERTY_VIDEOPROCAMP_WHITEBALANCE: KSPROPERTY_VIDCAP_VIDEOPROCAMP = KSPROPERTY_VIDCAP_VIDEOPROCAMP(7i32);
16594 pub const KSPROPERTY_VIDEOPROCAMP_BACKLIGHT_COMPENSATION: KSPROPERTY_VIDCAP_VIDEOPROCAMP = KSPROPERTY_VIDCAP_VIDEOPROCAMP(8i32);
16595 pub const KSPROPERTY_VIDEOPROCAMP_GAIN: KSPROPERTY_VIDCAP_VIDEOPROCAMP = KSPROPERTY_VIDCAP_VIDEOPROCAMP(9i32);
16596 pub const KSPROPERTY_VIDEOPROCAMP_DIGITAL_MULTIPLIER: KSPROPERTY_VIDCAP_VIDEOPROCAMP = KSPROPERTY_VIDCAP_VIDEOPROCAMP(10i32);
16597 pub const KSPROPERTY_VIDEOPROCAMP_DIGITAL_MULTIPLIER_LIMIT: KSPROPERTY_VIDCAP_VIDEOPROCAMP = KSPROPERTY_VIDCAP_VIDEOPROCAMP(11i32);
16598 pub const KSPROPERTY_VIDEOPROCAMP_WHITEBALANCE_COMPONENT: KSPROPERTY_VIDCAP_VIDEOPROCAMP = KSPROPERTY_VIDCAP_VIDEOPROCAMP(12i32);
16599 pub const KSPROPERTY_VIDEOPROCAMP_POWERLINE_FREQUENCY: KSPROPERTY_VIDCAP_VIDEOPROCAMP = KSPROPERTY_VIDCAP_VIDEOPROCAMP(13i32);
16600 impl ::std::convert::From<i32> for KSPROPERTY_VIDCAP_VIDEOPROCAMP {
from(value: i32) -> Self16601     fn from(value: i32) -> Self {
16602         Self(value)
16603     }
16604 }
16605 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VIDCAP_VIDEOPROCAMP {
16606     type Abi = Self;
16607     type DefaultType = Self;
16608 }
16609 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16610 #[repr(C)]
16611 pub struct KSPROPERTY_VIDEOCOMPRESSION_GETINFO_S {
16612     pub Property: KSIDENTIFIER,
16613     pub StreamIndex: u32,
16614     pub DefaultKeyFrameRate: i32,
16615     pub DefaultPFrameRate: i32,
16616     pub DefaultQuality: i32,
16617     pub NumberOfQualitySettings: i32,
16618     pub Capabilities: i32,
16619 }
16620 impl KSPROPERTY_VIDEOCOMPRESSION_GETINFO_S {}
16621 impl ::std::default::Default for KSPROPERTY_VIDEOCOMPRESSION_GETINFO_S {
default() -> Self16622     fn default() -> Self {
16623         unsafe { ::std::mem::zeroed() }
16624     }
16625 }
16626 impl ::std::cmp::PartialEq for KSPROPERTY_VIDEOCOMPRESSION_GETINFO_S {
eq(&self, _other: &Self) -> bool16627     fn eq(&self, _other: &Self) -> bool {
16628         unimplemented!()
16629     }
16630 }
16631 impl ::std::cmp::Eq for KSPROPERTY_VIDEOCOMPRESSION_GETINFO_S {}
16632 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VIDEOCOMPRESSION_GETINFO_S {
16633     type Abi = Self;
16634     type DefaultType = Self;
16635 }
16636 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16637 #[repr(C)]
16638 pub struct KSPROPERTY_VIDEOCOMPRESSION_S {
16639     pub Property: KSIDENTIFIER,
16640     pub StreamIndex: u32,
16641     pub Value: i32,
16642 }
16643 impl KSPROPERTY_VIDEOCOMPRESSION_S {}
16644 impl ::std::default::Default for KSPROPERTY_VIDEOCOMPRESSION_S {
default() -> Self16645     fn default() -> Self {
16646         unsafe { ::std::mem::zeroed() }
16647     }
16648 }
16649 impl ::std::cmp::PartialEq for KSPROPERTY_VIDEOCOMPRESSION_S {
eq(&self, _other: &Self) -> bool16650     fn eq(&self, _other: &Self) -> bool {
16651         unimplemented!()
16652     }
16653 }
16654 impl ::std::cmp::Eq for KSPROPERTY_VIDEOCOMPRESSION_S {}
16655 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VIDEOCOMPRESSION_S {
16656     type Abi = Self;
16657     type DefaultType = Self;
16658 }
16659 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16660 #[repr(C)]
16661 pub struct KSPROPERTY_VIDEOCOMPRESSION_S1 {
16662     pub Property: KSIDENTIFIER,
16663     pub StreamIndex: u32,
16664     pub Value: i32,
16665     pub Flags: u32,
16666 }
16667 impl KSPROPERTY_VIDEOCOMPRESSION_S1 {}
16668 impl ::std::default::Default for KSPROPERTY_VIDEOCOMPRESSION_S1 {
default() -> Self16669     fn default() -> Self {
16670         unsafe { ::std::mem::zeroed() }
16671     }
16672 }
16673 impl ::std::cmp::PartialEq for KSPROPERTY_VIDEOCOMPRESSION_S1 {
eq(&self, _other: &Self) -> bool16674     fn eq(&self, _other: &Self) -> bool {
16675         unimplemented!()
16676     }
16677 }
16678 impl ::std::cmp::Eq for KSPROPERTY_VIDEOCOMPRESSION_S1 {}
16679 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VIDEOCOMPRESSION_S1 {
16680     type Abi = Self;
16681     type DefaultType = Self;
16682 }
16683 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16684 #[repr(C)]
16685 #[cfg(feature = "Win32_Foundation")]
16686 pub struct KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE_S {
16687     pub Property: KSIDENTIFIER,
16688     pub StreamIndex: u32,
16689     pub RangeIndex: u32,
16690     pub Dimensions: super::super::super::Foundation::SIZE,
16691     pub CurrentActualFrameRate: i64,
16692     pub CurrentMaxAvailableFrameRate: i64,
16693 }
16694 #[cfg(feature = "Win32_Foundation")]
16695 impl KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE_S {}
16696 #[cfg(feature = "Win32_Foundation")]
16697 impl ::std::default::Default for KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE_S {
default() -> Self16698     fn default() -> Self {
16699         unsafe { ::std::mem::zeroed() }
16700     }
16701 }
16702 #[cfg(feature = "Win32_Foundation")]
16703 impl ::std::cmp::PartialEq for KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE_S {
eq(&self, _other: &Self) -> bool16704     fn eq(&self, _other: &Self) -> bool {
16705         unimplemented!()
16706     }
16707 }
16708 #[cfg(feature = "Win32_Foundation")]
16709 impl ::std::cmp::Eq for KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE_S {}
16710 #[cfg(feature = "Win32_Foundation")]
16711 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE_S {
16712     type Abi = Self;
16713     type DefaultType = Self;
16714 }
16715 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16716 #[repr(C)]
16717 pub struct KSPROPERTY_VIDEOCONTROL_CAPS_S {
16718     pub Property: KSIDENTIFIER,
16719     pub StreamIndex: u32,
16720     pub VideoControlCaps: u32,
16721 }
16722 impl KSPROPERTY_VIDEOCONTROL_CAPS_S {}
16723 impl ::std::default::Default for KSPROPERTY_VIDEOCONTROL_CAPS_S {
default() -> Self16724     fn default() -> Self {
16725         unsafe { ::std::mem::zeroed() }
16726     }
16727 }
16728 impl ::std::cmp::PartialEq for KSPROPERTY_VIDEOCONTROL_CAPS_S {
eq(&self, _other: &Self) -> bool16729     fn eq(&self, _other: &Self) -> bool {
16730         unimplemented!()
16731     }
16732 }
16733 impl ::std::cmp::Eq for KSPROPERTY_VIDEOCONTROL_CAPS_S {}
16734 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VIDEOCONTROL_CAPS_S {
16735     type Abi = Self;
16736     type DefaultType = Self;
16737 }
16738 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16739 #[repr(C)]
16740 #[cfg(feature = "Win32_Foundation")]
16741 pub struct KSPROPERTY_VIDEOCONTROL_FRAME_RATES_S {
16742     pub Property: KSIDENTIFIER,
16743     pub StreamIndex: u32,
16744     pub RangeIndex: u32,
16745     pub Dimensions: super::super::super::Foundation::SIZE,
16746 }
16747 #[cfg(feature = "Win32_Foundation")]
16748 impl KSPROPERTY_VIDEOCONTROL_FRAME_RATES_S {}
16749 #[cfg(feature = "Win32_Foundation")]
16750 impl ::std::default::Default for KSPROPERTY_VIDEOCONTROL_FRAME_RATES_S {
default() -> Self16751     fn default() -> Self {
16752         unsafe { ::std::mem::zeroed() }
16753     }
16754 }
16755 #[cfg(feature = "Win32_Foundation")]
16756 impl ::std::cmp::PartialEq for KSPROPERTY_VIDEOCONTROL_FRAME_RATES_S {
eq(&self, _other: &Self) -> bool16757     fn eq(&self, _other: &Self) -> bool {
16758         unimplemented!()
16759     }
16760 }
16761 #[cfg(feature = "Win32_Foundation")]
16762 impl ::std::cmp::Eq for KSPROPERTY_VIDEOCONTROL_FRAME_RATES_S {}
16763 #[cfg(feature = "Win32_Foundation")]
16764 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VIDEOCONTROL_FRAME_RATES_S {
16765     type Abi = Self;
16766     type DefaultType = Self;
16767 }
16768 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16769 #[repr(C)]
16770 pub struct KSPROPERTY_VIDEOCONTROL_MODE_S {
16771     pub Property: KSIDENTIFIER,
16772     pub StreamIndex: u32,
16773     pub Mode: i32,
16774 }
16775 impl KSPROPERTY_VIDEOCONTROL_MODE_S {}
16776 impl ::std::default::Default for KSPROPERTY_VIDEOCONTROL_MODE_S {
default() -> Self16777     fn default() -> Self {
16778         unsafe { ::std::mem::zeroed() }
16779     }
16780 }
16781 impl ::std::cmp::PartialEq for KSPROPERTY_VIDEOCONTROL_MODE_S {
eq(&self, _other: &Self) -> bool16782     fn eq(&self, _other: &Self) -> bool {
16783         unimplemented!()
16784     }
16785 }
16786 impl ::std::cmp::Eq for KSPROPERTY_VIDEOCONTROL_MODE_S {}
16787 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VIDEOCONTROL_MODE_S {
16788     type Abi = Self;
16789     type DefaultType = Self;
16790 }
16791 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16792 #[repr(C)]
16793 pub struct KSPROPERTY_VIDEODECODER_CAPS_S {
16794     pub Property: KSIDENTIFIER,
16795     pub StandardsSupported: u32,
16796     pub Capabilities: u32,
16797     pub SettlingTime: u32,
16798     pub HSyncPerVSync: u32,
16799 }
16800 impl KSPROPERTY_VIDEODECODER_CAPS_S {}
16801 impl ::std::default::Default for KSPROPERTY_VIDEODECODER_CAPS_S {
default() -> Self16802     fn default() -> Self {
16803         unsafe { ::std::mem::zeroed() }
16804     }
16805 }
16806 impl ::std::cmp::PartialEq for KSPROPERTY_VIDEODECODER_CAPS_S {
eq(&self, _other: &Self) -> bool16807     fn eq(&self, _other: &Self) -> bool {
16808         unimplemented!()
16809     }
16810 }
16811 impl ::std::cmp::Eq for KSPROPERTY_VIDEODECODER_CAPS_S {}
16812 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VIDEODECODER_CAPS_S {
16813     type Abi = Self;
16814     type DefaultType = Self;
16815 }
16816 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16817 #[repr(C)]
16818 pub struct KSPROPERTY_VIDEODECODER_S {
16819     pub Property: KSIDENTIFIER,
16820     pub Value: u32,
16821 }
16822 impl KSPROPERTY_VIDEODECODER_S {}
16823 impl ::std::default::Default for KSPROPERTY_VIDEODECODER_S {
default() -> Self16824     fn default() -> Self {
16825         unsafe { ::std::mem::zeroed() }
16826     }
16827 }
16828 impl ::std::cmp::PartialEq for KSPROPERTY_VIDEODECODER_S {
eq(&self, _other: &Self) -> bool16829     fn eq(&self, _other: &Self) -> bool {
16830         unimplemented!()
16831     }
16832 }
16833 impl ::std::cmp::Eq for KSPROPERTY_VIDEODECODER_S {}
16834 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VIDEODECODER_S {
16835     type Abi = Self;
16836     type DefaultType = Self;
16837 }
16838 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16839 #[repr(C)]
16840 pub struct KSPROPERTY_VIDEODECODER_STATUS2_S {
16841     pub Property: KSIDENTIFIER,
16842     pub NumberOfLines: u32,
16843     pub SignalLocked: u32,
16844     pub ChromaLock: u32,
16845 }
16846 impl KSPROPERTY_VIDEODECODER_STATUS2_S {}
16847 impl ::std::default::Default for KSPROPERTY_VIDEODECODER_STATUS2_S {
default() -> Self16848     fn default() -> Self {
16849         unsafe { ::std::mem::zeroed() }
16850     }
16851 }
16852 impl ::std::cmp::PartialEq for KSPROPERTY_VIDEODECODER_STATUS2_S {
eq(&self, _other: &Self) -> bool16853     fn eq(&self, _other: &Self) -> bool {
16854         unimplemented!()
16855     }
16856 }
16857 impl ::std::cmp::Eq for KSPROPERTY_VIDEODECODER_STATUS2_S {}
16858 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VIDEODECODER_STATUS2_S {
16859     type Abi = Self;
16860     type DefaultType = Self;
16861 }
16862 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16863 #[repr(C)]
16864 pub struct KSPROPERTY_VIDEODECODER_STATUS_S {
16865     pub Property: KSIDENTIFIER,
16866     pub NumberOfLines: u32,
16867     pub SignalLocked: u32,
16868 }
16869 impl KSPROPERTY_VIDEODECODER_STATUS_S {}
16870 impl ::std::default::Default for KSPROPERTY_VIDEODECODER_STATUS_S {
default() -> Self16871     fn default() -> Self {
16872         unsafe { ::std::mem::zeroed() }
16873     }
16874 }
16875 impl ::std::cmp::PartialEq for KSPROPERTY_VIDEODECODER_STATUS_S {
eq(&self, _other: &Self) -> bool16876     fn eq(&self, _other: &Self) -> bool {
16877         unimplemented!()
16878     }
16879 }
16880 impl ::std::cmp::Eq for KSPROPERTY_VIDEODECODER_STATUS_S {}
16881 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VIDEODECODER_STATUS_S {
16882     type Abi = Self;
16883     type DefaultType = Self;
16884 }
16885 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16886 #[repr(C)]
16887 pub struct KSPROPERTY_VIDEOENCODER_S {
16888     pub Property: KSIDENTIFIER,
16889     pub Value: i32,
16890     pub Flags: u32,
16891     pub Capabilities: u32,
16892 }
16893 impl KSPROPERTY_VIDEOENCODER_S {}
16894 impl ::std::default::Default for KSPROPERTY_VIDEOENCODER_S {
default() -> Self16895     fn default() -> Self {
16896         unsafe { ::std::mem::zeroed() }
16897     }
16898 }
16899 impl ::std::cmp::PartialEq for KSPROPERTY_VIDEOENCODER_S {
eq(&self, _other: &Self) -> bool16900     fn eq(&self, _other: &Self) -> bool {
16901         unimplemented!()
16902     }
16903 }
16904 impl ::std::cmp::Eq for KSPROPERTY_VIDEOENCODER_S {}
16905 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VIDEOENCODER_S {
16906     type Abi = Self;
16907     type DefaultType = Self;
16908 }
16909 pub const KSPROPERTY_VIDEOPROCAMP_FLAGS_AUTO: i32 = 1i32;
16910 pub const KSPROPERTY_VIDEOPROCAMP_FLAGS_MANUAL: i32 = 2i32;
16911 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16912 #[repr(C)]
16913 pub struct KSPROPERTY_VIDEOPROCAMP_NODE_S {
16914     pub NodeProperty: KSP_NODE,
16915     pub Value: i32,
16916     pub Flags: u32,
16917     pub Capabilities: u32,
16918 }
16919 impl KSPROPERTY_VIDEOPROCAMP_NODE_S {}
16920 impl ::std::default::Default for KSPROPERTY_VIDEOPROCAMP_NODE_S {
default() -> Self16921     fn default() -> Self {
16922         unsafe { ::std::mem::zeroed() }
16923     }
16924 }
16925 impl ::std::cmp::PartialEq for KSPROPERTY_VIDEOPROCAMP_NODE_S {
eq(&self, _other: &Self) -> bool16926     fn eq(&self, _other: &Self) -> bool {
16927         unimplemented!()
16928     }
16929 }
16930 impl ::std::cmp::Eq for KSPROPERTY_VIDEOPROCAMP_NODE_S {}
16931 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VIDEOPROCAMP_NODE_S {
16932     type Abi = Self;
16933     type DefaultType = Self;
16934 }
16935 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16936 #[repr(C)]
16937 pub struct KSPROPERTY_VIDEOPROCAMP_NODE_S2 {
16938     pub NodeProperty: KSP_NODE,
16939     pub Value1: i32,
16940     pub Flags: u32,
16941     pub Capabilities: u32,
16942     pub Value2: i32,
16943 }
16944 impl KSPROPERTY_VIDEOPROCAMP_NODE_S2 {}
16945 impl ::std::default::Default for KSPROPERTY_VIDEOPROCAMP_NODE_S2 {
default() -> Self16946     fn default() -> Self {
16947         unsafe { ::std::mem::zeroed() }
16948     }
16949 }
16950 impl ::std::cmp::PartialEq for KSPROPERTY_VIDEOPROCAMP_NODE_S2 {
eq(&self, _other: &Self) -> bool16951     fn eq(&self, _other: &Self) -> bool {
16952         unimplemented!()
16953     }
16954 }
16955 impl ::std::cmp::Eq for KSPROPERTY_VIDEOPROCAMP_NODE_S2 {}
16956 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VIDEOPROCAMP_NODE_S2 {
16957     type Abi = Self;
16958     type DefaultType = Self;
16959 }
16960 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16961 #[repr(C)]
16962 pub struct KSPROPERTY_VIDEOPROCAMP_S {
16963     pub Property: KSIDENTIFIER,
16964     pub Value: i32,
16965     pub Flags: u32,
16966     pub Capabilities: u32,
16967 }
16968 impl KSPROPERTY_VIDEOPROCAMP_S {}
16969 impl ::std::default::Default for KSPROPERTY_VIDEOPROCAMP_S {
default() -> Self16970     fn default() -> Self {
16971         unsafe { ::std::mem::zeroed() }
16972     }
16973 }
16974 impl ::std::cmp::PartialEq for KSPROPERTY_VIDEOPROCAMP_S {
eq(&self, _other: &Self) -> bool16975     fn eq(&self, _other: &Self) -> bool {
16976         unimplemented!()
16977     }
16978 }
16979 impl ::std::cmp::Eq for KSPROPERTY_VIDEOPROCAMP_S {}
16980 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VIDEOPROCAMP_S {
16981     type Abi = Self;
16982     type DefaultType = Self;
16983 }
16984 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16985 #[repr(C)]
16986 pub struct KSPROPERTY_VIDEOPROCAMP_S2 {
16987     pub Property: KSIDENTIFIER,
16988     pub Value1: i32,
16989     pub Flags: u32,
16990     pub Capabilities: u32,
16991     pub Value2: i32,
16992 }
16993 impl KSPROPERTY_VIDEOPROCAMP_S2 {}
16994 impl ::std::default::Default for KSPROPERTY_VIDEOPROCAMP_S2 {
default() -> Self16995     fn default() -> Self {
16996         unsafe { ::std::mem::zeroed() }
16997     }
16998 }
16999 impl ::std::cmp::PartialEq for KSPROPERTY_VIDEOPROCAMP_S2 {
eq(&self, _other: &Self) -> bool17000     fn eq(&self, _other: &Self) -> bool {
17001         unimplemented!()
17002     }
17003 }
17004 impl ::std::cmp::Eq for KSPROPERTY_VIDEOPROCAMP_S2 {}
17005 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VIDEOPROCAMP_S2 {
17006     type Abi = Self;
17007     type DefaultType = Self;
17008 }
17009 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
17010 #[repr(transparent)]
17011 pub struct KSPROPERTY_VIDMEM_TRANSPORT(pub i32);
17012 pub const KSPROPERTY_DISPLAY_ADAPTER_GUID: KSPROPERTY_VIDMEM_TRANSPORT = KSPROPERTY_VIDMEM_TRANSPORT(1i32);
17013 pub const KSPROPERTY_PREFERRED_CAPTURE_SURFACE: KSPROPERTY_VIDMEM_TRANSPORT = KSPROPERTY_VIDMEM_TRANSPORT(2i32);
17014 pub const KSPROPERTY_CURRENT_CAPTURE_SURFACE: KSPROPERTY_VIDMEM_TRANSPORT = KSPROPERTY_VIDMEM_TRANSPORT(3i32);
17015 pub const KSPROPERTY_MAP_CAPTURE_HANDLE_TO_VRAM_ADDRESS: KSPROPERTY_VIDMEM_TRANSPORT = KSPROPERTY_VIDMEM_TRANSPORT(4i32);
17016 impl ::std::convert::From<i32> for KSPROPERTY_VIDMEM_TRANSPORT {
from(value: i32) -> Self17017     fn from(value: i32) -> Self {
17018         Self(value)
17019     }
17020 }
17021 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VIDMEM_TRANSPORT {
17022     type Abi = Self;
17023     type DefaultType = Self;
17024 }
17025 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
17026 #[repr(transparent)]
17027 pub struct KSPROPERTY_VPCONFIG(pub i32);
17028 pub const KSPROPERTY_VPCONFIG_NUMCONNECTINFO: KSPROPERTY_VPCONFIG = KSPROPERTY_VPCONFIG(0i32);
17029 pub const KSPROPERTY_VPCONFIG_GETCONNECTINFO: KSPROPERTY_VPCONFIG = KSPROPERTY_VPCONFIG(1i32);
17030 pub const KSPROPERTY_VPCONFIG_SETCONNECTINFO: KSPROPERTY_VPCONFIG = KSPROPERTY_VPCONFIG(2i32);
17031 pub const KSPROPERTY_VPCONFIG_VPDATAINFO: KSPROPERTY_VPCONFIG = KSPROPERTY_VPCONFIG(3i32);
17032 pub const KSPROPERTY_VPCONFIG_MAXPIXELRATE: KSPROPERTY_VPCONFIG = KSPROPERTY_VPCONFIG(4i32);
17033 pub const KSPROPERTY_VPCONFIG_INFORMVPINPUT: KSPROPERTY_VPCONFIG = KSPROPERTY_VPCONFIG(5i32);
17034 pub const KSPROPERTY_VPCONFIG_NUMVIDEOFORMAT: KSPROPERTY_VPCONFIG = KSPROPERTY_VPCONFIG(6i32);
17035 pub const KSPROPERTY_VPCONFIG_GETVIDEOFORMAT: KSPROPERTY_VPCONFIG = KSPROPERTY_VPCONFIG(7i32);
17036 pub const KSPROPERTY_VPCONFIG_SETVIDEOFORMAT: KSPROPERTY_VPCONFIG = KSPROPERTY_VPCONFIG(8i32);
17037 pub const KSPROPERTY_VPCONFIG_INVERTPOLARITY: KSPROPERTY_VPCONFIG = KSPROPERTY_VPCONFIG(9i32);
17038 pub const KSPROPERTY_VPCONFIG_DECIMATIONCAPABILITY: KSPROPERTY_VPCONFIG = KSPROPERTY_VPCONFIG(10i32);
17039 pub const KSPROPERTY_VPCONFIG_SCALEFACTOR: KSPROPERTY_VPCONFIG = KSPROPERTY_VPCONFIG(11i32);
17040 pub const KSPROPERTY_VPCONFIG_DDRAWHANDLE: KSPROPERTY_VPCONFIG = KSPROPERTY_VPCONFIG(12i32);
17041 pub const KSPROPERTY_VPCONFIG_VIDEOPORTID: KSPROPERTY_VPCONFIG = KSPROPERTY_VPCONFIG(13i32);
17042 pub const KSPROPERTY_VPCONFIG_DDRAWSURFACEHANDLE: KSPROPERTY_VPCONFIG = KSPROPERTY_VPCONFIG(14i32);
17043 pub const KSPROPERTY_VPCONFIG_SURFACEPARAMS: KSPROPERTY_VPCONFIG = KSPROPERTY_VPCONFIG(15i32);
17044 impl ::std::convert::From<i32> for KSPROPERTY_VPCONFIG {
from(value: i32) -> Self17045     fn from(value: i32) -> Self {
17046         Self(value)
17047     }
17048 }
17049 unsafe impl ::windows::runtime::Abi for KSPROPERTY_VPCONFIG {
17050     type Abi = Self;
17051     type DefaultType = Self;
17052 }
17053 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
17054 #[repr(transparent)]
17055 pub struct KSPROPERTY_WAVE(pub i32);
17056 pub const KSPROPERTY_WAVE_COMPATIBLE_CAPABILITIES: KSPROPERTY_WAVE = KSPROPERTY_WAVE(0i32);
17057 pub const KSPROPERTY_WAVE_INPUT_CAPABILITIES: KSPROPERTY_WAVE = KSPROPERTY_WAVE(1i32);
17058 pub const KSPROPERTY_WAVE_OUTPUT_CAPABILITIES: KSPROPERTY_WAVE = KSPROPERTY_WAVE(2i32);
17059 pub const KSPROPERTY_WAVE_BUFFER: KSPROPERTY_WAVE = KSPROPERTY_WAVE(3i32);
17060 pub const KSPROPERTY_WAVE_FREQUENCY: KSPROPERTY_WAVE = KSPROPERTY_WAVE(4i32);
17061 pub const KSPROPERTY_WAVE_VOLUME: KSPROPERTY_WAVE = KSPROPERTY_WAVE(5i32);
17062 pub const KSPROPERTY_WAVE_PAN: KSPROPERTY_WAVE = KSPROPERTY_WAVE(6i32);
17063 impl ::std::convert::From<i32> for KSPROPERTY_WAVE {
from(value: i32) -> Self17064     fn from(value: i32) -> Self {
17065         Self(value)
17066     }
17067 }
17068 unsafe impl ::windows::runtime::Abi for KSPROPERTY_WAVE {
17069     type Abi = Self;
17070     type DefaultType = Self;
17071 }
17072 pub const KSPROPERTY_WAVE_QUEUED_POSITION: u32 = 1u32;
17073 pub const KSPROPSETID_AC3: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3215714080, 28191, 4560, [188, 242, 68, 69, 83, 84, 0, 0]);
17074 pub const KSPROPSETID_Audio: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1174383264, 28187, 4560, [188, 242, 68, 69, 83, 84, 0, 0]);
17075 pub const KSPROPSETID_AudioBufferDuration: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1316208767, 9164, 18773, [167, 234, 61, 165, 2, 73, 98, 144]);
17076 pub const KSPROPSETID_AudioDecoderOut: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1822875680, 17341, 4560, [189, 106, 0, 53, 5, 193, 3, 169]);
17077 pub const KSPROPSETID_AudioEngine: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(976192220, 34927, 19370, [158, 180, 8, 43, 144, 37, 197, 54]);
17078 pub const KSPROPSETID_AudioModule: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3224698288, 65397, 18376, [170, 60, 238, 70, 113, 107, 80, 198]);
17079 pub const KSPROPSETID_AudioPosture: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2751167245, 18254, 20305, [163, 121, 81, 40, 45, 212, 250, 143]);
17080 pub const KSPROPSETID_AudioResourceManagement: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3501393377, 45772, 18508, [143, 35, 229, 210, 138, 217, 207, 136]);
17081 pub const KSPROPSETID_AudioSignalProcessing: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1332196648, 12489, 16606, [178, 251, 133, 157, 221, 31, 52, 112]);
17082 pub const KSPROPSETID_Bibliographic: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(129635598, 58033, 4560, [172, 23, 0, 160, 201, 34, 49, 150]);
17083 pub const KSPROPSETID_BtAudio: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2141219904, 47350, 19582, [133, 86, 232, 195, 58, 18, 229, 77]);
17084 pub const KSPROPSETID_Clock: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3742540992, 44055, 4559, [165, 214, 40, 219, 4, 193, 0, 0]);
17085 pub const KSPROPSETID_Connection: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(492357920, 44187, 4559, [165, 214, 40, 219, 4, 193, 0, 0]);
17086 pub const KSPROPSETID_CopyProt: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(243927616, 27375, 4560, [158, 208, 0, 160, 36, 202, 25, 179]);
17087 pub const KSPROPSETID_Cyclic: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1073655456, 11246, 4559, [165, 214, 40, 219, 4, 193, 0, 0]);
17088 pub const KSPROPSETID_DirectSound3DBuffer: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1132147729, 53344, 4560, [133, 131, 0, 192, 79, 217, 186, 243]);
17089 pub const KSPROPSETID_DirectSound3DListener: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1132147732, 53344, 4560, [133, 131, 0, 192, 79, 217, 186, 243]);
17090 pub const KSPROPSETID_DrmAudioStream: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(791449053, 16792, 20396, [186, 41, 97, 187, 5, 183, 222, 6]);
17091 pub const KSPROPSETID_DvdSubPic: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2889417824, 17327, 4560, [189, 106, 0, 53, 5, 193, 3, 169]);
17092 pub const KSPROPSETID_FMRXControl: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2491136570, 59630, 18310, [144, 196, 132, 40, 24, 95, 5, 190]);
17093 pub const KSPROPSETID_FMRXTopology: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(205966991, 56365, 16900, [157, 201, 245, 137, 99, 54, 101, 99]);
17094 pub const KSPROPSETID_General: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(342158757, 27279, 4561, [154, 167, 0, 160, 201, 34, 49, 150]);
17095 pub const KSPROPSETID_Hrtf3d: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3060657328, 41091, 4560, [133, 30, 0, 192, 79, 217, 186, 243]);
17096 pub const KSPROPSETID_InterleavedAudio: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3924550992, 54809, 19466, [151, 107, 112, 98, 50, 43, 48, 6]);
17097 pub const KSPROPSETID_Itd3d: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1680470160, 40921, 4560, [167, 91, 0, 160, 201, 3, 101, 227]);
17098 pub const KSPROPSETID_Jack: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1158281047, 11590, 17975, [142, 98, 206, 125, 185, 68, 245, 123]);
17099 pub const KSPROPSETID_MPEG4_MediaType_Attributes: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4285287418, 1961, 19579, [162, 55, 103, 47, 157, 104, 6, 95]);
17100 pub const KSPROPSETID_MediaSeeking: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4002434828, 53403, 4560, [171, 233, 0, 160, 201, 34, 49, 150]);
17101 pub const KSPROPSETID_MemoryTransport: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(171777117, 21059, 18457, [158, 208, 174, 232, 4, 76, 238, 43]);
17102 pub const KSPROPSETID_Mpeg2Vid: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3370195808, 3273, 4560, [189, 105, 0, 53, 5, 193, 3, 169]);
17103 pub const KSPROPSETID_OverlayUpdate: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1225696719, 30337, 4561, [162, 28, 0, 160, 201, 34, 49, 150]);
17104 pub const KSPROPSETID_Pin: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2350074208, 20909, 4559, [135, 138, 148, 248, 1, 193, 0, 0]);
17105 pub const KSPROPSETID_PinMDLCacheClearProp: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3178334843, 38908, 16583, [136, 206, 211, 255, 6, 245, 91, 22]);
17106 pub const KSPROPSETID_Quality: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3513439104, 44058, 4559, [165, 214, 40, 219, 4, 193, 0, 0]);
17107 pub const KSPROPSETID_RtAudio: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2824184972, 12152, 18217, [144, 81, 25, 104, 116, 107, 158, 239]);
17108 pub const KSPROPSETID_SoundDetector: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(289161822, 64791, 16471, [180, 34, 237, 64, 116, 241, 175, 223]);
17109 pub const KSPROPSETID_SoundDetector2: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4261929762, 17676, 19413, [132, 202, 169, 72, 80, 14, 166, 170]);
17110 pub const KSPROPSETID_Stream: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1705687648, 39086, 4559, [161, 13, 0, 32, 175, 209, 86, 228]);
17111 pub const KSPROPSETID_StreamAllocator: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3480109890, 60551, 4559, [161, 48, 0, 32, 175, 209, 86, 228]);
17112 pub const KSPROPSETID_StreamInterface: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(534613729, 40147, 4560, [130, 170, 0, 0, 248, 34, 254, 138]);
17113 pub const KSPROPSETID_TSRateChange: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2768487872, 7453, 4561, [173, 128, 68, 69, 83, 84, 0, 0]);
17114 pub const KSPROPSETID_TelephonyControl: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3068100273, 53401, 18591, [166, 160, 192, 16, 111, 8, 135, 167]);
17115 pub const KSPROPSETID_TelephonyTopology: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2884787326, 3684, 20018, [177, 144, 208, 246, 215, 197, 62, 151]);
17116 pub const KSPROPSETID_Topology: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1913473728, 30003, 4560, [165, 214, 40, 219, 4, 193, 0, 0]);
17117 pub const KSPROPSETID_TopologyNode: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1174383265, 28187, 4560, [188, 242, 68, 69, 83, 84, 0, 0]);
17118 pub const KSPROPSETID_VBICAP_PROPERTIES: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4049782279, 31541, 18799, [173, 127, 45, 202, 59, 70, 183, 24]);
17119 pub const KSPROPSETID_VBICodecFiltering: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3405689034, 34581, 4560, [189, 106, 0, 53, 192, 237, 186, 190]);
17120 pub const KSPROPSETID_VPConfig: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3156846176, 12515, 4560, [158, 105, 0, 192, 79, 215, 193, 91]);
17121 pub const KSPROPSETID_VPVBIConfig: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3964836608, 6687, 4561, [186, 217, 0, 96, 151, 68, 17, 26]);
17122 pub const KSPROPSETID_VramCapture: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3879709923, 10368, 18690, [183, 153, 136, 208, 205, 99, 78, 15]);
17123 pub const KSPROPSETID_Wave: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2454607024, 25359, 4559, [173, 167, 8, 0, 62, 48, 73, 74]);
17124 pub const KSPROPTYPESETID_General: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2548669344, 48618, 4559, [165, 214, 40, 219, 4, 193, 0, 0]);
17125 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17126 #[repr(C)]
17127 pub struct KSP_NODE {
17128     pub Property: KSIDENTIFIER,
17129     pub NodeId: u32,
17130     pub Reserved: u32,
17131 }
17132 impl KSP_NODE {}
17133 impl ::std::default::Default for KSP_NODE {
default() -> Self17134     fn default() -> Self {
17135         unsafe { ::std::mem::zeroed() }
17136     }
17137 }
17138 impl ::std::cmp::PartialEq for KSP_NODE {
eq(&self, _other: &Self) -> bool17139     fn eq(&self, _other: &Self) -> bool {
17140         unimplemented!()
17141     }
17142 }
17143 impl ::std::cmp::Eq for KSP_NODE {}
17144 unsafe impl ::windows::runtime::Abi for KSP_NODE {
17145     type Abi = Self;
17146     type DefaultType = Self;
17147 }
17148 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17149 #[repr(C)]
17150 pub struct KSP_PIN {
17151     pub Property: KSIDENTIFIER,
17152     pub PinId: u32,
17153     pub Anonymous: KSP_PIN_0,
17154 }
17155 impl KSP_PIN {}
17156 impl ::std::default::Default for KSP_PIN {
default() -> Self17157     fn default() -> Self {
17158         unsafe { ::std::mem::zeroed() }
17159     }
17160 }
17161 impl ::std::cmp::PartialEq for KSP_PIN {
eq(&self, _other: &Self) -> bool17162     fn eq(&self, _other: &Self) -> bool {
17163         unimplemented!()
17164     }
17165 }
17166 impl ::std::cmp::Eq for KSP_PIN {}
17167 unsafe impl ::windows::runtime::Abi for KSP_PIN {
17168     type Abi = Self;
17169     type DefaultType = Self;
17170 }
17171 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17172 #[repr(C)]
17173 pub union KSP_PIN_0 {
17174     pub Reserved: u32,
17175     pub Flags: u32,
17176 }
17177 impl KSP_PIN_0 {}
17178 impl ::std::default::Default for KSP_PIN_0 {
default() -> Self17179     fn default() -> Self {
17180         unsafe { ::std::mem::zeroed() }
17181     }
17182 }
17183 impl ::std::cmp::PartialEq for KSP_PIN_0 {
eq(&self, _other: &Self) -> bool17184     fn eq(&self, _other: &Self) -> bool {
17185         unimplemented!()
17186     }
17187 }
17188 impl ::std::cmp::Eq for KSP_PIN_0 {}
17189 unsafe impl ::windows::runtime::Abi for KSP_PIN_0 {
17190     type Abi = Self;
17191     type DefaultType = Self;
17192 }
17193 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17194 #[repr(C)]
17195 pub struct KSP_TIMEFORMAT {
17196     pub Property: KSIDENTIFIER,
17197     pub SourceFormat: ::windows::runtime::GUID,
17198     pub TargetFormat: ::windows::runtime::GUID,
17199     pub Time: i64,
17200 }
17201 impl KSP_TIMEFORMAT {}
17202 impl ::std::default::Default for KSP_TIMEFORMAT {
default() -> Self17203     fn default() -> Self {
17204         unsafe { ::std::mem::zeroed() }
17205     }
17206 }
17207 impl ::std::cmp::PartialEq for KSP_TIMEFORMAT {
eq(&self, _other: &Self) -> bool17208     fn eq(&self, _other: &Self) -> bool {
17209         unimplemented!()
17210     }
17211 }
17212 impl ::std::cmp::Eq for KSP_TIMEFORMAT {}
17213 unsafe impl ::windows::runtime::Abi for KSP_TIMEFORMAT {
17214     type Abi = Self;
17215     type DefaultType = Self;
17216 }
17217 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17218 #[repr(C)]
17219 pub struct KSQUALITY {
17220     pub Context: *mut ::std::ffi::c_void,
17221     pub Proportion: u32,
17222     pub DeltaTime: i64,
17223 }
17224 impl KSQUALITY {}
17225 impl ::std::default::Default for KSQUALITY {
default() -> Self17226     fn default() -> Self {
17227         unsafe { ::std::mem::zeroed() }
17228     }
17229 }
17230 impl ::std::fmt::Debug for KSQUALITY {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result17231     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
17232         fmt.debug_struct("KSQUALITY").field("Context", &self.Context).field("Proportion", &self.Proportion).field("DeltaTime", &self.DeltaTime).finish()
17233     }
17234 }
17235 impl ::std::cmp::PartialEq for KSQUALITY {
eq(&self, other: &Self) -> bool17236     fn eq(&self, other: &Self) -> bool {
17237         self.Context == other.Context && self.Proportion == other.Proportion && self.DeltaTime == other.DeltaTime
17238     }
17239 }
17240 impl ::std::cmp::Eq for KSQUALITY {}
17241 unsafe impl ::windows::runtime::Abi for KSQUALITY {
17242     type Abi = Self;
17243     type DefaultType = Self;
17244 }
17245 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17246 #[repr(C)]
17247 #[cfg(feature = "Win32_Foundation")]
17248 pub struct KSQUALITY_MANAGER {
17249     pub QualityManager: super::super::super::Foundation::HANDLE,
17250     pub Context: *mut ::std::ffi::c_void,
17251 }
17252 #[cfg(feature = "Win32_Foundation")]
17253 impl KSQUALITY_MANAGER {}
17254 #[cfg(feature = "Win32_Foundation")]
17255 impl ::std::default::Default for KSQUALITY_MANAGER {
default() -> Self17256     fn default() -> Self {
17257         unsafe { ::std::mem::zeroed() }
17258     }
17259 }
17260 #[cfg(feature = "Win32_Foundation")]
17261 impl ::std::fmt::Debug for KSQUALITY_MANAGER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result17262     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
17263         fmt.debug_struct("KSQUALITY_MANAGER").field("QualityManager", &self.QualityManager).field("Context", &self.Context).finish()
17264     }
17265 }
17266 #[cfg(feature = "Win32_Foundation")]
17267 impl ::std::cmp::PartialEq for KSQUALITY_MANAGER {
eq(&self, other: &Self) -> bool17268     fn eq(&self, other: &Self) -> bool {
17269         self.QualityManager == other.QualityManager && self.Context == other.Context
17270     }
17271 }
17272 #[cfg(feature = "Win32_Foundation")]
17273 impl ::std::cmp::Eq for KSQUALITY_MANAGER {}
17274 #[cfg(feature = "Win32_Foundation")]
17275 unsafe impl ::windows::runtime::Abi for KSQUALITY_MANAGER {
17276     type Abi = Self;
17277     type DefaultType = Self;
17278 }
17279 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17280 #[repr(C)]
17281 #[cfg(feature = "Win32_Foundation")]
17282 pub struct KSQUERYBUFFER {
17283     pub Event: KSIDENTIFIER,
17284     pub EventData: *mut KSEVENTDATA,
17285     pub Reserved: *mut ::std::ffi::c_void,
17286 }
17287 #[cfg(feature = "Win32_Foundation")]
17288 impl KSQUERYBUFFER {}
17289 #[cfg(feature = "Win32_Foundation")]
17290 impl ::std::default::Default for KSQUERYBUFFER {
default() -> Self17291     fn default() -> Self {
17292         unsafe { ::std::mem::zeroed() }
17293     }
17294 }
17295 #[cfg(feature = "Win32_Foundation")]
17296 impl ::std::cmp::PartialEq for KSQUERYBUFFER {
eq(&self, _other: &Self) -> bool17297     fn eq(&self, _other: &Self) -> bool {
17298         unimplemented!()
17299     }
17300 }
17301 #[cfg(feature = "Win32_Foundation")]
17302 impl ::std::cmp::Eq for KSQUERYBUFFER {}
17303 #[cfg(feature = "Win32_Foundation")]
17304 unsafe impl ::windows::runtime::Abi for KSQUERYBUFFER {
17305     type Abi = Self;
17306     type DefaultType = Self;
17307 }
17308 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17309 #[repr(C)]
17310 pub struct KSRATE {
17311     pub PresentationStart: i64,
17312     pub Duration: i64,
17313     pub Interface: KSIDENTIFIER,
17314     pub Rate: i32,
17315     pub Flags: u32,
17316 }
17317 impl KSRATE {}
17318 impl ::std::default::Default for KSRATE {
default() -> Self17319     fn default() -> Self {
17320         unsafe { ::std::mem::zeroed() }
17321     }
17322 }
17323 impl ::std::cmp::PartialEq for KSRATE {
eq(&self, _other: &Self) -> bool17324     fn eq(&self, _other: &Self) -> bool {
17325         unimplemented!()
17326     }
17327 }
17328 impl ::std::cmp::Eq for KSRATE {}
17329 unsafe impl ::windows::runtime::Abi for KSRATE {
17330     type Abi = Self;
17331     type DefaultType = Self;
17332 }
17333 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17334 #[repr(C)]
17335 pub struct KSRATE_CAPABILITY {
17336     pub Property: KSIDENTIFIER,
17337     pub Rate: KSRATE,
17338 }
17339 impl KSRATE_CAPABILITY {}
17340 impl ::std::default::Default for KSRATE_CAPABILITY {
default() -> Self17341     fn default() -> Self {
17342         unsafe { ::std::mem::zeroed() }
17343     }
17344 }
17345 impl ::std::cmp::PartialEq for KSRATE_CAPABILITY {
eq(&self, _other: &Self) -> bool17346     fn eq(&self, _other: &Self) -> bool {
17347         unimplemented!()
17348     }
17349 }
17350 impl ::std::cmp::Eq for KSRATE_CAPABILITY {}
17351 unsafe impl ::windows::runtime::Abi for KSRATE_CAPABILITY {
17352     type Abi = Self;
17353     type DefaultType = Self;
17354 }
17355 pub const KSRATE_NOPRESENTATIONDURATION: u32 = 2u32;
17356 pub const KSRATE_NOPRESENTATIONSTART: u32 = 1u32;
17357 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17358 #[repr(C)]
17359 #[cfg(feature = "Win32_Foundation")]
17360 pub struct KSRELATIVEEVENT {
17361     pub Size: u32,
17362     pub Flags: u32,
17363     pub Anonymous: KSRELATIVEEVENT_0,
17364     pub Reserved: *mut ::std::ffi::c_void,
17365     pub Event: KSIDENTIFIER,
17366     pub EventData: KSEVENTDATA,
17367 }
17368 #[cfg(feature = "Win32_Foundation")]
17369 impl KSRELATIVEEVENT {}
17370 #[cfg(feature = "Win32_Foundation")]
17371 impl ::std::default::Default for KSRELATIVEEVENT {
default() -> Self17372     fn default() -> Self {
17373         unsafe { ::std::mem::zeroed() }
17374     }
17375 }
17376 #[cfg(feature = "Win32_Foundation")]
17377 impl ::std::cmp::PartialEq for KSRELATIVEEVENT {
eq(&self, _other: &Self) -> bool17378     fn eq(&self, _other: &Self) -> bool {
17379         unimplemented!()
17380     }
17381 }
17382 #[cfg(feature = "Win32_Foundation")]
17383 impl ::std::cmp::Eq for KSRELATIVEEVENT {}
17384 #[cfg(feature = "Win32_Foundation")]
17385 unsafe impl ::windows::runtime::Abi for KSRELATIVEEVENT {
17386     type Abi = Self;
17387     type DefaultType = Self;
17388 }
17389 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17390 #[repr(C)]
17391 #[cfg(feature = "Win32_Foundation")]
17392 pub union KSRELATIVEEVENT_0 {
17393     pub ObjectHandle: super::super::super::Foundation::HANDLE,
17394     pub ObjectPointer: *mut ::std::ffi::c_void,
17395 }
17396 #[cfg(feature = "Win32_Foundation")]
17397 impl KSRELATIVEEVENT_0 {}
17398 #[cfg(feature = "Win32_Foundation")]
17399 impl ::std::default::Default for KSRELATIVEEVENT_0 {
default() -> Self17400     fn default() -> Self {
17401         unsafe { ::std::mem::zeroed() }
17402     }
17403 }
17404 #[cfg(feature = "Win32_Foundation")]
17405 impl ::std::cmp::PartialEq for KSRELATIVEEVENT_0 {
eq(&self, _other: &Self) -> bool17406     fn eq(&self, _other: &Self) -> bool {
17407         unimplemented!()
17408     }
17409 }
17410 #[cfg(feature = "Win32_Foundation")]
17411 impl ::std::cmp::Eq for KSRELATIVEEVENT_0 {}
17412 #[cfg(feature = "Win32_Foundation")]
17413 unsafe impl ::windows::runtime::Abi for KSRELATIVEEVENT_0 {
17414     type Abi = Self;
17415     type DefaultType = Self;
17416 }
17417 pub const KSRELATIVEEVENT_FLAG_HANDLE: u32 = 1u32;
17418 pub const KSRELATIVEEVENT_FLAG_POINTER: u32 = 2u32;
17419 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
17420 #[repr(transparent)]
17421 pub struct KSRESET(pub i32);
17422 pub const KSRESET_BEGIN: KSRESET = KSRESET(0i32);
17423 pub const KSRESET_END: KSRESET = KSRESET(1i32);
17424 impl ::std::convert::From<i32> for KSRESET {
from(value: i32) -> Self17425     fn from(value: i32) -> Self {
17426         Self(value)
17427     }
17428 }
17429 unsafe impl ::windows::runtime::Abi for KSRESET {
17430     type Abi = Self;
17431     type DefaultType = Self;
17432 }
17433 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17434 #[repr(C)]
17435 pub struct KSRESOLUTION {
17436     pub Granularity: i64,
17437     pub Error: i64,
17438 }
17439 impl KSRESOLUTION {}
17440 impl ::std::default::Default for KSRESOLUTION {
default() -> Self17441     fn default() -> Self {
17442         unsafe { ::std::mem::zeroed() }
17443     }
17444 }
17445 impl ::std::fmt::Debug for KSRESOLUTION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result17446     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
17447         fmt.debug_struct("KSRESOLUTION").field("Granularity", &self.Granularity).field("Error", &self.Error).finish()
17448     }
17449 }
17450 impl ::std::cmp::PartialEq for KSRESOLUTION {
eq(&self, other: &Self) -> bool17451     fn eq(&self, other: &Self) -> bool {
17452         self.Granularity == other.Granularity && self.Error == other.Error
17453     }
17454 }
17455 impl ::std::cmp::Eq for KSRESOLUTION {}
17456 unsafe impl ::windows::runtime::Abi for KSRESOLUTION {
17457     type Abi = Self;
17458     type DefaultType = Self;
17459 }
17460 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17461 #[repr(C)]
17462 #[cfg(feature = "Win32_Foundation")]
17463 pub struct KSRTAUDIO_BUFFER {
17464     pub BufferAddress: *mut ::std::ffi::c_void,
17465     pub ActualBufferSize: u32,
17466     pub CallMemoryBarrier: super::super::super::Foundation::BOOL,
17467 }
17468 #[cfg(feature = "Win32_Foundation")]
17469 impl KSRTAUDIO_BUFFER {}
17470 #[cfg(feature = "Win32_Foundation")]
17471 impl ::std::default::Default for KSRTAUDIO_BUFFER {
default() -> Self17472     fn default() -> Self {
17473         unsafe { ::std::mem::zeroed() }
17474     }
17475 }
17476 #[cfg(feature = "Win32_Foundation")]
17477 impl ::std::fmt::Debug for KSRTAUDIO_BUFFER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result17478     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
17479         fmt.debug_struct("KSRTAUDIO_BUFFER").field("BufferAddress", &self.BufferAddress).field("ActualBufferSize", &self.ActualBufferSize).field("CallMemoryBarrier", &self.CallMemoryBarrier).finish()
17480     }
17481 }
17482 #[cfg(feature = "Win32_Foundation")]
17483 impl ::std::cmp::PartialEq for KSRTAUDIO_BUFFER {
eq(&self, other: &Self) -> bool17484     fn eq(&self, other: &Self) -> bool {
17485         self.BufferAddress == other.BufferAddress && self.ActualBufferSize == other.ActualBufferSize && self.CallMemoryBarrier == other.CallMemoryBarrier
17486     }
17487 }
17488 #[cfg(feature = "Win32_Foundation")]
17489 impl ::std::cmp::Eq for KSRTAUDIO_BUFFER {}
17490 #[cfg(feature = "Win32_Foundation")]
17491 unsafe impl ::windows::runtime::Abi for KSRTAUDIO_BUFFER {
17492     type Abi = Self;
17493     type DefaultType = Self;
17494 }
17495 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17496 #[repr(C)]
17497 #[cfg(feature = "Win32_Foundation")]
17498 pub struct KSRTAUDIO_BUFFER32 {
17499     pub BufferAddress: u32,
17500     pub ActualBufferSize: u32,
17501     pub CallMemoryBarrier: super::super::super::Foundation::BOOL,
17502 }
17503 #[cfg(feature = "Win32_Foundation")]
17504 impl KSRTAUDIO_BUFFER32 {}
17505 #[cfg(feature = "Win32_Foundation")]
17506 impl ::std::default::Default for KSRTAUDIO_BUFFER32 {
default() -> Self17507     fn default() -> Self {
17508         unsafe { ::std::mem::zeroed() }
17509     }
17510 }
17511 #[cfg(feature = "Win32_Foundation")]
17512 impl ::std::fmt::Debug for KSRTAUDIO_BUFFER32 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result17513     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
17514         fmt.debug_struct("KSRTAUDIO_BUFFER32").field("BufferAddress", &self.BufferAddress).field("ActualBufferSize", &self.ActualBufferSize).field("CallMemoryBarrier", &self.CallMemoryBarrier).finish()
17515     }
17516 }
17517 #[cfg(feature = "Win32_Foundation")]
17518 impl ::std::cmp::PartialEq for KSRTAUDIO_BUFFER32 {
eq(&self, other: &Self) -> bool17519     fn eq(&self, other: &Self) -> bool {
17520         self.BufferAddress == other.BufferAddress && self.ActualBufferSize == other.ActualBufferSize && self.CallMemoryBarrier == other.CallMemoryBarrier
17521     }
17522 }
17523 #[cfg(feature = "Win32_Foundation")]
17524 impl ::std::cmp::Eq for KSRTAUDIO_BUFFER32 {}
17525 #[cfg(feature = "Win32_Foundation")]
17526 unsafe impl ::windows::runtime::Abi for KSRTAUDIO_BUFFER32 {
17527     type Abi = Self;
17528     type DefaultType = Self;
17529 }
17530 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17531 #[repr(C)]
17532 pub struct KSRTAUDIO_BUFFER_PROPERTY {
17533     pub Property: KSIDENTIFIER,
17534     pub BaseAddress: *mut ::std::ffi::c_void,
17535     pub RequestedBufferSize: u32,
17536 }
17537 impl KSRTAUDIO_BUFFER_PROPERTY {}
17538 impl ::std::default::Default for KSRTAUDIO_BUFFER_PROPERTY {
default() -> Self17539     fn default() -> Self {
17540         unsafe { ::std::mem::zeroed() }
17541     }
17542 }
17543 impl ::std::cmp::PartialEq for KSRTAUDIO_BUFFER_PROPERTY {
eq(&self, _other: &Self) -> bool17544     fn eq(&self, _other: &Self) -> bool {
17545         unimplemented!()
17546     }
17547 }
17548 impl ::std::cmp::Eq for KSRTAUDIO_BUFFER_PROPERTY {}
17549 unsafe impl ::windows::runtime::Abi for KSRTAUDIO_BUFFER_PROPERTY {
17550     type Abi = Self;
17551     type DefaultType = Self;
17552 }
17553 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17554 #[repr(C)]
17555 pub struct KSRTAUDIO_BUFFER_PROPERTY32 {
17556     pub Property: KSIDENTIFIER,
17557     pub BaseAddress: u32,
17558     pub RequestedBufferSize: u32,
17559 }
17560 impl KSRTAUDIO_BUFFER_PROPERTY32 {}
17561 impl ::std::default::Default for KSRTAUDIO_BUFFER_PROPERTY32 {
default() -> Self17562     fn default() -> Self {
17563         unsafe { ::std::mem::zeroed() }
17564     }
17565 }
17566 impl ::std::cmp::PartialEq for KSRTAUDIO_BUFFER_PROPERTY32 {
eq(&self, _other: &Self) -> bool17567     fn eq(&self, _other: &Self) -> bool {
17568         unimplemented!()
17569     }
17570 }
17571 impl ::std::cmp::Eq for KSRTAUDIO_BUFFER_PROPERTY32 {}
17572 unsafe impl ::windows::runtime::Abi for KSRTAUDIO_BUFFER_PROPERTY32 {
17573     type Abi = Self;
17574     type DefaultType = Self;
17575 }
17576 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17577 #[repr(C)]
17578 pub struct KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION {
17579     pub Property: KSIDENTIFIER,
17580     pub BaseAddress: *mut ::std::ffi::c_void,
17581     pub RequestedBufferSize: u32,
17582     pub NotificationCount: u32,
17583 }
17584 impl KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION {}
17585 impl ::std::default::Default for KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION {
default() -> Self17586     fn default() -> Self {
17587         unsafe { ::std::mem::zeroed() }
17588     }
17589 }
17590 impl ::std::cmp::PartialEq for KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION {
eq(&self, _other: &Self) -> bool17591     fn eq(&self, _other: &Self) -> bool {
17592         unimplemented!()
17593     }
17594 }
17595 impl ::std::cmp::Eq for KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION {}
17596 unsafe impl ::windows::runtime::Abi for KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION {
17597     type Abi = Self;
17598     type DefaultType = Self;
17599 }
17600 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17601 #[repr(C)]
17602 pub struct KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION32 {
17603     pub Property: KSIDENTIFIER,
17604     pub BaseAddress: u32,
17605     pub RequestedBufferSize: u32,
17606     pub NotificationCount: u32,
17607 }
17608 impl KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION32 {}
17609 impl ::std::default::Default for KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION32 {
default() -> Self17610     fn default() -> Self {
17611         unsafe { ::std::mem::zeroed() }
17612     }
17613 }
17614 impl ::std::cmp::PartialEq for KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION32 {
eq(&self, _other: &Self) -> bool17615     fn eq(&self, _other: &Self) -> bool {
17616         unimplemented!()
17617     }
17618 }
17619 impl ::std::cmp::Eq for KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION32 {}
17620 unsafe impl ::windows::runtime::Abi for KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION32 {
17621     type Abi = Self;
17622     type DefaultType = Self;
17623 }
17624 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17625 #[repr(C)]
17626 #[cfg(feature = "Win32_Foundation")]
17627 pub struct KSRTAUDIO_GETREADPACKET_INFO {
17628     pub PacketNumber: u32,
17629     pub Flags: u32,
17630     pub PerformanceCounterValue: u64,
17631     pub MoreData: super::super::super::Foundation::BOOL,
17632 }
17633 #[cfg(feature = "Win32_Foundation")]
17634 impl KSRTAUDIO_GETREADPACKET_INFO {}
17635 #[cfg(feature = "Win32_Foundation")]
17636 impl ::std::default::Default for KSRTAUDIO_GETREADPACKET_INFO {
default() -> Self17637     fn default() -> Self {
17638         unsafe { ::std::mem::zeroed() }
17639     }
17640 }
17641 #[cfg(feature = "Win32_Foundation")]
17642 impl ::std::fmt::Debug for KSRTAUDIO_GETREADPACKET_INFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result17643     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
17644         fmt.debug_struct("KSRTAUDIO_GETREADPACKET_INFO").field("PacketNumber", &self.PacketNumber).field("Flags", &self.Flags).field("PerformanceCounterValue", &self.PerformanceCounterValue).field("MoreData", &self.MoreData).finish()
17645     }
17646 }
17647 #[cfg(feature = "Win32_Foundation")]
17648 impl ::std::cmp::PartialEq for KSRTAUDIO_GETREADPACKET_INFO {
eq(&self, other: &Self) -> bool17649     fn eq(&self, other: &Self) -> bool {
17650         self.PacketNumber == other.PacketNumber && self.Flags == other.Flags && self.PerformanceCounterValue == other.PerformanceCounterValue && self.MoreData == other.MoreData
17651     }
17652 }
17653 #[cfg(feature = "Win32_Foundation")]
17654 impl ::std::cmp::Eq for KSRTAUDIO_GETREADPACKET_INFO {}
17655 #[cfg(feature = "Win32_Foundation")]
17656 unsafe impl ::windows::runtime::Abi for KSRTAUDIO_GETREADPACKET_INFO {
17657     type Abi = Self;
17658     type DefaultType = Self;
17659 }
17660 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17661 #[repr(C)]
17662 pub struct KSRTAUDIO_HWLATENCY {
17663     pub FifoSize: u32,
17664     pub ChipsetDelay: u32,
17665     pub CodecDelay: u32,
17666 }
17667 impl KSRTAUDIO_HWLATENCY {}
17668 impl ::std::default::Default for KSRTAUDIO_HWLATENCY {
default() -> Self17669     fn default() -> Self {
17670         unsafe { ::std::mem::zeroed() }
17671     }
17672 }
17673 impl ::std::fmt::Debug for KSRTAUDIO_HWLATENCY {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result17674     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
17675         fmt.debug_struct("KSRTAUDIO_HWLATENCY").field("FifoSize", &self.FifoSize).field("ChipsetDelay", &self.ChipsetDelay).field("CodecDelay", &self.CodecDelay).finish()
17676     }
17677 }
17678 impl ::std::cmp::PartialEq for KSRTAUDIO_HWLATENCY {
eq(&self, other: &Self) -> bool17679     fn eq(&self, other: &Self) -> bool {
17680         self.FifoSize == other.FifoSize && self.ChipsetDelay == other.ChipsetDelay && self.CodecDelay == other.CodecDelay
17681     }
17682 }
17683 impl ::std::cmp::Eq for KSRTAUDIO_HWLATENCY {}
17684 unsafe impl ::windows::runtime::Abi for KSRTAUDIO_HWLATENCY {
17685     type Abi = Self;
17686     type DefaultType = Self;
17687 }
17688 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17689 #[repr(C)]
17690 pub struct KSRTAUDIO_HWREGISTER {
17691     pub Register: *mut ::std::ffi::c_void,
17692     pub Width: u32,
17693     pub Numerator: u64,
17694     pub Denominator: u64,
17695     pub Accuracy: u32,
17696 }
17697 impl KSRTAUDIO_HWREGISTER {}
17698 impl ::std::default::Default for KSRTAUDIO_HWREGISTER {
default() -> Self17699     fn default() -> Self {
17700         unsafe { ::std::mem::zeroed() }
17701     }
17702 }
17703 impl ::std::fmt::Debug for KSRTAUDIO_HWREGISTER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result17704     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
17705         fmt.debug_struct("KSRTAUDIO_HWREGISTER").field("Register", &self.Register).field("Width", &self.Width).field("Numerator", &self.Numerator).field("Denominator", &self.Denominator).field("Accuracy", &self.Accuracy).finish()
17706     }
17707 }
17708 impl ::std::cmp::PartialEq for KSRTAUDIO_HWREGISTER {
eq(&self, other: &Self) -> bool17709     fn eq(&self, other: &Self) -> bool {
17710         self.Register == other.Register && self.Width == other.Width && self.Numerator == other.Numerator && self.Denominator == other.Denominator && self.Accuracy == other.Accuracy
17711     }
17712 }
17713 impl ::std::cmp::Eq for KSRTAUDIO_HWREGISTER {}
17714 unsafe impl ::windows::runtime::Abi for KSRTAUDIO_HWREGISTER {
17715     type Abi = Self;
17716     type DefaultType = Self;
17717 }
17718 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17719 #[repr(C)]
17720 pub struct KSRTAUDIO_HWREGISTER32 {
17721     pub Register: u32,
17722     pub Width: u32,
17723     pub Numerator: u64,
17724     pub Denominator: u64,
17725     pub Accuracy: u32,
17726 }
17727 impl KSRTAUDIO_HWREGISTER32 {}
17728 impl ::std::default::Default for KSRTAUDIO_HWREGISTER32 {
default() -> Self17729     fn default() -> Self {
17730         unsafe { ::std::mem::zeroed() }
17731     }
17732 }
17733 impl ::std::fmt::Debug for KSRTAUDIO_HWREGISTER32 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result17734     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
17735         fmt.debug_struct("KSRTAUDIO_HWREGISTER32").field("Register", &self.Register).field("Width", &self.Width).field("Numerator", &self.Numerator).field("Denominator", &self.Denominator).field("Accuracy", &self.Accuracy).finish()
17736     }
17737 }
17738 impl ::std::cmp::PartialEq for KSRTAUDIO_HWREGISTER32 {
eq(&self, other: &Self) -> bool17739     fn eq(&self, other: &Self) -> bool {
17740         self.Register == other.Register && self.Width == other.Width && self.Numerator == other.Numerator && self.Denominator == other.Denominator && self.Accuracy == other.Accuracy
17741     }
17742 }
17743 impl ::std::cmp::Eq for KSRTAUDIO_HWREGISTER32 {}
17744 unsafe impl ::windows::runtime::Abi for KSRTAUDIO_HWREGISTER32 {
17745     type Abi = Self;
17746     type DefaultType = Self;
17747 }
17748 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17749 #[repr(C)]
17750 pub struct KSRTAUDIO_HWREGISTER_PROPERTY {
17751     pub Property: KSIDENTIFIER,
17752     pub BaseAddress: *mut ::std::ffi::c_void,
17753 }
17754 impl KSRTAUDIO_HWREGISTER_PROPERTY {}
17755 impl ::std::default::Default for KSRTAUDIO_HWREGISTER_PROPERTY {
default() -> Self17756     fn default() -> Self {
17757         unsafe { ::std::mem::zeroed() }
17758     }
17759 }
17760 impl ::std::cmp::PartialEq for KSRTAUDIO_HWREGISTER_PROPERTY {
eq(&self, _other: &Self) -> bool17761     fn eq(&self, _other: &Self) -> bool {
17762         unimplemented!()
17763     }
17764 }
17765 impl ::std::cmp::Eq for KSRTAUDIO_HWREGISTER_PROPERTY {}
17766 unsafe impl ::windows::runtime::Abi for KSRTAUDIO_HWREGISTER_PROPERTY {
17767     type Abi = Self;
17768     type DefaultType = Self;
17769 }
17770 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17771 #[repr(C)]
17772 pub struct KSRTAUDIO_HWREGISTER_PROPERTY32 {
17773     pub Property: KSIDENTIFIER,
17774     pub BaseAddress: u32,
17775 }
17776 impl KSRTAUDIO_HWREGISTER_PROPERTY32 {}
17777 impl ::std::default::Default for KSRTAUDIO_HWREGISTER_PROPERTY32 {
default() -> Self17778     fn default() -> Self {
17779         unsafe { ::std::mem::zeroed() }
17780     }
17781 }
17782 impl ::std::cmp::PartialEq for KSRTAUDIO_HWREGISTER_PROPERTY32 {
eq(&self, _other: &Self) -> bool17783     fn eq(&self, _other: &Self) -> bool {
17784         unimplemented!()
17785     }
17786 }
17787 impl ::std::cmp::Eq for KSRTAUDIO_HWREGISTER_PROPERTY32 {}
17788 unsafe impl ::windows::runtime::Abi for KSRTAUDIO_HWREGISTER_PROPERTY32 {
17789     type Abi = Self;
17790     type DefaultType = Self;
17791 }
17792 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17793 #[repr(C)]
17794 #[cfg(feature = "Win32_Foundation")]
17795 pub struct KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY {
17796     pub Property: KSIDENTIFIER,
17797     pub NotificationEvent: super::super::super::Foundation::HANDLE,
17798 }
17799 #[cfg(feature = "Win32_Foundation")]
17800 impl KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY {}
17801 #[cfg(feature = "Win32_Foundation")]
17802 impl ::std::default::Default for KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY {
default() -> Self17803     fn default() -> Self {
17804         unsafe { ::std::mem::zeroed() }
17805     }
17806 }
17807 #[cfg(feature = "Win32_Foundation")]
17808 impl ::std::cmp::PartialEq for KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY {
eq(&self, _other: &Self) -> bool17809     fn eq(&self, _other: &Self) -> bool {
17810         unimplemented!()
17811     }
17812 }
17813 #[cfg(feature = "Win32_Foundation")]
17814 impl ::std::cmp::Eq for KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY {}
17815 #[cfg(feature = "Win32_Foundation")]
17816 unsafe impl ::windows::runtime::Abi for KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY {
17817     type Abi = Self;
17818     type DefaultType = Self;
17819 }
17820 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17821 #[repr(C)]
17822 pub struct KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY32 {
17823     pub Property: KSIDENTIFIER,
17824     pub NotificationEvent: u32,
17825 }
17826 impl KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY32 {}
17827 impl ::std::default::Default for KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY32 {
default() -> Self17828     fn default() -> Self {
17829         unsafe { ::std::mem::zeroed() }
17830     }
17831 }
17832 impl ::std::cmp::PartialEq for KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY32 {
eq(&self, _other: &Self) -> bool17833     fn eq(&self, _other: &Self) -> bool {
17834         unimplemented!()
17835     }
17836 }
17837 impl ::std::cmp::Eq for KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY32 {}
17838 unsafe impl ::windows::runtime::Abi for KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY32 {
17839     type Abi = Self;
17840     type DefaultType = Self;
17841 }
17842 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17843 #[repr(C)]
17844 pub struct KSRTAUDIO_PACKETVREGISTER {
17845     pub CompletedPacketCount: *mut u64,
17846     pub CompletedPacketQPC: *mut u64,
17847     pub CompletedPacketHash: *mut u64,
17848 }
17849 impl KSRTAUDIO_PACKETVREGISTER {}
17850 impl ::std::default::Default for KSRTAUDIO_PACKETVREGISTER {
default() -> Self17851     fn default() -> Self {
17852         unsafe { ::std::mem::zeroed() }
17853     }
17854 }
17855 impl ::std::fmt::Debug for KSRTAUDIO_PACKETVREGISTER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result17856     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
17857         fmt.debug_struct("KSRTAUDIO_PACKETVREGISTER").field("CompletedPacketCount", &self.CompletedPacketCount).field("CompletedPacketQPC", &self.CompletedPacketQPC).field("CompletedPacketHash", &self.CompletedPacketHash).finish()
17858     }
17859 }
17860 impl ::std::cmp::PartialEq for KSRTAUDIO_PACKETVREGISTER {
eq(&self, other: &Self) -> bool17861     fn eq(&self, other: &Self) -> bool {
17862         self.CompletedPacketCount == other.CompletedPacketCount && self.CompletedPacketQPC == other.CompletedPacketQPC && self.CompletedPacketHash == other.CompletedPacketHash
17863     }
17864 }
17865 impl ::std::cmp::Eq for KSRTAUDIO_PACKETVREGISTER {}
17866 unsafe impl ::windows::runtime::Abi for KSRTAUDIO_PACKETVREGISTER {
17867     type Abi = Self;
17868     type DefaultType = Self;
17869 }
17870 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17871 #[repr(C)]
17872 pub struct KSRTAUDIO_PACKETVREGISTER_PROPERTY {
17873     pub Property: KSIDENTIFIER,
17874     pub BaseAddress: *mut ::std::ffi::c_void,
17875 }
17876 impl KSRTAUDIO_PACKETVREGISTER_PROPERTY {}
17877 impl ::std::default::Default for KSRTAUDIO_PACKETVREGISTER_PROPERTY {
default() -> Self17878     fn default() -> Self {
17879         unsafe { ::std::mem::zeroed() }
17880     }
17881 }
17882 impl ::std::cmp::PartialEq for KSRTAUDIO_PACKETVREGISTER_PROPERTY {
eq(&self, _other: &Self) -> bool17883     fn eq(&self, _other: &Self) -> bool {
17884         unimplemented!()
17885     }
17886 }
17887 impl ::std::cmp::Eq for KSRTAUDIO_PACKETVREGISTER_PROPERTY {}
17888 unsafe impl ::windows::runtime::Abi for KSRTAUDIO_PACKETVREGISTER_PROPERTY {
17889     type Abi = Self;
17890     type DefaultType = Self;
17891 }
17892 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17893 #[repr(C)]
17894 pub struct KSRTAUDIO_SETWRITEPACKET_INFO {
17895     pub PacketNumber: u32,
17896     pub Flags: u32,
17897     pub EosPacketLength: u32,
17898 }
17899 impl KSRTAUDIO_SETWRITEPACKET_INFO {}
17900 impl ::std::default::Default for KSRTAUDIO_SETWRITEPACKET_INFO {
default() -> Self17901     fn default() -> Self {
17902         unsafe { ::std::mem::zeroed() }
17903     }
17904 }
17905 impl ::std::fmt::Debug for KSRTAUDIO_SETWRITEPACKET_INFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result17906     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
17907         fmt.debug_struct("KSRTAUDIO_SETWRITEPACKET_INFO").field("PacketNumber", &self.PacketNumber).field("Flags", &self.Flags).field("EosPacketLength", &self.EosPacketLength).finish()
17908     }
17909 }
17910 impl ::std::cmp::PartialEq for KSRTAUDIO_SETWRITEPACKET_INFO {
eq(&self, other: &Self) -> bool17911     fn eq(&self, other: &Self) -> bool {
17912         self.PacketNumber == other.PacketNumber && self.Flags == other.Flags && self.EosPacketLength == other.EosPacketLength
17913     }
17914 }
17915 impl ::std::cmp::Eq for KSRTAUDIO_SETWRITEPACKET_INFO {}
17916 unsafe impl ::windows::runtime::Abi for KSRTAUDIO_SETWRITEPACKET_INFO {
17917     type Abi = Self;
17918     type DefaultType = Self;
17919 }
17920 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17921 #[repr(C)]
17922 pub struct KSSOUNDDETECTORPROPERTY {
17923     pub Property: KSIDENTIFIER,
17924     pub EventId: ::windows::runtime::GUID,
17925 }
17926 impl KSSOUNDDETECTORPROPERTY {}
17927 impl ::std::default::Default for KSSOUNDDETECTORPROPERTY {
default() -> Self17928     fn default() -> Self {
17929         unsafe { ::std::mem::zeroed() }
17930     }
17931 }
17932 impl ::std::cmp::PartialEq for KSSOUNDDETECTORPROPERTY {
eq(&self, _other: &Self) -> bool17933     fn eq(&self, _other: &Self) -> bool {
17934         unimplemented!()
17935     }
17936 }
17937 impl ::std::cmp::Eq for KSSOUNDDETECTORPROPERTY {}
17938 unsafe impl ::windows::runtime::Abi for KSSOUNDDETECTORPROPERTY {
17939     type Abi = Self;
17940     type DefaultType = Self;
17941 }
17942 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
17943 #[repr(transparent)]
17944 pub struct KSSTATE(pub i32);
17945 pub const KSSTATE_STOP: KSSTATE = KSSTATE(0i32);
17946 pub const KSSTATE_ACQUIRE: KSSTATE = KSSTATE(1i32);
17947 pub const KSSTATE_PAUSE: KSSTATE = KSSTATE(2i32);
17948 pub const KSSTATE_RUN: KSSTATE = KSSTATE(3i32);
17949 impl ::std::convert::From<i32> for KSSTATE {
from(value: i32) -> Self17950     fn from(value: i32) -> Self {
17951         Self(value)
17952     }
17953 }
17954 unsafe impl ::windows::runtime::Abi for KSSTATE {
17955     type Abi = Self;
17956     type DefaultType = Self;
17957 }
17958 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17959 #[repr(C)]
17960 pub struct KSSTREAMALLOCATOR_STATUS {
17961     pub Framing: KSALLOCATOR_FRAMING,
17962     pub AllocatedFrames: u32,
17963     pub Reserved: u32,
17964 }
17965 impl KSSTREAMALLOCATOR_STATUS {}
17966 impl ::std::default::Default for KSSTREAMALLOCATOR_STATUS {
default() -> Self17967     fn default() -> Self {
17968         unsafe { ::std::mem::zeroed() }
17969     }
17970 }
17971 impl ::std::cmp::PartialEq for KSSTREAMALLOCATOR_STATUS {
eq(&self, _other: &Self) -> bool17972     fn eq(&self, _other: &Self) -> bool {
17973         unimplemented!()
17974     }
17975 }
17976 impl ::std::cmp::Eq for KSSTREAMALLOCATOR_STATUS {}
17977 unsafe impl ::windows::runtime::Abi for KSSTREAMALLOCATOR_STATUS {
17978     type Abi = Self;
17979     type DefaultType = Self;
17980 }
17981 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17982 #[repr(C)]
17983 pub struct KSSTREAMALLOCATOR_STATUS_EX {
17984     pub Framing: KSALLOCATOR_FRAMING_EX,
17985     pub AllocatedFrames: u32,
17986     pub Reserved: u32,
17987 }
17988 impl KSSTREAMALLOCATOR_STATUS_EX {}
17989 impl ::std::default::Default for KSSTREAMALLOCATOR_STATUS_EX {
default() -> Self17990     fn default() -> Self {
17991         unsafe { ::std::mem::zeroed() }
17992     }
17993 }
17994 impl ::std::cmp::PartialEq for KSSTREAMALLOCATOR_STATUS_EX {
eq(&self, _other: &Self) -> bool17995     fn eq(&self, _other: &Self) -> bool {
17996         unimplemented!()
17997     }
17998 }
17999 impl ::std::cmp::Eq for KSSTREAMALLOCATOR_STATUS_EX {}
18000 unsafe impl ::windows::runtime::Abi for KSSTREAMALLOCATOR_STATUS_EX {
18001     type Abi = Self;
18002     type DefaultType = Self;
18003 }
18004 pub const KSSTREAM_FAILUREEXCEPTION: u32 = 8192u32;
18005 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
18006 #[repr(C)]
18007 pub struct KSSTREAM_HEADER {
18008     pub Size: u32,
18009     pub TypeSpecificFlags: u32,
18010     pub PresentationTime: KSTIME,
18011     pub Duration: i64,
18012     pub FrameExtent: u32,
18013     pub DataUsed: u32,
18014     pub Data: *mut ::std::ffi::c_void,
18015     pub OptionsFlags: u32,
18016     pub Reserved: u32,
18017 }
18018 impl KSSTREAM_HEADER {}
18019 impl ::std::default::Default for KSSTREAM_HEADER {
default() -> Self18020     fn default() -> Self {
18021         unsafe { ::std::mem::zeroed() }
18022     }
18023 }
18024 impl ::std::fmt::Debug for KSSTREAM_HEADER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result18025     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18026         fmt.debug_struct("KSSTREAM_HEADER")
18027             .field("Size", &self.Size)
18028             .field("TypeSpecificFlags", &self.TypeSpecificFlags)
18029             .field("PresentationTime", &self.PresentationTime)
18030             .field("Duration", &self.Duration)
18031             .field("FrameExtent", &self.FrameExtent)
18032             .field("DataUsed", &self.DataUsed)
18033             .field("Data", &self.Data)
18034             .field("OptionsFlags", &self.OptionsFlags)
18035             .field("Reserved", &self.Reserved)
18036             .finish()
18037     }
18038 }
18039 impl ::std::cmp::PartialEq for KSSTREAM_HEADER {
eq(&self, other: &Self) -> bool18040     fn eq(&self, other: &Self) -> bool {
18041         self.Size == other.Size && self.TypeSpecificFlags == other.TypeSpecificFlags && self.PresentationTime == other.PresentationTime && self.Duration == other.Duration && self.FrameExtent == other.FrameExtent && self.DataUsed == other.DataUsed && self.Data == other.Data && self.OptionsFlags == other.OptionsFlags && self.Reserved == other.Reserved
18042     }
18043 }
18044 impl ::std::cmp::Eq for KSSTREAM_HEADER {}
18045 unsafe impl ::windows::runtime::Abi for KSSTREAM_HEADER {
18046     type Abi = Self;
18047     type DefaultType = Self;
18048 }
18049 pub const KSSTREAM_HEADER_OPTIONSF_BUFFEREDTRANSFER: u32 = 1024u32;
18050 pub const KSSTREAM_HEADER_OPTIONSF_DATADISCONTINUITY: u32 = 4u32;
18051 pub const KSSTREAM_HEADER_OPTIONSF_DURATIONVALID: u32 = 256u32;
18052 pub const KSSTREAM_HEADER_OPTIONSF_ENDOFPHOTOSEQUENCE: u32 = 8192u32;
18053 pub const KSSTREAM_HEADER_OPTIONSF_ENDOFSTREAM: u32 = 512u32;
18054 pub const KSSTREAM_HEADER_OPTIONSF_FLUSHONPAUSE: u32 = 128u32;
18055 pub const KSSTREAM_HEADER_OPTIONSF_FRAMEINFO: u32 = 16384u32;
18056 pub const KSSTREAM_HEADER_OPTIONSF_LOOPEDDATA: u32 = 2147483648u32;
18057 pub const KSSTREAM_HEADER_OPTIONSF_METADATA: u32 = 4096u32;
18058 pub const KSSTREAM_HEADER_OPTIONSF_PERSIST_SAMPLE: u32 = 32768u32;
18059 pub const KSSTREAM_HEADER_OPTIONSF_PREROLL: u32 = 2u32;
18060 pub const KSSTREAM_HEADER_OPTIONSF_SAMPLE_PERSISTED: u32 = 65536u32;
18061 pub const KSSTREAM_HEADER_OPTIONSF_SECUREBUFFERTRANSFER: u32 = 262144u32;
18062 pub const KSSTREAM_HEADER_OPTIONSF_SPLICEPOINT: u32 = 1u32;
18063 pub const KSSTREAM_HEADER_OPTIONSF_TIMEDISCONTINUITY: u32 = 64u32;
18064 pub const KSSTREAM_HEADER_OPTIONSF_TIMEVALID: u32 = 16u32;
18065 pub const KSSTREAM_HEADER_OPTIONSF_TYPECHANGED: u32 = 8u32;
18066 pub const KSSTREAM_HEADER_OPTIONSF_VRAM_DATA_TRANSFER: u32 = 2048u32;
18067 pub const KSSTREAM_HEADER_TRACK_COMPLETION_NUMBERS: u32 = 131072u32;
18068 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
18069 #[repr(C)]
18070 pub struct KSSTREAM_METADATA_INFO {
18071     pub BufferSize: u32,
18072     pub UsedSize: u32,
18073     pub Data: *mut ::std::ffi::c_void,
18074     pub SystemVa: *mut ::std::ffi::c_void,
18075     pub Flags: u32,
18076     pub Reserved: u32,
18077 }
18078 impl KSSTREAM_METADATA_INFO {}
18079 impl ::std::default::Default for KSSTREAM_METADATA_INFO {
default() -> Self18080     fn default() -> Self {
18081         unsafe { ::std::mem::zeroed() }
18082     }
18083 }
18084 impl ::std::fmt::Debug for KSSTREAM_METADATA_INFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result18085     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18086         fmt.debug_struct("KSSTREAM_METADATA_INFO").field("BufferSize", &self.BufferSize).field("UsedSize", &self.UsedSize).field("Data", &self.Data).field("SystemVa", &self.SystemVa).field("Flags", &self.Flags).field("Reserved", &self.Reserved).finish()
18087     }
18088 }
18089 impl ::std::cmp::PartialEq for KSSTREAM_METADATA_INFO {
eq(&self, other: &Self) -> bool18090     fn eq(&self, other: &Self) -> bool {
18091         self.BufferSize == other.BufferSize && self.UsedSize == other.UsedSize && self.Data == other.Data && self.SystemVa == other.SystemVa && self.Flags == other.Flags && self.Reserved == other.Reserved
18092     }
18093 }
18094 impl ::std::cmp::Eq for KSSTREAM_METADATA_INFO {}
18095 unsafe impl ::windows::runtime::Abi for KSSTREAM_METADATA_INFO {
18096     type Abi = Self;
18097     type DefaultType = Self;
18098 }
18099 pub const KSSTREAM_NONPAGED_DATA: u32 = 256u32;
18100 pub const KSSTREAM_PAGED_DATA: u32 = 0u32;
18101 pub const KSSTREAM_READ: u32 = 0u32;
18102 pub const KSSTREAM_SYNCHRONOUS: u32 = 4096u32;
18103 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
18104 #[repr(C)]
18105 pub struct KSSTREAM_UVC_METADATA {
18106     pub StartOfFrameTimestamp: KSSTREAM_UVC_METADATATYPE_TIMESTAMP,
18107     pub EndOfFrameTimestamp: KSSTREAM_UVC_METADATATYPE_TIMESTAMP,
18108 }
18109 impl KSSTREAM_UVC_METADATA {}
18110 impl ::std::default::Default for KSSTREAM_UVC_METADATA {
default() -> Self18111     fn default() -> Self {
18112         unsafe { ::std::mem::zeroed() }
18113     }
18114 }
18115 impl ::std::cmp::PartialEq for KSSTREAM_UVC_METADATA {
eq(&self, _other: &Self) -> bool18116     fn eq(&self, _other: &Self) -> bool {
18117         unimplemented!()
18118     }
18119 }
18120 impl ::std::cmp::Eq for KSSTREAM_UVC_METADATA {}
18121 unsafe impl ::windows::runtime::Abi for KSSTREAM_UVC_METADATA {
18122     type Abi = Self;
18123     type DefaultType = Self;
18124 }
18125 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
18126 #[repr(C)]
18127 pub struct KSSTREAM_UVC_METADATATYPE_TIMESTAMP {
18128     pub PresentationTimeStamp: u32,
18129     pub SourceClockReference: u32,
18130     pub Anonymous: KSSTREAM_UVC_METADATATYPE_TIMESTAMP_0,
18131     pub Reserved0: u16,
18132     pub Reserved1: u32,
18133 }
18134 impl KSSTREAM_UVC_METADATATYPE_TIMESTAMP {}
18135 impl ::std::default::Default for KSSTREAM_UVC_METADATATYPE_TIMESTAMP {
default() -> Self18136     fn default() -> Self {
18137         unsafe { ::std::mem::zeroed() }
18138     }
18139 }
18140 impl ::std::cmp::PartialEq for KSSTREAM_UVC_METADATATYPE_TIMESTAMP {
eq(&self, _other: &Self) -> bool18141     fn eq(&self, _other: &Self) -> bool {
18142         unimplemented!()
18143     }
18144 }
18145 impl ::std::cmp::Eq for KSSTREAM_UVC_METADATATYPE_TIMESTAMP {}
18146 unsafe impl ::windows::runtime::Abi for KSSTREAM_UVC_METADATATYPE_TIMESTAMP {
18147     type Abi = Self;
18148     type DefaultType = Self;
18149 }
18150 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
18151 #[repr(C)]
18152 pub union KSSTREAM_UVC_METADATATYPE_TIMESTAMP_0 {
18153     pub Anonymous: KSSTREAM_UVC_METADATATYPE_TIMESTAMP_0_0,
18154     pub SCRToken: u16,
18155 }
18156 impl KSSTREAM_UVC_METADATATYPE_TIMESTAMP_0 {}
18157 impl ::std::default::Default for KSSTREAM_UVC_METADATATYPE_TIMESTAMP_0 {
default() -> Self18158     fn default() -> Self {
18159         unsafe { ::std::mem::zeroed() }
18160     }
18161 }
18162 impl ::std::cmp::PartialEq for KSSTREAM_UVC_METADATATYPE_TIMESTAMP_0 {
eq(&self, _other: &Self) -> bool18163     fn eq(&self, _other: &Self) -> bool {
18164         unimplemented!()
18165     }
18166 }
18167 impl ::std::cmp::Eq for KSSTREAM_UVC_METADATATYPE_TIMESTAMP_0 {}
18168 unsafe impl ::windows::runtime::Abi for KSSTREAM_UVC_METADATATYPE_TIMESTAMP_0 {
18169     type Abi = Self;
18170     type DefaultType = Self;
18171 }
18172 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
18173 #[repr(C)]
18174 pub struct KSSTREAM_UVC_METADATATYPE_TIMESTAMP_0_0 {
18175     pub _bitfield: u16,
18176 }
18177 impl KSSTREAM_UVC_METADATATYPE_TIMESTAMP_0_0 {}
18178 impl ::std::default::Default for KSSTREAM_UVC_METADATATYPE_TIMESTAMP_0_0 {
default() -> Self18179     fn default() -> Self {
18180         unsafe { ::std::mem::zeroed() }
18181     }
18182 }
18183 impl ::std::fmt::Debug for KSSTREAM_UVC_METADATATYPE_TIMESTAMP_0_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result18184     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18185         fmt.debug_struct("_Anonymous_e__Struct").field("_bitfield", &self._bitfield).finish()
18186     }
18187 }
18188 impl ::std::cmp::PartialEq for KSSTREAM_UVC_METADATATYPE_TIMESTAMP_0_0 {
eq(&self, other: &Self) -> bool18189     fn eq(&self, other: &Self) -> bool {
18190         self._bitfield == other._bitfield
18191     }
18192 }
18193 impl ::std::cmp::Eq for KSSTREAM_UVC_METADATATYPE_TIMESTAMP_0_0 {}
18194 unsafe impl ::windows::runtime::Abi for KSSTREAM_UVC_METADATATYPE_TIMESTAMP_0_0 {
18195     type Abi = Self;
18196     type DefaultType = Self;
18197 }
18198 pub const KSSTREAM_UVC_SECURE_ATTRIBUTE_SIZE: u32 = 8192u32;
18199 pub const KSSTREAM_WRITE: u32 = 1u32;
18200 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
18201 #[repr(C)]
18202 pub struct KSTELEPHONY_CALLCONTROL {
18203     pub CallType: TELEPHONY_CALLTYPE,
18204     pub CallControlOp: TELEPHONY_CALLCONTROLOP,
18205 }
18206 impl KSTELEPHONY_CALLCONTROL {}
18207 impl ::std::default::Default for KSTELEPHONY_CALLCONTROL {
default() -> Self18208     fn default() -> Self {
18209         unsafe { ::std::mem::zeroed() }
18210     }
18211 }
18212 impl ::std::fmt::Debug for KSTELEPHONY_CALLCONTROL {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result18213     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18214         fmt.debug_struct("KSTELEPHONY_CALLCONTROL").field("CallType", &self.CallType).field("CallControlOp", &self.CallControlOp).finish()
18215     }
18216 }
18217 impl ::std::cmp::PartialEq for KSTELEPHONY_CALLCONTROL {
eq(&self, other: &Self) -> bool18218     fn eq(&self, other: &Self) -> bool {
18219         self.CallType == other.CallType && self.CallControlOp == other.CallControlOp
18220     }
18221 }
18222 impl ::std::cmp::Eq for KSTELEPHONY_CALLCONTROL {}
18223 unsafe impl ::windows::runtime::Abi for KSTELEPHONY_CALLCONTROL {
18224     type Abi = Self;
18225     type DefaultType = Self;
18226 }
18227 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
18228 #[repr(C)]
18229 pub struct KSTELEPHONY_CALLINFO {
18230     pub CallType: TELEPHONY_CALLTYPE,
18231     pub CallState: TELEPHONY_CALLSTATE,
18232 }
18233 impl KSTELEPHONY_CALLINFO {}
18234 impl ::std::default::Default for KSTELEPHONY_CALLINFO {
default() -> Self18235     fn default() -> Self {
18236         unsafe { ::std::mem::zeroed() }
18237     }
18238 }
18239 impl ::std::fmt::Debug for KSTELEPHONY_CALLINFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result18240     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18241         fmt.debug_struct("KSTELEPHONY_CALLINFO").field("CallType", &self.CallType).field("CallState", &self.CallState).finish()
18242     }
18243 }
18244 impl ::std::cmp::PartialEq for KSTELEPHONY_CALLINFO {
eq(&self, other: &Self) -> bool18245     fn eq(&self, other: &Self) -> bool {
18246         self.CallType == other.CallType && self.CallState == other.CallState
18247     }
18248 }
18249 impl ::std::cmp::Eq for KSTELEPHONY_CALLINFO {}
18250 unsafe impl ::windows::runtime::Abi for KSTELEPHONY_CALLINFO {
18251     type Abi = Self;
18252     type DefaultType = Self;
18253 }
18254 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
18255 #[repr(C)]
18256 pub struct KSTELEPHONY_PROVIDERCHANGE {
18257     pub CallType: TELEPHONY_CALLTYPE,
18258     pub ProviderChangeOp: TELEPHONY_PROVIDERCHANGEOP,
18259 }
18260 impl KSTELEPHONY_PROVIDERCHANGE {}
18261 impl ::std::default::Default for KSTELEPHONY_PROVIDERCHANGE {
default() -> Self18262     fn default() -> Self {
18263         unsafe { ::std::mem::zeroed() }
18264     }
18265 }
18266 impl ::std::fmt::Debug for KSTELEPHONY_PROVIDERCHANGE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result18267     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18268         fmt.debug_struct("KSTELEPHONY_PROVIDERCHANGE").field("CallType", &self.CallType).field("ProviderChangeOp", &self.ProviderChangeOp).finish()
18269     }
18270 }
18271 impl ::std::cmp::PartialEq for KSTELEPHONY_PROVIDERCHANGE {
eq(&self, other: &Self) -> bool18272     fn eq(&self, other: &Self) -> bool {
18273         self.CallType == other.CallType && self.ProviderChangeOp == other.ProviderChangeOp
18274     }
18275 }
18276 impl ::std::cmp::Eq for KSTELEPHONY_PROVIDERCHANGE {}
18277 unsafe impl ::windows::runtime::Abi for KSTELEPHONY_PROVIDERCHANGE {
18278     type Abi = Self;
18279     type DefaultType = Self;
18280 }
18281 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
18282 #[repr(C)]
18283 pub struct KSTIME {
18284     pub Time: i64,
18285     pub Numerator: u32,
18286     pub Denominator: u32,
18287 }
18288 impl KSTIME {}
18289 impl ::std::default::Default for KSTIME {
default() -> Self18290     fn default() -> Self {
18291         unsafe { ::std::mem::zeroed() }
18292     }
18293 }
18294 impl ::std::fmt::Debug for KSTIME {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result18295     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18296         fmt.debug_struct("KSTIME").field("Time", &self.Time).field("Numerator", &self.Numerator).field("Denominator", &self.Denominator).finish()
18297     }
18298 }
18299 impl ::std::cmp::PartialEq for KSTIME {
eq(&self, other: &Self) -> bool18300     fn eq(&self, other: &Self) -> bool {
18301         self.Time == other.Time && self.Numerator == other.Numerator && self.Denominator == other.Denominator
18302     }
18303 }
18304 impl ::std::cmp::Eq for KSTIME {}
18305 unsafe impl ::windows::runtime::Abi for KSTIME {
18306     type Abi = Self;
18307     type DefaultType = Self;
18308 }
18309 pub const KSTIME_FORMAT_BYTE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2071483761, 35970, 4559, [188, 12, 0, 170, 0, 172, 116, 246]);
18310 pub const KSTIME_FORMAT_FIELD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2071483763, 35970, 4559, [188, 12, 0, 170, 0, 172, 116, 246]);
18311 pub const KSTIME_FORMAT_FRAME: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2071483760, 35970, 4559, [188, 12, 0, 170, 0, 172, 116, 246]);
18312 pub const KSTIME_FORMAT_MEDIA_TIME: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2071483764, 35970, 4559, [188, 12, 0, 170, 0, 172, 116, 246]);
18313 pub const KSTIME_FORMAT_SAMPLE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2071483762, 35970, 4559, [188, 12, 0, 170, 0, 172, 116, 246]);
18314 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
18315 #[repr(C)]
18316 #[cfg(feature = "Win32_Graphics_DirectShow")]
18317 pub struct KSTOPOLOGY {
18318     pub CategoriesCount: u32,
18319     pub Categories: *mut ::windows::runtime::GUID,
18320     pub TopologyNodesCount: u32,
18321     pub TopologyNodes: *mut ::windows::runtime::GUID,
18322     pub TopologyConnectionsCount: u32,
18323     pub TopologyConnections: *mut super::super::super::Graphics::DirectShow::KSTOPOLOGY_CONNECTION,
18324     pub TopologyNodesNames: *mut ::windows::runtime::GUID,
18325     pub Reserved: u32,
18326 }
18327 #[cfg(feature = "Win32_Graphics_DirectShow")]
18328 impl KSTOPOLOGY {}
18329 #[cfg(feature = "Win32_Graphics_DirectShow")]
18330 impl ::std::default::Default for KSTOPOLOGY {
default() -> Self18331     fn default() -> Self {
18332         unsafe { ::std::mem::zeroed() }
18333     }
18334 }
18335 #[cfg(feature = "Win32_Graphics_DirectShow")]
18336 impl ::std::fmt::Debug for KSTOPOLOGY {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result18337     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18338         fmt.debug_struct("KSTOPOLOGY")
18339             .field("CategoriesCount", &self.CategoriesCount)
18340             .field("Categories", &self.Categories)
18341             .field("TopologyNodesCount", &self.TopologyNodesCount)
18342             .field("TopologyNodes", &self.TopologyNodes)
18343             .field("TopologyConnectionsCount", &self.TopologyConnectionsCount)
18344             .field("TopologyConnections", &self.TopologyConnections)
18345             .field("TopologyNodesNames", &self.TopologyNodesNames)
18346             .field("Reserved", &self.Reserved)
18347             .finish()
18348     }
18349 }
18350 #[cfg(feature = "Win32_Graphics_DirectShow")]
18351 impl ::std::cmp::PartialEq for KSTOPOLOGY {
eq(&self, other: &Self) -> bool18352     fn eq(&self, other: &Self) -> bool {
18353         self.CategoriesCount == other.CategoriesCount && self.Categories == other.Categories && self.TopologyNodesCount == other.TopologyNodesCount && self.TopologyNodes == other.TopologyNodes && self.TopologyConnectionsCount == other.TopologyConnectionsCount && self.TopologyConnections == other.TopologyConnections && self.TopologyNodesNames == other.TopologyNodesNames && self.Reserved == other.Reserved
18354     }
18355 }
18356 #[cfg(feature = "Win32_Graphics_DirectShow")]
18357 impl ::std::cmp::Eq for KSTOPOLOGY {}
18358 #[cfg(feature = "Win32_Graphics_DirectShow")]
18359 unsafe impl ::windows::runtime::Abi for KSTOPOLOGY {
18360     type Abi = Self;
18361     type DefaultType = Self;
18362 }
18363 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
18364 #[repr(C)]
18365 pub struct KSTOPOLOGY_ENDPOINTID {
18366     pub TopologyName: [u16; 260],
18367     pub PinId: u32,
18368 }
18369 impl KSTOPOLOGY_ENDPOINTID {}
18370 impl ::std::default::Default for KSTOPOLOGY_ENDPOINTID {
default() -> Self18371     fn default() -> Self {
18372         unsafe { ::std::mem::zeroed() }
18373     }
18374 }
18375 impl ::std::fmt::Debug for KSTOPOLOGY_ENDPOINTID {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result18376     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18377         fmt.debug_struct("KSTOPOLOGY_ENDPOINTID").field("TopologyName", &self.TopologyName).field("PinId", &self.PinId).finish()
18378     }
18379 }
18380 impl ::std::cmp::PartialEq for KSTOPOLOGY_ENDPOINTID {
eq(&self, other: &Self) -> bool18381     fn eq(&self, other: &Self) -> bool {
18382         self.TopologyName == other.TopologyName && self.PinId == other.PinId
18383     }
18384 }
18385 impl ::std::cmp::Eq for KSTOPOLOGY_ENDPOINTID {}
18386 unsafe impl ::windows::runtime::Abi for KSTOPOLOGY_ENDPOINTID {
18387     type Abi = Self;
18388     type DefaultType = Self;
18389 }
18390 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
18391 #[repr(C)]
18392 pub struct KSTOPOLOGY_ENDPOINTIDPAIR {
18393     pub RenderEndpoint: KSTOPOLOGY_ENDPOINTID,
18394     pub CaptureEndpoint: KSTOPOLOGY_ENDPOINTID,
18395 }
18396 impl KSTOPOLOGY_ENDPOINTIDPAIR {}
18397 impl ::std::default::Default for KSTOPOLOGY_ENDPOINTIDPAIR {
default() -> Self18398     fn default() -> Self {
18399         unsafe { ::std::mem::zeroed() }
18400     }
18401 }
18402 impl ::std::fmt::Debug for KSTOPOLOGY_ENDPOINTIDPAIR {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result18403     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18404         fmt.debug_struct("KSTOPOLOGY_ENDPOINTIDPAIR").field("RenderEndpoint", &self.RenderEndpoint).field("CaptureEndpoint", &self.CaptureEndpoint).finish()
18405     }
18406 }
18407 impl ::std::cmp::PartialEq for KSTOPOLOGY_ENDPOINTIDPAIR {
eq(&self, other: &Self) -> bool18408     fn eq(&self, other: &Self) -> bool {
18409         self.RenderEndpoint == other.RenderEndpoint && self.CaptureEndpoint == other.CaptureEndpoint
18410     }
18411 }
18412 impl ::std::cmp::Eq for KSTOPOLOGY_ENDPOINTIDPAIR {}
18413 unsafe impl ::windows::runtime::Abi for KSTOPOLOGY_ENDPOINTIDPAIR {
18414     type Abi = Self;
18415     type DefaultType = Self;
18416 }
18417 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
18418 #[repr(C)]
18419 pub struct KSVPMAXPIXELRATE {
18420     pub Size: KS_AMVPSIZE,
18421     pub MaxPixelsPerSecond: u32,
18422     pub Reserved: u32,
18423 }
18424 impl KSVPMAXPIXELRATE {}
18425 impl ::std::default::Default for KSVPMAXPIXELRATE {
default() -> Self18426     fn default() -> Self {
18427         unsafe { ::std::mem::zeroed() }
18428     }
18429 }
18430 impl ::std::fmt::Debug for KSVPMAXPIXELRATE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result18431     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18432         fmt.debug_struct("KSVPMAXPIXELRATE").field("Size", &self.Size).field("MaxPixelsPerSecond", &self.MaxPixelsPerSecond).field("Reserved", &self.Reserved).finish()
18433     }
18434 }
18435 impl ::std::cmp::PartialEq for KSVPMAXPIXELRATE {
eq(&self, other: &Self) -> bool18436     fn eq(&self, other: &Self) -> bool {
18437         self.Size == other.Size && self.MaxPixelsPerSecond == other.MaxPixelsPerSecond && self.Reserved == other.Reserved
18438     }
18439 }
18440 impl ::std::cmp::Eq for KSVPMAXPIXELRATE {}
18441 unsafe impl ::windows::runtime::Abi for KSVPMAXPIXELRATE {
18442     type Abi = Self;
18443     type DefaultType = Self;
18444 }
18445 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
18446 #[repr(C)]
18447 pub struct KSVPSIZE_PROP {
18448     pub Property: KSIDENTIFIER,
18449     pub Size: KS_AMVPSIZE,
18450 }
18451 impl KSVPSIZE_PROP {}
18452 impl ::std::default::Default for KSVPSIZE_PROP {
default() -> Self18453     fn default() -> Self {
18454         unsafe { ::std::mem::zeroed() }
18455     }
18456 }
18457 impl ::std::cmp::PartialEq for KSVPSIZE_PROP {
eq(&self, _other: &Self) -> bool18458     fn eq(&self, _other: &Self) -> bool {
18459         unimplemented!()
18460     }
18461 }
18462 impl ::std::cmp::Eq for KSVPSIZE_PROP {}
18463 unsafe impl ::windows::runtime::Abi for KSVPSIZE_PROP {
18464     type Abi = Self;
18465     type DefaultType = Self;
18466 }
18467 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
18468 #[repr(C)]
18469 pub struct KSVPSURFACEPARAMS {
18470     pub dwPitch: u32,
18471     pub dwXOrigin: u32,
18472     pub dwYOrigin: u32,
18473 }
18474 impl KSVPSURFACEPARAMS {}
18475 impl ::std::default::Default for KSVPSURFACEPARAMS {
default() -> Self18476     fn default() -> Self {
18477         unsafe { ::std::mem::zeroed() }
18478     }
18479 }
18480 impl ::std::fmt::Debug for KSVPSURFACEPARAMS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result18481     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18482         fmt.debug_struct("KSVPSURFACEPARAMS").field("dwPitch", &self.dwPitch).field("dwXOrigin", &self.dwXOrigin).field("dwYOrigin", &self.dwYOrigin).finish()
18483     }
18484 }
18485 impl ::std::cmp::PartialEq for KSVPSURFACEPARAMS {
eq(&self, other: &Self) -> bool18486     fn eq(&self, other: &Self) -> bool {
18487         self.dwPitch == other.dwPitch && self.dwXOrigin == other.dwXOrigin && self.dwYOrigin == other.dwYOrigin
18488     }
18489 }
18490 impl ::std::cmp::Eq for KSVPSURFACEPARAMS {}
18491 unsafe impl ::windows::runtime::Abi for KSVPSURFACEPARAMS {
18492     type Abi = Self;
18493     type DefaultType = Self;
18494 }
18495 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
18496 #[repr(C)]
18497 #[cfg(feature = "Win32_Foundation")]
18498 pub struct KSWAVETABLE_WAVE_DESC {
18499     pub Identifier: KSIDENTIFIER,
18500     pub Size: u32,
18501     pub Looped: super::super::super::Foundation::BOOL,
18502     pub LoopPoint: u32,
18503     pub InROM: super::super::super::Foundation::BOOL,
18504     pub Format: KSDATAFORMAT,
18505 }
18506 #[cfg(feature = "Win32_Foundation")]
18507 impl KSWAVETABLE_WAVE_DESC {}
18508 #[cfg(feature = "Win32_Foundation")]
18509 impl ::std::default::Default for KSWAVETABLE_WAVE_DESC {
default() -> Self18510     fn default() -> Self {
18511         unsafe { ::std::mem::zeroed() }
18512     }
18513 }
18514 #[cfg(feature = "Win32_Foundation")]
18515 impl ::std::cmp::PartialEq for KSWAVETABLE_WAVE_DESC {
eq(&self, _other: &Self) -> bool18516     fn eq(&self, _other: &Self) -> bool {
18517         unimplemented!()
18518     }
18519 }
18520 #[cfg(feature = "Win32_Foundation")]
18521 impl ::std::cmp::Eq for KSWAVETABLE_WAVE_DESC {}
18522 #[cfg(feature = "Win32_Foundation")]
18523 unsafe impl ::windows::runtime::Abi for KSWAVETABLE_WAVE_DESC {
18524     type Abi = Self;
18525     type DefaultType = Self;
18526 }
18527 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
18528 #[repr(C)]
18529 pub struct KSWAVE_BUFFER {
18530     pub Attributes: u32,
18531     pub BufferSize: u32,
18532     pub BufferAddress: *mut ::std::ffi::c_void,
18533 }
18534 impl KSWAVE_BUFFER {}
18535 impl ::std::default::Default for KSWAVE_BUFFER {
default() -> Self18536     fn default() -> Self {
18537         unsafe { ::std::mem::zeroed() }
18538     }
18539 }
18540 impl ::std::fmt::Debug for KSWAVE_BUFFER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result18541     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18542         fmt.debug_struct("KSWAVE_BUFFER").field("Attributes", &self.Attributes).field("BufferSize", &self.BufferSize).field("BufferAddress", &self.BufferAddress).finish()
18543     }
18544 }
18545 impl ::std::cmp::PartialEq for KSWAVE_BUFFER {
eq(&self, other: &Self) -> bool18546     fn eq(&self, other: &Self) -> bool {
18547         self.Attributes == other.Attributes && self.BufferSize == other.BufferSize && self.BufferAddress == other.BufferAddress
18548     }
18549 }
18550 impl ::std::cmp::Eq for KSWAVE_BUFFER {}
18551 unsafe impl ::windows::runtime::Abi for KSWAVE_BUFFER {
18552     type Abi = Self;
18553     type DefaultType = Self;
18554 }
18555 pub const KSWAVE_BUFFER_ATTRIBUTEF_LOOPING: u32 = 1u32;
18556 pub const KSWAVE_BUFFER_ATTRIBUTEF_STATIC: u32 = 2u32;
18557 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
18558 #[repr(C)]
18559 pub struct KSWAVE_COMPATCAPS {
18560     pub ulDeviceType: u32,
18561 }
18562 impl KSWAVE_COMPATCAPS {}
18563 impl ::std::default::Default for KSWAVE_COMPATCAPS {
default() -> Self18564     fn default() -> Self {
18565         unsafe { ::std::mem::zeroed() }
18566     }
18567 }
18568 impl ::std::fmt::Debug for KSWAVE_COMPATCAPS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result18569     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18570         fmt.debug_struct("KSWAVE_COMPATCAPS").field("ulDeviceType", &self.ulDeviceType).finish()
18571     }
18572 }
18573 impl ::std::cmp::PartialEq for KSWAVE_COMPATCAPS {
eq(&self, other: &Self) -> bool18574     fn eq(&self, other: &Self) -> bool {
18575         self.ulDeviceType == other.ulDeviceType
18576     }
18577 }
18578 impl ::std::cmp::Eq for KSWAVE_COMPATCAPS {}
18579 unsafe impl ::windows::runtime::Abi for KSWAVE_COMPATCAPS {
18580     type Abi = Self;
18581     type DefaultType = Self;
18582 }
18583 pub const KSWAVE_COMPATCAPS_INPUT: u32 = 0u32;
18584 pub const KSWAVE_COMPATCAPS_OUTPUT: u32 = 1u32;
18585 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
18586 #[repr(C)]
18587 pub struct KSWAVE_INPUT_CAPABILITIES {
18588     pub MaximumChannelsPerConnection: u32,
18589     pub MinimumBitsPerSample: u32,
18590     pub MaximumBitsPerSample: u32,
18591     pub MinimumSampleFrequency: u32,
18592     pub MaximumSampleFrequency: u32,
18593     pub TotalConnections: u32,
18594     pub ActiveConnections: u32,
18595 }
18596 impl KSWAVE_INPUT_CAPABILITIES {}
18597 impl ::std::default::Default for KSWAVE_INPUT_CAPABILITIES {
default() -> Self18598     fn default() -> Self {
18599         unsafe { ::std::mem::zeroed() }
18600     }
18601 }
18602 impl ::std::fmt::Debug for KSWAVE_INPUT_CAPABILITIES {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result18603     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18604         fmt.debug_struct("KSWAVE_INPUT_CAPABILITIES")
18605             .field("MaximumChannelsPerConnection", &self.MaximumChannelsPerConnection)
18606             .field("MinimumBitsPerSample", &self.MinimumBitsPerSample)
18607             .field("MaximumBitsPerSample", &self.MaximumBitsPerSample)
18608             .field("MinimumSampleFrequency", &self.MinimumSampleFrequency)
18609             .field("MaximumSampleFrequency", &self.MaximumSampleFrequency)
18610             .field("TotalConnections", &self.TotalConnections)
18611             .field("ActiveConnections", &self.ActiveConnections)
18612             .finish()
18613     }
18614 }
18615 impl ::std::cmp::PartialEq for KSWAVE_INPUT_CAPABILITIES {
eq(&self, other: &Self) -> bool18616     fn eq(&self, other: &Self) -> bool {
18617         self.MaximumChannelsPerConnection == other.MaximumChannelsPerConnection && self.MinimumBitsPerSample == other.MinimumBitsPerSample && self.MaximumBitsPerSample == other.MaximumBitsPerSample && self.MinimumSampleFrequency == other.MinimumSampleFrequency && self.MaximumSampleFrequency == other.MaximumSampleFrequency && self.TotalConnections == other.TotalConnections && self.ActiveConnections == other.ActiveConnections
18618     }
18619 }
18620 impl ::std::cmp::Eq for KSWAVE_INPUT_CAPABILITIES {}
18621 unsafe impl ::windows::runtime::Abi for KSWAVE_INPUT_CAPABILITIES {
18622     type Abi = Self;
18623     type DefaultType = Self;
18624 }
18625 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
18626 #[repr(C)]
18627 pub struct KSWAVE_OUTPUT_CAPABILITIES {
18628     pub MaximumChannelsPerConnection: u32,
18629     pub MinimumBitsPerSample: u32,
18630     pub MaximumBitsPerSample: u32,
18631     pub MinimumSampleFrequency: u32,
18632     pub MaximumSampleFrequency: u32,
18633     pub TotalConnections: u32,
18634     pub StaticConnections: u32,
18635     pub StreamingConnections: u32,
18636     pub ActiveConnections: u32,
18637     pub ActiveStaticConnections: u32,
18638     pub ActiveStreamingConnections: u32,
18639     pub Total3DConnections: u32,
18640     pub Static3DConnections: u32,
18641     pub Streaming3DConnections: u32,
18642     pub Active3DConnections: u32,
18643     pub ActiveStatic3DConnections: u32,
18644     pub ActiveStreaming3DConnections: u32,
18645     pub TotalSampleMemory: u32,
18646     pub FreeSampleMemory: u32,
18647     pub LargestFreeContiguousSampleMemory: u32,
18648 }
18649 impl KSWAVE_OUTPUT_CAPABILITIES {}
18650 impl ::std::default::Default for KSWAVE_OUTPUT_CAPABILITIES {
default() -> Self18651     fn default() -> Self {
18652         unsafe { ::std::mem::zeroed() }
18653     }
18654 }
18655 impl ::std::fmt::Debug for KSWAVE_OUTPUT_CAPABILITIES {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result18656     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18657         fmt.debug_struct("KSWAVE_OUTPUT_CAPABILITIES")
18658             .field("MaximumChannelsPerConnection", &self.MaximumChannelsPerConnection)
18659             .field("MinimumBitsPerSample", &self.MinimumBitsPerSample)
18660             .field("MaximumBitsPerSample", &self.MaximumBitsPerSample)
18661             .field("MinimumSampleFrequency", &self.MinimumSampleFrequency)
18662             .field("MaximumSampleFrequency", &self.MaximumSampleFrequency)
18663             .field("TotalConnections", &self.TotalConnections)
18664             .field("StaticConnections", &self.StaticConnections)
18665             .field("StreamingConnections", &self.StreamingConnections)
18666             .field("ActiveConnections", &self.ActiveConnections)
18667             .field("ActiveStaticConnections", &self.ActiveStaticConnections)
18668             .field("ActiveStreamingConnections", &self.ActiveStreamingConnections)
18669             .field("Total3DConnections", &self.Total3DConnections)
18670             .field("Static3DConnections", &self.Static3DConnections)
18671             .field("Streaming3DConnections", &self.Streaming3DConnections)
18672             .field("Active3DConnections", &self.Active3DConnections)
18673             .field("ActiveStatic3DConnections", &self.ActiveStatic3DConnections)
18674             .field("ActiveStreaming3DConnections", &self.ActiveStreaming3DConnections)
18675             .field("TotalSampleMemory", &self.TotalSampleMemory)
18676             .field("FreeSampleMemory", &self.FreeSampleMemory)
18677             .field("LargestFreeContiguousSampleMemory", &self.LargestFreeContiguousSampleMemory)
18678             .finish()
18679     }
18680 }
18681 impl ::std::cmp::PartialEq for KSWAVE_OUTPUT_CAPABILITIES {
eq(&self, other: &Self) -> bool18682     fn eq(&self, other: &Self) -> bool {
18683         self.MaximumChannelsPerConnection == other.MaximumChannelsPerConnection
18684             && self.MinimumBitsPerSample == other.MinimumBitsPerSample
18685             && self.MaximumBitsPerSample == other.MaximumBitsPerSample
18686             && self.MinimumSampleFrequency == other.MinimumSampleFrequency
18687             && self.MaximumSampleFrequency == other.MaximumSampleFrequency
18688             && self.TotalConnections == other.TotalConnections
18689             && self.StaticConnections == other.StaticConnections
18690             && self.StreamingConnections == other.StreamingConnections
18691             && self.ActiveConnections == other.ActiveConnections
18692             && self.ActiveStaticConnections == other.ActiveStaticConnections
18693             && self.ActiveStreamingConnections == other.ActiveStreamingConnections
18694             && self.Total3DConnections == other.Total3DConnections
18695             && self.Static3DConnections == other.Static3DConnections
18696             && self.Streaming3DConnections == other.Streaming3DConnections
18697             && self.Active3DConnections == other.Active3DConnections
18698             && self.ActiveStatic3DConnections == other.ActiveStatic3DConnections
18699             && self.ActiveStreaming3DConnections == other.ActiveStreaming3DConnections
18700             && self.TotalSampleMemory == other.TotalSampleMemory
18701             && self.FreeSampleMemory == other.FreeSampleMemory
18702             && self.LargestFreeContiguousSampleMemory == other.LargestFreeContiguousSampleMemory
18703     }
18704 }
18705 impl ::std::cmp::Eq for KSWAVE_OUTPUT_CAPABILITIES {}
18706 unsafe impl ::windows::runtime::Abi for KSWAVE_OUTPUT_CAPABILITIES {
18707     type Abi = Self;
18708     type DefaultType = Self;
18709 }
18710 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
18711 #[repr(C)]
18712 pub struct KSWAVE_VOLUME {
18713     pub LeftAttenuation: i32,
18714     pub RightAttenuation: i32,
18715 }
18716 impl KSWAVE_VOLUME {}
18717 impl ::std::default::Default for KSWAVE_VOLUME {
default() -> Self18718     fn default() -> Self {
18719         unsafe { ::std::mem::zeroed() }
18720     }
18721 }
18722 impl ::std::fmt::Debug for KSWAVE_VOLUME {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result18723     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18724         fmt.debug_struct("KSWAVE_VOLUME").field("LeftAttenuation", &self.LeftAttenuation).field("RightAttenuation", &self.RightAttenuation).finish()
18725     }
18726 }
18727 impl ::std::cmp::PartialEq for KSWAVE_VOLUME {
eq(&self, other: &Self) -> bool18728     fn eq(&self, other: &Self) -> bool {
18729         self.LeftAttenuation == other.LeftAttenuation && self.RightAttenuation == other.RightAttenuation
18730     }
18731 }
18732 impl ::std::cmp::Eq for KSWAVE_VOLUME {}
18733 unsafe impl ::windows::runtime::Abi for KSWAVE_VOLUME {
18734     type Abi = Self;
18735     type DefaultType = Self;
18736 }
18737 pub const KS_AMCONTROL_COLORINFO_PRESENT: u32 = 128u32;
18738 pub const KS_AMCONTROL_PAD_TO_16x9: u32 = 4u32;
18739 pub const KS_AMCONTROL_PAD_TO_4x3: u32 = 2u32;
18740 pub const KS_AMCONTROL_USED: u32 = 1u32;
18741 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
18742 #[repr(transparent)]
18743 pub struct KS_AMPixAspectRatio(pub i32);
18744 pub const KS_PixAspectRatio_NTSC4x3: KS_AMPixAspectRatio = KS_AMPixAspectRatio(0i32);
18745 pub const KS_PixAspectRatio_NTSC16x9: KS_AMPixAspectRatio = KS_AMPixAspectRatio(1i32);
18746 pub const KS_PixAspectRatio_PAL4x3: KS_AMPixAspectRatio = KS_AMPixAspectRatio(2i32);
18747 pub const KS_PixAspectRatio_PAL16x9: KS_AMPixAspectRatio = KS_AMPixAspectRatio(3i32);
18748 impl ::std::convert::From<i32> for KS_AMPixAspectRatio {
from(value: i32) -> Self18749     fn from(value: i32) -> Self {
18750         Self(value)
18751     }
18752 }
18753 unsafe impl ::windows::runtime::Abi for KS_AMPixAspectRatio {
18754     type Abi = Self;
18755     type DefaultType = Self;
18756 }
18757 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
18758 #[repr(C)]
18759 #[cfg(feature = "Win32_Foundation")]
18760 pub struct KS_AMVPDATAINFO {
18761     pub dwSize: u32,
18762     pub dwMicrosecondsPerField: u32,
18763     pub amvpDimInfo: KS_AMVPDIMINFO,
18764     pub dwPictAspectRatioX: u32,
18765     pub dwPictAspectRatioY: u32,
18766     pub bEnableDoubleClock: super::super::super::Foundation::BOOL,
18767     pub bEnableVACT: super::super::super::Foundation::BOOL,
18768     pub bDataIsInterlaced: super::super::super::Foundation::BOOL,
18769     pub lHalfLinesOdd: i32,
18770     pub bFieldPolarityInverted: super::super::super::Foundation::BOOL,
18771     pub dwNumLinesInVREF: u32,
18772     pub lHalfLinesEven: i32,
18773     pub dwReserved1: u32,
18774 }
18775 #[cfg(feature = "Win32_Foundation")]
18776 impl KS_AMVPDATAINFO {}
18777 #[cfg(feature = "Win32_Foundation")]
18778 impl ::std::default::Default for KS_AMVPDATAINFO {
default() -> Self18779     fn default() -> Self {
18780         unsafe { ::std::mem::zeroed() }
18781     }
18782 }
18783 #[cfg(feature = "Win32_Foundation")]
18784 impl ::std::fmt::Debug for KS_AMVPDATAINFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result18785     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18786         fmt.debug_struct("KS_AMVPDATAINFO")
18787             .field("dwSize", &self.dwSize)
18788             .field("dwMicrosecondsPerField", &self.dwMicrosecondsPerField)
18789             .field("amvpDimInfo", &self.amvpDimInfo)
18790             .field("dwPictAspectRatioX", &self.dwPictAspectRatioX)
18791             .field("dwPictAspectRatioY", &self.dwPictAspectRatioY)
18792             .field("bEnableDoubleClock", &self.bEnableDoubleClock)
18793             .field("bEnableVACT", &self.bEnableVACT)
18794             .field("bDataIsInterlaced", &self.bDataIsInterlaced)
18795             .field("lHalfLinesOdd", &self.lHalfLinesOdd)
18796             .field("bFieldPolarityInverted", &self.bFieldPolarityInverted)
18797             .field("dwNumLinesInVREF", &self.dwNumLinesInVREF)
18798             .field("lHalfLinesEven", &self.lHalfLinesEven)
18799             .field("dwReserved1", &self.dwReserved1)
18800             .finish()
18801     }
18802 }
18803 #[cfg(feature = "Win32_Foundation")]
18804 impl ::std::cmp::PartialEq for KS_AMVPDATAINFO {
eq(&self, other: &Self) -> bool18805     fn eq(&self, other: &Self) -> bool {
18806         self.dwSize == other.dwSize
18807             && self.dwMicrosecondsPerField == other.dwMicrosecondsPerField
18808             && self.amvpDimInfo == other.amvpDimInfo
18809             && self.dwPictAspectRatioX == other.dwPictAspectRatioX
18810             && self.dwPictAspectRatioY == other.dwPictAspectRatioY
18811             && self.bEnableDoubleClock == other.bEnableDoubleClock
18812             && self.bEnableVACT == other.bEnableVACT
18813             && self.bDataIsInterlaced == other.bDataIsInterlaced
18814             && self.lHalfLinesOdd == other.lHalfLinesOdd
18815             && self.bFieldPolarityInverted == other.bFieldPolarityInverted
18816             && self.dwNumLinesInVREF == other.dwNumLinesInVREF
18817             && self.lHalfLinesEven == other.lHalfLinesEven
18818             && self.dwReserved1 == other.dwReserved1
18819     }
18820 }
18821 #[cfg(feature = "Win32_Foundation")]
18822 impl ::std::cmp::Eq for KS_AMVPDATAINFO {}
18823 #[cfg(feature = "Win32_Foundation")]
18824 unsafe impl ::windows::runtime::Abi for KS_AMVPDATAINFO {
18825     type Abi = Self;
18826     type DefaultType = Self;
18827 }
18828 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
18829 #[repr(C)]
18830 #[cfg(feature = "Win32_Foundation")]
18831 pub struct KS_AMVPDIMINFO {
18832     pub dwFieldWidth: u32,
18833     pub dwFieldHeight: u32,
18834     pub dwVBIWidth: u32,
18835     pub dwVBIHeight: u32,
18836     pub rcValidRegion: super::super::super::Foundation::RECT,
18837 }
18838 #[cfg(feature = "Win32_Foundation")]
18839 impl KS_AMVPDIMINFO {}
18840 #[cfg(feature = "Win32_Foundation")]
18841 impl ::std::default::Default for KS_AMVPDIMINFO {
default() -> Self18842     fn default() -> Self {
18843         unsafe { ::std::mem::zeroed() }
18844     }
18845 }
18846 #[cfg(feature = "Win32_Foundation")]
18847 impl ::std::fmt::Debug for KS_AMVPDIMINFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result18848     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18849         fmt.debug_struct("KS_AMVPDIMINFO").field("dwFieldWidth", &self.dwFieldWidth).field("dwFieldHeight", &self.dwFieldHeight).field("dwVBIWidth", &self.dwVBIWidth).field("dwVBIHeight", &self.dwVBIHeight).field("rcValidRegion", &self.rcValidRegion).finish()
18850     }
18851 }
18852 #[cfg(feature = "Win32_Foundation")]
18853 impl ::std::cmp::PartialEq for KS_AMVPDIMINFO {
eq(&self, other: &Self) -> bool18854     fn eq(&self, other: &Self) -> bool {
18855         self.dwFieldWidth == other.dwFieldWidth && self.dwFieldHeight == other.dwFieldHeight && self.dwVBIWidth == other.dwVBIWidth && self.dwVBIHeight == other.dwVBIHeight && self.rcValidRegion == other.rcValidRegion
18856     }
18857 }
18858 #[cfg(feature = "Win32_Foundation")]
18859 impl ::std::cmp::Eq for KS_AMVPDIMINFO {}
18860 #[cfg(feature = "Win32_Foundation")]
18861 unsafe impl ::windows::runtime::Abi for KS_AMVPDIMINFO {
18862     type Abi = Self;
18863     type DefaultType = Self;
18864 }
18865 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
18866 #[repr(C)]
18867 pub struct KS_AMVPSIZE {
18868     pub dwWidth: u32,
18869     pub dwHeight: u32,
18870 }
18871 impl KS_AMVPSIZE {}
18872 impl ::std::default::Default for KS_AMVPSIZE {
default() -> Self18873     fn default() -> Self {
18874         unsafe { ::std::mem::zeroed() }
18875     }
18876 }
18877 impl ::std::fmt::Debug for KS_AMVPSIZE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result18878     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18879         fmt.debug_struct("KS_AMVPSIZE").field("dwWidth", &self.dwWidth).field("dwHeight", &self.dwHeight).finish()
18880     }
18881 }
18882 impl ::std::cmp::PartialEq for KS_AMVPSIZE {
eq(&self, other: &Self) -> bool18883     fn eq(&self, other: &Self) -> bool {
18884         self.dwWidth == other.dwWidth && self.dwHeight == other.dwHeight
18885     }
18886 }
18887 impl ::std::cmp::Eq for KS_AMVPSIZE {}
18888 unsafe impl ::windows::runtime::Abi for KS_AMVPSIZE {
18889     type Abi = Self;
18890     type DefaultType = Self;
18891 }
18892 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
18893 #[repr(transparent)]
18894 pub struct KS_AMVP_MODE(pub i32);
18895 pub const KS_AMVP_MODE_WEAVE: KS_AMVP_MODE = KS_AMVP_MODE(0i32);
18896 pub const KS_AMVP_MODE_BOBINTERLEAVED: KS_AMVP_MODE = KS_AMVP_MODE(1i32);
18897 pub const KS_AMVP_MODE_BOBNONINTERLEAVED: KS_AMVP_MODE = KS_AMVP_MODE(2i32);
18898 pub const KS_AMVP_MODE_SKIPEVEN: KS_AMVP_MODE = KS_AMVP_MODE(3i32);
18899 pub const KS_AMVP_MODE_SKIPODD: KS_AMVP_MODE = KS_AMVP_MODE(4i32);
18900 impl ::std::convert::From<i32> for KS_AMVP_MODE {
from(value: i32) -> Self18901     fn from(value: i32) -> Self {
18902         Self(value)
18903     }
18904 }
18905 unsafe impl ::windows::runtime::Abi for KS_AMVP_MODE {
18906     type Abi = Self;
18907     type DefaultType = Self;
18908 }
18909 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
18910 #[repr(transparent)]
18911 pub struct KS_AMVP_SELECTFORMATBY(pub i32);
18912 pub const KS_AMVP_DO_NOT_CARE: KS_AMVP_SELECTFORMATBY = KS_AMVP_SELECTFORMATBY(0i32);
18913 pub const KS_AMVP_BEST_BANDWIDTH: KS_AMVP_SELECTFORMATBY = KS_AMVP_SELECTFORMATBY(1i32);
18914 pub const KS_AMVP_INPUT_SAME_AS_OUTPUT: KS_AMVP_SELECTFORMATBY = KS_AMVP_SELECTFORMATBY(2i32);
18915 impl ::std::convert::From<i32> for KS_AMVP_SELECTFORMATBY {
from(value: i32) -> Self18916     fn from(value: i32) -> Self {
18917         Self(value)
18918     }
18919 }
18920 unsafe impl ::windows::runtime::Abi for KS_AMVP_SELECTFORMATBY {
18921     type Abi = Self;
18922     type DefaultType = Self;
18923 }
18924 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
18925 #[repr(C)]
18926 pub struct KS_AM_ExactRateChange {
18927     pub OutputZeroTime: i64,
18928     pub Rate: i32,
18929 }
18930 impl KS_AM_ExactRateChange {}
18931 impl ::std::default::Default for KS_AM_ExactRateChange {
default() -> Self18932     fn default() -> Self {
18933         unsafe { ::std::mem::zeroed() }
18934     }
18935 }
18936 impl ::std::fmt::Debug for KS_AM_ExactRateChange {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result18937     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18938         fmt.debug_struct("KS_AM_ExactRateChange").field("OutputZeroTime", &self.OutputZeroTime).field("Rate", &self.Rate).finish()
18939     }
18940 }
18941 impl ::std::cmp::PartialEq for KS_AM_ExactRateChange {
eq(&self, other: &Self) -> bool18942     fn eq(&self, other: &Self) -> bool {
18943         self.OutputZeroTime == other.OutputZeroTime && self.Rate == other.Rate
18944     }
18945 }
18946 impl ::std::cmp::Eq for KS_AM_ExactRateChange {}
18947 unsafe impl ::windows::runtime::Abi for KS_AM_ExactRateChange {
18948     type Abi = Self;
18949     type DefaultType = Self;
18950 }
18951 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
18952 #[repr(transparent)]
18953 pub struct KS_AM_PROPERTY_TS_RATE_CHANGE(pub i32);
18954 pub const KS_AM_RATE_SimpleRateChange: KS_AM_PROPERTY_TS_RATE_CHANGE = KS_AM_PROPERTY_TS_RATE_CHANGE(1i32);
18955 pub const KS_AM_RATE_ExactRateChange: KS_AM_PROPERTY_TS_RATE_CHANGE = KS_AM_PROPERTY_TS_RATE_CHANGE(2i32);
18956 pub const KS_AM_RATE_MaxFullDataRate: KS_AM_PROPERTY_TS_RATE_CHANGE = KS_AM_PROPERTY_TS_RATE_CHANGE(3i32);
18957 pub const KS_AM_RATE_Step: KS_AM_PROPERTY_TS_RATE_CHANGE = KS_AM_PROPERTY_TS_RATE_CHANGE(4i32);
18958 impl ::std::convert::From<i32> for KS_AM_PROPERTY_TS_RATE_CHANGE {
from(value: i32) -> Self18959     fn from(value: i32) -> Self {
18960         Self(value)
18961     }
18962 }
18963 unsafe impl ::windows::runtime::Abi for KS_AM_PROPERTY_TS_RATE_CHANGE {
18964     type Abi = Self;
18965     type DefaultType = Self;
18966 }
18967 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
18968 #[repr(C)]
18969 pub struct KS_AM_SimpleRateChange {
18970     pub StartTime: i64,
18971     pub Rate: i32,
18972 }
18973 impl KS_AM_SimpleRateChange {}
18974 impl ::std::default::Default for KS_AM_SimpleRateChange {
default() -> Self18975     fn default() -> Self {
18976         unsafe { ::std::mem::zeroed() }
18977     }
18978 }
18979 impl ::std::fmt::Debug for KS_AM_SimpleRateChange {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result18980     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
18981         fmt.debug_struct("KS_AM_SimpleRateChange").field("StartTime", &self.StartTime).field("Rate", &self.Rate).finish()
18982     }
18983 }
18984 impl ::std::cmp::PartialEq for KS_AM_SimpleRateChange {
eq(&self, other: &Self) -> bool18985     fn eq(&self, other: &Self) -> bool {
18986         self.StartTime == other.StartTime && self.Rate == other.Rate
18987     }
18988 }
18989 impl ::std::cmp::Eq for KS_AM_SimpleRateChange {}
18990 unsafe impl ::windows::runtime::Abi for KS_AM_SimpleRateChange {
18991     type Abi = Self;
18992     type DefaultType = Self;
18993 }
18994 pub const KS_AM_UseNewCSSKey: i32 = 1i32;
18995 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
18996 #[repr(C)]
18997 #[cfg(feature = "Win32_Foundation")]
18998 pub struct KS_AnalogVideoInfo {
18999     pub rcSource: super::super::super::Foundation::RECT,
19000     pub rcTarget: super::super::super::Foundation::RECT,
19001     pub dwActiveWidth: u32,
19002     pub dwActiveHeight: u32,
19003     pub AvgTimePerFrame: i64,
19004 }
19005 #[cfg(feature = "Win32_Foundation")]
19006 impl KS_AnalogVideoInfo {}
19007 #[cfg(feature = "Win32_Foundation")]
19008 impl ::std::default::Default for KS_AnalogVideoInfo {
default() -> Self19009     fn default() -> Self {
19010         unsafe { ::std::mem::zeroed() }
19011     }
19012 }
19013 #[cfg(feature = "Win32_Foundation")]
19014 impl ::std::fmt::Debug for KS_AnalogVideoInfo {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result19015     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19016         fmt.debug_struct("KS_AnalogVideoInfo").field("rcSource", &self.rcSource).field("rcTarget", &self.rcTarget).field("dwActiveWidth", &self.dwActiveWidth).field("dwActiveHeight", &self.dwActiveHeight).field("AvgTimePerFrame", &self.AvgTimePerFrame).finish()
19017     }
19018 }
19019 #[cfg(feature = "Win32_Foundation")]
19020 impl ::std::cmp::PartialEq for KS_AnalogVideoInfo {
eq(&self, other: &Self) -> bool19021     fn eq(&self, other: &Self) -> bool {
19022         self.rcSource == other.rcSource && self.rcTarget == other.rcTarget && self.dwActiveWidth == other.dwActiveWidth && self.dwActiveHeight == other.dwActiveHeight && self.AvgTimePerFrame == other.AvgTimePerFrame
19023     }
19024 }
19025 #[cfg(feature = "Win32_Foundation")]
19026 impl ::std::cmp::Eq for KS_AnalogVideoInfo {}
19027 #[cfg(feature = "Win32_Foundation")]
19028 unsafe impl ::windows::runtime::Abi for KS_AnalogVideoInfo {
19029     type Abi = Self;
19030     type DefaultType = Self;
19031 }
19032 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
19033 #[repr(transparent)]
19034 pub struct KS_AnalogVideoStandard(pub i32);
19035 pub const KS_AnalogVideo_None: KS_AnalogVideoStandard = KS_AnalogVideoStandard(0i32);
19036 pub const KS_AnalogVideo_NTSC_M: KS_AnalogVideoStandard = KS_AnalogVideoStandard(1i32);
19037 pub const KS_AnalogVideo_NTSC_M_J: KS_AnalogVideoStandard = KS_AnalogVideoStandard(2i32);
19038 pub const KS_AnalogVideo_NTSC_433: KS_AnalogVideoStandard = KS_AnalogVideoStandard(4i32);
19039 pub const KS_AnalogVideo_PAL_B: KS_AnalogVideoStandard = KS_AnalogVideoStandard(16i32);
19040 pub const KS_AnalogVideo_PAL_D: KS_AnalogVideoStandard = KS_AnalogVideoStandard(32i32);
19041 pub const KS_AnalogVideo_PAL_G: KS_AnalogVideoStandard = KS_AnalogVideoStandard(64i32);
19042 pub const KS_AnalogVideo_PAL_H: KS_AnalogVideoStandard = KS_AnalogVideoStandard(128i32);
19043 pub const KS_AnalogVideo_PAL_I: KS_AnalogVideoStandard = KS_AnalogVideoStandard(256i32);
19044 pub const KS_AnalogVideo_PAL_M: KS_AnalogVideoStandard = KS_AnalogVideoStandard(512i32);
19045 pub const KS_AnalogVideo_PAL_N: KS_AnalogVideoStandard = KS_AnalogVideoStandard(1024i32);
19046 pub const KS_AnalogVideo_PAL_60: KS_AnalogVideoStandard = KS_AnalogVideoStandard(2048i32);
19047 pub const KS_AnalogVideo_SECAM_B: KS_AnalogVideoStandard = KS_AnalogVideoStandard(4096i32);
19048 pub const KS_AnalogVideo_SECAM_D: KS_AnalogVideoStandard = KS_AnalogVideoStandard(8192i32);
19049 pub const KS_AnalogVideo_SECAM_G: KS_AnalogVideoStandard = KS_AnalogVideoStandard(16384i32);
19050 pub const KS_AnalogVideo_SECAM_H: KS_AnalogVideoStandard = KS_AnalogVideoStandard(32768i32);
19051 pub const KS_AnalogVideo_SECAM_K: KS_AnalogVideoStandard = KS_AnalogVideoStandard(65536i32);
19052 pub const KS_AnalogVideo_SECAM_K1: KS_AnalogVideoStandard = KS_AnalogVideoStandard(131072i32);
19053 pub const KS_AnalogVideo_SECAM_L: KS_AnalogVideoStandard = KS_AnalogVideoStandard(262144i32);
19054 pub const KS_AnalogVideo_SECAM_L1: KS_AnalogVideoStandard = KS_AnalogVideoStandard(524288i32);
19055 pub const KS_AnalogVideo_PAL_N_COMBO: KS_AnalogVideoStandard = KS_AnalogVideoStandard(1048576i32);
19056 impl ::std::convert::From<i32> for KS_AnalogVideoStandard {
from(value: i32) -> Self19057     fn from(value: i32) -> Self {
19058         Self(value)
19059     }
19060 }
19061 unsafe impl ::windows::runtime::Abi for KS_AnalogVideoStandard {
19062     type Abi = Self;
19063     type DefaultType = Self;
19064 }
19065 pub const KS_AnalogVideo_NTSC_Mask: u32 = 7u32;
19066 pub const KS_AnalogVideo_PAL_Mask: u32 = 1052656u32;
19067 pub const KS_AnalogVideo_SECAM_Mask: u32 = 1044480u32;
19068 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19069 #[repr(C)]
19070 pub struct KS_BITMAPINFOHEADER {
19071     pub biSize: u32,
19072     pub biWidth: i32,
19073     pub biHeight: i32,
19074     pub biPlanes: u16,
19075     pub biBitCount: u16,
19076     pub biCompression: u32,
19077     pub biSizeImage: u32,
19078     pub biXPelsPerMeter: i32,
19079     pub biYPelsPerMeter: i32,
19080     pub biClrUsed: u32,
19081     pub biClrImportant: u32,
19082 }
19083 impl KS_BITMAPINFOHEADER {}
19084 impl ::std::default::Default for KS_BITMAPINFOHEADER {
default() -> Self19085     fn default() -> Self {
19086         unsafe { ::std::mem::zeroed() }
19087     }
19088 }
19089 impl ::std::fmt::Debug for KS_BITMAPINFOHEADER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result19090     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19091         fmt.debug_struct("KS_BITMAPINFOHEADER")
19092             .field("biSize", &self.biSize)
19093             .field("biWidth", &self.biWidth)
19094             .field("biHeight", &self.biHeight)
19095             .field("biPlanes", &self.biPlanes)
19096             .field("biBitCount", &self.biBitCount)
19097             .field("biCompression", &self.biCompression)
19098             .field("biSizeImage", &self.biSizeImage)
19099             .field("biXPelsPerMeter", &self.biXPelsPerMeter)
19100             .field("biYPelsPerMeter", &self.biYPelsPerMeter)
19101             .field("biClrUsed", &self.biClrUsed)
19102             .field("biClrImportant", &self.biClrImportant)
19103             .finish()
19104     }
19105 }
19106 impl ::std::cmp::PartialEq for KS_BITMAPINFOHEADER {
eq(&self, other: &Self) -> bool19107     fn eq(&self, other: &Self) -> bool {
19108         self.biSize == other.biSize && self.biWidth == other.biWidth && self.biHeight == other.biHeight && self.biPlanes == other.biPlanes && self.biBitCount == other.biBitCount && self.biCompression == other.biCompression && self.biSizeImage == other.biSizeImage && self.biXPelsPerMeter == other.biXPelsPerMeter && self.biYPelsPerMeter == other.biYPelsPerMeter && self.biClrUsed == other.biClrUsed && self.biClrImportant == other.biClrImportant
19109     }
19110 }
19111 impl ::std::cmp::Eq for KS_BITMAPINFOHEADER {}
19112 unsafe impl ::windows::runtime::Abi for KS_BITMAPINFOHEADER {
19113     type Abi = Self;
19114     type DefaultType = Self;
19115 }
19116 pub const KS_BI_BITFIELDS: i32 = 3i32;
19117 pub const KS_BI_JPEG: i32 = 4i32;
19118 pub const KS_BI_RGB: i32 = 0i32;
19119 pub const KS_BI_RLE4: i32 = 2i32;
19120 pub const KS_BI_RLE8: i32 = 1i32;
19121 pub const KS_CC_SUBSTREAM_EVEN: i32 = 2i32;
19122 pub const KS_CC_SUBSTREAM_FIELD1_MASK: i32 = 240i32;
19123 pub const KS_CC_SUBSTREAM_FIELD2_MASK: i32 = 7936i32;
19124 pub const KS_CC_SUBSTREAM_ODD: i32 = 1i32;
19125 pub const KS_CC_SUBSTREAM_SERVICE_CC1: i32 = 16i32;
19126 pub const KS_CC_SUBSTREAM_SERVICE_CC2: i32 = 32i32;
19127 pub const KS_CC_SUBSTREAM_SERVICE_CC3: i32 = 256i32;
19128 pub const KS_CC_SUBSTREAM_SERVICE_CC4: i32 = 512i32;
19129 pub const KS_CC_SUBSTREAM_SERVICE_T1: i32 = 64i32;
19130 pub const KS_CC_SUBSTREAM_SERVICE_T2: i32 = 128i32;
19131 pub const KS_CC_SUBSTREAM_SERVICE_T3: i32 = 1024i32;
19132 pub const KS_CC_SUBSTREAM_SERVICE_T4: i32 = 2048i32;
19133 pub const KS_CC_SUBSTREAM_SERVICE_XDS: i32 = 4096i32;
19134 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19135 #[repr(C)]
19136 pub struct KS_COLCON {
19137     pub _bitfield1: u8,
19138     pub _bitfield2: u8,
19139     pub _bitfield3: u8,
19140     pub _bitfield4: u8,
19141 }
19142 impl KS_COLCON {}
19143 impl ::std::default::Default for KS_COLCON {
default() -> Self19144     fn default() -> Self {
19145         unsafe { ::std::mem::zeroed() }
19146     }
19147 }
19148 impl ::std::fmt::Debug for KS_COLCON {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result19149     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19150         fmt.debug_struct("KS_COLCON").field("_bitfield1", &self._bitfield1).field("_bitfield2", &self._bitfield2).field("_bitfield3", &self._bitfield3).field("_bitfield4", &self._bitfield4).finish()
19151     }
19152 }
19153 impl ::std::cmp::PartialEq for KS_COLCON {
eq(&self, other: &Self) -> bool19154     fn eq(&self, other: &Self) -> bool {
19155         self._bitfield1 == other._bitfield1 && self._bitfield2 == other._bitfield2 && self._bitfield3 == other._bitfield3 && self._bitfield4 == other._bitfield4
19156     }
19157 }
19158 impl ::std::cmp::Eq for KS_COLCON {}
19159 unsafe impl ::windows::runtime::Abi for KS_COLCON {
19160     type Abi = Self;
19161     type DefaultType = Self;
19162 }
19163 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19164 #[repr(C)]
19165 pub struct KS_COMPRESSION {
19166     pub RatioNumerator: u32,
19167     pub RatioDenominator: u32,
19168     pub RatioConstantMargin: u32,
19169 }
19170 impl KS_COMPRESSION {}
19171 impl ::std::default::Default for KS_COMPRESSION {
default() -> Self19172     fn default() -> Self {
19173         unsafe { ::std::mem::zeroed() }
19174     }
19175 }
19176 impl ::std::fmt::Debug for KS_COMPRESSION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result19177     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19178         fmt.debug_struct("KS_COMPRESSION").field("RatioNumerator", &self.RatioNumerator).field("RatioDenominator", &self.RatioDenominator).field("RatioConstantMargin", &self.RatioConstantMargin).finish()
19179     }
19180 }
19181 impl ::std::cmp::PartialEq for KS_COMPRESSION {
eq(&self, other: &Self) -> bool19182     fn eq(&self, other: &Self) -> bool {
19183         self.RatioNumerator == other.RatioNumerator && self.RatioDenominator == other.RatioDenominator && self.RatioConstantMargin == other.RatioConstantMargin
19184     }
19185 }
19186 impl ::std::cmp::Eq for KS_COMPRESSION {}
19187 unsafe impl ::windows::runtime::Abi for KS_COMPRESSION {
19188     type Abi = Self;
19189     type DefaultType = Self;
19190 }
19191 pub const KS_COPYPROTECT_RestrictDuplication: u32 = 1u32;
19192 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19193 #[repr(C)]
19194 pub struct KS_COPY_MACROVISION {
19195     pub MACROVISIONLevel: u32,
19196 }
19197 impl KS_COPY_MACROVISION {}
19198 impl ::std::default::Default for KS_COPY_MACROVISION {
default() -> Self19199     fn default() -> Self {
19200         unsafe { ::std::mem::zeroed() }
19201     }
19202 }
19203 impl ::std::fmt::Debug for KS_COPY_MACROVISION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result19204     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19205         fmt.debug_struct("KS_COPY_MACROVISION").field("MACROVISIONLevel", &self.MACROVISIONLevel).finish()
19206     }
19207 }
19208 impl ::std::cmp::PartialEq for KS_COPY_MACROVISION {
eq(&self, other: &Self) -> bool19209     fn eq(&self, other: &Self) -> bool {
19210         self.MACROVISIONLevel == other.MACROVISIONLevel
19211     }
19212 }
19213 impl ::std::cmp::Eq for KS_COPY_MACROVISION {}
19214 unsafe impl ::windows::runtime::Abi for KS_COPY_MACROVISION {
19215     type Abi = Self;
19216     type DefaultType = Self;
19217 }
19218 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
19219 #[repr(transparent)]
19220 pub struct KS_COPY_MACROVISION_LEVEL(pub i32);
19221 pub const KS_MACROVISION_DISABLED: KS_COPY_MACROVISION_LEVEL = KS_COPY_MACROVISION_LEVEL(0i32);
19222 pub const KS_MACROVISION_LEVEL1: KS_COPY_MACROVISION_LEVEL = KS_COPY_MACROVISION_LEVEL(1i32);
19223 pub const KS_MACROVISION_LEVEL2: KS_COPY_MACROVISION_LEVEL = KS_COPY_MACROVISION_LEVEL(2i32);
19224 pub const KS_MACROVISION_LEVEL3: KS_COPY_MACROVISION_LEVEL = KS_COPY_MACROVISION_LEVEL(3i32);
19225 impl ::std::convert::From<i32> for KS_COPY_MACROVISION_LEVEL {
from(value: i32) -> Self19226     fn from(value: i32) -> Self {
19227         Self(value)
19228     }
19229 }
19230 unsafe impl ::windows::runtime::Abi for KS_COPY_MACROVISION_LEVEL {
19231     type Abi = Self;
19232     type DefaultType = Self;
19233 }
19234 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
19235 #[repr(transparent)]
19236 pub struct KS_CameraControlAsyncOperation(pub i32);
19237 pub const KS_CAMERACONTROL_ASYNC_START: KS_CameraControlAsyncOperation = KS_CameraControlAsyncOperation(1i32);
19238 pub const KS_CAMERACONTROL_ASYNC_STOP: KS_CameraControlAsyncOperation = KS_CameraControlAsyncOperation(2i32);
19239 pub const KS_CAMERACONTROL_ASYNC_RESET: KS_CameraControlAsyncOperation = KS_CameraControlAsyncOperation(3i32);
19240 impl ::std::convert::From<i32> for KS_CameraControlAsyncOperation {
from(value: i32) -> Self19241     fn from(value: i32) -> Self {
19242         Self(value)
19243     }
19244 }
19245 unsafe impl ::windows::runtime::Abi for KS_CameraControlAsyncOperation {
19246     type Abi = Self;
19247     type DefaultType = Self;
19248 }
19249 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
19250 #[repr(transparent)]
19251 pub struct KS_CompressionCaps(pub i32);
19252 pub const KS_CompressionCaps_CanQuality: KS_CompressionCaps = KS_CompressionCaps(1i32);
19253 pub const KS_CompressionCaps_CanCrunch: KS_CompressionCaps = KS_CompressionCaps(2i32);
19254 pub const KS_CompressionCaps_CanKeyFrame: KS_CompressionCaps = KS_CompressionCaps(4i32);
19255 pub const KS_CompressionCaps_CanBFrame: KS_CompressionCaps = KS_CompressionCaps(8i32);
19256 pub const KS_CompressionCaps_CanWindow: KS_CompressionCaps = KS_CompressionCaps(16i32);
19257 impl ::std::convert::From<i32> for KS_CompressionCaps {
from(value: i32) -> Self19258     fn from(value: i32) -> Self {
19259         Self(value)
19260     }
19261 }
19262 unsafe impl ::windows::runtime::Abi for KS_CompressionCaps {
19263     type Abi = Self;
19264     type DefaultType = Self;
19265 }
19266 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19267 #[repr(C)]
19268 pub struct KS_DATAFORMAT_H264VIDEOINFO {
19269     pub DataFormat: KSDATAFORMAT,
19270     pub H264VideoInfoHeader: KS_H264VIDEOINFO,
19271 }
19272 impl KS_DATAFORMAT_H264VIDEOINFO {}
19273 impl ::std::default::Default for KS_DATAFORMAT_H264VIDEOINFO {
default() -> Self19274     fn default() -> Self {
19275         unsafe { ::std::mem::zeroed() }
19276     }
19277 }
19278 impl ::std::cmp::PartialEq for KS_DATAFORMAT_H264VIDEOINFO {
eq(&self, _other: &Self) -> bool19279     fn eq(&self, _other: &Self) -> bool {
19280         unimplemented!()
19281     }
19282 }
19283 impl ::std::cmp::Eq for KS_DATAFORMAT_H264VIDEOINFO {}
19284 unsafe impl ::windows::runtime::Abi for KS_DATAFORMAT_H264VIDEOINFO {
19285     type Abi = Self;
19286     type DefaultType = Self;
19287 }
19288 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19289 #[repr(C)]
19290 pub struct KS_DATAFORMAT_IMAGEINFO {
19291     pub DataFormat: KSDATAFORMAT,
19292     pub ImageInfoHeader: KS_BITMAPINFOHEADER,
19293 }
19294 impl KS_DATAFORMAT_IMAGEINFO {}
19295 impl ::std::default::Default for KS_DATAFORMAT_IMAGEINFO {
default() -> Self19296     fn default() -> Self {
19297         unsafe { ::std::mem::zeroed() }
19298     }
19299 }
19300 impl ::std::cmp::PartialEq for KS_DATAFORMAT_IMAGEINFO {
eq(&self, _other: &Self) -> bool19301     fn eq(&self, _other: &Self) -> bool {
19302         unimplemented!()
19303     }
19304 }
19305 impl ::std::cmp::Eq for KS_DATAFORMAT_IMAGEINFO {}
19306 unsafe impl ::windows::runtime::Abi for KS_DATAFORMAT_IMAGEINFO {
19307     type Abi = Self;
19308     type DefaultType = Self;
19309 }
19310 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19311 #[repr(C)]
19312 #[cfg(feature = "Win32_Foundation")]
19313 pub struct KS_DATAFORMAT_MPEGVIDEOINFO2 {
19314     pub DataFormat: KSDATAFORMAT,
19315     pub MpegVideoInfoHeader2: KS_MPEGVIDEOINFO2,
19316 }
19317 #[cfg(feature = "Win32_Foundation")]
19318 impl KS_DATAFORMAT_MPEGVIDEOINFO2 {}
19319 #[cfg(feature = "Win32_Foundation")]
19320 impl ::std::default::Default for KS_DATAFORMAT_MPEGVIDEOINFO2 {
default() -> Self19321     fn default() -> Self {
19322         unsafe { ::std::mem::zeroed() }
19323     }
19324 }
19325 #[cfg(feature = "Win32_Foundation")]
19326 impl ::std::cmp::PartialEq for KS_DATAFORMAT_MPEGVIDEOINFO2 {
eq(&self, _other: &Self) -> bool19327     fn eq(&self, _other: &Self) -> bool {
19328         unimplemented!()
19329     }
19330 }
19331 #[cfg(feature = "Win32_Foundation")]
19332 impl ::std::cmp::Eq for KS_DATAFORMAT_MPEGVIDEOINFO2 {}
19333 #[cfg(feature = "Win32_Foundation")]
19334 unsafe impl ::windows::runtime::Abi for KS_DATAFORMAT_MPEGVIDEOINFO2 {
19335     type Abi = Self;
19336     type DefaultType = Self;
19337 }
19338 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19339 #[repr(C)]
19340 pub struct KS_DATAFORMAT_VBIINFOHEADER {
19341     pub DataFormat: KSDATAFORMAT,
19342     pub VBIInfoHeader: KS_VBIINFOHEADER,
19343 }
19344 impl KS_DATAFORMAT_VBIINFOHEADER {}
19345 impl ::std::default::Default for KS_DATAFORMAT_VBIINFOHEADER {
default() -> Self19346     fn default() -> Self {
19347         unsafe { ::std::mem::zeroed() }
19348     }
19349 }
19350 impl ::std::cmp::PartialEq for KS_DATAFORMAT_VBIINFOHEADER {
eq(&self, _other: &Self) -> bool19351     fn eq(&self, _other: &Self) -> bool {
19352         unimplemented!()
19353     }
19354 }
19355 impl ::std::cmp::Eq for KS_DATAFORMAT_VBIINFOHEADER {}
19356 unsafe impl ::windows::runtime::Abi for KS_DATAFORMAT_VBIINFOHEADER {
19357     type Abi = Self;
19358     type DefaultType = Self;
19359 }
19360 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19361 #[repr(C)]
19362 #[cfg(feature = "Win32_Foundation")]
19363 pub struct KS_DATAFORMAT_VIDEOINFOHEADER {
19364     pub DataFormat: KSDATAFORMAT,
19365     pub VideoInfoHeader: KS_VIDEOINFOHEADER,
19366 }
19367 #[cfg(feature = "Win32_Foundation")]
19368 impl KS_DATAFORMAT_VIDEOINFOHEADER {}
19369 #[cfg(feature = "Win32_Foundation")]
19370 impl ::std::default::Default for KS_DATAFORMAT_VIDEOINFOHEADER {
default() -> Self19371     fn default() -> Self {
19372         unsafe { ::std::mem::zeroed() }
19373     }
19374 }
19375 #[cfg(feature = "Win32_Foundation")]
19376 impl ::std::cmp::PartialEq for KS_DATAFORMAT_VIDEOINFOHEADER {
eq(&self, _other: &Self) -> bool19377     fn eq(&self, _other: &Self) -> bool {
19378         unimplemented!()
19379     }
19380 }
19381 #[cfg(feature = "Win32_Foundation")]
19382 impl ::std::cmp::Eq for KS_DATAFORMAT_VIDEOINFOHEADER {}
19383 #[cfg(feature = "Win32_Foundation")]
19384 unsafe impl ::windows::runtime::Abi for KS_DATAFORMAT_VIDEOINFOHEADER {
19385     type Abi = Self;
19386     type DefaultType = Self;
19387 }
19388 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19389 #[repr(C)]
19390 #[cfg(feature = "Win32_Foundation")]
19391 pub struct KS_DATAFORMAT_VIDEOINFOHEADER2 {
19392     pub DataFormat: KSDATAFORMAT,
19393     pub VideoInfoHeader2: KS_VIDEOINFOHEADER2,
19394 }
19395 #[cfg(feature = "Win32_Foundation")]
19396 impl KS_DATAFORMAT_VIDEOINFOHEADER2 {}
19397 #[cfg(feature = "Win32_Foundation")]
19398 impl ::std::default::Default for KS_DATAFORMAT_VIDEOINFOHEADER2 {
default() -> Self19399     fn default() -> Self {
19400         unsafe { ::std::mem::zeroed() }
19401     }
19402 }
19403 #[cfg(feature = "Win32_Foundation")]
19404 impl ::std::cmp::PartialEq for KS_DATAFORMAT_VIDEOINFOHEADER2 {
eq(&self, _other: &Self) -> bool19405     fn eq(&self, _other: &Self) -> bool {
19406         unimplemented!()
19407     }
19408 }
19409 #[cfg(feature = "Win32_Foundation")]
19410 impl ::std::cmp::Eq for KS_DATAFORMAT_VIDEOINFOHEADER2 {}
19411 #[cfg(feature = "Win32_Foundation")]
19412 unsafe impl ::windows::runtime::Abi for KS_DATAFORMAT_VIDEOINFOHEADER2 {
19413     type Abi = Self;
19414     type DefaultType = Self;
19415 }
19416 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19417 #[repr(C)]
19418 #[cfg(feature = "Win32_Foundation")]
19419 pub struct KS_DATAFORMAT_VIDEOINFO_PALETTE {
19420     pub DataFormat: KSDATAFORMAT,
19421     pub VideoInfo: KS_VIDEOINFO,
19422 }
19423 #[cfg(feature = "Win32_Foundation")]
19424 impl KS_DATAFORMAT_VIDEOINFO_PALETTE {}
19425 #[cfg(feature = "Win32_Foundation")]
19426 impl ::std::default::Default for KS_DATAFORMAT_VIDEOINFO_PALETTE {
default() -> Self19427     fn default() -> Self {
19428         unsafe { ::std::mem::zeroed() }
19429     }
19430 }
19431 #[cfg(feature = "Win32_Foundation")]
19432 impl ::std::cmp::PartialEq for KS_DATAFORMAT_VIDEOINFO_PALETTE {
eq(&self, _other: &Self) -> bool19433     fn eq(&self, _other: &Self) -> bool {
19434         unimplemented!()
19435     }
19436 }
19437 #[cfg(feature = "Win32_Foundation")]
19438 impl ::std::cmp::Eq for KS_DATAFORMAT_VIDEOINFO_PALETTE {}
19439 #[cfg(feature = "Win32_Foundation")]
19440 unsafe impl ::windows::runtime::Abi for KS_DATAFORMAT_VIDEOINFO_PALETTE {
19441     type Abi = Self;
19442     type DefaultType = Self;
19443 }
19444 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19445 #[repr(C)]
19446 #[cfg(feature = "Win32_Foundation")]
19447 pub struct KS_DATARANGE_ANALOGVIDEO {
19448     pub DataRange: KSDATAFORMAT,
19449     pub AnalogVideoInfo: KS_AnalogVideoInfo,
19450 }
19451 #[cfg(feature = "Win32_Foundation")]
19452 impl KS_DATARANGE_ANALOGVIDEO {}
19453 #[cfg(feature = "Win32_Foundation")]
19454 impl ::std::default::Default for KS_DATARANGE_ANALOGVIDEO {
default() -> Self19455     fn default() -> Self {
19456         unsafe { ::std::mem::zeroed() }
19457     }
19458 }
19459 #[cfg(feature = "Win32_Foundation")]
19460 impl ::std::cmp::PartialEq for KS_DATARANGE_ANALOGVIDEO {
eq(&self, _other: &Self) -> bool19461     fn eq(&self, _other: &Self) -> bool {
19462         unimplemented!()
19463     }
19464 }
19465 #[cfg(feature = "Win32_Foundation")]
19466 impl ::std::cmp::Eq for KS_DATARANGE_ANALOGVIDEO {}
19467 #[cfg(feature = "Win32_Foundation")]
19468 unsafe impl ::windows::runtime::Abi for KS_DATARANGE_ANALOGVIDEO {
19469     type Abi = Self;
19470     type DefaultType = Self;
19471 }
19472 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19473 #[repr(C)]
19474 #[cfg(feature = "Win32_Foundation")]
19475 pub struct KS_DATARANGE_H264_VIDEO {
19476     pub DataRange: KSDATAFORMAT,
19477     pub bFixedSizeSamples: super::super::super::Foundation::BOOL,
19478     pub bTemporalCompression: super::super::super::Foundation::BOOL,
19479     pub StreamDescriptionFlags: u32,
19480     pub MemoryAllocationFlags: u32,
19481     pub ConfigCaps: KS_VIDEO_STREAM_CONFIG_CAPS,
19482     pub VideoInfoHeader: KS_H264VIDEOINFO,
19483 }
19484 #[cfg(feature = "Win32_Foundation")]
19485 impl KS_DATARANGE_H264_VIDEO {}
19486 #[cfg(feature = "Win32_Foundation")]
19487 impl ::std::default::Default for KS_DATARANGE_H264_VIDEO {
default() -> Self19488     fn default() -> Self {
19489         unsafe { ::std::mem::zeroed() }
19490     }
19491 }
19492 #[cfg(feature = "Win32_Foundation")]
19493 impl ::std::cmp::PartialEq for KS_DATARANGE_H264_VIDEO {
eq(&self, _other: &Self) -> bool19494     fn eq(&self, _other: &Self) -> bool {
19495         unimplemented!()
19496     }
19497 }
19498 #[cfg(feature = "Win32_Foundation")]
19499 impl ::std::cmp::Eq for KS_DATARANGE_H264_VIDEO {}
19500 #[cfg(feature = "Win32_Foundation")]
19501 unsafe impl ::windows::runtime::Abi for KS_DATARANGE_H264_VIDEO {
19502     type Abi = Self;
19503     type DefaultType = Self;
19504 }
19505 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19506 #[repr(C)]
19507 #[cfg(feature = "Win32_Foundation")]
19508 pub struct KS_DATARANGE_IMAGE {
19509     pub DataRange: KSDATAFORMAT,
19510     pub ConfigCaps: KS_VIDEO_STREAM_CONFIG_CAPS,
19511     pub ImageInfoHeader: KS_BITMAPINFOHEADER,
19512 }
19513 #[cfg(feature = "Win32_Foundation")]
19514 impl KS_DATARANGE_IMAGE {}
19515 #[cfg(feature = "Win32_Foundation")]
19516 impl ::std::default::Default for KS_DATARANGE_IMAGE {
default() -> Self19517     fn default() -> Self {
19518         unsafe { ::std::mem::zeroed() }
19519     }
19520 }
19521 #[cfg(feature = "Win32_Foundation")]
19522 impl ::std::cmp::PartialEq for KS_DATARANGE_IMAGE {
eq(&self, _other: &Self) -> bool19523     fn eq(&self, _other: &Self) -> bool {
19524         unimplemented!()
19525     }
19526 }
19527 #[cfg(feature = "Win32_Foundation")]
19528 impl ::std::cmp::Eq for KS_DATARANGE_IMAGE {}
19529 #[cfg(feature = "Win32_Foundation")]
19530 unsafe impl ::windows::runtime::Abi for KS_DATARANGE_IMAGE {
19531     type Abi = Self;
19532     type DefaultType = Self;
19533 }
19534 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19535 #[repr(C)]
19536 #[cfg(feature = "Win32_Foundation")]
19537 pub struct KS_DATARANGE_MPEG1_VIDEO {
19538     pub DataRange: KSDATAFORMAT,
19539     pub bFixedSizeSamples: super::super::super::Foundation::BOOL,
19540     pub bTemporalCompression: super::super::super::Foundation::BOOL,
19541     pub StreamDescriptionFlags: u32,
19542     pub MemoryAllocationFlags: u32,
19543     pub ConfigCaps: KS_VIDEO_STREAM_CONFIG_CAPS,
19544     pub VideoInfoHeader: KS_MPEG1VIDEOINFO,
19545 }
19546 #[cfg(feature = "Win32_Foundation")]
19547 impl KS_DATARANGE_MPEG1_VIDEO {}
19548 #[cfg(feature = "Win32_Foundation")]
19549 impl ::std::default::Default for KS_DATARANGE_MPEG1_VIDEO {
default() -> Self19550     fn default() -> Self {
19551         unsafe { ::std::mem::zeroed() }
19552     }
19553 }
19554 #[cfg(feature = "Win32_Foundation")]
19555 impl ::std::cmp::PartialEq for KS_DATARANGE_MPEG1_VIDEO {
eq(&self, _other: &Self) -> bool19556     fn eq(&self, _other: &Self) -> bool {
19557         unimplemented!()
19558     }
19559 }
19560 #[cfg(feature = "Win32_Foundation")]
19561 impl ::std::cmp::Eq for KS_DATARANGE_MPEG1_VIDEO {}
19562 #[cfg(feature = "Win32_Foundation")]
19563 unsafe impl ::windows::runtime::Abi for KS_DATARANGE_MPEG1_VIDEO {
19564     type Abi = Self;
19565     type DefaultType = Self;
19566 }
19567 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19568 #[repr(C)]
19569 #[cfg(feature = "Win32_Foundation")]
19570 pub struct KS_DATARANGE_MPEG2_VIDEO {
19571     pub DataRange: KSDATAFORMAT,
19572     pub bFixedSizeSamples: super::super::super::Foundation::BOOL,
19573     pub bTemporalCompression: super::super::super::Foundation::BOOL,
19574     pub StreamDescriptionFlags: u32,
19575     pub MemoryAllocationFlags: u32,
19576     pub ConfigCaps: KS_VIDEO_STREAM_CONFIG_CAPS,
19577     pub VideoInfoHeader: KS_MPEGVIDEOINFO2,
19578 }
19579 #[cfg(feature = "Win32_Foundation")]
19580 impl KS_DATARANGE_MPEG2_VIDEO {}
19581 #[cfg(feature = "Win32_Foundation")]
19582 impl ::std::default::Default for KS_DATARANGE_MPEG2_VIDEO {
default() -> Self19583     fn default() -> Self {
19584         unsafe { ::std::mem::zeroed() }
19585     }
19586 }
19587 #[cfg(feature = "Win32_Foundation")]
19588 impl ::std::cmp::PartialEq for KS_DATARANGE_MPEG2_VIDEO {
eq(&self, _other: &Self) -> bool19589     fn eq(&self, _other: &Self) -> bool {
19590         unimplemented!()
19591     }
19592 }
19593 #[cfg(feature = "Win32_Foundation")]
19594 impl ::std::cmp::Eq for KS_DATARANGE_MPEG2_VIDEO {}
19595 #[cfg(feature = "Win32_Foundation")]
19596 unsafe impl ::windows::runtime::Abi for KS_DATARANGE_MPEG2_VIDEO {
19597     type Abi = Self;
19598     type DefaultType = Self;
19599 }
19600 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19601 #[repr(C)]
19602 #[cfg(feature = "Win32_Foundation")]
19603 pub struct KS_DATARANGE_VIDEO {
19604     pub DataRange: KSDATAFORMAT,
19605     pub bFixedSizeSamples: super::super::super::Foundation::BOOL,
19606     pub bTemporalCompression: super::super::super::Foundation::BOOL,
19607     pub StreamDescriptionFlags: u32,
19608     pub MemoryAllocationFlags: u32,
19609     pub ConfigCaps: KS_VIDEO_STREAM_CONFIG_CAPS,
19610     pub VideoInfoHeader: KS_VIDEOINFOHEADER,
19611 }
19612 #[cfg(feature = "Win32_Foundation")]
19613 impl KS_DATARANGE_VIDEO {}
19614 #[cfg(feature = "Win32_Foundation")]
19615 impl ::std::default::Default for KS_DATARANGE_VIDEO {
default() -> Self19616     fn default() -> Self {
19617         unsafe { ::std::mem::zeroed() }
19618     }
19619 }
19620 #[cfg(feature = "Win32_Foundation")]
19621 impl ::std::cmp::PartialEq for KS_DATARANGE_VIDEO {
eq(&self, _other: &Self) -> bool19622     fn eq(&self, _other: &Self) -> bool {
19623         unimplemented!()
19624     }
19625 }
19626 #[cfg(feature = "Win32_Foundation")]
19627 impl ::std::cmp::Eq for KS_DATARANGE_VIDEO {}
19628 #[cfg(feature = "Win32_Foundation")]
19629 unsafe impl ::windows::runtime::Abi for KS_DATARANGE_VIDEO {
19630     type Abi = Self;
19631     type DefaultType = Self;
19632 }
19633 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19634 #[repr(C)]
19635 #[cfg(feature = "Win32_Foundation")]
19636 pub struct KS_DATARANGE_VIDEO2 {
19637     pub DataRange: KSDATAFORMAT,
19638     pub bFixedSizeSamples: super::super::super::Foundation::BOOL,
19639     pub bTemporalCompression: super::super::super::Foundation::BOOL,
19640     pub StreamDescriptionFlags: u32,
19641     pub MemoryAllocationFlags: u32,
19642     pub ConfigCaps: KS_VIDEO_STREAM_CONFIG_CAPS,
19643     pub VideoInfoHeader: KS_VIDEOINFOHEADER2,
19644 }
19645 #[cfg(feature = "Win32_Foundation")]
19646 impl KS_DATARANGE_VIDEO2 {}
19647 #[cfg(feature = "Win32_Foundation")]
19648 impl ::std::default::Default for KS_DATARANGE_VIDEO2 {
default() -> Self19649     fn default() -> Self {
19650         unsafe { ::std::mem::zeroed() }
19651     }
19652 }
19653 #[cfg(feature = "Win32_Foundation")]
19654 impl ::std::cmp::PartialEq for KS_DATARANGE_VIDEO2 {
eq(&self, _other: &Self) -> bool19655     fn eq(&self, _other: &Self) -> bool {
19656         unimplemented!()
19657     }
19658 }
19659 #[cfg(feature = "Win32_Foundation")]
19660 impl ::std::cmp::Eq for KS_DATARANGE_VIDEO2 {}
19661 #[cfg(feature = "Win32_Foundation")]
19662 unsafe impl ::windows::runtime::Abi for KS_DATARANGE_VIDEO2 {
19663     type Abi = Self;
19664     type DefaultType = Self;
19665 }
19666 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19667 #[repr(C)]
19668 #[cfg(feature = "Win32_Foundation")]
19669 pub struct KS_DATARANGE_VIDEO_PALETTE {
19670     pub DataRange: KSDATAFORMAT,
19671     pub bFixedSizeSamples: super::super::super::Foundation::BOOL,
19672     pub bTemporalCompression: super::super::super::Foundation::BOOL,
19673     pub StreamDescriptionFlags: u32,
19674     pub MemoryAllocationFlags: u32,
19675     pub ConfigCaps: KS_VIDEO_STREAM_CONFIG_CAPS,
19676     pub VideoInfo: KS_VIDEOINFO,
19677 }
19678 #[cfg(feature = "Win32_Foundation")]
19679 impl KS_DATARANGE_VIDEO_PALETTE {}
19680 #[cfg(feature = "Win32_Foundation")]
19681 impl ::std::default::Default for KS_DATARANGE_VIDEO_PALETTE {
default() -> Self19682     fn default() -> Self {
19683         unsafe { ::std::mem::zeroed() }
19684     }
19685 }
19686 #[cfg(feature = "Win32_Foundation")]
19687 impl ::std::cmp::PartialEq for KS_DATARANGE_VIDEO_PALETTE {
eq(&self, _other: &Self) -> bool19688     fn eq(&self, _other: &Self) -> bool {
19689         unimplemented!()
19690     }
19691 }
19692 #[cfg(feature = "Win32_Foundation")]
19693 impl ::std::cmp::Eq for KS_DATARANGE_VIDEO_PALETTE {}
19694 #[cfg(feature = "Win32_Foundation")]
19695 unsafe impl ::windows::runtime::Abi for KS_DATARANGE_VIDEO_PALETTE {
19696     type Abi = Self;
19697     type DefaultType = Self;
19698 }
19699 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19700 #[repr(C)]
19701 #[cfg(feature = "Win32_Foundation")]
19702 pub struct KS_DATARANGE_VIDEO_VBI {
19703     pub DataRange: KSDATAFORMAT,
19704     pub bFixedSizeSamples: super::super::super::Foundation::BOOL,
19705     pub bTemporalCompression: super::super::super::Foundation::BOOL,
19706     pub StreamDescriptionFlags: u32,
19707     pub MemoryAllocationFlags: u32,
19708     pub ConfigCaps: KS_VIDEO_STREAM_CONFIG_CAPS,
19709     pub VBIInfoHeader: KS_VBIINFOHEADER,
19710 }
19711 #[cfg(feature = "Win32_Foundation")]
19712 impl KS_DATARANGE_VIDEO_VBI {}
19713 #[cfg(feature = "Win32_Foundation")]
19714 impl ::std::default::Default for KS_DATARANGE_VIDEO_VBI {
default() -> Self19715     fn default() -> Self {
19716         unsafe { ::std::mem::zeroed() }
19717     }
19718 }
19719 #[cfg(feature = "Win32_Foundation")]
19720 impl ::std::cmp::PartialEq for KS_DATARANGE_VIDEO_VBI {
eq(&self, _other: &Self) -> bool19721     fn eq(&self, _other: &Self) -> bool {
19722         unimplemented!()
19723     }
19724 }
19725 #[cfg(feature = "Win32_Foundation")]
19726 impl ::std::cmp::Eq for KS_DATARANGE_VIDEO_VBI {}
19727 #[cfg(feature = "Win32_Foundation")]
19728 unsafe impl ::windows::runtime::Abi for KS_DATARANGE_VIDEO_VBI {
19729     type Abi = Self;
19730     type DefaultType = Self;
19731 }
19732 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
19733 #[repr(transparent)]
19734 pub struct KS_DVDCOPYSTATE(pub i32);
19735 pub const KS_DVDCOPYSTATE_INITIALIZE: KS_DVDCOPYSTATE = KS_DVDCOPYSTATE(0i32);
19736 pub const KS_DVDCOPYSTATE_INITIALIZE_TITLE: KS_DVDCOPYSTATE = KS_DVDCOPYSTATE(1i32);
19737 pub const KS_DVDCOPYSTATE_AUTHENTICATION_NOT_REQUIRED: KS_DVDCOPYSTATE = KS_DVDCOPYSTATE(2i32);
19738 pub const KS_DVDCOPYSTATE_AUTHENTICATION_REQUIRED: KS_DVDCOPYSTATE = KS_DVDCOPYSTATE(3i32);
19739 pub const KS_DVDCOPYSTATE_DONE: KS_DVDCOPYSTATE = KS_DVDCOPYSTATE(4i32);
19740 impl ::std::convert::From<i32> for KS_DVDCOPYSTATE {
from(value: i32) -> Self19741     fn from(value: i32) -> Self {
19742         Self(value)
19743     }
19744 }
19745 unsafe impl ::windows::runtime::Abi for KS_DVDCOPYSTATE {
19746     type Abi = Self;
19747     type DefaultType = Self;
19748 }
19749 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19750 #[repr(C)]
19751 pub struct KS_DVDCOPY_BUSKEY {
19752     pub BusKey: [u8; 5],
19753     pub Reserved: [u8; 1],
19754 }
19755 impl KS_DVDCOPY_BUSKEY {}
19756 impl ::std::default::Default for KS_DVDCOPY_BUSKEY {
default() -> Self19757     fn default() -> Self {
19758         unsafe { ::std::mem::zeroed() }
19759     }
19760 }
19761 impl ::std::fmt::Debug for KS_DVDCOPY_BUSKEY {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result19762     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19763         fmt.debug_struct("KS_DVDCOPY_BUSKEY").field("BusKey", &self.BusKey).field("Reserved", &self.Reserved).finish()
19764     }
19765 }
19766 impl ::std::cmp::PartialEq for KS_DVDCOPY_BUSKEY {
eq(&self, other: &Self) -> bool19767     fn eq(&self, other: &Self) -> bool {
19768         self.BusKey == other.BusKey && self.Reserved == other.Reserved
19769     }
19770 }
19771 impl ::std::cmp::Eq for KS_DVDCOPY_BUSKEY {}
19772 unsafe impl ::windows::runtime::Abi for KS_DVDCOPY_BUSKEY {
19773     type Abi = Self;
19774     type DefaultType = Self;
19775 }
19776 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19777 #[repr(C)]
19778 pub struct KS_DVDCOPY_CHLGKEY {
19779     pub ChlgKey: [u8; 10],
19780     pub Reserved: [u8; 2],
19781 }
19782 impl KS_DVDCOPY_CHLGKEY {}
19783 impl ::std::default::Default for KS_DVDCOPY_CHLGKEY {
default() -> Self19784     fn default() -> Self {
19785         unsafe { ::std::mem::zeroed() }
19786     }
19787 }
19788 impl ::std::fmt::Debug for KS_DVDCOPY_CHLGKEY {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result19789     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19790         fmt.debug_struct("KS_DVDCOPY_CHLGKEY").field("ChlgKey", &self.ChlgKey).field("Reserved", &self.Reserved).finish()
19791     }
19792 }
19793 impl ::std::cmp::PartialEq for KS_DVDCOPY_CHLGKEY {
eq(&self, other: &Self) -> bool19794     fn eq(&self, other: &Self) -> bool {
19795         self.ChlgKey == other.ChlgKey && self.Reserved == other.Reserved
19796     }
19797 }
19798 impl ::std::cmp::Eq for KS_DVDCOPY_CHLGKEY {}
19799 unsafe impl ::windows::runtime::Abi for KS_DVDCOPY_CHLGKEY {
19800     type Abi = Self;
19801     type DefaultType = Self;
19802 }
19803 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19804 #[repr(C)]
19805 pub struct KS_DVDCOPY_DISCKEY {
19806     pub DiscKey: [u8; 2048],
19807 }
19808 impl KS_DVDCOPY_DISCKEY {}
19809 impl ::std::default::Default for KS_DVDCOPY_DISCKEY {
default() -> Self19810     fn default() -> Self {
19811         unsafe { ::std::mem::zeroed() }
19812     }
19813 }
19814 impl ::std::fmt::Debug for KS_DVDCOPY_DISCKEY {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result19815     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19816         fmt.debug_struct("KS_DVDCOPY_DISCKEY").field("DiscKey", &self.DiscKey).finish()
19817     }
19818 }
19819 impl ::std::cmp::PartialEq for KS_DVDCOPY_DISCKEY {
eq(&self, other: &Self) -> bool19820     fn eq(&self, other: &Self) -> bool {
19821         self.DiscKey == other.DiscKey
19822     }
19823 }
19824 impl ::std::cmp::Eq for KS_DVDCOPY_DISCKEY {}
19825 unsafe impl ::windows::runtime::Abi for KS_DVDCOPY_DISCKEY {
19826     type Abi = Self;
19827     type DefaultType = Self;
19828 }
19829 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19830 #[repr(C)]
19831 pub struct KS_DVDCOPY_REGION {
19832     pub Reserved: u8,
19833     pub RegionData: u8,
19834     pub Reserved2: [u8; 2],
19835 }
19836 impl KS_DVDCOPY_REGION {}
19837 impl ::std::default::Default for KS_DVDCOPY_REGION {
default() -> Self19838     fn default() -> Self {
19839         unsafe { ::std::mem::zeroed() }
19840     }
19841 }
19842 impl ::std::fmt::Debug for KS_DVDCOPY_REGION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result19843     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19844         fmt.debug_struct("KS_DVDCOPY_REGION").field("Reserved", &self.Reserved).field("RegionData", &self.RegionData).field("Reserved2", &self.Reserved2).finish()
19845     }
19846 }
19847 impl ::std::cmp::PartialEq for KS_DVDCOPY_REGION {
eq(&self, other: &Self) -> bool19848     fn eq(&self, other: &Self) -> bool {
19849         self.Reserved == other.Reserved && self.RegionData == other.RegionData && self.Reserved2 == other.Reserved2
19850     }
19851 }
19852 impl ::std::cmp::Eq for KS_DVDCOPY_REGION {}
19853 unsafe impl ::windows::runtime::Abi for KS_DVDCOPY_REGION {
19854     type Abi = Self;
19855     type DefaultType = Self;
19856 }
19857 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19858 #[repr(C)]
19859 pub struct KS_DVDCOPY_SET_COPY_STATE {
19860     pub DVDCopyState: u32,
19861 }
19862 impl KS_DVDCOPY_SET_COPY_STATE {}
19863 impl ::std::default::Default for KS_DVDCOPY_SET_COPY_STATE {
default() -> Self19864     fn default() -> Self {
19865         unsafe { ::std::mem::zeroed() }
19866     }
19867 }
19868 impl ::std::fmt::Debug for KS_DVDCOPY_SET_COPY_STATE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result19869     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19870         fmt.debug_struct("KS_DVDCOPY_SET_COPY_STATE").field("DVDCopyState", &self.DVDCopyState).finish()
19871     }
19872 }
19873 impl ::std::cmp::PartialEq for KS_DVDCOPY_SET_COPY_STATE {
eq(&self, other: &Self) -> bool19874     fn eq(&self, other: &Self) -> bool {
19875         self.DVDCopyState == other.DVDCopyState
19876     }
19877 }
19878 impl ::std::cmp::Eq for KS_DVDCOPY_SET_COPY_STATE {}
19879 unsafe impl ::windows::runtime::Abi for KS_DVDCOPY_SET_COPY_STATE {
19880     type Abi = Self;
19881     type DefaultType = Self;
19882 }
19883 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19884 #[repr(C)]
19885 pub struct KS_DVDCOPY_TITLEKEY {
19886     pub KeyFlags: u32,
19887     pub ReservedNT: [u32; 2],
19888     pub TitleKey: [u8; 6],
19889     pub Reserved: [u8; 2],
19890 }
19891 impl KS_DVDCOPY_TITLEKEY {}
19892 impl ::std::default::Default for KS_DVDCOPY_TITLEKEY {
default() -> Self19893     fn default() -> Self {
19894         unsafe { ::std::mem::zeroed() }
19895     }
19896 }
19897 impl ::std::fmt::Debug for KS_DVDCOPY_TITLEKEY {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result19898     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19899         fmt.debug_struct("KS_DVDCOPY_TITLEKEY").field("KeyFlags", &self.KeyFlags).field("ReservedNT", &self.ReservedNT).field("TitleKey", &self.TitleKey).field("Reserved", &self.Reserved).finish()
19900     }
19901 }
19902 impl ::std::cmp::PartialEq for KS_DVDCOPY_TITLEKEY {
eq(&self, other: &Self) -> bool19903     fn eq(&self, other: &Self) -> bool {
19904         self.KeyFlags == other.KeyFlags && self.ReservedNT == other.ReservedNT && self.TitleKey == other.TitleKey && self.Reserved == other.Reserved
19905     }
19906 }
19907 impl ::std::cmp::Eq for KS_DVDCOPY_TITLEKEY {}
19908 unsafe impl ::windows::runtime::Abi for KS_DVDCOPY_TITLEKEY {
19909     type Abi = Self;
19910     type DefaultType = Self;
19911 }
19912 pub const KS_DVD_CGMS_COPY_ONCE: u32 = 16u32;
19913 pub const KS_DVD_CGMS_COPY_PERMITTED: u32 = 0u32;
19914 pub const KS_DVD_CGMS_COPY_PROTECT_MASK: u32 = 24u32;
19915 pub const KS_DVD_CGMS_NO_COPY: u32 = 24u32;
19916 pub const KS_DVD_CGMS_RESERVED_MASK: u32 = 120u32;
19917 pub const KS_DVD_COPYRIGHTED: u32 = 64u32;
19918 pub const KS_DVD_COPYRIGHT_MASK: u32 = 64u32;
19919 pub const KS_DVD_NOT_COPYRIGHTED: u32 = 0u32;
19920 pub const KS_DVD_SECTOR_NOT_PROTECTED: u32 = 0u32;
19921 pub const KS_DVD_SECTOR_PROTECTED: u32 = 32u32;
19922 pub const KS_DVD_SECTOR_PROTECT_MASK: u32 = 32u32;
19923 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19924 #[repr(C)]
19925 pub struct KS_DVD_YCrCb {
19926     pub Reserved: u8,
19927     pub Y: u8,
19928     pub Cr: u8,
19929     pub Cb: u8,
19930 }
19931 impl KS_DVD_YCrCb {}
19932 impl ::std::default::Default for KS_DVD_YCrCb {
default() -> Self19933     fn default() -> Self {
19934         unsafe { ::std::mem::zeroed() }
19935     }
19936 }
19937 impl ::std::fmt::Debug for KS_DVD_YCrCb {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result19938     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19939         fmt.debug_struct("KS_DVD_YCrCb").field("Reserved", &self.Reserved).field("Y", &self.Y).field("Cr", &self.Cr).field("Cb", &self.Cb).finish()
19940     }
19941 }
19942 impl ::std::cmp::PartialEq for KS_DVD_YCrCb {
eq(&self, other: &Self) -> bool19943     fn eq(&self, other: &Self) -> bool {
19944         self.Reserved == other.Reserved && self.Y == other.Y && self.Cr == other.Cr && self.Cb == other.Cb
19945     }
19946 }
19947 impl ::std::cmp::Eq for KS_DVD_YCrCb {}
19948 unsafe impl ::windows::runtime::Abi for KS_DVD_YCrCb {
19949     type Abi = Self;
19950     type DefaultType = Self;
19951 }
19952 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19953 #[repr(C)]
19954 pub struct KS_DVD_YUV {
19955     pub Reserved: u8,
19956     pub Y: u8,
19957     pub V: u8,
19958     pub U: u8,
19959 }
19960 impl KS_DVD_YUV {}
19961 impl ::std::default::Default for KS_DVD_YUV {
default() -> Self19962     fn default() -> Self {
19963         unsafe { ::std::mem::zeroed() }
19964     }
19965 }
19966 impl ::std::fmt::Debug for KS_DVD_YUV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result19967     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19968         fmt.debug_struct("KS_DVD_YUV").field("Reserved", &self.Reserved).field("Y", &self.Y).field("V", &self.V).field("U", &self.U).finish()
19969     }
19970 }
19971 impl ::std::cmp::PartialEq for KS_DVD_YUV {
eq(&self, other: &Self) -> bool19972     fn eq(&self, other: &Self) -> bool {
19973         self.Reserved == other.Reserved && self.Y == other.Y && self.V == other.V && self.U == other.U
19974     }
19975 }
19976 impl ::std::cmp::Eq for KS_DVD_YUV {}
19977 unsafe impl ::windows::runtime::Abi for KS_DVD_YUV {
19978     type Abi = Self;
19979     type DefaultType = Self;
19980 }
19981 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19982 #[repr(C)]
19983 #[cfg(feature = "Win32_Foundation")]
19984 pub struct KS_FRAME_INFO {
19985     pub ExtendedHeaderSize: u32,
19986     pub dwFrameFlags: u32,
19987     pub PictureNumber: i64,
19988     pub DropCount: i64,
19989     pub hDirectDraw: super::super::super::Foundation::HANDLE,
19990     pub hSurfaceHandle: super::super::super::Foundation::HANDLE,
19991     pub DirectDrawRect: super::super::super::Foundation::RECT,
19992     pub Anonymous1: KS_FRAME_INFO_0,
19993     pub Reserved2: u32,
19994     pub Anonymous2: KS_FRAME_INFO_1,
19995 }
19996 #[cfg(feature = "Win32_Foundation")]
19997 impl KS_FRAME_INFO {}
19998 #[cfg(feature = "Win32_Foundation")]
19999 impl ::std::default::Default for KS_FRAME_INFO {
default() -> Self20000     fn default() -> Self {
20001         unsafe { ::std::mem::zeroed() }
20002     }
20003 }
20004 #[cfg(feature = "Win32_Foundation")]
20005 impl ::std::cmp::PartialEq for KS_FRAME_INFO {
eq(&self, _other: &Self) -> bool20006     fn eq(&self, _other: &Self) -> bool {
20007         unimplemented!()
20008     }
20009 }
20010 #[cfg(feature = "Win32_Foundation")]
20011 impl ::std::cmp::Eq for KS_FRAME_INFO {}
20012 #[cfg(feature = "Win32_Foundation")]
20013 unsafe impl ::windows::runtime::Abi for KS_FRAME_INFO {
20014     type Abi = Self;
20015     type DefaultType = Self;
20016 }
20017 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
20018 #[repr(C)]
20019 pub union KS_FRAME_INFO_0 {
20020     pub lSurfacePitch: i32,
20021     pub Reserved1: u32,
20022 }
20023 impl KS_FRAME_INFO_0 {}
20024 impl ::std::default::Default for KS_FRAME_INFO_0 {
default() -> Self20025     fn default() -> Self {
20026         unsafe { ::std::mem::zeroed() }
20027     }
20028 }
20029 impl ::std::cmp::PartialEq for KS_FRAME_INFO_0 {
eq(&self, _other: &Self) -> bool20030     fn eq(&self, _other: &Self) -> bool {
20031         unimplemented!()
20032     }
20033 }
20034 impl ::std::cmp::Eq for KS_FRAME_INFO_0 {}
20035 unsafe impl ::windows::runtime::Abi for KS_FRAME_INFO_0 {
20036     type Abi = Self;
20037     type DefaultType = Self;
20038 }
20039 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
20040 #[repr(C)]
20041 pub union KS_FRAME_INFO_1 {
20042     pub Anonymous: KS_FRAME_INFO_1_0,
20043     pub FrameCompletionNumber: u64,
20044 }
20045 impl KS_FRAME_INFO_1 {}
20046 impl ::std::default::Default for KS_FRAME_INFO_1 {
default() -> Self20047     fn default() -> Self {
20048         unsafe { ::std::mem::zeroed() }
20049     }
20050 }
20051 impl ::std::cmp::PartialEq for KS_FRAME_INFO_1 {
eq(&self, _other: &Self) -> bool20052     fn eq(&self, _other: &Self) -> bool {
20053         unimplemented!()
20054     }
20055 }
20056 impl ::std::cmp::Eq for KS_FRAME_INFO_1 {}
20057 unsafe impl ::windows::runtime::Abi for KS_FRAME_INFO_1 {
20058     type Abi = Self;
20059     type DefaultType = Self;
20060 }
20061 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
20062 #[repr(C)]
20063 pub struct KS_FRAME_INFO_1_0 {
20064     pub Reserved3: u32,
20065     pub Reserved4: u32,
20066 }
20067 impl KS_FRAME_INFO_1_0 {}
20068 impl ::std::default::Default for KS_FRAME_INFO_1_0 {
default() -> Self20069     fn default() -> Self {
20070         unsafe { ::std::mem::zeroed() }
20071     }
20072 }
20073 impl ::std::fmt::Debug for KS_FRAME_INFO_1_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result20074     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
20075         fmt.debug_struct("_Anonymous_e__Struct").field("Reserved3", &self.Reserved3).field("Reserved4", &self.Reserved4).finish()
20076     }
20077 }
20078 impl ::std::cmp::PartialEq for KS_FRAME_INFO_1_0 {
eq(&self, other: &Self) -> bool20079     fn eq(&self, other: &Self) -> bool {
20080         self.Reserved3 == other.Reserved3 && self.Reserved4 == other.Reserved4
20081     }
20082 }
20083 impl ::std::cmp::Eq for KS_FRAME_INFO_1_0 {}
20084 unsafe impl ::windows::runtime::Abi for KS_FRAME_INFO_1_0 {
20085     type Abi = Self;
20086     type DefaultType = Self;
20087 }
20088 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
20089 #[repr(C)]
20090 pub struct KS_FRAMING_ITEM {
20091     pub MemoryType: ::windows::runtime::GUID,
20092     pub BusType: ::windows::runtime::GUID,
20093     pub MemoryFlags: u32,
20094     pub BusFlags: u32,
20095     pub Flags: u32,
20096     pub Frames: u32,
20097     pub Anonymous: KS_FRAMING_ITEM_0,
20098     pub MemoryTypeWeight: u32,
20099     pub PhysicalRange: KS_FRAMING_RANGE,
20100     pub FramingRange: KS_FRAMING_RANGE_WEIGHTED,
20101 }
20102 impl KS_FRAMING_ITEM {}
20103 impl ::std::default::Default for KS_FRAMING_ITEM {
default() -> Self20104     fn default() -> Self {
20105         unsafe { ::std::mem::zeroed() }
20106     }
20107 }
20108 impl ::std::cmp::PartialEq for KS_FRAMING_ITEM {
eq(&self, _other: &Self) -> bool20109     fn eq(&self, _other: &Self) -> bool {
20110         unimplemented!()
20111     }
20112 }
20113 impl ::std::cmp::Eq for KS_FRAMING_ITEM {}
20114 unsafe impl ::windows::runtime::Abi for KS_FRAMING_ITEM {
20115     type Abi = Self;
20116     type DefaultType = Self;
20117 }
20118 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
20119 #[repr(C)]
20120 pub union KS_FRAMING_ITEM_0 {
20121     pub FileAlignment: u32,
20122     pub FramePitch: i32,
20123 }
20124 impl KS_FRAMING_ITEM_0 {}
20125 impl ::std::default::Default for KS_FRAMING_ITEM_0 {
default() -> Self20126     fn default() -> Self {
20127         unsafe { ::std::mem::zeroed() }
20128     }
20129 }
20130 impl ::std::cmp::PartialEq for KS_FRAMING_ITEM_0 {
eq(&self, _other: &Self) -> bool20131     fn eq(&self, _other: &Self) -> bool {
20132         unimplemented!()
20133     }
20134 }
20135 impl ::std::cmp::Eq for KS_FRAMING_ITEM_0 {}
20136 unsafe impl ::windows::runtime::Abi for KS_FRAMING_ITEM_0 {
20137     type Abi = Self;
20138     type DefaultType = Self;
20139 }
20140 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
20141 #[repr(C)]
20142 pub struct KS_FRAMING_RANGE {
20143     pub MinFrameSize: u32,
20144     pub MaxFrameSize: u32,
20145     pub Stepping: u32,
20146 }
20147 impl KS_FRAMING_RANGE {}
20148 impl ::std::default::Default for KS_FRAMING_RANGE {
default() -> Self20149     fn default() -> Self {
20150         unsafe { ::std::mem::zeroed() }
20151     }
20152 }
20153 impl ::std::fmt::Debug for KS_FRAMING_RANGE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result20154     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
20155         fmt.debug_struct("KS_FRAMING_RANGE").field("MinFrameSize", &self.MinFrameSize).field("MaxFrameSize", &self.MaxFrameSize).field("Stepping", &self.Stepping).finish()
20156     }
20157 }
20158 impl ::std::cmp::PartialEq for KS_FRAMING_RANGE {
eq(&self, other: &Self) -> bool20159     fn eq(&self, other: &Self) -> bool {
20160         self.MinFrameSize == other.MinFrameSize && self.MaxFrameSize == other.MaxFrameSize && self.Stepping == other.Stepping
20161     }
20162 }
20163 impl ::std::cmp::Eq for KS_FRAMING_RANGE {}
20164 unsafe impl ::windows::runtime::Abi for KS_FRAMING_RANGE {
20165     type Abi = Self;
20166     type DefaultType = Self;
20167 }
20168 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
20169 #[repr(C)]
20170 pub struct KS_FRAMING_RANGE_WEIGHTED {
20171     pub Range: KS_FRAMING_RANGE,
20172     pub InPlaceWeight: u32,
20173     pub NotInPlaceWeight: u32,
20174 }
20175 impl KS_FRAMING_RANGE_WEIGHTED {}
20176 impl ::std::default::Default for KS_FRAMING_RANGE_WEIGHTED {
default() -> Self20177     fn default() -> Self {
20178         unsafe { ::std::mem::zeroed() }
20179     }
20180 }
20181 impl ::std::fmt::Debug for KS_FRAMING_RANGE_WEIGHTED {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result20182     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
20183         fmt.debug_struct("KS_FRAMING_RANGE_WEIGHTED").field("Range", &self.Range).field("InPlaceWeight", &self.InPlaceWeight).field("NotInPlaceWeight", &self.NotInPlaceWeight).finish()
20184     }
20185 }
20186 impl ::std::cmp::PartialEq for KS_FRAMING_RANGE_WEIGHTED {
eq(&self, other: &Self) -> bool20187     fn eq(&self, other: &Self) -> bool {
20188         self.Range == other.Range && self.InPlaceWeight == other.InPlaceWeight && self.NotInPlaceWeight == other.NotInPlaceWeight
20189     }
20190 }
20191 impl ::std::cmp::Eq for KS_FRAMING_RANGE_WEIGHTED {}
20192 unsafe impl ::windows::runtime::Abi for KS_FRAMING_RANGE_WEIGHTED {
20193     type Abi = Self;
20194     type DefaultType = Self;
20195 }
20196 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
20197 #[repr(C)]
20198 pub struct KS_H264VIDEOINFO {
20199     pub wWidth: u16,
20200     pub wHeight: u16,
20201     pub wSARwidth: u16,
20202     pub wSARheight: u16,
20203     pub wProfile: u16,
20204     pub bLevelIDC: u8,
20205     pub wConstrainedToolset: u16,
20206     pub bmSupportedUsages: u32,
20207     pub bmCapabilities: u16,
20208     pub bmSVCCapabilities: u32,
20209     pub bmMVCCapabilities: u32,
20210     pub dwFrameInterval: u32,
20211     pub bMaxCodecConfigDelay: u8,
20212     pub bmSupportedSliceModes: u8,
20213     pub bmSupportedSyncFrameTypes: u8,
20214     pub bResolutionScaling: u8,
20215     pub bSimulcastSupport: u8,
20216     pub bmSupportedRateControlModes: u8,
20217     pub wMaxMBperSecOneResolutionNoScalability: u16,
20218     pub wMaxMBperSecTwoResolutionsNoScalability: u16,
20219     pub wMaxMBperSecThreeResolutionsNoScalability: u16,
20220     pub wMaxMBperSecFourResolutionsNoScalability: u16,
20221     pub wMaxMBperSecOneResolutionTemporalScalability: u16,
20222     pub wMaxMBperSecTwoResolutionsTemporalScalablility: u16,
20223     pub wMaxMBperSecThreeResolutionsTemporalScalability: u16,
20224     pub wMaxMBperSecFourResolutionsTemporalScalability: u16,
20225     pub wMaxMBperSecOneResolutionTemporalQualityScalability: u16,
20226     pub wMaxMBperSecTwoResolutionsTemporalQualityScalability: u16,
20227     pub wMaxMBperSecThreeResolutionsTemporalQualityScalablity: u16,
20228     pub wMaxMBperSecFourResolutionsTemporalQualityScalability: u16,
20229     pub wMaxMBperSecOneResolutionTemporalSpatialScalability: u16,
20230     pub wMaxMBperSecTwoResolutionsTemporalSpatialScalability: u16,
20231     pub wMaxMBperSecThreeResolutionsTemporalSpatialScalablity: u16,
20232     pub wMaxMBperSecFourResolutionsTemporalSpatialScalability: u16,
20233     pub wMaxMBperSecOneResolutionFullScalability: u16,
20234     pub wMaxMBperSecTwoResolutionsFullScalability: u16,
20235     pub wMaxMBperSecThreeResolutionsFullScalability: u16,
20236     pub wMaxMBperSecFourResolutionsFullScalability: u16,
20237 }
20238 impl KS_H264VIDEOINFO {}
20239 impl ::std::default::Default for KS_H264VIDEOINFO {
default() -> Self20240     fn default() -> Self {
20241         unsafe { ::std::mem::zeroed() }
20242     }
20243 }
20244 impl ::std::fmt::Debug for KS_H264VIDEOINFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result20245     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
20246         fmt.debug_struct("KS_H264VIDEOINFO")
20247             .field("wWidth", &self.wWidth)
20248             .field("wHeight", &self.wHeight)
20249             .field("wSARwidth", &self.wSARwidth)
20250             .field("wSARheight", &self.wSARheight)
20251             .field("wProfile", &self.wProfile)
20252             .field("bLevelIDC", &self.bLevelIDC)
20253             .field("wConstrainedToolset", &self.wConstrainedToolset)
20254             .field("bmSupportedUsages", &self.bmSupportedUsages)
20255             .field("bmCapabilities", &self.bmCapabilities)
20256             .field("bmSVCCapabilities", &self.bmSVCCapabilities)
20257             .field("bmMVCCapabilities", &self.bmMVCCapabilities)
20258             .field("dwFrameInterval", &self.dwFrameInterval)
20259             .field("bMaxCodecConfigDelay", &self.bMaxCodecConfigDelay)
20260             .field("bmSupportedSliceModes", &self.bmSupportedSliceModes)
20261             .field("bmSupportedSyncFrameTypes", &self.bmSupportedSyncFrameTypes)
20262             .field("bResolutionScaling", &self.bResolutionScaling)
20263             .field("bSimulcastSupport", &self.bSimulcastSupport)
20264             .field("bmSupportedRateControlModes", &self.bmSupportedRateControlModes)
20265             .field("wMaxMBperSecOneResolutionNoScalability", &self.wMaxMBperSecOneResolutionNoScalability)
20266             .field("wMaxMBperSecTwoResolutionsNoScalability", &self.wMaxMBperSecTwoResolutionsNoScalability)
20267             .field("wMaxMBperSecThreeResolutionsNoScalability", &self.wMaxMBperSecThreeResolutionsNoScalability)
20268             .field("wMaxMBperSecFourResolutionsNoScalability", &self.wMaxMBperSecFourResolutionsNoScalability)
20269             .field("wMaxMBperSecOneResolutionTemporalScalability", &self.wMaxMBperSecOneResolutionTemporalScalability)
20270             .field("wMaxMBperSecTwoResolutionsTemporalScalablility", &self.wMaxMBperSecTwoResolutionsTemporalScalablility)
20271             .field("wMaxMBperSecThreeResolutionsTemporalScalability", &self.wMaxMBperSecThreeResolutionsTemporalScalability)
20272             .field("wMaxMBperSecFourResolutionsTemporalScalability", &self.wMaxMBperSecFourResolutionsTemporalScalability)
20273             .field("wMaxMBperSecOneResolutionTemporalQualityScalability", &self.wMaxMBperSecOneResolutionTemporalQualityScalability)
20274             .field("wMaxMBperSecTwoResolutionsTemporalQualityScalability", &self.wMaxMBperSecTwoResolutionsTemporalQualityScalability)
20275             .field("wMaxMBperSecThreeResolutionsTemporalQualityScalablity", &self.wMaxMBperSecThreeResolutionsTemporalQualityScalablity)
20276             .field("wMaxMBperSecFourResolutionsTemporalQualityScalability", &self.wMaxMBperSecFourResolutionsTemporalQualityScalability)
20277             .field("wMaxMBperSecOneResolutionTemporalSpatialScalability", &self.wMaxMBperSecOneResolutionTemporalSpatialScalability)
20278             .field("wMaxMBperSecTwoResolutionsTemporalSpatialScalability", &self.wMaxMBperSecTwoResolutionsTemporalSpatialScalability)
20279             .field("wMaxMBperSecThreeResolutionsTemporalSpatialScalablity", &self.wMaxMBperSecThreeResolutionsTemporalSpatialScalablity)
20280             .field("wMaxMBperSecFourResolutionsTemporalSpatialScalability", &self.wMaxMBperSecFourResolutionsTemporalSpatialScalability)
20281             .field("wMaxMBperSecOneResolutionFullScalability", &self.wMaxMBperSecOneResolutionFullScalability)
20282             .field("wMaxMBperSecTwoResolutionsFullScalability", &self.wMaxMBperSecTwoResolutionsFullScalability)
20283             .field("wMaxMBperSecThreeResolutionsFullScalability", &self.wMaxMBperSecThreeResolutionsFullScalability)
20284             .field("wMaxMBperSecFourResolutionsFullScalability", &self.wMaxMBperSecFourResolutionsFullScalability)
20285             .finish()
20286     }
20287 }
20288 impl ::std::cmp::PartialEq for KS_H264VIDEOINFO {
eq(&self, other: &Self) -> bool20289     fn eq(&self, other: &Self) -> bool {
20290         self.wWidth == other.wWidth
20291             && self.wHeight == other.wHeight
20292             && self.wSARwidth == other.wSARwidth
20293             && self.wSARheight == other.wSARheight
20294             && self.wProfile == other.wProfile
20295             && self.bLevelIDC == other.bLevelIDC
20296             && self.wConstrainedToolset == other.wConstrainedToolset
20297             && self.bmSupportedUsages == other.bmSupportedUsages
20298             && self.bmCapabilities == other.bmCapabilities
20299             && self.bmSVCCapabilities == other.bmSVCCapabilities
20300             && self.bmMVCCapabilities == other.bmMVCCapabilities
20301             && self.dwFrameInterval == other.dwFrameInterval
20302             && self.bMaxCodecConfigDelay == other.bMaxCodecConfigDelay
20303             && self.bmSupportedSliceModes == other.bmSupportedSliceModes
20304             && self.bmSupportedSyncFrameTypes == other.bmSupportedSyncFrameTypes
20305             && self.bResolutionScaling == other.bResolutionScaling
20306             && self.bSimulcastSupport == other.bSimulcastSupport
20307             && self.bmSupportedRateControlModes == other.bmSupportedRateControlModes
20308             && self.wMaxMBperSecOneResolutionNoScalability == other.wMaxMBperSecOneResolutionNoScalability
20309             && self.wMaxMBperSecTwoResolutionsNoScalability == other.wMaxMBperSecTwoResolutionsNoScalability
20310             && self.wMaxMBperSecThreeResolutionsNoScalability == other.wMaxMBperSecThreeResolutionsNoScalability
20311             && self.wMaxMBperSecFourResolutionsNoScalability == other.wMaxMBperSecFourResolutionsNoScalability
20312             && self.wMaxMBperSecOneResolutionTemporalScalability == other.wMaxMBperSecOneResolutionTemporalScalability
20313             && self.wMaxMBperSecTwoResolutionsTemporalScalablility == other.wMaxMBperSecTwoResolutionsTemporalScalablility
20314             && self.wMaxMBperSecThreeResolutionsTemporalScalability == other.wMaxMBperSecThreeResolutionsTemporalScalability
20315             && self.wMaxMBperSecFourResolutionsTemporalScalability == other.wMaxMBperSecFourResolutionsTemporalScalability
20316             && self.wMaxMBperSecOneResolutionTemporalQualityScalability == other.wMaxMBperSecOneResolutionTemporalQualityScalability
20317             && self.wMaxMBperSecTwoResolutionsTemporalQualityScalability == other.wMaxMBperSecTwoResolutionsTemporalQualityScalability
20318             && self.wMaxMBperSecThreeResolutionsTemporalQualityScalablity == other.wMaxMBperSecThreeResolutionsTemporalQualityScalablity
20319             && self.wMaxMBperSecFourResolutionsTemporalQualityScalability == other.wMaxMBperSecFourResolutionsTemporalQualityScalability
20320             && self.wMaxMBperSecOneResolutionTemporalSpatialScalability == other.wMaxMBperSecOneResolutionTemporalSpatialScalability
20321             && self.wMaxMBperSecTwoResolutionsTemporalSpatialScalability == other.wMaxMBperSecTwoResolutionsTemporalSpatialScalability
20322             && self.wMaxMBperSecThreeResolutionsTemporalSpatialScalablity == other.wMaxMBperSecThreeResolutionsTemporalSpatialScalablity
20323             && self.wMaxMBperSecFourResolutionsTemporalSpatialScalability == other.wMaxMBperSecFourResolutionsTemporalSpatialScalability
20324             && self.wMaxMBperSecOneResolutionFullScalability == other.wMaxMBperSecOneResolutionFullScalability
20325             && self.wMaxMBperSecTwoResolutionsFullScalability == other.wMaxMBperSecTwoResolutionsFullScalability
20326             && self.wMaxMBperSecThreeResolutionsFullScalability == other.wMaxMBperSecThreeResolutionsFullScalability
20327             && self.wMaxMBperSecFourResolutionsFullScalability == other.wMaxMBperSecFourResolutionsFullScalability
20328     }
20329 }
20330 impl ::std::cmp::Eq for KS_H264VIDEOINFO {}
20331 unsafe impl ::windows::runtime::Abi for KS_H264VIDEOINFO {
20332     type Abi = Self;
20333     type DefaultType = Self;
20334 }
20335 pub const KS_INTERLACE_1FieldPerSample: u32 = 2u32;
20336 pub const KS_INTERLACE_DisplayModeBobOnly: u32 = 0u32;
20337 pub const KS_INTERLACE_DisplayModeBobOrWeave: u32 = 128u32;
20338 pub const KS_INTERLACE_DisplayModeMask: u32 = 192u32;
20339 pub const KS_INTERLACE_DisplayModeWeaveOnly: u32 = 64u32;
20340 pub const KS_INTERLACE_Field1First: u32 = 4u32;
20341 pub const KS_INTERLACE_FieldPatBothIrregular: u32 = 48u32;
20342 pub const KS_INTERLACE_FieldPatBothRegular: u32 = 32u32;
20343 pub const KS_INTERLACE_FieldPatField1Only: u32 = 0u32;
20344 pub const KS_INTERLACE_FieldPatField2Only: u32 = 16u32;
20345 pub const KS_INTERLACE_FieldPatternMask: u32 = 48u32;
20346 pub const KS_INTERLACE_IsInterlaced: u32 = 1u32;
20347 pub const KS_INTERLACE_UNUSED: u32 = 8u32;
20348 pub const KS_MAX_SIZE_MPEG1_SEQUENCE_INFO: u32 = 140u32;
20349 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
20350 #[repr(C)]
20351 pub struct KS_MPEAUDIOINFO {
20352     pub dwFlags: u32,
20353     pub dwReserved1: u32,
20354     pub dwReserved2: u32,
20355     pub dwReserved3: u32,
20356 }
20357 impl KS_MPEAUDIOINFO {}
20358 impl ::std::default::Default for KS_MPEAUDIOINFO {
default() -> Self20359     fn default() -> Self {
20360         unsafe { ::std::mem::zeroed() }
20361     }
20362 }
20363 impl ::std::fmt::Debug for KS_MPEAUDIOINFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result20364     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
20365         fmt.debug_struct("KS_MPEAUDIOINFO").field("dwFlags", &self.dwFlags).field("dwReserved1", &self.dwReserved1).field("dwReserved2", &self.dwReserved2).field("dwReserved3", &self.dwReserved3).finish()
20366     }
20367 }
20368 impl ::std::cmp::PartialEq for KS_MPEAUDIOINFO {
eq(&self, other: &Self) -> bool20369     fn eq(&self, other: &Self) -> bool {
20370         self.dwFlags == other.dwFlags && self.dwReserved1 == other.dwReserved1 && self.dwReserved2 == other.dwReserved2 && self.dwReserved3 == other.dwReserved3
20371     }
20372 }
20373 impl ::std::cmp::Eq for KS_MPEAUDIOINFO {}
20374 unsafe impl ::windows::runtime::Abi for KS_MPEAUDIOINFO {
20375     type Abi = Self;
20376     type DefaultType = Self;
20377 }
20378 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
20379 #[repr(C)]
20380 #[cfg(feature = "Win32_Foundation")]
20381 pub struct KS_MPEG1VIDEOINFO {
20382     pub hdr: KS_VIDEOINFOHEADER,
20383     pub dwStartTimeCode: u32,
20384     pub cbSequenceHeader: u32,
20385     pub bSequenceHeader: [u8; 1],
20386 }
20387 #[cfg(feature = "Win32_Foundation")]
20388 impl KS_MPEG1VIDEOINFO {}
20389 #[cfg(feature = "Win32_Foundation")]
20390 impl ::std::default::Default for KS_MPEG1VIDEOINFO {
default() -> Self20391     fn default() -> Self {
20392         unsafe { ::std::mem::zeroed() }
20393     }
20394 }
20395 #[cfg(feature = "Win32_Foundation")]
20396 impl ::std::fmt::Debug for KS_MPEG1VIDEOINFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result20397     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
20398         fmt.debug_struct("KS_MPEG1VIDEOINFO").field("hdr", &self.hdr).field("dwStartTimeCode", &self.dwStartTimeCode).field("cbSequenceHeader", &self.cbSequenceHeader).field("bSequenceHeader", &self.bSequenceHeader).finish()
20399     }
20400 }
20401 #[cfg(feature = "Win32_Foundation")]
20402 impl ::std::cmp::PartialEq for KS_MPEG1VIDEOINFO {
eq(&self, other: &Self) -> bool20403     fn eq(&self, other: &Self) -> bool {
20404         self.hdr == other.hdr && self.dwStartTimeCode == other.dwStartTimeCode && self.cbSequenceHeader == other.cbSequenceHeader && self.bSequenceHeader == other.bSequenceHeader
20405     }
20406 }
20407 #[cfg(feature = "Win32_Foundation")]
20408 impl ::std::cmp::Eq for KS_MPEG1VIDEOINFO {}
20409 #[cfg(feature = "Win32_Foundation")]
20410 unsafe impl ::windows::runtime::Abi for KS_MPEG1VIDEOINFO {
20411     type Abi = Self;
20412     type DefaultType = Self;
20413 }
20414 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
20415 #[repr(transparent)]
20416 pub struct KS_MPEG2Level(pub i32);
20417 pub const KS_MPEG2Level_Low: KS_MPEG2Level = KS_MPEG2Level(0i32);
20418 pub const KS_MPEG2Level_Main: KS_MPEG2Level = KS_MPEG2Level(1i32);
20419 pub const KS_MPEG2Level_High1440: KS_MPEG2Level = KS_MPEG2Level(2i32);
20420 pub const KS_MPEG2Level_High: KS_MPEG2Level = KS_MPEG2Level(3i32);
20421 impl ::std::convert::From<i32> for KS_MPEG2Level {
from(value: i32) -> Self20422     fn from(value: i32) -> Self {
20423         Self(value)
20424     }
20425 }
20426 unsafe impl ::windows::runtime::Abi for KS_MPEG2Level {
20427     type Abi = Self;
20428     type DefaultType = Self;
20429 }
20430 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
20431 #[repr(transparent)]
20432 pub struct KS_MPEG2Profile(pub i32);
20433 pub const KS_MPEG2Profile_Simple: KS_MPEG2Profile = KS_MPEG2Profile(0i32);
20434 pub const KS_MPEG2Profile_Main: KS_MPEG2Profile = KS_MPEG2Profile(1i32);
20435 pub const KS_MPEG2Profile_SNRScalable: KS_MPEG2Profile = KS_MPEG2Profile(2i32);
20436 pub const KS_MPEG2Profile_SpatiallyScalable: KS_MPEG2Profile = KS_MPEG2Profile(3i32);
20437 pub const KS_MPEG2Profile_High: KS_MPEG2Profile = KS_MPEG2Profile(4i32);
20438 impl ::std::convert::From<i32> for KS_MPEG2Profile {
from(value: i32) -> Self20439     fn from(value: i32) -> Self {
20440         Self(value)
20441     }
20442 }
20443 unsafe impl ::windows::runtime::Abi for KS_MPEG2Profile {
20444     type Abi = Self;
20445     type DefaultType = Self;
20446 }
20447 pub const KS_MPEG2_27MhzTimebase: u32 = 256u32;
20448 pub const KS_MPEG2_DSS_UserData: u32 = 64u32;
20449 pub const KS_MPEG2_DVB_UserData: u32 = 128u32;
20450 pub const KS_MPEG2_DVDLine21Field1: u32 = 2u32;
20451 pub const KS_MPEG2_DVDLine21Field2: u32 = 4u32;
20452 pub const KS_MPEG2_DoPanScan: u32 = 1u32;
20453 pub const KS_MPEG2_FilmCameraMode: u32 = 16u32;
20454 pub const KS_MPEG2_LetterboxAnalogOut: u32 = 32u32;
20455 pub const KS_MPEG2_SourceIsLetterboxed: u32 = 8u32;
20456 pub const KS_MPEG2_WidescreenAnalogOut: u32 = 512u32;
20457 pub const KS_MPEGAUDIOINFO_27MhzTimebase: u32 = 1u32;
20458 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
20459 #[repr(C)]
20460 #[cfg(feature = "Win32_Foundation")]
20461 pub struct KS_MPEGVIDEOINFO2 {
20462     pub hdr: KS_VIDEOINFOHEADER2,
20463     pub dwStartTimeCode: u32,
20464     pub cbSequenceHeader: u32,
20465     pub dwProfile: u32,
20466     pub dwLevel: u32,
20467     pub dwFlags: u32,
20468     pub bSequenceHeader: [u32; 1],
20469 }
20470 #[cfg(feature = "Win32_Foundation")]
20471 impl KS_MPEGVIDEOINFO2 {}
20472 #[cfg(feature = "Win32_Foundation")]
20473 impl ::std::default::Default for KS_MPEGVIDEOINFO2 {
default() -> Self20474     fn default() -> Self {
20475         unsafe { ::std::mem::zeroed() }
20476     }
20477 }
20478 #[cfg(feature = "Win32_Foundation")]
20479 impl ::std::cmp::PartialEq for KS_MPEGVIDEOINFO2 {
eq(&self, _other: &Self) -> bool20480     fn eq(&self, _other: &Self) -> bool {
20481         unimplemented!()
20482     }
20483 }
20484 #[cfg(feature = "Win32_Foundation")]
20485 impl ::std::cmp::Eq for KS_MPEGVIDEOINFO2 {}
20486 #[cfg(feature = "Win32_Foundation")]
20487 unsafe impl ::windows::runtime::Abi for KS_MPEGVIDEOINFO2 {
20488     type Abi = Self;
20489     type DefaultType = Self;
20490 }
20491 pub const KS_NABTS_GROUPID_LOCAL_CABLE_SYSTEM_ADVERTISER_BASE: u32 = 2224u32;
20492 pub const KS_NABTS_GROUPID_LOCAL_CABLE_SYSTEM_CONTENT_BASE: u32 = 2208u32;
20493 pub const KS_NABTS_GROUPID_MICROSOFT_RESERVED_TEST_DATA_BASE: u32 = 2288u32;
20494 pub const KS_NABTS_GROUPID_NETWORK_WIDE_ADVERTISER_BASE: u32 = 2160u32;
20495 pub const KS_NABTS_GROUPID_NETWORK_WIDE_CONTENT_BASE: u32 = 2144u32;
20496 pub const KS_NABTS_GROUPID_ORIGINAL_CONTENT_ADVERTISER_BASE: u32 = 2064u32;
20497 pub const KS_NABTS_GROUPID_ORIGINAL_CONTENT_BASE: u32 = 2048u32;
20498 pub const KS_NABTS_GROUPID_PRODUCTION_COMPANY_ADVERTISER_BASE: u32 = 2096u32;
20499 pub const KS_NABTS_GROUPID_PRODUCTION_COMPANY_CONTENT_BASE: u32 = 2080u32;
20500 pub const KS_NABTS_GROUPID_SYNDICATED_SHOW_ADVERTISER_BASE: u32 = 2128u32;
20501 pub const KS_NABTS_GROUPID_SYNDICATED_SHOW_CONTENT_BASE: u32 = 2112u32;
20502 pub const KS_NABTS_GROUPID_TELEVISION_STATION_ADVERTISER_BASE: u32 = 2192u32;
20503 pub const KS_NABTS_GROUPID_TELEVISION_STATION_CONTENT_BASE: u32 = 2176u32;
20504 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
20505 #[repr(transparent)]
20506 pub struct KS_PhysicalConnectorType(pub i32);
20507 pub const KS_PhysConn_Video_Tuner: KS_PhysicalConnectorType = KS_PhysicalConnectorType(1i32);
20508 pub const KS_PhysConn_Video_Composite: KS_PhysicalConnectorType = KS_PhysicalConnectorType(2i32);
20509 pub const KS_PhysConn_Video_SVideo: KS_PhysicalConnectorType = KS_PhysicalConnectorType(3i32);
20510 pub const KS_PhysConn_Video_RGB: KS_PhysicalConnectorType = KS_PhysicalConnectorType(4i32);
20511 pub const KS_PhysConn_Video_YRYBY: KS_PhysicalConnectorType = KS_PhysicalConnectorType(5i32);
20512 pub const KS_PhysConn_Video_SerialDigital: KS_PhysicalConnectorType = KS_PhysicalConnectorType(6i32);
20513 pub const KS_PhysConn_Video_ParallelDigital: KS_PhysicalConnectorType = KS_PhysicalConnectorType(7i32);
20514 pub const KS_PhysConn_Video_SCSI: KS_PhysicalConnectorType = KS_PhysicalConnectorType(8i32);
20515 pub const KS_PhysConn_Video_AUX: KS_PhysicalConnectorType = KS_PhysicalConnectorType(9i32);
20516 pub const KS_PhysConn_Video_1394: KS_PhysicalConnectorType = KS_PhysicalConnectorType(10i32);
20517 pub const KS_PhysConn_Video_USB: KS_PhysicalConnectorType = KS_PhysicalConnectorType(11i32);
20518 pub const KS_PhysConn_Video_VideoDecoder: KS_PhysicalConnectorType = KS_PhysicalConnectorType(12i32);
20519 pub const KS_PhysConn_Video_VideoEncoder: KS_PhysicalConnectorType = KS_PhysicalConnectorType(13i32);
20520 pub const KS_PhysConn_Video_SCART: KS_PhysicalConnectorType = KS_PhysicalConnectorType(14i32);
20521 pub const KS_PhysConn_Audio_Tuner: KS_PhysicalConnectorType = KS_PhysicalConnectorType(4096i32);
20522 pub const KS_PhysConn_Audio_Line: KS_PhysicalConnectorType = KS_PhysicalConnectorType(4097i32);
20523 pub const KS_PhysConn_Audio_Mic: KS_PhysicalConnectorType = KS_PhysicalConnectorType(4098i32);
20524 pub const KS_PhysConn_Audio_AESDigital: KS_PhysicalConnectorType = KS_PhysicalConnectorType(4099i32);
20525 pub const KS_PhysConn_Audio_SPDIFDigital: KS_PhysicalConnectorType = KS_PhysicalConnectorType(4100i32);
20526 pub const KS_PhysConn_Audio_SCSI: KS_PhysicalConnectorType = KS_PhysicalConnectorType(4101i32);
20527 pub const KS_PhysConn_Audio_AUX: KS_PhysicalConnectorType = KS_PhysicalConnectorType(4102i32);
20528 pub const KS_PhysConn_Audio_1394: KS_PhysicalConnectorType = KS_PhysicalConnectorType(4103i32);
20529 pub const KS_PhysConn_Audio_USB: KS_PhysicalConnectorType = KS_PhysicalConnectorType(4104i32);
20530 pub const KS_PhysConn_Audio_AudioDecoder: KS_PhysicalConnectorType = KS_PhysicalConnectorType(4105i32);
20531 impl ::std::convert::From<i32> for KS_PhysicalConnectorType {
from(value: i32) -> Self20532     fn from(value: i32) -> Self {
20533         Self(value)
20534     }
20535 }
20536 unsafe impl ::windows::runtime::Abi for KS_PhysicalConnectorType {
20537     type Abi = Self;
20538     type DefaultType = Self;
20539 }
20540 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
20541 #[repr(C)]
20542 pub struct KS_RGBQUAD {
20543     pub rgbBlue: u8,
20544     pub rgbGreen: u8,
20545     pub rgbRed: u8,
20546     pub rgbReserved: u8,
20547 }
20548 impl KS_RGBQUAD {}
20549 impl ::std::default::Default for KS_RGBQUAD {
default() -> Self20550     fn default() -> Self {
20551         unsafe { ::std::mem::zeroed() }
20552     }
20553 }
20554 impl ::std::fmt::Debug for KS_RGBQUAD {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result20555     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
20556         fmt.debug_struct("KS_RGBQUAD").field("rgbBlue", &self.rgbBlue).field("rgbGreen", &self.rgbGreen).field("rgbRed", &self.rgbRed).field("rgbReserved", &self.rgbReserved).finish()
20557     }
20558 }
20559 impl ::std::cmp::PartialEq for KS_RGBQUAD {
eq(&self, other: &Self) -> bool20560     fn eq(&self, other: &Self) -> bool {
20561         self.rgbBlue == other.rgbBlue && self.rgbGreen == other.rgbGreen && self.rgbRed == other.rgbRed && self.rgbReserved == other.rgbReserved
20562     }
20563 }
20564 impl ::std::cmp::Eq for KS_RGBQUAD {}
20565 unsafe impl ::windows::runtime::Abi for KS_RGBQUAD {
20566     type Abi = Self;
20567     type DefaultType = Self;
20568 }
20569 pub const KS_SECURE_CAMERA_SCENARIO_ID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2924739694, 36233, 17544, [157, 46, 77, 0, 135, 49, 197, 253]);
20570 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
20571 #[repr(transparent)]
20572 pub struct KS_SEEKING_CAPABILITIES(pub i32);
20573 pub const KS_SEEKING_CanSeekAbsolute: KS_SEEKING_CAPABILITIES = KS_SEEKING_CAPABILITIES(1i32);
20574 pub const KS_SEEKING_CanSeekForwards: KS_SEEKING_CAPABILITIES = KS_SEEKING_CAPABILITIES(2i32);
20575 pub const KS_SEEKING_CanSeekBackwards: KS_SEEKING_CAPABILITIES = KS_SEEKING_CAPABILITIES(4i32);
20576 pub const KS_SEEKING_CanGetCurrentPos: KS_SEEKING_CAPABILITIES = KS_SEEKING_CAPABILITIES(8i32);
20577 pub const KS_SEEKING_CanGetStopPos: KS_SEEKING_CAPABILITIES = KS_SEEKING_CAPABILITIES(16i32);
20578 pub const KS_SEEKING_CanGetDuration: KS_SEEKING_CAPABILITIES = KS_SEEKING_CAPABILITIES(32i32);
20579 pub const KS_SEEKING_CanPlayBackwards: KS_SEEKING_CAPABILITIES = KS_SEEKING_CAPABILITIES(64i32);
20580 impl ::std::convert::From<i32> for KS_SEEKING_CAPABILITIES {
from(value: i32) -> Self20581     fn from(value: i32) -> Self {
20582         Self(value)
20583     }
20584 }
20585 unsafe impl ::windows::runtime::Abi for KS_SEEKING_CAPABILITIES {
20586     type Abi = Self;
20587     type DefaultType = Self;
20588 }
20589 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
20590 #[repr(transparent)]
20591 pub struct KS_SEEKING_FLAGS(pub i32);
20592 pub const KS_SEEKING_NoPositioning: KS_SEEKING_FLAGS = KS_SEEKING_FLAGS(0i32);
20593 pub const KS_SEEKING_AbsolutePositioning: KS_SEEKING_FLAGS = KS_SEEKING_FLAGS(1i32);
20594 pub const KS_SEEKING_RelativePositioning: KS_SEEKING_FLAGS = KS_SEEKING_FLAGS(2i32);
20595 pub const KS_SEEKING_IncrementalPositioning: KS_SEEKING_FLAGS = KS_SEEKING_FLAGS(3i32);
20596 pub const KS_SEEKING_PositioningBitsMask: KS_SEEKING_FLAGS = KS_SEEKING_FLAGS(3i32);
20597 pub const KS_SEEKING_SeekToKeyFrame: KS_SEEKING_FLAGS = KS_SEEKING_FLAGS(4i32);
20598 pub const KS_SEEKING_ReturnTime: KS_SEEKING_FLAGS = KS_SEEKING_FLAGS(8i32);
20599 impl ::std::convert::From<i32> for KS_SEEKING_FLAGS {
from(value: i32) -> Self20600     fn from(value: i32) -> Self {
20601         Self(value)
20602     }
20603 }
20604 unsafe impl ::windows::runtime::Abi for KS_SEEKING_FLAGS {
20605     type Abi = Self;
20606     type DefaultType = Self;
20607 }
20608 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
20609 #[repr(C)]
20610 pub struct KS_TRUECOLORINFO {
20611     pub dwBitMasks: [u32; 3],
20612     pub bmiColors: [KS_RGBQUAD; 256],
20613 }
20614 impl KS_TRUECOLORINFO {}
20615 impl ::std::default::Default for KS_TRUECOLORINFO {
default() -> Self20616     fn default() -> Self {
20617         unsafe { ::std::mem::zeroed() }
20618     }
20619 }
20620 impl ::std::fmt::Debug for KS_TRUECOLORINFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result20621     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
20622         fmt.debug_struct("KS_TRUECOLORINFO").field("dwBitMasks", &self.dwBitMasks).field("bmiColors", &self.bmiColors).finish()
20623     }
20624 }
20625 impl ::std::cmp::PartialEq for KS_TRUECOLORINFO {
eq(&self, other: &Self) -> bool20626     fn eq(&self, other: &Self) -> bool {
20627         self.dwBitMasks == other.dwBitMasks && self.bmiColors == other.bmiColors
20628     }
20629 }
20630 impl ::std::cmp::Eq for KS_TRUECOLORINFO {}
20631 unsafe impl ::windows::runtime::Abi for KS_TRUECOLORINFO {
20632     type Abi = Self;
20633     type DefaultType = Self;
20634 }
20635 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
20636 #[repr(transparent)]
20637 pub struct KS_TUNER_STRATEGY(pub i32);
20638 pub const KS_TUNER_STRATEGY_PLL: KS_TUNER_STRATEGY = KS_TUNER_STRATEGY(1i32);
20639 pub const KS_TUNER_STRATEGY_SIGNAL_STRENGTH: KS_TUNER_STRATEGY = KS_TUNER_STRATEGY(2i32);
20640 pub const KS_TUNER_STRATEGY_DRIVER_TUNES: KS_TUNER_STRATEGY = KS_TUNER_STRATEGY(4i32);
20641 impl ::std::convert::From<i32> for KS_TUNER_STRATEGY {
from(value: i32) -> Self20642     fn from(value: i32) -> Self {
20643         Self(value)
20644     }
20645 }
20646 unsafe impl ::windows::runtime::Abi for KS_TUNER_STRATEGY {
20647     type Abi = Self;
20648     type DefaultType = Self;
20649 }
20650 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
20651 #[repr(transparent)]
20652 pub struct KS_TUNER_TUNING_FLAGS(pub i32);
20653 pub const KS_TUNER_TUNING_EXACT: KS_TUNER_TUNING_FLAGS = KS_TUNER_TUNING_FLAGS(1i32);
20654 pub const KS_TUNER_TUNING_FINE: KS_TUNER_TUNING_FLAGS = KS_TUNER_TUNING_FLAGS(2i32);
20655 pub const KS_TUNER_TUNING_COARSE: KS_TUNER_TUNING_FLAGS = KS_TUNER_TUNING_FLAGS(3i32);
20656 impl ::std::convert::From<i32> for KS_TUNER_TUNING_FLAGS {
from(value: i32) -> Self20657     fn from(value: i32) -> Self {
20658         Self(value)
20659     }
20660 }
20661 unsafe impl ::windows::runtime::Abi for KS_TUNER_TUNING_FLAGS {
20662     type Abi = Self;
20663     type DefaultType = Self;
20664 }
20665 pub const KS_TVAUDIO_MODE_LANG_A: u32 = 16u32;
20666 pub const KS_TVAUDIO_MODE_LANG_B: u32 = 32u32;
20667 pub const KS_TVAUDIO_MODE_LANG_C: u32 = 64u32;
20668 pub const KS_TVAUDIO_MODE_MONO: u32 = 1u32;
20669 pub const KS_TVAUDIO_MODE_STEREO: u32 = 2u32;
20670 pub const KS_TVAUDIO_PRESET_LANG_A: u32 = 4096u32;
20671 pub const KS_TVAUDIO_PRESET_LANG_B: u32 = 8192u32;
20672 pub const KS_TVAUDIO_PRESET_LANG_C: u32 = 16384u32;
20673 pub const KS_TVAUDIO_PRESET_STEREO: u32 = 512u32;
20674 pub const KS_TVTUNER_CHANGE_BEGIN_TUNE: i32 = 1i32;
20675 pub const KS_TVTUNER_CHANGE_END_TUNE: i32 = 2i32;
20676 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
20677 #[repr(C)]
20678 pub struct KS_TVTUNER_CHANGE_INFO {
20679     pub dwFlags: u32,
20680     pub dwCountryCode: u32,
20681     pub dwAnalogVideoStandard: u32,
20682     pub dwChannel: u32,
20683 }
20684 impl KS_TVTUNER_CHANGE_INFO {}
20685 impl ::std::default::Default for KS_TVTUNER_CHANGE_INFO {
default() -> Self20686     fn default() -> Self {
20687         unsafe { ::std::mem::zeroed() }
20688     }
20689 }
20690 impl ::std::fmt::Debug for KS_TVTUNER_CHANGE_INFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result20691     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
20692         fmt.debug_struct("KS_TVTUNER_CHANGE_INFO").field("dwFlags", &self.dwFlags).field("dwCountryCode", &self.dwCountryCode).field("dwAnalogVideoStandard", &self.dwAnalogVideoStandard).field("dwChannel", &self.dwChannel).finish()
20693     }
20694 }
20695 impl ::std::cmp::PartialEq for KS_TVTUNER_CHANGE_INFO {
eq(&self, other: &Self) -> bool20696     fn eq(&self, other: &Self) -> bool {
20697         self.dwFlags == other.dwFlags && self.dwCountryCode == other.dwCountryCode && self.dwAnalogVideoStandard == other.dwAnalogVideoStandard && self.dwChannel == other.dwChannel
20698     }
20699 }
20700 impl ::std::cmp::Eq for KS_TVTUNER_CHANGE_INFO {}
20701 unsafe impl ::windows::runtime::Abi for KS_TVTUNER_CHANGE_INFO {
20702     type Abi = Self;
20703     type DefaultType = Self;
20704 }
20705 pub const KS_VBICAP_PROTECTION_MV_DETECTED: i32 = 4i32;
20706 pub const KS_VBICAP_PROTECTION_MV_HARDWARE: i32 = 2i32;
20707 pub const KS_VBICAP_PROTECTION_MV_PRESENT: i32 = 1i32;
20708 pub const KS_VBIDATARATE_CC: i32 = 503493i32;
20709 pub const KS_VBIDATARATE_NABTS: i32 = 5727272i32;
20710 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
20711 #[repr(C)]
20712 pub struct KS_VBIINFOHEADER {
20713     pub StartLine: u32,
20714     pub EndLine: u32,
20715     pub SamplingFrequency: u32,
20716     pub MinLineStartTime: u32,
20717     pub MaxLineStartTime: u32,
20718     pub ActualLineStartTime: u32,
20719     pub ActualLineEndTime: u32,
20720     pub VideoStandard: u32,
20721     pub SamplesPerLine: u32,
20722     pub StrideInBytes: u32,
20723     pub BufferSize: u32,
20724 }
20725 impl KS_VBIINFOHEADER {}
20726 impl ::std::default::Default for KS_VBIINFOHEADER {
default() -> Self20727     fn default() -> Self {
20728         unsafe { ::std::mem::zeroed() }
20729     }
20730 }
20731 impl ::std::fmt::Debug for KS_VBIINFOHEADER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result20732     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
20733         fmt.debug_struct("KS_VBIINFOHEADER")
20734             .field("StartLine", &self.StartLine)
20735             .field("EndLine", &self.EndLine)
20736             .field("SamplingFrequency", &self.SamplingFrequency)
20737             .field("MinLineStartTime", &self.MinLineStartTime)
20738             .field("MaxLineStartTime", &self.MaxLineStartTime)
20739             .field("ActualLineStartTime", &self.ActualLineStartTime)
20740             .field("ActualLineEndTime", &self.ActualLineEndTime)
20741             .field("VideoStandard", &self.VideoStandard)
20742             .field("SamplesPerLine", &self.SamplesPerLine)
20743             .field("StrideInBytes", &self.StrideInBytes)
20744             .field("BufferSize", &self.BufferSize)
20745             .finish()
20746     }
20747 }
20748 impl ::std::cmp::PartialEq for KS_VBIINFOHEADER {
eq(&self, other: &Self) -> bool20749     fn eq(&self, other: &Self) -> bool {
20750         self.StartLine == other.StartLine
20751             && self.EndLine == other.EndLine
20752             && self.SamplingFrequency == other.SamplingFrequency
20753             && self.MinLineStartTime == other.MinLineStartTime
20754             && self.MaxLineStartTime == other.MaxLineStartTime
20755             && self.ActualLineStartTime == other.ActualLineStartTime
20756             && self.ActualLineEndTime == other.ActualLineEndTime
20757             && self.VideoStandard == other.VideoStandard
20758             && self.SamplesPerLine == other.SamplesPerLine
20759             && self.StrideInBytes == other.StrideInBytes
20760             && self.BufferSize == other.BufferSize
20761     }
20762 }
20763 impl ::std::cmp::Eq for KS_VBIINFOHEADER {}
20764 unsafe impl ::windows::runtime::Abi for KS_VBIINFOHEADER {
20765     type Abi = Self;
20766     type DefaultType = Self;
20767 }
20768 pub const KS_VBI_FLAG_FIELD1: i32 = 1i32;
20769 pub const KS_VBI_FLAG_FIELD2: i32 = 2i32;
20770 pub const KS_VBI_FLAG_FRAME: i32 = 0i32;
20771 pub const KS_VBI_FLAG_MV_DETECTED: i32 = 1024i32;
20772 pub const KS_VBI_FLAG_MV_HARDWARE: i32 = 512i32;
20773 pub const KS_VBI_FLAG_MV_PRESENT: i32 = 256i32;
20774 pub const KS_VBI_FLAG_TVTUNER_CHANGE: i32 = 16i32;
20775 pub const KS_VBI_FLAG_VBIINFOHEADER_CHANGE: i32 = 32i32;
20776 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
20777 #[repr(C)]
20778 pub struct KS_VBI_FRAME_INFO {
20779     pub ExtendedHeaderSize: u32,
20780     pub dwFrameFlags: u32,
20781     pub PictureNumber: i64,
20782     pub DropCount: i64,
20783     pub dwSamplingFrequency: u32,
20784     pub TvTunerChangeInfo: KS_TVTUNER_CHANGE_INFO,
20785     pub VBIInfoHeader: KS_VBIINFOHEADER,
20786 }
20787 impl KS_VBI_FRAME_INFO {}
20788 impl ::std::default::Default for KS_VBI_FRAME_INFO {
default() -> Self20789     fn default() -> Self {
20790         unsafe { ::std::mem::zeroed() }
20791     }
20792 }
20793 impl ::std::fmt::Debug for KS_VBI_FRAME_INFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result20794     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
20795         fmt.debug_struct("KS_VBI_FRAME_INFO")
20796             .field("ExtendedHeaderSize", &self.ExtendedHeaderSize)
20797             .field("dwFrameFlags", &self.dwFrameFlags)
20798             .field("PictureNumber", &self.PictureNumber)
20799             .field("DropCount", &self.DropCount)
20800             .field("dwSamplingFrequency", &self.dwSamplingFrequency)
20801             .field("TvTunerChangeInfo", &self.TvTunerChangeInfo)
20802             .field("VBIInfoHeader", &self.VBIInfoHeader)
20803             .finish()
20804     }
20805 }
20806 impl ::std::cmp::PartialEq for KS_VBI_FRAME_INFO {
eq(&self, other: &Self) -> bool20807     fn eq(&self, other: &Self) -> bool {
20808         self.ExtendedHeaderSize == other.ExtendedHeaderSize && self.dwFrameFlags == other.dwFrameFlags && self.PictureNumber == other.PictureNumber && self.DropCount == other.DropCount && self.dwSamplingFrequency == other.dwSamplingFrequency && self.TvTunerChangeInfo == other.TvTunerChangeInfo && self.VBIInfoHeader == other.VBIInfoHeader
20809     }
20810 }
20811 impl ::std::cmp::Eq for KS_VBI_FRAME_INFO {}
20812 unsafe impl ::windows::runtime::Abi for KS_VBI_FRAME_INFO {
20813     type Abi = Self;
20814     type DefaultType = Self;
20815 }
20816 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
20817 #[repr(transparent)]
20818 pub struct KS_VIDEODECODER_FLAGS(pub i32);
20819 pub const KS_VIDEODECODER_FLAGS_CAN_DISABLE_OUTPUT: KS_VIDEODECODER_FLAGS = KS_VIDEODECODER_FLAGS(1i32);
20820 pub const KS_VIDEODECODER_FLAGS_CAN_USE_VCR_LOCKING: KS_VIDEODECODER_FLAGS = KS_VIDEODECODER_FLAGS(2i32);
20821 pub const KS_VIDEODECODER_FLAGS_CAN_INDICATE_LOCKED: KS_VIDEODECODER_FLAGS = KS_VIDEODECODER_FLAGS(4i32);
20822 impl ::std::convert::From<i32> for KS_VIDEODECODER_FLAGS {
from(value: i32) -> Self20823     fn from(value: i32) -> Self {
20824         Self(value)
20825     }
20826 }
20827 unsafe impl ::windows::runtime::Abi for KS_VIDEODECODER_FLAGS {
20828     type Abi = Self;
20829     type DefaultType = Self;
20830 }
20831 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
20832 #[repr(C)]
20833 #[cfg(feature = "Win32_Foundation")]
20834 pub struct KS_VIDEOINFO {
20835     pub rcSource: super::super::super::Foundation::RECT,
20836     pub rcTarget: super::super::super::Foundation::RECT,
20837     pub dwBitRate: u32,
20838     pub dwBitErrorRate: u32,
20839     pub AvgTimePerFrame: i64,
20840     pub bmiHeader: KS_BITMAPINFOHEADER,
20841     pub Anonymous: KS_VIDEOINFO_0,
20842 }
20843 #[cfg(feature = "Win32_Foundation")]
20844 impl KS_VIDEOINFO {}
20845 #[cfg(feature = "Win32_Foundation")]
20846 impl ::std::default::Default for KS_VIDEOINFO {
default() -> Self20847     fn default() -> Self {
20848         unsafe { ::std::mem::zeroed() }
20849     }
20850 }
20851 #[cfg(feature = "Win32_Foundation")]
20852 impl ::std::cmp::PartialEq for KS_VIDEOINFO {
eq(&self, _other: &Self) -> bool20853     fn eq(&self, _other: &Self) -> bool {
20854         unimplemented!()
20855     }
20856 }
20857 #[cfg(feature = "Win32_Foundation")]
20858 impl ::std::cmp::Eq for KS_VIDEOINFO {}
20859 #[cfg(feature = "Win32_Foundation")]
20860 unsafe impl ::windows::runtime::Abi for KS_VIDEOINFO {
20861     type Abi = Self;
20862     type DefaultType = Self;
20863 }
20864 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
20865 #[repr(C)]
20866 pub union KS_VIDEOINFO_0 {
20867     pub bmiColors: [KS_RGBQUAD; 256],
20868     pub dwBitMasks: [u32; 3],
20869     pub TrueColorInfo: KS_TRUECOLORINFO,
20870 }
20871 impl KS_VIDEOINFO_0 {}
20872 impl ::std::default::Default for KS_VIDEOINFO_0 {
default() -> Self20873     fn default() -> Self {
20874         unsafe { ::std::mem::zeroed() }
20875     }
20876 }
20877 impl ::std::cmp::PartialEq for KS_VIDEOINFO_0 {
eq(&self, _other: &Self) -> bool20878     fn eq(&self, _other: &Self) -> bool {
20879         unimplemented!()
20880     }
20881 }
20882 impl ::std::cmp::Eq for KS_VIDEOINFO_0 {}
20883 unsafe impl ::windows::runtime::Abi for KS_VIDEOINFO_0 {
20884     type Abi = Self;
20885     type DefaultType = Self;
20886 }
20887 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
20888 #[repr(C)]
20889 #[cfg(feature = "Win32_Foundation")]
20890 pub struct KS_VIDEOINFOHEADER {
20891     pub rcSource: super::super::super::Foundation::RECT,
20892     pub rcTarget: super::super::super::Foundation::RECT,
20893     pub dwBitRate: u32,
20894     pub dwBitErrorRate: u32,
20895     pub AvgTimePerFrame: i64,
20896     pub bmiHeader: KS_BITMAPINFOHEADER,
20897 }
20898 #[cfg(feature = "Win32_Foundation")]
20899 impl KS_VIDEOINFOHEADER {}
20900 #[cfg(feature = "Win32_Foundation")]
20901 impl ::std::default::Default for KS_VIDEOINFOHEADER {
default() -> Self20902     fn default() -> Self {
20903         unsafe { ::std::mem::zeroed() }
20904     }
20905 }
20906 #[cfg(feature = "Win32_Foundation")]
20907 impl ::std::fmt::Debug for KS_VIDEOINFOHEADER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result20908     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
20909         fmt.debug_struct("KS_VIDEOINFOHEADER").field("rcSource", &self.rcSource).field("rcTarget", &self.rcTarget).field("dwBitRate", &self.dwBitRate).field("dwBitErrorRate", &self.dwBitErrorRate).field("AvgTimePerFrame", &self.AvgTimePerFrame).field("bmiHeader", &self.bmiHeader).finish()
20910     }
20911 }
20912 #[cfg(feature = "Win32_Foundation")]
20913 impl ::std::cmp::PartialEq for KS_VIDEOINFOHEADER {
eq(&self, other: &Self) -> bool20914     fn eq(&self, other: &Self) -> bool {
20915         self.rcSource == other.rcSource && self.rcTarget == other.rcTarget && self.dwBitRate == other.dwBitRate && self.dwBitErrorRate == other.dwBitErrorRate && self.AvgTimePerFrame == other.AvgTimePerFrame && self.bmiHeader == other.bmiHeader
20916     }
20917 }
20918 #[cfg(feature = "Win32_Foundation")]
20919 impl ::std::cmp::Eq for KS_VIDEOINFOHEADER {}
20920 #[cfg(feature = "Win32_Foundation")]
20921 unsafe impl ::windows::runtime::Abi for KS_VIDEOINFOHEADER {
20922     type Abi = Self;
20923     type DefaultType = Self;
20924 }
20925 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
20926 #[repr(C)]
20927 #[cfg(feature = "Win32_Foundation")]
20928 pub struct KS_VIDEOINFOHEADER2 {
20929     pub rcSource: super::super::super::Foundation::RECT,
20930     pub rcTarget: super::super::super::Foundation::RECT,
20931     pub dwBitRate: u32,
20932     pub dwBitErrorRate: u32,
20933     pub AvgTimePerFrame: i64,
20934     pub dwInterlaceFlags: u32,
20935     pub dwCopyProtectFlags: u32,
20936     pub dwPictAspectRatioX: u32,
20937     pub dwPictAspectRatioY: u32,
20938     pub Anonymous: KS_VIDEOINFOHEADER2_0,
20939     pub dwReserved2: u32,
20940     pub bmiHeader: KS_BITMAPINFOHEADER,
20941 }
20942 #[cfg(feature = "Win32_Foundation")]
20943 impl KS_VIDEOINFOHEADER2 {}
20944 #[cfg(feature = "Win32_Foundation")]
20945 impl ::std::default::Default for KS_VIDEOINFOHEADER2 {
default() -> Self20946     fn default() -> Self {
20947         unsafe { ::std::mem::zeroed() }
20948     }
20949 }
20950 #[cfg(feature = "Win32_Foundation")]
20951 impl ::std::cmp::PartialEq for KS_VIDEOINFOHEADER2 {
eq(&self, _other: &Self) -> bool20952     fn eq(&self, _other: &Self) -> bool {
20953         unimplemented!()
20954     }
20955 }
20956 #[cfg(feature = "Win32_Foundation")]
20957 impl ::std::cmp::Eq for KS_VIDEOINFOHEADER2 {}
20958 #[cfg(feature = "Win32_Foundation")]
20959 unsafe impl ::windows::runtime::Abi for KS_VIDEOINFOHEADER2 {
20960     type Abi = Self;
20961     type DefaultType = Self;
20962 }
20963 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
20964 #[repr(C)]
20965 pub union KS_VIDEOINFOHEADER2_0 {
20966     pub dwControlFlags: u32,
20967     pub dwReserved1: u32,
20968 }
20969 impl KS_VIDEOINFOHEADER2_0 {}
20970 impl ::std::default::Default for KS_VIDEOINFOHEADER2_0 {
default() -> Self20971     fn default() -> Self {
20972         unsafe { ::std::mem::zeroed() }
20973     }
20974 }
20975 impl ::std::cmp::PartialEq for KS_VIDEOINFOHEADER2_0 {
eq(&self, _other: &Self) -> bool20976     fn eq(&self, _other: &Self) -> bool {
20977         unimplemented!()
20978     }
20979 }
20980 impl ::std::cmp::Eq for KS_VIDEOINFOHEADER2_0 {}
20981 unsafe impl ::windows::runtime::Abi for KS_VIDEOINFOHEADER2_0 {
20982     type Abi = Self;
20983     type DefaultType = Self;
20984 }
20985 pub const KS_VIDEOSTREAM_CAPTURE: u32 = 2u32;
20986 pub const KS_VIDEOSTREAM_CC: u32 = 256u32;
20987 pub const KS_VIDEOSTREAM_EDS: u32 = 512u32;
20988 pub const KS_VIDEOSTREAM_IS_VPE: u32 = 32768u32;
20989 pub const KS_VIDEOSTREAM_NABTS: u32 = 32u32;
20990 pub const KS_VIDEOSTREAM_PREVIEW: u32 = 1u32;
20991 pub const KS_VIDEOSTREAM_STILL: u32 = 4096u32;
20992 pub const KS_VIDEOSTREAM_TELETEXT: u32 = 1024u32;
20993 pub const KS_VIDEOSTREAM_VBI: u32 = 16u32;
20994 pub const KS_VIDEO_ALLOC_VPE_AGP: u32 = 4u32;
20995 pub const KS_VIDEO_ALLOC_VPE_DISPLAY: u32 = 2u32;
20996 pub const KS_VIDEO_ALLOC_VPE_SYSTEM: u32 = 1u32;
20997 pub const KS_VIDEO_FLAG_B_FRAME: i32 = 32i32;
20998 pub const KS_VIDEO_FLAG_FIELD1: i32 = 1i32;
20999 pub const KS_VIDEO_FLAG_FIELD1FIRST: i32 = 4i32;
21000 pub const KS_VIDEO_FLAG_FIELD2: i32 = 2i32;
21001 pub const KS_VIDEO_FLAG_FIELD_MASK: i32 = 3i32;
21002 pub const KS_VIDEO_FLAG_FRAME: i32 = 0i32;
21003 pub const KS_VIDEO_FLAG_IPB_MASK: i32 = 48i32;
21004 pub const KS_VIDEO_FLAG_I_FRAME: i32 = 0i32;
21005 pub const KS_VIDEO_FLAG_P_FRAME: i32 = 16i32;
21006 pub const KS_VIDEO_FLAG_REPEAT_FIELD: i32 = 64i32;
21007 pub const KS_VIDEO_FLAG_WEAVE: i32 = 8i32;
21008 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21009 #[repr(C)]
21010 #[cfg(feature = "Win32_Foundation")]
21011 pub struct KS_VIDEO_STREAM_CONFIG_CAPS {
21012     pub guid: ::windows::runtime::GUID,
21013     pub VideoStandard: u32,
21014     pub InputSize: super::super::super::Foundation::SIZE,
21015     pub MinCroppingSize: super::super::super::Foundation::SIZE,
21016     pub MaxCroppingSize: super::super::super::Foundation::SIZE,
21017     pub CropGranularityX: i32,
21018     pub CropGranularityY: i32,
21019     pub CropAlignX: i32,
21020     pub CropAlignY: i32,
21021     pub MinOutputSize: super::super::super::Foundation::SIZE,
21022     pub MaxOutputSize: super::super::super::Foundation::SIZE,
21023     pub OutputGranularityX: i32,
21024     pub OutputGranularityY: i32,
21025     pub StretchTapsX: i32,
21026     pub StretchTapsY: i32,
21027     pub ShrinkTapsX: i32,
21028     pub ShrinkTapsY: i32,
21029     pub MinFrameInterval: i64,
21030     pub MaxFrameInterval: i64,
21031     pub MinBitsPerSecond: i32,
21032     pub MaxBitsPerSecond: i32,
21033 }
21034 #[cfg(feature = "Win32_Foundation")]
21035 impl KS_VIDEO_STREAM_CONFIG_CAPS {}
21036 #[cfg(feature = "Win32_Foundation")]
21037 impl ::std::default::Default for KS_VIDEO_STREAM_CONFIG_CAPS {
default() -> Self21038     fn default() -> Self {
21039         unsafe { ::std::mem::zeroed() }
21040     }
21041 }
21042 #[cfg(feature = "Win32_Foundation")]
21043 impl ::std::fmt::Debug for KS_VIDEO_STREAM_CONFIG_CAPS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result21044     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
21045         fmt.debug_struct("KS_VIDEO_STREAM_CONFIG_CAPS")
21046             .field("guid", &self.guid)
21047             .field("VideoStandard", &self.VideoStandard)
21048             .field("InputSize", &self.InputSize)
21049             .field("MinCroppingSize", &self.MinCroppingSize)
21050             .field("MaxCroppingSize", &self.MaxCroppingSize)
21051             .field("CropGranularityX", &self.CropGranularityX)
21052             .field("CropGranularityY", &self.CropGranularityY)
21053             .field("CropAlignX", &self.CropAlignX)
21054             .field("CropAlignY", &self.CropAlignY)
21055             .field("MinOutputSize", &self.MinOutputSize)
21056             .field("MaxOutputSize", &self.MaxOutputSize)
21057             .field("OutputGranularityX", &self.OutputGranularityX)
21058             .field("OutputGranularityY", &self.OutputGranularityY)
21059             .field("StretchTapsX", &self.StretchTapsX)
21060             .field("StretchTapsY", &self.StretchTapsY)
21061             .field("ShrinkTapsX", &self.ShrinkTapsX)
21062             .field("ShrinkTapsY", &self.ShrinkTapsY)
21063             .field("MinFrameInterval", &self.MinFrameInterval)
21064             .field("MaxFrameInterval", &self.MaxFrameInterval)
21065             .field("MinBitsPerSecond", &self.MinBitsPerSecond)
21066             .field("MaxBitsPerSecond", &self.MaxBitsPerSecond)
21067             .finish()
21068     }
21069 }
21070 #[cfg(feature = "Win32_Foundation")]
21071 impl ::std::cmp::PartialEq for KS_VIDEO_STREAM_CONFIG_CAPS {
eq(&self, other: &Self) -> bool21072     fn eq(&self, other: &Self) -> bool {
21073         self.guid == other.guid
21074             && self.VideoStandard == other.VideoStandard
21075             && self.InputSize == other.InputSize
21076             && self.MinCroppingSize == other.MinCroppingSize
21077             && self.MaxCroppingSize == other.MaxCroppingSize
21078             && self.CropGranularityX == other.CropGranularityX
21079             && self.CropGranularityY == other.CropGranularityY
21080             && self.CropAlignX == other.CropAlignX
21081             && self.CropAlignY == other.CropAlignY
21082             && self.MinOutputSize == other.MinOutputSize
21083             && self.MaxOutputSize == other.MaxOutputSize
21084             && self.OutputGranularityX == other.OutputGranularityX
21085             && self.OutputGranularityY == other.OutputGranularityY
21086             && self.StretchTapsX == other.StretchTapsX
21087             && self.StretchTapsY == other.StretchTapsY
21088             && self.ShrinkTapsX == other.ShrinkTapsX
21089             && self.ShrinkTapsY == other.ShrinkTapsY
21090             && self.MinFrameInterval == other.MinFrameInterval
21091             && self.MaxFrameInterval == other.MaxFrameInterval
21092             && self.MinBitsPerSecond == other.MinBitsPerSecond
21093             && self.MaxBitsPerSecond == other.MaxBitsPerSecond
21094     }
21095 }
21096 #[cfg(feature = "Win32_Foundation")]
21097 impl ::std::cmp::Eq for KS_VIDEO_STREAM_CONFIG_CAPS {}
21098 #[cfg(feature = "Win32_Foundation")]
21099 unsafe impl ::windows::runtime::Abi for KS_VIDEO_STREAM_CONFIG_CAPS {
21100     type Abi = Self;
21101     type DefaultType = Self;
21102 }
21103 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
21104 #[repr(transparent)]
21105 pub struct KS_VideoControlFlags(pub i32);
21106 pub const KS_VideoControlFlag_FlipHorizontal: KS_VideoControlFlags = KS_VideoControlFlags(1i32);
21107 pub const KS_VideoControlFlag_FlipVertical: KS_VideoControlFlags = KS_VideoControlFlags(2i32);
21108 pub const KS_Obsolete_VideoControlFlag_ExternalTriggerEnable: KS_VideoControlFlags = KS_VideoControlFlags(16i32);
21109 pub const KS_Obsolete_VideoControlFlag_Trigger: KS_VideoControlFlags = KS_VideoControlFlags(32i32);
21110 pub const KS_VideoControlFlag_ExternalTriggerEnable: KS_VideoControlFlags = KS_VideoControlFlags(4i32);
21111 pub const KS_VideoControlFlag_Trigger: KS_VideoControlFlags = KS_VideoControlFlags(8i32);
21112 pub const KS_VideoControlFlag_IndependentImagePin: KS_VideoControlFlags = KS_VideoControlFlags(64i32);
21113 pub const KS_VideoControlFlag_StillCapturePreviewFrame: KS_VideoControlFlags = KS_VideoControlFlags(128i32);
21114 pub const KS_VideoControlFlag_StartPhotoSequenceCapture: KS_VideoControlFlags = KS_VideoControlFlags(256i32);
21115 pub const KS_VideoControlFlag_StopPhotoSequenceCapture: KS_VideoControlFlags = KS_VideoControlFlags(512i32);
21116 impl ::std::convert::From<i32> for KS_VideoControlFlags {
from(value: i32) -> Self21117     fn from(value: i32) -> Self {
21118         Self(value)
21119     }
21120 }
21121 unsafe impl ::windows::runtime::Abi for KS_VideoControlFlags {
21122     type Abi = Self;
21123     type DefaultType = Self;
21124 }
21125 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
21126 #[repr(transparent)]
21127 pub struct KS_VideoStreamingHints(pub i32);
21128 pub const KS_StreamingHint_FrameInterval: KS_VideoStreamingHints = KS_VideoStreamingHints(256i32);
21129 pub const KS_StreamingHint_KeyFrameRate: KS_VideoStreamingHints = KS_VideoStreamingHints(512i32);
21130 pub const KS_StreamingHint_PFrameRate: KS_VideoStreamingHints = KS_VideoStreamingHints(1024i32);
21131 pub const KS_StreamingHint_CompQuality: KS_VideoStreamingHints = KS_VideoStreamingHints(2048i32);
21132 pub const KS_StreamingHint_CompWindowSize: KS_VideoStreamingHints = KS_VideoStreamingHints(4096i32);
21133 impl ::std::convert::From<i32> for KS_VideoStreamingHints {
from(value: i32) -> Self21134     fn from(value: i32) -> Self {
21135         Self(value)
21136     }
21137 }
21138 unsafe impl ::windows::runtime::Abi for KS_VideoStreamingHints {
21139     type Abi = Self;
21140     type DefaultType = Self;
21141 }
21142 pub const KS_iBLUE: u32 = 2u32;
21143 pub const KS_iEGA_COLORS: u32 = 16u32;
21144 pub const KS_iGREEN: u32 = 1u32;
21145 pub const KS_iMASK_COLORS: u32 = 3u32;
21146 pub const KS_iMAXBITS: u32 = 8u32;
21147 pub const KS_iPALETTE: u32 = 8u32;
21148 pub const KS_iPALETTE_COLORS: u32 = 256u32;
21149 pub const KS_iRED: u32 = 0u32;
21150 pub const KS_iTRUECOLOR: u32 = 16u32;
21151 #[cfg(feature = "Win32_Foundation")]
21152 #[inline]
KsCreateAllocator<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HANDLE>>(connectionhandle: Param0, allocatorframing: *const KSALLOCATOR_FRAMING, allocatorhandle: *mut super::super::super::Foundation::HANDLE) -> u3221153 pub unsafe fn KsCreateAllocator<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HANDLE>>(connectionhandle: Param0, allocatorframing: *const KSALLOCATOR_FRAMING, allocatorhandle: *mut super::super::super::Foundation::HANDLE) -> u32 {
21154     #[cfg(windows)]
21155     {
21156         #[link(name = "windows")]
21157         extern "system" {
21158             fn KsCreateAllocator(connectionhandle: super::super::super::Foundation::HANDLE, allocatorframing: *const KSALLOCATOR_FRAMING, allocatorhandle: *mut super::super::super::Foundation::HANDLE) -> u32;
21159         }
21160         ::std::mem::transmute(KsCreateAllocator(connectionhandle.into_param().abi(), ::std::mem::transmute(allocatorframing), ::std::mem::transmute(allocatorhandle)))
21161     }
21162     #[cfg(not(windows))]
21163     unimplemented!("Unsupported target OS");
21164 }
21165 #[cfg(feature = "Win32_Foundation")]
21166 #[inline]
KsCreateAllocator2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HANDLE>>(connectionhandle: Param0, allocatorframing: *const KSALLOCATOR_FRAMING) -> ::windows::runtime::Result<super::super::super::Foundation::HANDLE>21167 pub unsafe fn KsCreateAllocator2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HANDLE>>(connectionhandle: Param0, allocatorframing: *const KSALLOCATOR_FRAMING) -> ::windows::runtime::Result<super::super::super::Foundation::HANDLE> {
21168     #[cfg(windows)]
21169     {
21170         #[link(name = "windows")]
21171         extern "system" {
21172             fn KsCreateAllocator2(connectionhandle: super::super::super::Foundation::HANDLE, allocatorframing: *const KSALLOCATOR_FRAMING, allocatorhandle: *mut super::super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT;
21173         }
21174         let mut result__: <super::super::super::Foundation::HANDLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
21175         KsCreateAllocator2(connectionhandle.into_param().abi(), ::std::mem::transmute(allocatorframing), &mut result__).from_abi::<super::super::super::Foundation::HANDLE>(result__)
21176     }
21177     #[cfg(not(windows))]
21178     unimplemented!("Unsupported target OS");
21179 }
21180 #[cfg(feature = "Win32_Foundation")]
21181 #[inline]
KsCreateClock<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HANDLE>>(connectionhandle: Param0, clockcreate: *const KSCLOCK_CREATE, clockhandle: *mut super::super::super::Foundation::HANDLE) -> u3221182 pub unsafe fn KsCreateClock<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HANDLE>>(connectionhandle: Param0, clockcreate: *const KSCLOCK_CREATE, clockhandle: *mut super::super::super::Foundation::HANDLE) -> u32 {
21183     #[cfg(windows)]
21184     {
21185         #[link(name = "windows")]
21186         extern "system" {
21187             fn KsCreateClock(connectionhandle: super::super::super::Foundation::HANDLE, clockcreate: *const KSCLOCK_CREATE, clockhandle: *mut super::super::super::Foundation::HANDLE) -> u32;
21188         }
21189         ::std::mem::transmute(KsCreateClock(connectionhandle.into_param().abi(), ::std::mem::transmute(clockcreate), ::std::mem::transmute(clockhandle)))
21190     }
21191     #[cfg(not(windows))]
21192     unimplemented!("Unsupported target OS");
21193 }
21194 #[cfg(feature = "Win32_Foundation")]
21195 #[inline]
KsCreateClock2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HANDLE>>(connectionhandle: Param0, clockcreate: *const KSCLOCK_CREATE) -> ::windows::runtime::Result<super::super::super::Foundation::HANDLE>21196 pub unsafe fn KsCreateClock2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HANDLE>>(connectionhandle: Param0, clockcreate: *const KSCLOCK_CREATE) -> ::windows::runtime::Result<super::super::super::Foundation::HANDLE> {
21197     #[cfg(windows)]
21198     {
21199         #[link(name = "windows")]
21200         extern "system" {
21201             fn KsCreateClock2(connectionhandle: super::super::super::Foundation::HANDLE, clockcreate: *const KSCLOCK_CREATE, clockhandle: *mut super::super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT;
21202         }
21203         let mut result__: <super::super::super::Foundation::HANDLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
21204         KsCreateClock2(connectionhandle.into_param().abi(), ::std::mem::transmute(clockcreate), &mut result__).from_abi::<super::super::super::Foundation::HANDLE>(result__)
21205     }
21206     #[cfg(not(windows))]
21207     unimplemented!("Unsupported target OS");
21208 }
21209 #[cfg(feature = "Win32_Foundation")]
21210 #[inline]
KsCreatePin<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HANDLE>>(filterhandle: Param0, connect: *const KSPIN_CONNECT, desiredaccess: u32, connectionhandle: *mut super::super::super::Foundation::HANDLE) -> u3221211 pub unsafe fn KsCreatePin<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HANDLE>>(filterhandle: Param0, connect: *const KSPIN_CONNECT, desiredaccess: u32, connectionhandle: *mut super::super::super::Foundation::HANDLE) -> u32 {
21212     #[cfg(windows)]
21213     {
21214         #[link(name = "windows")]
21215         extern "system" {
21216             fn KsCreatePin(filterhandle: super::super::super::Foundation::HANDLE, connect: *const KSPIN_CONNECT, desiredaccess: u32, connectionhandle: *mut super::super::super::Foundation::HANDLE) -> u32;
21217         }
21218         ::std::mem::transmute(KsCreatePin(filterhandle.into_param().abi(), ::std::mem::transmute(connect), ::std::mem::transmute(desiredaccess), ::std::mem::transmute(connectionhandle)))
21219     }
21220     #[cfg(not(windows))]
21221     unimplemented!("Unsupported target OS");
21222 }
21223 #[cfg(feature = "Win32_Foundation")]
21224 #[inline]
KsCreatePin2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HANDLE>>(filterhandle: Param0, connect: *const KSPIN_CONNECT, desiredaccess: u32) -> ::windows::runtime::Result<super::super::super::Foundation::HANDLE>21225 pub unsafe fn KsCreatePin2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HANDLE>>(filterhandle: Param0, connect: *const KSPIN_CONNECT, desiredaccess: u32) -> ::windows::runtime::Result<super::super::super::Foundation::HANDLE> {
21226     #[cfg(windows)]
21227     {
21228         #[link(name = "windows")]
21229         extern "system" {
21230             fn KsCreatePin2(filterhandle: super::super::super::Foundation::HANDLE, connect: *const KSPIN_CONNECT, desiredaccess: u32, connectionhandle: *mut super::super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT;
21231         }
21232         let mut result__: <super::super::super::Foundation::HANDLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
21233         KsCreatePin2(filterhandle.into_param().abi(), ::std::mem::transmute(connect), ::std::mem::transmute(desiredaccess), &mut result__).from_abi::<super::super::super::Foundation::HANDLE>(result__)
21234     }
21235     #[cfg(not(windows))]
21236     unimplemented!("Unsupported target OS");
21237 }
21238 #[cfg(feature = "Win32_Foundation")]
21239 #[inline]
KsCreateTopologyNode<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HANDLE>>(parenthandle: Param0, nodecreate: *const KSNODE_CREATE, desiredaccess: u32, nodehandle: *mut super::super::super::Foundation::HANDLE) -> u3221240 pub unsafe fn KsCreateTopologyNode<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HANDLE>>(parenthandle: Param0, nodecreate: *const KSNODE_CREATE, desiredaccess: u32, nodehandle: *mut super::super::super::Foundation::HANDLE) -> u32 {
21241     #[cfg(windows)]
21242     {
21243         #[link(name = "windows")]
21244         extern "system" {
21245             fn KsCreateTopologyNode(parenthandle: super::super::super::Foundation::HANDLE, nodecreate: *const KSNODE_CREATE, desiredaccess: u32, nodehandle: *mut super::super::super::Foundation::HANDLE) -> u32;
21246         }
21247         ::std::mem::transmute(KsCreateTopologyNode(parenthandle.into_param().abi(), ::std::mem::transmute(nodecreate), ::std::mem::transmute(desiredaccess), ::std::mem::transmute(nodehandle)))
21248     }
21249     #[cfg(not(windows))]
21250     unimplemented!("Unsupported target OS");
21251 }
21252 #[cfg(feature = "Win32_Foundation")]
21253 #[inline]
KsCreateTopologyNode2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HANDLE>>(parenthandle: Param0, nodecreate: *const KSNODE_CREATE, desiredaccess: u32) -> ::windows::runtime::Result<super::super::super::Foundation::HANDLE>21254 pub unsafe fn KsCreateTopologyNode2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HANDLE>>(parenthandle: Param0, nodecreate: *const KSNODE_CREATE, desiredaccess: u32) -> ::windows::runtime::Result<super::super::super::Foundation::HANDLE> {
21255     #[cfg(windows)]
21256     {
21257         #[link(name = "windows")]
21258         extern "system" {
21259             fn KsCreateTopologyNode2(parenthandle: super::super::super::Foundation::HANDLE, nodecreate: *const KSNODE_CREATE, desiredaccess: u32, nodehandle: *mut super::super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT;
21260         }
21261         let mut result__: <super::super::super::Foundation::HANDLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
21262         KsCreateTopologyNode2(parenthandle.into_param().abi(), ::std::mem::transmute(nodecreate), ::std::mem::transmute(desiredaccess), &mut result__).from_abi::<super::super::super::Foundation::HANDLE>(result__)
21263     }
21264     #[cfg(not(windows))]
21265     unimplemented!("Unsupported target OS");
21266 }
21267 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21268 #[repr(C)]
21269 #[cfg(feature = "Win32_Foundation")]
21270 pub struct LOOPEDSTREAMING_POSITION_EVENT_DATA {
21271     pub KsEventData: KSEVENTDATA,
21272     pub Position: u64,
21273 }
21274 #[cfg(feature = "Win32_Foundation")]
21275 impl LOOPEDSTREAMING_POSITION_EVENT_DATA {}
21276 #[cfg(feature = "Win32_Foundation")]
21277 impl ::std::default::Default for LOOPEDSTREAMING_POSITION_EVENT_DATA {
default() -> Self21278     fn default() -> Self {
21279         unsafe { ::std::mem::zeroed() }
21280     }
21281 }
21282 #[cfg(feature = "Win32_Foundation")]
21283 impl ::std::cmp::PartialEq for LOOPEDSTREAMING_POSITION_EVENT_DATA {
eq(&self, _other: &Self) -> bool21284     fn eq(&self, _other: &Self) -> bool {
21285         unimplemented!()
21286     }
21287 }
21288 #[cfg(feature = "Win32_Foundation")]
21289 impl ::std::cmp::Eq for LOOPEDSTREAMING_POSITION_EVENT_DATA {}
21290 #[cfg(feature = "Win32_Foundation")]
21291 unsafe impl ::windows::runtime::Abi for LOOPEDSTREAMING_POSITION_EVENT_DATA {
21292     type Abi = Self;
21293     type DefaultType = Self;
21294 }
21295 pub const MAX_NABTS_VBI_LINES_PER_FIELD: u32 = 11u32;
21296 pub const MAX_RESOURCEGROUPID_LENGTH: u32 = 256u32;
21297 pub const MAX_SINK_DESCRIPTION_NAME_LENGTH: u32 = 32u32;
21298 pub const MAX_WST_VBI_LINES_PER_FIELD: u32 = 17u32;
21299 pub const MCIERR_BAD_CONSTANT: u32 = 290u32;
21300 pub const MCIERR_BAD_INTEGER: u32 = 270u32;
21301 pub const MCIERR_BAD_TIME_FORMAT: u32 = 293u32;
21302 pub const MCIERR_CANNOT_LOAD_DRIVER: u32 = 266u32;
21303 pub const MCIERR_CANNOT_USE_ALL: u32 = 279u32;
21304 pub const MCIERR_CREATEWINDOW: u32 = 347u32;
21305 pub const MCIERR_CUSTOM_DRIVER_BASE: u32 = 512u32;
21306 pub const MCIERR_DEVICE_LENGTH: u32 = 310u32;
21307 pub const MCIERR_DEVICE_LOCKED: u32 = 288u32;
21308 pub const MCIERR_DEVICE_NOT_INSTALLED: u32 = 306u32;
21309 pub const MCIERR_DEVICE_NOT_READY: u32 = 276u32;
21310 pub const MCIERR_DEVICE_OPEN: u32 = 265u32;
21311 pub const MCIERR_DEVICE_ORD_LENGTH: u32 = 311u32;
21312 pub const MCIERR_DEVICE_TYPE_REQUIRED: u32 = 287u32;
21313 pub const MCIERR_DRIVER: u32 = 278u32;
21314 pub const MCIERR_DRIVER_INTERNAL: u32 = 272u32;
21315 pub const MCIERR_DUPLICATE_ALIAS: u32 = 289u32;
21316 pub const MCIERR_DUPLICATE_FLAGS: u32 = 295u32;
21317 pub const MCIERR_EXTENSION_NOT_FOUND: u32 = 281u32;
21318 pub const MCIERR_EXTRA_CHARACTERS: u32 = 305u32;
21319 pub const MCIERR_FILENAME_REQUIRED: u32 = 304u32;
21320 pub const MCIERR_FILE_NOT_FOUND: u32 = 275u32;
21321 pub const MCIERR_FILE_NOT_SAVED: u32 = 286u32;
21322 pub const MCIERR_FILE_READ: u32 = 348u32;
21323 pub const MCIERR_FILE_WRITE: u32 = 349u32;
21324 pub const MCIERR_FLAGS_NOT_COMPATIBLE: u32 = 284u32;
21325 pub const MCIERR_GET_CD: u32 = 307u32;
21326 pub const MCIERR_HARDWARE: u32 = 262u32;
21327 pub const MCIERR_ILLEGAL_FOR_AUTO_OPEN: u32 = 303u32;
21328 pub const MCIERR_INTERNAL: u32 = 277u32;
21329 pub const MCIERR_INVALID_DEVICE_ID: u32 = 257u32;
21330 pub const MCIERR_INVALID_DEVICE_NAME: u32 = 263u32;
21331 pub const MCIERR_INVALID_FILE: u32 = 296u32;
21332 pub const MCIERR_MISSING_COMMAND_STRING: u32 = 267u32;
21333 pub const MCIERR_MISSING_DEVICE_NAME: u32 = 292u32;
21334 pub const MCIERR_MISSING_PARAMETER: u32 = 273u32;
21335 pub const MCIERR_MISSING_STRING_ARGUMENT: u32 = 269u32;
21336 pub const MCIERR_MULTIPLE: u32 = 280u32;
21337 pub const MCIERR_MUST_USE_SHAREABLE: u32 = 291u32;
21338 pub const MCIERR_NEW_REQUIRES_ALIAS: u32 = 299u32;
21339 pub const MCIERR_NONAPPLICABLE_FUNCTION: u32 = 302u32;
21340 pub const MCIERR_NOTIFY_ON_AUTO_OPEN: u32 = 300u32;
21341 pub const MCIERR_NO_CLOSING_QUOTE: u32 = 294u32;
21342 pub const MCIERR_NO_ELEMENT_ALLOWED: u32 = 301u32;
21343 pub const MCIERR_NO_IDENTITY: u32 = 350u32;
21344 pub const MCIERR_NO_INTEGER: u32 = 312u32;
21345 pub const MCIERR_NO_WINDOW: u32 = 346u32;
21346 pub const MCIERR_NULL_PARAMETER_BLOCK: u32 = 297u32;
21347 pub const MCIERR_OUTOFRANGE: u32 = 282u32;
21348 pub const MCIERR_OUT_OF_MEMORY: u32 = 264u32;
21349 pub const MCIERR_PARAM_OVERFLOW: u32 = 268u32;
21350 pub const MCIERR_PARSER_INTERNAL: u32 = 271u32;
21351 pub const MCIERR_SEQ_DIV_INCOMPATIBLE: u32 = 336u32;
21352 pub const MCIERR_SEQ_NOMIDIPRESENT: u32 = 343u32;
21353 pub const MCIERR_SEQ_PORTUNSPECIFIED: u32 = 342u32;
21354 pub const MCIERR_SEQ_PORT_INUSE: u32 = 337u32;
21355 pub const MCIERR_SEQ_PORT_MAPNODEVICE: u32 = 339u32;
21356 pub const MCIERR_SEQ_PORT_MISCERROR: u32 = 340u32;
21357 pub const MCIERR_SEQ_PORT_NONEXISTENT: u32 = 338u32;
21358 pub const MCIERR_SEQ_TIMER: u32 = 341u32;
21359 pub const MCIERR_SET_CD: u32 = 308u32;
21360 pub const MCIERR_SET_DRIVE: u32 = 309u32;
21361 pub const MCIERR_UNNAMED_RESOURCE: u32 = 298u32;
21362 pub const MCIERR_UNRECOGNIZED_COMMAND: u32 = 261u32;
21363 pub const MCIERR_UNRECOGNIZED_KEYWORD: u32 = 259u32;
21364 pub const MCIERR_UNSUPPORTED_FUNCTION: u32 = 274u32;
21365 pub const MCIERR_WAVE_INPUTSINUSE: u32 = 322u32;
21366 pub const MCIERR_WAVE_INPUTSUNSUITABLE: u32 = 328u32;
21367 pub const MCIERR_WAVE_INPUTUNSPECIFIED: u32 = 325u32;
21368 pub const MCIERR_WAVE_OUTPUTSINUSE: u32 = 320u32;
21369 pub const MCIERR_WAVE_OUTPUTSUNSUITABLE: u32 = 326u32;
21370 pub const MCIERR_WAVE_OUTPUTUNSPECIFIED: u32 = 324u32;
21371 pub const MCIERR_WAVE_SETINPUTINUSE: u32 = 323u32;
21372 pub const MCIERR_WAVE_SETINPUTUNSUITABLE: u32 = 329u32;
21373 pub const MCIERR_WAVE_SETOUTPUTINUSE: u32 = 321u32;
21374 pub const MCIERR_WAVE_SETOUTPUTUNSUITABLE: u32 = 327u32;
21375 pub const MCI_ANIM_GETDEVCAPS_CAN_REVERSE: i32 = 16385i32;
21376 pub const MCI_ANIM_GETDEVCAPS_CAN_STRETCH: i32 = 16391i32;
21377 pub const MCI_ANIM_GETDEVCAPS_FAST_RATE: i32 = 16386i32;
21378 pub const MCI_ANIM_GETDEVCAPS_MAX_WINDOWS: i32 = 16392i32;
21379 pub const MCI_ANIM_GETDEVCAPS_NORMAL_RATE: i32 = 16388i32;
21380 pub const MCI_ANIM_GETDEVCAPS_PALETTES: i32 = 16390i32;
21381 pub const MCI_ANIM_GETDEVCAPS_SLOW_RATE: i32 = 16387i32;
21382 pub const MCI_ANIM_INFO_TEXT: i32 = 65536i32;
21383 pub const MCI_ANIM_OPEN_NOSTATIC: i32 = 262144i32;
21384 pub const MCI_ANIM_OPEN_PARENT: i32 = 131072i32;
21385 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21386 #[repr(C, packed(1))]
21387 #[cfg(feature = "Win32_Foundation")]
21388 pub struct MCI_ANIM_OPEN_PARMSA {
21389     pub dwCallback: usize,
21390     pub wDeviceID: u32,
21391     pub lpstrDeviceType: super::super::super::Foundation::PSTR,
21392     pub lpstrElementName: super::super::super::Foundation::PSTR,
21393     pub lpstrAlias: super::super::super::Foundation::PSTR,
21394     pub dwStyle: u32,
21395     pub hWndParent: super::super::super::Foundation::HWND,
21396 }
21397 #[cfg(feature = "Win32_Foundation")]
21398 impl MCI_ANIM_OPEN_PARMSA {}
21399 #[cfg(feature = "Win32_Foundation")]
21400 impl ::std::default::Default for MCI_ANIM_OPEN_PARMSA {
default() -> Self21401     fn default() -> Self {
21402         unsafe { ::std::mem::zeroed() }
21403     }
21404 }
21405 #[cfg(feature = "Win32_Foundation")]
21406 impl ::std::cmp::PartialEq for MCI_ANIM_OPEN_PARMSA {
eq(&self, _other: &Self) -> bool21407     fn eq(&self, _other: &Self) -> bool {
21408         unimplemented!()
21409     }
21410 }
21411 #[cfg(feature = "Win32_Foundation")]
21412 impl ::std::cmp::Eq for MCI_ANIM_OPEN_PARMSA {}
21413 #[cfg(feature = "Win32_Foundation")]
21414 unsafe impl ::windows::runtime::Abi for MCI_ANIM_OPEN_PARMSA {
21415     type Abi = Self;
21416     type DefaultType = Self;
21417 }
21418 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21419 #[repr(C, packed(1))]
21420 #[cfg(feature = "Win32_Foundation")]
21421 pub struct MCI_ANIM_OPEN_PARMSW {
21422     pub dwCallback: usize,
21423     pub wDeviceID: u32,
21424     pub lpstrDeviceType: super::super::super::Foundation::PWSTR,
21425     pub lpstrElementName: super::super::super::Foundation::PWSTR,
21426     pub lpstrAlias: super::super::super::Foundation::PWSTR,
21427     pub dwStyle: u32,
21428     pub hWndParent: super::super::super::Foundation::HWND,
21429 }
21430 #[cfg(feature = "Win32_Foundation")]
21431 impl MCI_ANIM_OPEN_PARMSW {}
21432 #[cfg(feature = "Win32_Foundation")]
21433 impl ::std::default::Default for MCI_ANIM_OPEN_PARMSW {
default() -> Self21434     fn default() -> Self {
21435         unsafe { ::std::mem::zeroed() }
21436     }
21437 }
21438 #[cfg(feature = "Win32_Foundation")]
21439 impl ::std::cmp::PartialEq for MCI_ANIM_OPEN_PARMSW {
eq(&self, _other: &Self) -> bool21440     fn eq(&self, _other: &Self) -> bool {
21441         unimplemented!()
21442     }
21443 }
21444 #[cfg(feature = "Win32_Foundation")]
21445 impl ::std::cmp::Eq for MCI_ANIM_OPEN_PARMSW {}
21446 #[cfg(feature = "Win32_Foundation")]
21447 unsafe impl ::windows::runtime::Abi for MCI_ANIM_OPEN_PARMSW {
21448     type Abi = Self;
21449     type DefaultType = Self;
21450 }
21451 pub const MCI_ANIM_OPEN_WS: i32 = 65536i32;
21452 pub const MCI_ANIM_PLAY_FAST: i32 = 262144i32;
21453 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21454 #[repr(C, packed(1))]
21455 pub struct MCI_ANIM_PLAY_PARMS {
21456     pub dwCallback: usize,
21457     pub dwFrom: u32,
21458     pub dwTo: u32,
21459     pub dwSpeed: u32,
21460 }
21461 impl MCI_ANIM_PLAY_PARMS {}
21462 impl ::std::default::Default for MCI_ANIM_PLAY_PARMS {
default() -> Self21463     fn default() -> Self {
21464         unsafe { ::std::mem::zeroed() }
21465     }
21466 }
21467 impl ::std::cmp::PartialEq for MCI_ANIM_PLAY_PARMS {
eq(&self, _other: &Self) -> bool21468     fn eq(&self, _other: &Self) -> bool {
21469         unimplemented!()
21470     }
21471 }
21472 impl ::std::cmp::Eq for MCI_ANIM_PLAY_PARMS {}
21473 unsafe impl ::windows::runtime::Abi for MCI_ANIM_PLAY_PARMS {
21474     type Abi = Self;
21475     type DefaultType = Self;
21476 }
21477 pub const MCI_ANIM_PLAY_REVERSE: i32 = 131072i32;
21478 pub const MCI_ANIM_PLAY_SCAN: i32 = 1048576i32;
21479 pub const MCI_ANIM_PLAY_SLOW: i32 = 524288i32;
21480 pub const MCI_ANIM_PLAY_SPEED: i32 = 65536i32;
21481 pub const MCI_ANIM_PUT_DESTINATION: i32 = 262144i32;
21482 pub const MCI_ANIM_PUT_SOURCE: i32 = 131072i32;
21483 pub const MCI_ANIM_REALIZE_BKGD: i32 = 131072i32;
21484 pub const MCI_ANIM_REALIZE_NORM: i32 = 65536i32;
21485 pub const MCI_ANIM_RECT: i32 = 65536i32;
21486 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21487 #[repr(C, packed(1))]
21488 #[cfg(feature = "Win32_Foundation")]
21489 pub struct MCI_ANIM_RECT_PARMS {
21490     pub dwCallback: usize,
21491     pub rc: super::super::super::Foundation::RECT,
21492 }
21493 #[cfg(feature = "Win32_Foundation")]
21494 impl MCI_ANIM_RECT_PARMS {}
21495 #[cfg(feature = "Win32_Foundation")]
21496 impl ::std::default::Default for MCI_ANIM_RECT_PARMS {
default() -> Self21497     fn default() -> Self {
21498         unsafe { ::std::mem::zeroed() }
21499     }
21500 }
21501 #[cfg(feature = "Win32_Foundation")]
21502 impl ::std::cmp::PartialEq for MCI_ANIM_RECT_PARMS {
eq(&self, _other: &Self) -> bool21503     fn eq(&self, _other: &Self) -> bool {
21504         unimplemented!()
21505     }
21506 }
21507 #[cfg(feature = "Win32_Foundation")]
21508 impl ::std::cmp::Eq for MCI_ANIM_RECT_PARMS {}
21509 #[cfg(feature = "Win32_Foundation")]
21510 unsafe impl ::windows::runtime::Abi for MCI_ANIM_RECT_PARMS {
21511     type Abi = Self;
21512     type DefaultType = Self;
21513 }
21514 pub const MCI_ANIM_STATUS_FORWARD: i32 = 16386i32;
21515 pub const MCI_ANIM_STATUS_HPAL: i32 = 16388i32;
21516 pub const MCI_ANIM_STATUS_HWND: i32 = 16387i32;
21517 pub const MCI_ANIM_STATUS_SPEED: i32 = 16385i32;
21518 pub const MCI_ANIM_STATUS_STRETCH: i32 = 16389i32;
21519 pub const MCI_ANIM_STEP_FRAMES: i32 = 131072i32;
21520 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21521 #[repr(C, packed(1))]
21522 pub struct MCI_ANIM_STEP_PARMS {
21523     pub dwCallback: usize,
21524     pub dwFrames: u32,
21525 }
21526 impl MCI_ANIM_STEP_PARMS {}
21527 impl ::std::default::Default for MCI_ANIM_STEP_PARMS {
default() -> Self21528     fn default() -> Self {
21529         unsafe { ::std::mem::zeroed() }
21530     }
21531 }
21532 impl ::std::cmp::PartialEq for MCI_ANIM_STEP_PARMS {
eq(&self, _other: &Self) -> bool21533     fn eq(&self, _other: &Self) -> bool {
21534         unimplemented!()
21535     }
21536 }
21537 impl ::std::cmp::Eq for MCI_ANIM_STEP_PARMS {}
21538 unsafe impl ::windows::runtime::Abi for MCI_ANIM_STEP_PARMS {
21539     type Abi = Self;
21540     type DefaultType = Self;
21541 }
21542 pub const MCI_ANIM_STEP_REVERSE: i32 = 65536i32;
21543 pub const MCI_ANIM_UPDATE_HDC: i32 = 131072i32;
21544 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21545 #[repr(C, packed(1))]
21546 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
21547 pub struct MCI_ANIM_UPDATE_PARMS {
21548     pub dwCallback: usize,
21549     pub rc: super::super::super::Foundation::RECT,
21550     pub hDC: super::super::super::Graphics::Gdi::HDC,
21551 }
21552 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
21553 impl MCI_ANIM_UPDATE_PARMS {}
21554 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
21555 impl ::std::default::Default for MCI_ANIM_UPDATE_PARMS {
default() -> Self21556     fn default() -> Self {
21557         unsafe { ::std::mem::zeroed() }
21558     }
21559 }
21560 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
21561 impl ::std::cmp::PartialEq for MCI_ANIM_UPDATE_PARMS {
eq(&self, _other: &Self) -> bool21562     fn eq(&self, _other: &Self) -> bool {
21563         unimplemented!()
21564     }
21565 }
21566 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
21567 impl ::std::cmp::Eq for MCI_ANIM_UPDATE_PARMS {}
21568 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
21569 unsafe impl ::windows::runtime::Abi for MCI_ANIM_UPDATE_PARMS {
21570     type Abi = Self;
21571     type DefaultType = Self;
21572 }
21573 pub const MCI_ANIM_WHERE_DESTINATION: i32 = 262144i32;
21574 pub const MCI_ANIM_WHERE_SOURCE: i32 = 131072i32;
21575 pub const MCI_ANIM_WINDOW_DEFAULT: i32 = 0i32;
21576 pub const MCI_ANIM_WINDOW_DISABLE_STRETCH: i32 = 2097152i32;
21577 pub const MCI_ANIM_WINDOW_ENABLE_STRETCH: i32 = 1048576i32;
21578 pub const MCI_ANIM_WINDOW_HWND: i32 = 65536i32;
21579 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21580 #[repr(C, packed(1))]
21581 #[cfg(feature = "Win32_Foundation")]
21582 pub struct MCI_ANIM_WINDOW_PARMSA {
21583     pub dwCallback: usize,
21584     pub hWnd: super::super::super::Foundation::HWND,
21585     pub nCmdShow: u32,
21586     pub lpstrText: super::super::super::Foundation::PSTR,
21587 }
21588 #[cfg(feature = "Win32_Foundation")]
21589 impl MCI_ANIM_WINDOW_PARMSA {}
21590 #[cfg(feature = "Win32_Foundation")]
21591 impl ::std::default::Default for MCI_ANIM_WINDOW_PARMSA {
default() -> Self21592     fn default() -> Self {
21593         unsafe { ::std::mem::zeroed() }
21594     }
21595 }
21596 #[cfg(feature = "Win32_Foundation")]
21597 impl ::std::cmp::PartialEq for MCI_ANIM_WINDOW_PARMSA {
eq(&self, _other: &Self) -> bool21598     fn eq(&self, _other: &Self) -> bool {
21599         unimplemented!()
21600     }
21601 }
21602 #[cfg(feature = "Win32_Foundation")]
21603 impl ::std::cmp::Eq for MCI_ANIM_WINDOW_PARMSA {}
21604 #[cfg(feature = "Win32_Foundation")]
21605 unsafe impl ::windows::runtime::Abi for MCI_ANIM_WINDOW_PARMSA {
21606     type Abi = Self;
21607     type DefaultType = Self;
21608 }
21609 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21610 #[repr(C, packed(1))]
21611 #[cfg(feature = "Win32_Foundation")]
21612 pub struct MCI_ANIM_WINDOW_PARMSW {
21613     pub dwCallback: usize,
21614     pub hWnd: super::super::super::Foundation::HWND,
21615     pub nCmdShow: u32,
21616     pub lpstrText: super::super::super::Foundation::PWSTR,
21617 }
21618 #[cfg(feature = "Win32_Foundation")]
21619 impl MCI_ANIM_WINDOW_PARMSW {}
21620 #[cfg(feature = "Win32_Foundation")]
21621 impl ::std::default::Default for MCI_ANIM_WINDOW_PARMSW {
default() -> Self21622     fn default() -> Self {
21623         unsafe { ::std::mem::zeroed() }
21624     }
21625 }
21626 #[cfg(feature = "Win32_Foundation")]
21627 impl ::std::cmp::PartialEq for MCI_ANIM_WINDOW_PARMSW {
eq(&self, _other: &Self) -> bool21628     fn eq(&self, _other: &Self) -> bool {
21629         unimplemented!()
21630     }
21631 }
21632 #[cfg(feature = "Win32_Foundation")]
21633 impl ::std::cmp::Eq for MCI_ANIM_WINDOW_PARMSW {}
21634 #[cfg(feature = "Win32_Foundation")]
21635 unsafe impl ::windows::runtime::Abi for MCI_ANIM_WINDOW_PARMSW {
21636     type Abi = Self;
21637     type DefaultType = Self;
21638 }
21639 pub const MCI_ANIM_WINDOW_STATE: i32 = 262144i32;
21640 pub const MCI_ANIM_WINDOW_TEXT: i32 = 524288i32;
21641 pub const MCI_BREAK: u32 = 2065u32;
21642 pub const MCI_BREAK_HWND: i32 = 512i32;
21643 pub const MCI_BREAK_KEY: i32 = 256i32;
21644 pub const MCI_BREAK_OFF: i32 = 1024i32;
21645 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21646 #[repr(C, packed(1))]
21647 #[cfg(feature = "Win32_Foundation")]
21648 pub struct MCI_BREAK_PARMS {
21649     pub dwCallback: usize,
21650     pub nVirtKey: i32,
21651     pub hwndBreak: super::super::super::Foundation::HWND,
21652 }
21653 #[cfg(feature = "Win32_Foundation")]
21654 impl MCI_BREAK_PARMS {}
21655 #[cfg(feature = "Win32_Foundation")]
21656 impl ::std::default::Default for MCI_BREAK_PARMS {
default() -> Self21657     fn default() -> Self {
21658         unsafe { ::std::mem::zeroed() }
21659     }
21660 }
21661 #[cfg(feature = "Win32_Foundation")]
21662 impl ::std::cmp::PartialEq for MCI_BREAK_PARMS {
eq(&self, _other: &Self) -> bool21663     fn eq(&self, _other: &Self) -> bool {
21664         unimplemented!()
21665     }
21666 }
21667 #[cfg(feature = "Win32_Foundation")]
21668 impl ::std::cmp::Eq for MCI_BREAK_PARMS {}
21669 #[cfg(feature = "Win32_Foundation")]
21670 unsafe impl ::windows::runtime::Abi for MCI_BREAK_PARMS {
21671     type Abi = Self;
21672     type DefaultType = Self;
21673 }
21674 pub const MCI_CDA_STATUS_TYPE_TRACK: i32 = 16385i32;
21675 pub const MCI_CDA_TRACK_AUDIO: u32 = 1088u32;
21676 pub const MCI_CDA_TRACK_OTHER: u32 = 1089u32;
21677 pub const MCI_CLOSE: u32 = 2052u32;
21678 pub const MCI_COPY: u32 = 2130u32;
21679 pub const MCI_CUE: u32 = 2096u32;
21680 pub const MCI_CUT: u32 = 2129u32;
21681 pub const MCI_DELETE: u32 = 2134u32;
21682 pub const MCI_DEVTYPE_ANIMATION: u32 = 519u32;
21683 pub const MCI_DEVTYPE_CD_AUDIO: u32 = 516u32;
21684 pub const MCI_DEVTYPE_DAT: u32 = 517u32;
21685 pub const MCI_DEVTYPE_DIGITAL_VIDEO: u32 = 520u32;
21686 pub const MCI_DEVTYPE_FIRST: u32 = 513u32;
21687 pub const MCI_DEVTYPE_FIRST_USER: u32 = 4096u32;
21688 pub const MCI_DEVTYPE_LAST: u32 = 523u32;
21689 pub const MCI_DEVTYPE_OTHER: u32 = 521u32;
21690 pub const MCI_DEVTYPE_OVERLAY: u32 = 515u32;
21691 pub const MCI_DEVTYPE_SCANNER: u32 = 518u32;
21692 pub const MCI_DEVTYPE_SEQUENCER: u32 = 523u32;
21693 pub const MCI_DEVTYPE_VCR: u32 = 513u32;
21694 pub const MCI_DEVTYPE_VIDEODISC: u32 = 514u32;
21695 pub const MCI_DEVTYPE_WAVEFORM_AUDIO: u32 = 522u32;
21696 pub const MCI_ESCAPE: u32 = 2053u32;
21697 pub const MCI_FIRST: u32 = 2048u32;
21698 pub const MCI_FORMAT_BYTES: u32 = 8u32;
21699 pub const MCI_FORMAT_FRAMES: u32 = 3u32;
21700 pub const MCI_FORMAT_HMS: u32 = 1u32;
21701 pub const MCI_FORMAT_MILLISECONDS: u32 = 0u32;
21702 pub const MCI_FORMAT_MSF: u32 = 2u32;
21703 pub const MCI_FORMAT_SAMPLES: u32 = 9u32;
21704 pub const MCI_FORMAT_SMPTE_24: u32 = 4u32;
21705 pub const MCI_FORMAT_SMPTE_25: u32 = 5u32;
21706 pub const MCI_FORMAT_SMPTE_30: u32 = 6u32;
21707 pub const MCI_FORMAT_SMPTE_30DROP: u32 = 7u32;
21708 pub const MCI_FORMAT_TMSF: u32 = 10u32;
21709 pub const MCI_FREEZE: u32 = 2116u32;
21710 pub const MCI_FROM: i32 = 4i32;
21711 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21712 #[repr(C, packed(1))]
21713 pub struct MCI_GENERIC_PARMS {
21714     pub dwCallback: usize,
21715 }
21716 impl MCI_GENERIC_PARMS {}
21717 impl ::std::default::Default for MCI_GENERIC_PARMS {
default() -> Self21718     fn default() -> Self {
21719         unsafe { ::std::mem::zeroed() }
21720     }
21721 }
21722 impl ::std::cmp::PartialEq for MCI_GENERIC_PARMS {
eq(&self, _other: &Self) -> bool21723     fn eq(&self, _other: &Self) -> bool {
21724         unimplemented!()
21725     }
21726 }
21727 impl ::std::cmp::Eq for MCI_GENERIC_PARMS {}
21728 unsafe impl ::windows::runtime::Abi for MCI_GENERIC_PARMS {
21729     type Abi = Self;
21730     type DefaultType = Self;
21731 }
21732 pub const MCI_GETDEVCAPS: u32 = 2059u32;
21733 pub const MCI_GETDEVCAPS_CAN_EJECT: i32 = 7i32;
21734 pub const MCI_GETDEVCAPS_CAN_PLAY: i32 = 8i32;
21735 pub const MCI_GETDEVCAPS_CAN_RECORD: i32 = 1i32;
21736 pub const MCI_GETDEVCAPS_CAN_SAVE: i32 = 9i32;
21737 pub const MCI_GETDEVCAPS_COMPOUND_DEVICE: i32 = 6i32;
21738 pub const MCI_GETDEVCAPS_DEVICE_TYPE: i32 = 4i32;
21739 pub const MCI_GETDEVCAPS_HAS_AUDIO: i32 = 2i32;
21740 pub const MCI_GETDEVCAPS_HAS_VIDEO: i32 = 3i32;
21741 pub const MCI_GETDEVCAPS_ITEM: i32 = 256i32;
21742 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21743 #[repr(C, packed(1))]
21744 pub struct MCI_GETDEVCAPS_PARMS {
21745     pub dwCallback: usize,
21746     pub dwReturn: u32,
21747     pub dwItem: u32,
21748 }
21749 impl MCI_GETDEVCAPS_PARMS {}
21750 impl ::std::default::Default for MCI_GETDEVCAPS_PARMS {
default() -> Self21751     fn default() -> Self {
21752         unsafe { ::std::mem::zeroed() }
21753     }
21754 }
21755 impl ::std::cmp::PartialEq for MCI_GETDEVCAPS_PARMS {
eq(&self, _other: &Self) -> bool21756     fn eq(&self, _other: &Self) -> bool {
21757         unimplemented!()
21758     }
21759 }
21760 impl ::std::cmp::Eq for MCI_GETDEVCAPS_PARMS {}
21761 unsafe impl ::windows::runtime::Abi for MCI_GETDEVCAPS_PARMS {
21762     type Abi = Self;
21763     type DefaultType = Self;
21764 }
21765 pub const MCI_GETDEVCAPS_USES_FILES: i32 = 5i32;
21766 pub const MCI_INFO: u32 = 2058u32;
21767 pub const MCI_INFO_COPYRIGHT: i32 = 8192i32;
21768 pub const MCI_INFO_FILE: i32 = 512i32;
21769 pub const MCI_INFO_MEDIA_IDENTITY: i32 = 2048i32;
21770 pub const MCI_INFO_MEDIA_UPC: i32 = 1024i32;
21771 pub const MCI_INFO_NAME: i32 = 4096i32;
21772 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21773 #[repr(C, packed(1))]
21774 #[cfg(feature = "Win32_Foundation")]
21775 pub struct MCI_INFO_PARMSA {
21776     pub dwCallback: usize,
21777     pub lpstrReturn: super::super::super::Foundation::PSTR,
21778     pub dwRetSize: u32,
21779 }
21780 #[cfg(feature = "Win32_Foundation")]
21781 impl MCI_INFO_PARMSA {}
21782 #[cfg(feature = "Win32_Foundation")]
21783 impl ::std::default::Default for MCI_INFO_PARMSA {
default() -> Self21784     fn default() -> Self {
21785         unsafe { ::std::mem::zeroed() }
21786     }
21787 }
21788 #[cfg(feature = "Win32_Foundation")]
21789 impl ::std::cmp::PartialEq for MCI_INFO_PARMSA {
eq(&self, _other: &Self) -> bool21790     fn eq(&self, _other: &Self) -> bool {
21791         unimplemented!()
21792     }
21793 }
21794 #[cfg(feature = "Win32_Foundation")]
21795 impl ::std::cmp::Eq for MCI_INFO_PARMSA {}
21796 #[cfg(feature = "Win32_Foundation")]
21797 unsafe impl ::windows::runtime::Abi for MCI_INFO_PARMSA {
21798     type Abi = Self;
21799     type DefaultType = Self;
21800 }
21801 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21802 #[repr(C, packed(1))]
21803 #[cfg(feature = "Win32_Foundation")]
21804 pub struct MCI_INFO_PARMSW {
21805     pub dwCallback: usize,
21806     pub lpstrReturn: super::super::super::Foundation::PWSTR,
21807     pub dwRetSize: u32,
21808 }
21809 #[cfg(feature = "Win32_Foundation")]
21810 impl MCI_INFO_PARMSW {}
21811 #[cfg(feature = "Win32_Foundation")]
21812 impl ::std::default::Default for MCI_INFO_PARMSW {
default() -> Self21813     fn default() -> Self {
21814         unsafe { ::std::mem::zeroed() }
21815     }
21816 }
21817 #[cfg(feature = "Win32_Foundation")]
21818 impl ::std::cmp::PartialEq for MCI_INFO_PARMSW {
eq(&self, _other: &Self) -> bool21819     fn eq(&self, _other: &Self) -> bool {
21820         unimplemented!()
21821     }
21822 }
21823 #[cfg(feature = "Win32_Foundation")]
21824 impl ::std::cmp::Eq for MCI_INFO_PARMSW {}
21825 #[cfg(feature = "Win32_Foundation")]
21826 unsafe impl ::windows::runtime::Abi for MCI_INFO_PARMSW {
21827     type Abi = Self;
21828     type DefaultType = Self;
21829 }
21830 pub const MCI_INFO_PRODUCT: i32 = 256i32;
21831 pub const MCI_LAST: u32 = 4095u32;
21832 pub const MCI_LOAD: u32 = 2128u32;
21833 pub const MCI_LOAD_FILE: i32 = 256i32;
21834 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21835 #[repr(C, packed(1))]
21836 #[cfg(feature = "Win32_Foundation")]
21837 pub struct MCI_LOAD_PARMSA {
21838     pub dwCallback: usize,
21839     pub lpfilename: super::super::super::Foundation::PSTR,
21840 }
21841 #[cfg(feature = "Win32_Foundation")]
21842 impl MCI_LOAD_PARMSA {}
21843 #[cfg(feature = "Win32_Foundation")]
21844 impl ::std::default::Default for MCI_LOAD_PARMSA {
default() -> Self21845     fn default() -> Self {
21846         unsafe { ::std::mem::zeroed() }
21847     }
21848 }
21849 #[cfg(feature = "Win32_Foundation")]
21850 impl ::std::cmp::PartialEq for MCI_LOAD_PARMSA {
eq(&self, _other: &Self) -> bool21851     fn eq(&self, _other: &Self) -> bool {
21852         unimplemented!()
21853     }
21854 }
21855 #[cfg(feature = "Win32_Foundation")]
21856 impl ::std::cmp::Eq for MCI_LOAD_PARMSA {}
21857 #[cfg(feature = "Win32_Foundation")]
21858 unsafe impl ::windows::runtime::Abi for MCI_LOAD_PARMSA {
21859     type Abi = Self;
21860     type DefaultType = Self;
21861 }
21862 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21863 #[repr(C, packed(1))]
21864 #[cfg(feature = "Win32_Foundation")]
21865 pub struct MCI_LOAD_PARMSW {
21866     pub dwCallback: usize,
21867     pub lpfilename: super::super::super::Foundation::PWSTR,
21868 }
21869 #[cfg(feature = "Win32_Foundation")]
21870 impl MCI_LOAD_PARMSW {}
21871 #[cfg(feature = "Win32_Foundation")]
21872 impl ::std::default::Default for MCI_LOAD_PARMSW {
default() -> Self21873     fn default() -> Self {
21874         unsafe { ::std::mem::zeroed() }
21875     }
21876 }
21877 #[cfg(feature = "Win32_Foundation")]
21878 impl ::std::cmp::PartialEq for MCI_LOAD_PARMSW {
eq(&self, _other: &Self) -> bool21879     fn eq(&self, _other: &Self) -> bool {
21880         unimplemented!()
21881     }
21882 }
21883 #[cfg(feature = "Win32_Foundation")]
21884 impl ::std::cmp::Eq for MCI_LOAD_PARMSW {}
21885 #[cfg(feature = "Win32_Foundation")]
21886 unsafe impl ::windows::runtime::Abi for MCI_LOAD_PARMSW {
21887     type Abi = Self;
21888     type DefaultType = Self;
21889 }
21890 pub const MCI_MODE_NOT_READY: u32 = 524u32;
21891 pub const MCI_MODE_OPEN: u32 = 530u32;
21892 pub const MCI_MODE_PAUSE: u32 = 529u32;
21893 pub const MCI_MODE_PLAY: u32 = 526u32;
21894 pub const MCI_MODE_RECORD: u32 = 527u32;
21895 pub const MCI_MODE_SEEK: u32 = 528u32;
21896 pub const MCI_MODE_STOP: u32 = 525u32;
21897 pub const MCI_NOTIFY: i32 = 1i32;
21898 pub const MCI_NOTIFY_ABORTED: u32 = 4u32;
21899 pub const MCI_NOTIFY_FAILURE: u32 = 8u32;
21900 pub const MCI_NOTIFY_SUCCESSFUL: u32 = 1u32;
21901 pub const MCI_NOTIFY_SUPERSEDED: u32 = 2u32;
21902 pub const MCI_OPEN: u32 = 2051u32;
21903 pub const MCI_OPEN_ALIAS: i32 = 1024i32;
21904 pub const MCI_OPEN_ELEMENT: i32 = 512i32;
21905 pub const MCI_OPEN_ELEMENT_ID: i32 = 2048i32;
21906 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21907 #[repr(C, packed(1))]
21908 #[cfg(feature = "Win32_Foundation")]
21909 pub struct MCI_OPEN_PARMSA {
21910     pub dwCallback: usize,
21911     pub wDeviceID: u32,
21912     pub lpstrDeviceType: super::super::super::Foundation::PSTR,
21913     pub lpstrElementName: super::super::super::Foundation::PSTR,
21914     pub lpstrAlias: super::super::super::Foundation::PSTR,
21915 }
21916 #[cfg(feature = "Win32_Foundation")]
21917 impl MCI_OPEN_PARMSA {}
21918 #[cfg(feature = "Win32_Foundation")]
21919 impl ::std::default::Default for MCI_OPEN_PARMSA {
default() -> Self21920     fn default() -> Self {
21921         unsafe { ::std::mem::zeroed() }
21922     }
21923 }
21924 #[cfg(feature = "Win32_Foundation")]
21925 impl ::std::cmp::PartialEq for MCI_OPEN_PARMSA {
eq(&self, _other: &Self) -> bool21926     fn eq(&self, _other: &Self) -> bool {
21927         unimplemented!()
21928     }
21929 }
21930 #[cfg(feature = "Win32_Foundation")]
21931 impl ::std::cmp::Eq for MCI_OPEN_PARMSA {}
21932 #[cfg(feature = "Win32_Foundation")]
21933 unsafe impl ::windows::runtime::Abi for MCI_OPEN_PARMSA {
21934     type Abi = Self;
21935     type DefaultType = Self;
21936 }
21937 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21938 #[repr(C, packed(1))]
21939 #[cfg(feature = "Win32_Foundation")]
21940 pub struct MCI_OPEN_PARMSW {
21941     pub dwCallback: usize,
21942     pub wDeviceID: u32,
21943     pub lpstrDeviceType: super::super::super::Foundation::PWSTR,
21944     pub lpstrElementName: super::super::super::Foundation::PWSTR,
21945     pub lpstrAlias: super::super::super::Foundation::PWSTR,
21946 }
21947 #[cfg(feature = "Win32_Foundation")]
21948 impl MCI_OPEN_PARMSW {}
21949 #[cfg(feature = "Win32_Foundation")]
21950 impl ::std::default::Default for MCI_OPEN_PARMSW {
default() -> Self21951     fn default() -> Self {
21952         unsafe { ::std::mem::zeroed() }
21953     }
21954 }
21955 #[cfg(feature = "Win32_Foundation")]
21956 impl ::std::cmp::PartialEq for MCI_OPEN_PARMSW {
eq(&self, _other: &Self) -> bool21957     fn eq(&self, _other: &Self) -> bool {
21958         unimplemented!()
21959     }
21960 }
21961 #[cfg(feature = "Win32_Foundation")]
21962 impl ::std::cmp::Eq for MCI_OPEN_PARMSW {}
21963 #[cfg(feature = "Win32_Foundation")]
21964 unsafe impl ::windows::runtime::Abi for MCI_OPEN_PARMSW {
21965     type Abi = Self;
21966     type DefaultType = Self;
21967 }
21968 pub const MCI_OPEN_SHAREABLE: i32 = 256i32;
21969 pub const MCI_OPEN_TYPE: i32 = 8192i32;
21970 pub const MCI_OPEN_TYPE_ID: i32 = 4096i32;
21971 pub const MCI_OVLY_GETDEVCAPS_CAN_FREEZE: i32 = 16386i32;
21972 pub const MCI_OVLY_GETDEVCAPS_CAN_STRETCH: i32 = 16385i32;
21973 pub const MCI_OVLY_GETDEVCAPS_MAX_WINDOWS: i32 = 16387i32;
21974 pub const MCI_OVLY_INFO_TEXT: i32 = 65536i32;
21975 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21976 #[repr(C, packed(1))]
21977 #[cfg(feature = "Win32_Foundation")]
21978 pub struct MCI_OVLY_LOAD_PARMSA {
21979     pub dwCallback: usize,
21980     pub lpfilename: super::super::super::Foundation::PSTR,
21981     pub rc: super::super::super::Foundation::RECT,
21982 }
21983 #[cfg(feature = "Win32_Foundation")]
21984 impl MCI_OVLY_LOAD_PARMSA {}
21985 #[cfg(feature = "Win32_Foundation")]
21986 impl ::std::default::Default for MCI_OVLY_LOAD_PARMSA {
default() -> Self21987     fn default() -> Self {
21988         unsafe { ::std::mem::zeroed() }
21989     }
21990 }
21991 #[cfg(feature = "Win32_Foundation")]
21992 impl ::std::cmp::PartialEq for MCI_OVLY_LOAD_PARMSA {
eq(&self, _other: &Self) -> bool21993     fn eq(&self, _other: &Self) -> bool {
21994         unimplemented!()
21995     }
21996 }
21997 #[cfg(feature = "Win32_Foundation")]
21998 impl ::std::cmp::Eq for MCI_OVLY_LOAD_PARMSA {}
21999 #[cfg(feature = "Win32_Foundation")]
22000 unsafe impl ::windows::runtime::Abi for MCI_OVLY_LOAD_PARMSA {
22001     type Abi = Self;
22002     type DefaultType = Self;
22003 }
22004 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22005 #[repr(C, packed(1))]
22006 #[cfg(feature = "Win32_Foundation")]
22007 pub struct MCI_OVLY_LOAD_PARMSW {
22008     pub dwCallback: usize,
22009     pub lpfilename: super::super::super::Foundation::PWSTR,
22010     pub rc: super::super::super::Foundation::RECT,
22011 }
22012 #[cfg(feature = "Win32_Foundation")]
22013 impl MCI_OVLY_LOAD_PARMSW {}
22014 #[cfg(feature = "Win32_Foundation")]
22015 impl ::std::default::Default for MCI_OVLY_LOAD_PARMSW {
default() -> Self22016     fn default() -> Self {
22017         unsafe { ::std::mem::zeroed() }
22018     }
22019 }
22020 #[cfg(feature = "Win32_Foundation")]
22021 impl ::std::cmp::PartialEq for MCI_OVLY_LOAD_PARMSW {
eq(&self, _other: &Self) -> bool22022     fn eq(&self, _other: &Self) -> bool {
22023         unimplemented!()
22024     }
22025 }
22026 #[cfg(feature = "Win32_Foundation")]
22027 impl ::std::cmp::Eq for MCI_OVLY_LOAD_PARMSW {}
22028 #[cfg(feature = "Win32_Foundation")]
22029 unsafe impl ::windows::runtime::Abi for MCI_OVLY_LOAD_PARMSW {
22030     type Abi = Self;
22031     type DefaultType = Self;
22032 }
22033 pub const MCI_OVLY_OPEN_PARENT: i32 = 131072i32;
22034 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22035 #[repr(C, packed(1))]
22036 #[cfg(feature = "Win32_Foundation")]
22037 pub struct MCI_OVLY_OPEN_PARMSA {
22038     pub dwCallback: usize,
22039     pub wDeviceID: u32,
22040     pub lpstrDeviceType: super::super::super::Foundation::PSTR,
22041     pub lpstrElementName: super::super::super::Foundation::PSTR,
22042     pub lpstrAlias: super::super::super::Foundation::PSTR,
22043     pub dwStyle: u32,
22044     pub hWndParent: super::super::super::Foundation::HWND,
22045 }
22046 #[cfg(feature = "Win32_Foundation")]
22047 impl MCI_OVLY_OPEN_PARMSA {}
22048 #[cfg(feature = "Win32_Foundation")]
22049 impl ::std::default::Default for MCI_OVLY_OPEN_PARMSA {
default() -> Self22050     fn default() -> Self {
22051         unsafe { ::std::mem::zeroed() }
22052     }
22053 }
22054 #[cfg(feature = "Win32_Foundation")]
22055 impl ::std::cmp::PartialEq for MCI_OVLY_OPEN_PARMSA {
eq(&self, _other: &Self) -> bool22056     fn eq(&self, _other: &Self) -> bool {
22057         unimplemented!()
22058     }
22059 }
22060 #[cfg(feature = "Win32_Foundation")]
22061 impl ::std::cmp::Eq for MCI_OVLY_OPEN_PARMSA {}
22062 #[cfg(feature = "Win32_Foundation")]
22063 unsafe impl ::windows::runtime::Abi for MCI_OVLY_OPEN_PARMSA {
22064     type Abi = Self;
22065     type DefaultType = Self;
22066 }
22067 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22068 #[repr(C, packed(1))]
22069 #[cfg(feature = "Win32_Foundation")]
22070 pub struct MCI_OVLY_OPEN_PARMSW {
22071     pub dwCallback: usize,
22072     pub wDeviceID: u32,
22073     pub lpstrDeviceType: super::super::super::Foundation::PWSTR,
22074     pub lpstrElementName: super::super::super::Foundation::PWSTR,
22075     pub lpstrAlias: super::super::super::Foundation::PWSTR,
22076     pub dwStyle: u32,
22077     pub hWndParent: super::super::super::Foundation::HWND,
22078 }
22079 #[cfg(feature = "Win32_Foundation")]
22080 impl MCI_OVLY_OPEN_PARMSW {}
22081 #[cfg(feature = "Win32_Foundation")]
22082 impl ::std::default::Default for MCI_OVLY_OPEN_PARMSW {
default() -> Self22083     fn default() -> Self {
22084         unsafe { ::std::mem::zeroed() }
22085     }
22086 }
22087 #[cfg(feature = "Win32_Foundation")]
22088 impl ::std::cmp::PartialEq for MCI_OVLY_OPEN_PARMSW {
eq(&self, _other: &Self) -> bool22089     fn eq(&self, _other: &Self) -> bool {
22090         unimplemented!()
22091     }
22092 }
22093 #[cfg(feature = "Win32_Foundation")]
22094 impl ::std::cmp::Eq for MCI_OVLY_OPEN_PARMSW {}
22095 #[cfg(feature = "Win32_Foundation")]
22096 unsafe impl ::windows::runtime::Abi for MCI_OVLY_OPEN_PARMSW {
22097     type Abi = Self;
22098     type DefaultType = Self;
22099 }
22100 pub const MCI_OVLY_OPEN_WS: i32 = 65536i32;
22101 pub const MCI_OVLY_PUT_DESTINATION: i32 = 262144i32;
22102 pub const MCI_OVLY_PUT_FRAME: i32 = 524288i32;
22103 pub const MCI_OVLY_PUT_SOURCE: i32 = 131072i32;
22104 pub const MCI_OVLY_PUT_VIDEO: i32 = 1048576i32;
22105 pub const MCI_OVLY_RECT: i32 = 65536i32;
22106 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22107 #[repr(C, packed(1))]
22108 #[cfg(feature = "Win32_Foundation")]
22109 pub struct MCI_OVLY_RECT_PARMS {
22110     pub dwCallback: usize,
22111     pub rc: super::super::super::Foundation::RECT,
22112 }
22113 #[cfg(feature = "Win32_Foundation")]
22114 impl MCI_OVLY_RECT_PARMS {}
22115 #[cfg(feature = "Win32_Foundation")]
22116 impl ::std::default::Default for MCI_OVLY_RECT_PARMS {
default() -> Self22117     fn default() -> Self {
22118         unsafe { ::std::mem::zeroed() }
22119     }
22120 }
22121 #[cfg(feature = "Win32_Foundation")]
22122 impl ::std::cmp::PartialEq for MCI_OVLY_RECT_PARMS {
eq(&self, _other: &Self) -> bool22123     fn eq(&self, _other: &Self) -> bool {
22124         unimplemented!()
22125     }
22126 }
22127 #[cfg(feature = "Win32_Foundation")]
22128 impl ::std::cmp::Eq for MCI_OVLY_RECT_PARMS {}
22129 #[cfg(feature = "Win32_Foundation")]
22130 unsafe impl ::windows::runtime::Abi for MCI_OVLY_RECT_PARMS {
22131     type Abi = Self;
22132     type DefaultType = Self;
22133 }
22134 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22135 #[repr(C, packed(1))]
22136 #[cfg(feature = "Win32_Foundation")]
22137 pub struct MCI_OVLY_SAVE_PARMSA {
22138     pub dwCallback: usize,
22139     pub lpfilename: super::super::super::Foundation::PSTR,
22140     pub rc: super::super::super::Foundation::RECT,
22141 }
22142 #[cfg(feature = "Win32_Foundation")]
22143 impl MCI_OVLY_SAVE_PARMSA {}
22144 #[cfg(feature = "Win32_Foundation")]
22145 impl ::std::default::Default for MCI_OVLY_SAVE_PARMSA {
default() -> Self22146     fn default() -> Self {
22147         unsafe { ::std::mem::zeroed() }
22148     }
22149 }
22150 #[cfg(feature = "Win32_Foundation")]
22151 impl ::std::cmp::PartialEq for MCI_OVLY_SAVE_PARMSA {
eq(&self, _other: &Self) -> bool22152     fn eq(&self, _other: &Self) -> bool {
22153         unimplemented!()
22154     }
22155 }
22156 #[cfg(feature = "Win32_Foundation")]
22157 impl ::std::cmp::Eq for MCI_OVLY_SAVE_PARMSA {}
22158 #[cfg(feature = "Win32_Foundation")]
22159 unsafe impl ::windows::runtime::Abi for MCI_OVLY_SAVE_PARMSA {
22160     type Abi = Self;
22161     type DefaultType = Self;
22162 }
22163 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22164 #[repr(C, packed(1))]
22165 #[cfg(feature = "Win32_Foundation")]
22166 pub struct MCI_OVLY_SAVE_PARMSW {
22167     pub dwCallback: usize,
22168     pub lpfilename: super::super::super::Foundation::PWSTR,
22169     pub rc: super::super::super::Foundation::RECT,
22170 }
22171 #[cfg(feature = "Win32_Foundation")]
22172 impl MCI_OVLY_SAVE_PARMSW {}
22173 #[cfg(feature = "Win32_Foundation")]
22174 impl ::std::default::Default for MCI_OVLY_SAVE_PARMSW {
default() -> Self22175     fn default() -> Self {
22176         unsafe { ::std::mem::zeroed() }
22177     }
22178 }
22179 #[cfg(feature = "Win32_Foundation")]
22180 impl ::std::cmp::PartialEq for MCI_OVLY_SAVE_PARMSW {
eq(&self, _other: &Self) -> bool22181     fn eq(&self, _other: &Self) -> bool {
22182         unimplemented!()
22183     }
22184 }
22185 #[cfg(feature = "Win32_Foundation")]
22186 impl ::std::cmp::Eq for MCI_OVLY_SAVE_PARMSW {}
22187 #[cfg(feature = "Win32_Foundation")]
22188 unsafe impl ::windows::runtime::Abi for MCI_OVLY_SAVE_PARMSW {
22189     type Abi = Self;
22190     type DefaultType = Self;
22191 }
22192 pub const MCI_OVLY_STATUS_HWND: i32 = 16385i32;
22193 pub const MCI_OVLY_STATUS_STRETCH: i32 = 16386i32;
22194 pub const MCI_OVLY_WHERE_DESTINATION: i32 = 262144i32;
22195 pub const MCI_OVLY_WHERE_FRAME: i32 = 524288i32;
22196 pub const MCI_OVLY_WHERE_SOURCE: i32 = 131072i32;
22197 pub const MCI_OVLY_WHERE_VIDEO: i32 = 1048576i32;
22198 pub const MCI_OVLY_WINDOW_DEFAULT: i32 = 0i32;
22199 pub const MCI_OVLY_WINDOW_DISABLE_STRETCH: i32 = 2097152i32;
22200 pub const MCI_OVLY_WINDOW_ENABLE_STRETCH: i32 = 1048576i32;
22201 pub const MCI_OVLY_WINDOW_HWND: i32 = 65536i32;
22202 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22203 #[repr(C, packed(1))]
22204 #[cfg(feature = "Win32_Foundation")]
22205 pub struct MCI_OVLY_WINDOW_PARMSA {
22206     pub dwCallback: usize,
22207     pub hWnd: super::super::super::Foundation::HWND,
22208     pub nCmdShow: u32,
22209     pub lpstrText: super::super::super::Foundation::PSTR,
22210 }
22211 #[cfg(feature = "Win32_Foundation")]
22212 impl MCI_OVLY_WINDOW_PARMSA {}
22213 #[cfg(feature = "Win32_Foundation")]
22214 impl ::std::default::Default for MCI_OVLY_WINDOW_PARMSA {
default() -> Self22215     fn default() -> Self {
22216         unsafe { ::std::mem::zeroed() }
22217     }
22218 }
22219 #[cfg(feature = "Win32_Foundation")]
22220 impl ::std::cmp::PartialEq for MCI_OVLY_WINDOW_PARMSA {
eq(&self, _other: &Self) -> bool22221     fn eq(&self, _other: &Self) -> bool {
22222         unimplemented!()
22223     }
22224 }
22225 #[cfg(feature = "Win32_Foundation")]
22226 impl ::std::cmp::Eq for MCI_OVLY_WINDOW_PARMSA {}
22227 #[cfg(feature = "Win32_Foundation")]
22228 unsafe impl ::windows::runtime::Abi for MCI_OVLY_WINDOW_PARMSA {
22229     type Abi = Self;
22230     type DefaultType = Self;
22231 }
22232 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22233 #[repr(C, packed(1))]
22234 #[cfg(feature = "Win32_Foundation")]
22235 pub struct MCI_OVLY_WINDOW_PARMSW {
22236     pub dwCallback: usize,
22237     pub hWnd: super::super::super::Foundation::HWND,
22238     pub nCmdShow: u32,
22239     pub lpstrText: super::super::super::Foundation::PWSTR,
22240 }
22241 #[cfg(feature = "Win32_Foundation")]
22242 impl MCI_OVLY_WINDOW_PARMSW {}
22243 #[cfg(feature = "Win32_Foundation")]
22244 impl ::std::default::Default for MCI_OVLY_WINDOW_PARMSW {
default() -> Self22245     fn default() -> Self {
22246         unsafe { ::std::mem::zeroed() }
22247     }
22248 }
22249 #[cfg(feature = "Win32_Foundation")]
22250 impl ::std::cmp::PartialEq for MCI_OVLY_WINDOW_PARMSW {
eq(&self, _other: &Self) -> bool22251     fn eq(&self, _other: &Self) -> bool {
22252         unimplemented!()
22253     }
22254 }
22255 #[cfg(feature = "Win32_Foundation")]
22256 impl ::std::cmp::Eq for MCI_OVLY_WINDOW_PARMSW {}
22257 #[cfg(feature = "Win32_Foundation")]
22258 unsafe impl ::windows::runtime::Abi for MCI_OVLY_WINDOW_PARMSW {
22259     type Abi = Self;
22260     type DefaultType = Self;
22261 }
22262 pub const MCI_OVLY_WINDOW_STATE: i32 = 262144i32;
22263 pub const MCI_OVLY_WINDOW_TEXT: i32 = 524288i32;
22264 pub const MCI_PASTE: u32 = 2131u32;
22265 pub const MCI_PAUSE: u32 = 2057u32;
22266 pub const MCI_PLAY: u32 = 2054u32;
22267 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22268 #[repr(C, packed(1))]
22269 pub struct MCI_PLAY_PARMS {
22270     pub dwCallback: usize,
22271     pub dwFrom: u32,
22272     pub dwTo: u32,
22273 }
22274 impl MCI_PLAY_PARMS {}
22275 impl ::std::default::Default for MCI_PLAY_PARMS {
default() -> Self22276     fn default() -> Self {
22277         unsafe { ::std::mem::zeroed() }
22278     }
22279 }
22280 impl ::std::cmp::PartialEq for MCI_PLAY_PARMS {
eq(&self, _other: &Self) -> bool22281     fn eq(&self, _other: &Self) -> bool {
22282         unimplemented!()
22283     }
22284 }
22285 impl ::std::cmp::Eq for MCI_PLAY_PARMS {}
22286 unsafe impl ::windows::runtime::Abi for MCI_PLAY_PARMS {
22287     type Abi = Self;
22288     type DefaultType = Self;
22289 }
22290 pub const MCI_PUT: u32 = 2114u32;
22291 pub const MCI_REALIZE: u32 = 2112u32;
22292 pub const MCI_RECORD: u32 = 2063u32;
22293 pub const MCI_RECORD_INSERT: i32 = 256i32;
22294 pub const MCI_RECORD_OVERWRITE: i32 = 512i32;
22295 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22296 #[repr(C, packed(1))]
22297 pub struct MCI_RECORD_PARMS {
22298     pub dwCallback: usize,
22299     pub dwFrom: u32,
22300     pub dwTo: u32,
22301 }
22302 impl MCI_RECORD_PARMS {}
22303 impl ::std::default::Default for MCI_RECORD_PARMS {
default() -> Self22304     fn default() -> Self {
22305         unsafe { ::std::mem::zeroed() }
22306     }
22307 }
22308 impl ::std::cmp::PartialEq for MCI_RECORD_PARMS {
eq(&self, _other: &Self) -> bool22309     fn eq(&self, _other: &Self) -> bool {
22310         unimplemented!()
22311     }
22312 }
22313 impl ::std::cmp::Eq for MCI_RECORD_PARMS {}
22314 unsafe impl ::windows::runtime::Abi for MCI_RECORD_PARMS {
22315     type Abi = Self;
22316     type DefaultType = Self;
22317 }
22318 pub const MCI_RESUME: u32 = 2133u32;
22319 pub const MCI_SAVE: u32 = 2067u32;
22320 pub const MCI_SAVE_FILE: i32 = 256i32;
22321 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22322 #[repr(C, packed(1))]
22323 #[cfg(feature = "Win32_Foundation")]
22324 pub struct MCI_SAVE_PARMSA {
22325     pub dwCallback: usize,
22326     pub lpfilename: super::super::super::Foundation::PSTR,
22327 }
22328 #[cfg(feature = "Win32_Foundation")]
22329 impl MCI_SAVE_PARMSA {}
22330 #[cfg(feature = "Win32_Foundation")]
22331 impl ::std::default::Default for MCI_SAVE_PARMSA {
default() -> Self22332     fn default() -> Self {
22333         unsafe { ::std::mem::zeroed() }
22334     }
22335 }
22336 #[cfg(feature = "Win32_Foundation")]
22337 impl ::std::cmp::PartialEq for MCI_SAVE_PARMSA {
eq(&self, _other: &Self) -> bool22338     fn eq(&self, _other: &Self) -> bool {
22339         unimplemented!()
22340     }
22341 }
22342 #[cfg(feature = "Win32_Foundation")]
22343 impl ::std::cmp::Eq for MCI_SAVE_PARMSA {}
22344 #[cfg(feature = "Win32_Foundation")]
22345 unsafe impl ::windows::runtime::Abi for MCI_SAVE_PARMSA {
22346     type Abi = Self;
22347     type DefaultType = Self;
22348 }
22349 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22350 #[repr(C, packed(1))]
22351 #[cfg(feature = "Win32_Foundation")]
22352 pub struct MCI_SAVE_PARMSW {
22353     pub dwCallback: usize,
22354     pub lpfilename: super::super::super::Foundation::PWSTR,
22355 }
22356 #[cfg(feature = "Win32_Foundation")]
22357 impl MCI_SAVE_PARMSW {}
22358 #[cfg(feature = "Win32_Foundation")]
22359 impl ::std::default::Default for MCI_SAVE_PARMSW {
default() -> Self22360     fn default() -> Self {
22361         unsafe { ::std::mem::zeroed() }
22362     }
22363 }
22364 #[cfg(feature = "Win32_Foundation")]
22365 impl ::std::cmp::PartialEq for MCI_SAVE_PARMSW {
eq(&self, _other: &Self) -> bool22366     fn eq(&self, _other: &Self) -> bool {
22367         unimplemented!()
22368     }
22369 }
22370 #[cfg(feature = "Win32_Foundation")]
22371 impl ::std::cmp::Eq for MCI_SAVE_PARMSW {}
22372 #[cfg(feature = "Win32_Foundation")]
22373 unsafe impl ::windows::runtime::Abi for MCI_SAVE_PARMSW {
22374     type Abi = Self;
22375     type DefaultType = Self;
22376 }
22377 pub const MCI_SEEK: u32 = 2055u32;
22378 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22379 #[repr(C, packed(1))]
22380 pub struct MCI_SEEK_PARMS {
22381     pub dwCallback: usize,
22382     pub dwTo: u32,
22383 }
22384 impl MCI_SEEK_PARMS {}
22385 impl ::std::default::Default for MCI_SEEK_PARMS {
default() -> Self22386     fn default() -> Self {
22387         unsafe { ::std::mem::zeroed() }
22388     }
22389 }
22390 impl ::std::cmp::PartialEq for MCI_SEEK_PARMS {
eq(&self, _other: &Self) -> bool22391     fn eq(&self, _other: &Self) -> bool {
22392         unimplemented!()
22393     }
22394 }
22395 impl ::std::cmp::Eq for MCI_SEEK_PARMS {}
22396 unsafe impl ::windows::runtime::Abi for MCI_SEEK_PARMS {
22397     type Abi = Self;
22398     type DefaultType = Self;
22399 }
22400 pub const MCI_SEEK_TO_END: i32 = 512i32;
22401 pub const MCI_SEEK_TO_START: i32 = 256i32;
22402 pub const MCI_SEQ_FILE: u32 = 16386u32;
22403 pub const MCI_SEQ_FORMAT_SONGPTR: u32 = 16385u32;
22404 pub const MCI_SEQ_MAPPER: u32 = 65535u32;
22405 pub const MCI_SEQ_MIDI: u32 = 16387u32;
22406 pub const MCI_SEQ_NONE: u32 = 65533u32;
22407 pub const MCI_SEQ_SET_MASTER: i32 = 524288i32;
22408 pub const MCI_SEQ_SET_OFFSET: i32 = 16777216i32;
22409 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22410 #[repr(C, packed(1))]
22411 pub struct MCI_SEQ_SET_PARMS {
22412     pub dwCallback: usize,
22413     pub dwTimeFormat: u32,
22414     pub dwAudio: u32,
22415     pub dwTempo: u32,
22416     pub dwPort: u32,
22417     pub dwSlave: u32,
22418     pub dwMaster: u32,
22419     pub dwOffset: u32,
22420 }
22421 impl MCI_SEQ_SET_PARMS {}
22422 impl ::std::default::Default for MCI_SEQ_SET_PARMS {
default() -> Self22423     fn default() -> Self {
22424         unsafe { ::std::mem::zeroed() }
22425     }
22426 }
22427 impl ::std::cmp::PartialEq for MCI_SEQ_SET_PARMS {
eq(&self, _other: &Self) -> bool22428     fn eq(&self, _other: &Self) -> bool {
22429         unimplemented!()
22430     }
22431 }
22432 impl ::std::cmp::Eq for MCI_SEQ_SET_PARMS {}
22433 unsafe impl ::windows::runtime::Abi for MCI_SEQ_SET_PARMS {
22434     type Abi = Self;
22435     type DefaultType = Self;
22436 }
22437 pub const MCI_SEQ_SET_PORT: i32 = 131072i32;
22438 pub const MCI_SEQ_SET_SLAVE: i32 = 262144i32;
22439 pub const MCI_SEQ_SET_TEMPO: i32 = 65536i32;
22440 pub const MCI_SEQ_SMPTE: u32 = 16388u32;
22441 pub const MCI_SEQ_STATUS_COPYRIGHT: i32 = 16396i32;
22442 pub const MCI_SEQ_STATUS_DIVTYPE: i32 = 16394i32;
22443 pub const MCI_SEQ_STATUS_MASTER: i32 = 16392i32;
22444 pub const MCI_SEQ_STATUS_NAME: i32 = 16395i32;
22445 pub const MCI_SEQ_STATUS_OFFSET: i32 = 16393i32;
22446 pub const MCI_SEQ_STATUS_PORT: i32 = 16387i32;
22447 pub const MCI_SEQ_STATUS_SLAVE: i32 = 16391i32;
22448 pub const MCI_SEQ_STATUS_TEMPO: i32 = 16386i32;
22449 pub const MCI_SET: u32 = 2061u32;
22450 pub const MCI_SET_AUDIO: i32 = 2048i32;
22451 pub const MCI_SET_AUDIO_ALL: i32 = 0i32;
22452 pub const MCI_SET_AUDIO_LEFT: i32 = 1i32;
22453 pub const MCI_SET_AUDIO_RIGHT: i32 = 2i32;
22454 pub const MCI_SET_DOOR_CLOSED: i32 = 512i32;
22455 pub const MCI_SET_DOOR_OPEN: i32 = 256i32;
22456 pub const MCI_SET_OFF: i32 = 16384i32;
22457 pub const MCI_SET_ON: i32 = 8192i32;
22458 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22459 #[repr(C, packed(1))]
22460 pub struct MCI_SET_PARMS {
22461     pub dwCallback: usize,
22462     pub dwTimeFormat: u32,
22463     pub dwAudio: u32,
22464 }
22465 impl MCI_SET_PARMS {}
22466 impl ::std::default::Default for MCI_SET_PARMS {
default() -> Self22467     fn default() -> Self {
22468         unsafe { ::std::mem::zeroed() }
22469     }
22470 }
22471 impl ::std::cmp::PartialEq for MCI_SET_PARMS {
eq(&self, _other: &Self) -> bool22472     fn eq(&self, _other: &Self) -> bool {
22473         unimplemented!()
22474     }
22475 }
22476 impl ::std::cmp::Eq for MCI_SET_PARMS {}
22477 unsafe impl ::windows::runtime::Abi for MCI_SET_PARMS {
22478     type Abi = Self;
22479     type DefaultType = Self;
22480 }
22481 pub const MCI_SET_TIME_FORMAT: i32 = 1024i32;
22482 pub const MCI_SET_VIDEO: i32 = 4096i32;
22483 pub const MCI_SPIN: u32 = 2060u32;
22484 pub const MCI_STATUS: u32 = 2068u32;
22485 pub const MCI_STATUS_CURRENT_TRACK: i32 = 8i32;
22486 pub const MCI_STATUS_ITEM: i32 = 256i32;
22487 pub const MCI_STATUS_LENGTH: i32 = 1i32;
22488 pub const MCI_STATUS_MEDIA_PRESENT: i32 = 5i32;
22489 pub const MCI_STATUS_MODE: i32 = 4i32;
22490 pub const MCI_STATUS_NUMBER_OF_TRACKS: i32 = 3i32;
22491 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22492 #[repr(C, packed(1))]
22493 pub struct MCI_STATUS_PARMS {
22494     pub dwCallback: usize,
22495     pub dwReturn: usize,
22496     pub dwItem: u32,
22497     pub dwTrack: u32,
22498 }
22499 impl MCI_STATUS_PARMS {}
22500 impl ::std::default::Default for MCI_STATUS_PARMS {
default() -> Self22501     fn default() -> Self {
22502         unsafe { ::std::mem::zeroed() }
22503     }
22504 }
22505 impl ::std::cmp::PartialEq for MCI_STATUS_PARMS {
eq(&self, _other: &Self) -> bool22506     fn eq(&self, _other: &Self) -> bool {
22507         unimplemented!()
22508     }
22509 }
22510 impl ::std::cmp::Eq for MCI_STATUS_PARMS {}
22511 unsafe impl ::windows::runtime::Abi for MCI_STATUS_PARMS {
22512     type Abi = Self;
22513     type DefaultType = Self;
22514 }
22515 pub const MCI_STATUS_POSITION: i32 = 2i32;
22516 pub const MCI_STATUS_READY: i32 = 7i32;
22517 pub const MCI_STATUS_START: i32 = 512i32;
22518 pub const MCI_STATUS_TIME_FORMAT: i32 = 6i32;
22519 pub const MCI_STEP: u32 = 2062u32;
22520 pub const MCI_STOP: u32 = 2056u32;
22521 pub const MCI_SYSINFO: u32 = 2064u32;
22522 pub const MCI_SYSINFO_INSTALLNAME: i32 = 2048i32;
22523 pub const MCI_SYSINFO_NAME: i32 = 1024i32;
22524 pub const MCI_SYSINFO_OPEN: i32 = 512i32;
22525 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22526 #[repr(C, packed(1))]
22527 #[cfg(feature = "Win32_Foundation")]
22528 pub struct MCI_SYSINFO_PARMSA {
22529     pub dwCallback: usize,
22530     pub lpstrReturn: super::super::super::Foundation::PSTR,
22531     pub dwRetSize: u32,
22532     pub dwNumber: u32,
22533     pub wDeviceType: u32,
22534 }
22535 #[cfg(feature = "Win32_Foundation")]
22536 impl MCI_SYSINFO_PARMSA {}
22537 #[cfg(feature = "Win32_Foundation")]
22538 impl ::std::default::Default for MCI_SYSINFO_PARMSA {
default() -> Self22539     fn default() -> Self {
22540         unsafe { ::std::mem::zeroed() }
22541     }
22542 }
22543 #[cfg(feature = "Win32_Foundation")]
22544 impl ::std::cmp::PartialEq for MCI_SYSINFO_PARMSA {
eq(&self, _other: &Self) -> bool22545     fn eq(&self, _other: &Self) -> bool {
22546         unimplemented!()
22547     }
22548 }
22549 #[cfg(feature = "Win32_Foundation")]
22550 impl ::std::cmp::Eq for MCI_SYSINFO_PARMSA {}
22551 #[cfg(feature = "Win32_Foundation")]
22552 unsafe impl ::windows::runtime::Abi for MCI_SYSINFO_PARMSA {
22553     type Abi = Self;
22554     type DefaultType = Self;
22555 }
22556 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22557 #[repr(C, packed(1))]
22558 #[cfg(feature = "Win32_Foundation")]
22559 pub struct MCI_SYSINFO_PARMSW {
22560     pub dwCallback: usize,
22561     pub lpstrReturn: super::super::super::Foundation::PWSTR,
22562     pub dwRetSize: u32,
22563     pub dwNumber: u32,
22564     pub wDeviceType: u32,
22565 }
22566 #[cfg(feature = "Win32_Foundation")]
22567 impl MCI_SYSINFO_PARMSW {}
22568 #[cfg(feature = "Win32_Foundation")]
22569 impl ::std::default::Default for MCI_SYSINFO_PARMSW {
default() -> Self22570     fn default() -> Self {
22571         unsafe { ::std::mem::zeroed() }
22572     }
22573 }
22574 #[cfg(feature = "Win32_Foundation")]
22575 impl ::std::cmp::PartialEq for MCI_SYSINFO_PARMSW {
eq(&self, _other: &Self) -> bool22576     fn eq(&self, _other: &Self) -> bool {
22577         unimplemented!()
22578     }
22579 }
22580 #[cfg(feature = "Win32_Foundation")]
22581 impl ::std::cmp::Eq for MCI_SYSINFO_PARMSW {}
22582 #[cfg(feature = "Win32_Foundation")]
22583 unsafe impl ::windows::runtime::Abi for MCI_SYSINFO_PARMSW {
22584     type Abi = Self;
22585     type DefaultType = Self;
22586 }
22587 pub const MCI_SYSINFO_QUANTITY: i32 = 256i32;
22588 pub const MCI_TO: i32 = 8i32;
22589 pub const MCI_TRACK: i32 = 16i32;
22590 pub const MCI_UNFREEZE: u32 = 2117u32;
22591 pub const MCI_UPDATE: u32 = 2132u32;
22592 pub const MCI_USER_MESSAGES: u32 = 3072u32;
22593 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22594 #[repr(C, packed(1))]
22595 #[cfg(feature = "Win32_Foundation")]
22596 pub struct MCI_VD_ESCAPE_PARMSA {
22597     pub dwCallback: usize,
22598     pub lpstrCommand: super::super::super::Foundation::PSTR,
22599 }
22600 #[cfg(feature = "Win32_Foundation")]
22601 impl MCI_VD_ESCAPE_PARMSA {}
22602 #[cfg(feature = "Win32_Foundation")]
22603 impl ::std::default::Default for MCI_VD_ESCAPE_PARMSA {
default() -> Self22604     fn default() -> Self {
22605         unsafe { ::std::mem::zeroed() }
22606     }
22607 }
22608 #[cfg(feature = "Win32_Foundation")]
22609 impl ::std::cmp::PartialEq for MCI_VD_ESCAPE_PARMSA {
eq(&self, _other: &Self) -> bool22610     fn eq(&self, _other: &Self) -> bool {
22611         unimplemented!()
22612     }
22613 }
22614 #[cfg(feature = "Win32_Foundation")]
22615 impl ::std::cmp::Eq for MCI_VD_ESCAPE_PARMSA {}
22616 #[cfg(feature = "Win32_Foundation")]
22617 unsafe impl ::windows::runtime::Abi for MCI_VD_ESCAPE_PARMSA {
22618     type Abi = Self;
22619     type DefaultType = Self;
22620 }
22621 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22622 #[repr(C, packed(1))]
22623 #[cfg(feature = "Win32_Foundation")]
22624 pub struct MCI_VD_ESCAPE_PARMSW {
22625     pub dwCallback: usize,
22626     pub lpstrCommand: super::super::super::Foundation::PWSTR,
22627 }
22628 #[cfg(feature = "Win32_Foundation")]
22629 impl MCI_VD_ESCAPE_PARMSW {}
22630 #[cfg(feature = "Win32_Foundation")]
22631 impl ::std::default::Default for MCI_VD_ESCAPE_PARMSW {
default() -> Self22632     fn default() -> Self {
22633         unsafe { ::std::mem::zeroed() }
22634     }
22635 }
22636 #[cfg(feature = "Win32_Foundation")]
22637 impl ::std::cmp::PartialEq for MCI_VD_ESCAPE_PARMSW {
eq(&self, _other: &Self) -> bool22638     fn eq(&self, _other: &Self) -> bool {
22639         unimplemented!()
22640     }
22641 }
22642 #[cfg(feature = "Win32_Foundation")]
22643 impl ::std::cmp::Eq for MCI_VD_ESCAPE_PARMSW {}
22644 #[cfg(feature = "Win32_Foundation")]
22645 unsafe impl ::windows::runtime::Abi for MCI_VD_ESCAPE_PARMSW {
22646     type Abi = Self;
22647     type DefaultType = Self;
22648 }
22649 pub const MCI_VD_ESCAPE_STRING: i32 = 256i32;
22650 pub const MCI_VD_FORMAT_TRACK: u32 = 16385u32;
22651 pub const MCI_VD_GETDEVCAPS_CAN_REVERSE: i32 = 16386i32;
22652 pub const MCI_VD_GETDEVCAPS_CAV: i32 = 131072i32;
22653 pub const MCI_VD_GETDEVCAPS_CLV: i32 = 65536i32;
22654 pub const MCI_VD_GETDEVCAPS_FAST_RATE: i32 = 16387i32;
22655 pub const MCI_VD_GETDEVCAPS_NORMAL_RATE: i32 = 16389i32;
22656 pub const MCI_VD_GETDEVCAPS_SLOW_RATE: i32 = 16388i32;
22657 pub const MCI_VD_MEDIA_CAV: u32 = 1027u32;
22658 pub const MCI_VD_MEDIA_CLV: u32 = 1026u32;
22659 pub const MCI_VD_MEDIA_OTHER: u32 = 1028u32;
22660 pub const MCI_VD_MODE_PARK: u32 = 1025u32;
22661 pub const MCI_VD_PLAY_FAST: i32 = 131072i32;
22662 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22663 #[repr(C, packed(1))]
22664 pub struct MCI_VD_PLAY_PARMS {
22665     pub dwCallback: usize,
22666     pub dwFrom: u32,
22667     pub dwTo: u32,
22668     pub dwSpeed: u32,
22669 }
22670 impl MCI_VD_PLAY_PARMS {}
22671 impl ::std::default::Default for MCI_VD_PLAY_PARMS {
default() -> Self22672     fn default() -> Self {
22673         unsafe { ::std::mem::zeroed() }
22674     }
22675 }
22676 impl ::std::cmp::PartialEq for MCI_VD_PLAY_PARMS {
eq(&self, _other: &Self) -> bool22677     fn eq(&self, _other: &Self) -> bool {
22678         unimplemented!()
22679     }
22680 }
22681 impl ::std::cmp::Eq for MCI_VD_PLAY_PARMS {}
22682 unsafe impl ::windows::runtime::Abi for MCI_VD_PLAY_PARMS {
22683     type Abi = Self;
22684     type DefaultType = Self;
22685 }
22686 pub const MCI_VD_PLAY_REVERSE: i32 = 65536i32;
22687 pub const MCI_VD_PLAY_SCAN: i32 = 524288i32;
22688 pub const MCI_VD_PLAY_SLOW: i32 = 1048576i32;
22689 pub const MCI_VD_PLAY_SPEED: i32 = 262144i32;
22690 pub const MCI_VD_SEEK_REVERSE: i32 = 65536i32;
22691 pub const MCI_VD_SPIN_DOWN: i32 = 131072i32;
22692 pub const MCI_VD_SPIN_UP: i32 = 65536i32;
22693 pub const MCI_VD_STATUS_DISC_SIZE: i32 = 16390i32;
22694 pub const MCI_VD_STATUS_FORWARD: i32 = 16387i32;
22695 pub const MCI_VD_STATUS_MEDIA_TYPE: i32 = 16388i32;
22696 pub const MCI_VD_STATUS_SIDE: i32 = 16389i32;
22697 pub const MCI_VD_STATUS_SPEED: i32 = 16386i32;
22698 pub const MCI_VD_STEP_FRAMES: i32 = 65536i32;
22699 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22700 #[repr(C, packed(1))]
22701 pub struct MCI_VD_STEP_PARMS {
22702     pub dwCallback: usize,
22703     pub dwFrames: u32,
22704 }
22705 impl MCI_VD_STEP_PARMS {}
22706 impl ::std::default::Default for MCI_VD_STEP_PARMS {
default() -> Self22707     fn default() -> Self {
22708         unsafe { ::std::mem::zeroed() }
22709     }
22710 }
22711 impl ::std::cmp::PartialEq for MCI_VD_STEP_PARMS {
eq(&self, _other: &Self) -> bool22712     fn eq(&self, _other: &Self) -> bool {
22713         unimplemented!()
22714     }
22715 }
22716 impl ::std::cmp::Eq for MCI_VD_STEP_PARMS {}
22717 unsafe impl ::windows::runtime::Abi for MCI_VD_STEP_PARMS {
22718     type Abi = Self;
22719     type DefaultType = Self;
22720 }
22721 pub const MCI_VD_STEP_REVERSE: i32 = 131072i32;
22722 pub const MCI_WAIT: i32 = 2i32;
22723 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22724 #[repr(C, packed(1))]
22725 pub struct MCI_WAVE_DELETE_PARMS {
22726     pub dwCallback: usize,
22727     pub dwFrom: u32,
22728     pub dwTo: u32,
22729 }
22730 impl MCI_WAVE_DELETE_PARMS {}
22731 impl ::std::default::Default for MCI_WAVE_DELETE_PARMS {
default() -> Self22732     fn default() -> Self {
22733         unsafe { ::std::mem::zeroed() }
22734     }
22735 }
22736 impl ::std::cmp::PartialEq for MCI_WAVE_DELETE_PARMS {
eq(&self, _other: &Self) -> bool22737     fn eq(&self, _other: &Self) -> bool {
22738         unimplemented!()
22739     }
22740 }
22741 impl ::std::cmp::Eq for MCI_WAVE_DELETE_PARMS {}
22742 unsafe impl ::windows::runtime::Abi for MCI_WAVE_DELETE_PARMS {
22743     type Abi = Self;
22744     type DefaultType = Self;
22745 }
22746 pub const MCI_WAVE_GETDEVCAPS_INPUTS: i32 = 16385i32;
22747 pub const MCI_WAVE_GETDEVCAPS_OUTPUTS: i32 = 16386i32;
22748 pub const MCI_WAVE_INPUT: i32 = 4194304i32;
22749 pub const MCI_WAVE_MAPPER: u32 = 1153u32;
22750 pub const MCI_WAVE_OPEN_BUFFER: i32 = 65536i32;
22751 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22752 #[repr(C, packed(1))]
22753 #[cfg(feature = "Win32_Foundation")]
22754 pub struct MCI_WAVE_OPEN_PARMSA {
22755     pub dwCallback: usize,
22756     pub wDeviceID: u32,
22757     pub lpstrDeviceType: super::super::super::Foundation::PSTR,
22758     pub lpstrElementName: super::super::super::Foundation::PSTR,
22759     pub lpstrAlias: super::super::super::Foundation::PSTR,
22760     pub dwBufferSeconds: u32,
22761 }
22762 #[cfg(feature = "Win32_Foundation")]
22763 impl MCI_WAVE_OPEN_PARMSA {}
22764 #[cfg(feature = "Win32_Foundation")]
22765 impl ::std::default::Default for MCI_WAVE_OPEN_PARMSA {
default() -> Self22766     fn default() -> Self {
22767         unsafe { ::std::mem::zeroed() }
22768     }
22769 }
22770 #[cfg(feature = "Win32_Foundation")]
22771 impl ::std::cmp::PartialEq for MCI_WAVE_OPEN_PARMSA {
eq(&self, _other: &Self) -> bool22772     fn eq(&self, _other: &Self) -> bool {
22773         unimplemented!()
22774     }
22775 }
22776 #[cfg(feature = "Win32_Foundation")]
22777 impl ::std::cmp::Eq for MCI_WAVE_OPEN_PARMSA {}
22778 #[cfg(feature = "Win32_Foundation")]
22779 unsafe impl ::windows::runtime::Abi for MCI_WAVE_OPEN_PARMSA {
22780     type Abi = Self;
22781     type DefaultType = Self;
22782 }
22783 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22784 #[repr(C, packed(1))]
22785 #[cfg(feature = "Win32_Foundation")]
22786 pub struct MCI_WAVE_OPEN_PARMSW {
22787     pub dwCallback: usize,
22788     pub wDeviceID: u32,
22789     pub lpstrDeviceType: super::super::super::Foundation::PWSTR,
22790     pub lpstrElementName: super::super::super::Foundation::PWSTR,
22791     pub lpstrAlias: super::super::super::Foundation::PWSTR,
22792     pub dwBufferSeconds: u32,
22793 }
22794 #[cfg(feature = "Win32_Foundation")]
22795 impl MCI_WAVE_OPEN_PARMSW {}
22796 #[cfg(feature = "Win32_Foundation")]
22797 impl ::std::default::Default for MCI_WAVE_OPEN_PARMSW {
default() -> Self22798     fn default() -> Self {
22799         unsafe { ::std::mem::zeroed() }
22800     }
22801 }
22802 #[cfg(feature = "Win32_Foundation")]
22803 impl ::std::cmp::PartialEq for MCI_WAVE_OPEN_PARMSW {
eq(&self, _other: &Self) -> bool22804     fn eq(&self, _other: &Self) -> bool {
22805         unimplemented!()
22806     }
22807 }
22808 #[cfg(feature = "Win32_Foundation")]
22809 impl ::std::cmp::Eq for MCI_WAVE_OPEN_PARMSW {}
22810 #[cfg(feature = "Win32_Foundation")]
22811 unsafe impl ::windows::runtime::Abi for MCI_WAVE_OPEN_PARMSW {
22812     type Abi = Self;
22813     type DefaultType = Self;
22814 }
22815 pub const MCI_WAVE_OUTPUT: i32 = 8388608i32;
22816 pub const MCI_WAVE_PCM: u32 = 1152u32;
22817 pub const MCI_WAVE_SET_ANYINPUT: i32 = 67108864i32;
22818 pub const MCI_WAVE_SET_ANYOUTPUT: i32 = 134217728i32;
22819 pub const MCI_WAVE_SET_AVGBYTESPERSEC: i32 = 524288i32;
22820 pub const MCI_WAVE_SET_BITSPERSAMPLE: i32 = 2097152i32;
22821 pub const MCI_WAVE_SET_BLOCKALIGN: i32 = 1048576i32;
22822 pub const MCI_WAVE_SET_CHANNELS: i32 = 131072i32;
22823 pub const MCI_WAVE_SET_FORMATTAG: i32 = 65536i32;
22824 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22825 #[repr(C, packed(1))]
22826 pub struct MCI_WAVE_SET_PARMS {
22827     pub dwCallback: usize,
22828     pub dwTimeFormat: u32,
22829     pub dwAudio: u32,
22830     pub wInput: u32,
22831     pub wOutput: u32,
22832     pub wFormatTag: u16,
22833     pub wReserved2: u16,
22834     pub nChannels: u16,
22835     pub wReserved3: u16,
22836     pub nSamplesPerSec: u32,
22837     pub nAvgBytesPerSec: u32,
22838     pub nBlockAlign: u16,
22839     pub wReserved4: u16,
22840     pub wBitsPerSample: u16,
22841     pub wReserved5: u16,
22842 }
22843 impl MCI_WAVE_SET_PARMS {}
22844 impl ::std::default::Default for MCI_WAVE_SET_PARMS {
default() -> Self22845     fn default() -> Self {
22846         unsafe { ::std::mem::zeroed() }
22847     }
22848 }
22849 impl ::std::cmp::PartialEq for MCI_WAVE_SET_PARMS {
eq(&self, _other: &Self) -> bool22850     fn eq(&self, _other: &Self) -> bool {
22851         unimplemented!()
22852     }
22853 }
22854 impl ::std::cmp::Eq for MCI_WAVE_SET_PARMS {}
22855 unsafe impl ::windows::runtime::Abi for MCI_WAVE_SET_PARMS {
22856     type Abi = Self;
22857     type DefaultType = Self;
22858 }
22859 pub const MCI_WAVE_SET_SAMPLESPERSEC: i32 = 262144i32;
22860 pub const MCI_WAVE_STATUS_AVGBYTESPERSEC: i32 = 16388i32;
22861 pub const MCI_WAVE_STATUS_BITSPERSAMPLE: i32 = 16390i32;
22862 pub const MCI_WAVE_STATUS_BLOCKALIGN: i32 = 16389i32;
22863 pub const MCI_WAVE_STATUS_CHANNELS: i32 = 16386i32;
22864 pub const MCI_WAVE_STATUS_FORMATTAG: i32 = 16385i32;
22865 pub const MCI_WAVE_STATUS_LEVEL: i32 = 16391i32;
22866 pub const MCI_WAVE_STATUS_SAMPLESPERSEC: i32 = 16387i32;
22867 pub const MCI_WHERE: u32 = 2115u32;
22868 pub const MCI_WINDOW: u32 = 2113u32;
22869 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22870 #[repr(C)]
22871 #[cfg(feature = "Win32_Foundation")]
22872 pub struct MEDIUM_INFO {
22873     pub MediaPresent: super::super::super::Foundation::BOOL,
22874     pub MediaType: u32,
22875     pub RecordInhibit: super::super::super::Foundation::BOOL,
22876 }
22877 #[cfg(feature = "Win32_Foundation")]
22878 impl MEDIUM_INFO {}
22879 #[cfg(feature = "Win32_Foundation")]
22880 impl ::std::default::Default for MEDIUM_INFO {
default() -> Self22881     fn default() -> Self {
22882         unsafe { ::std::mem::zeroed() }
22883     }
22884 }
22885 #[cfg(feature = "Win32_Foundation")]
22886 impl ::std::fmt::Debug for MEDIUM_INFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result22887     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
22888         fmt.debug_struct("MEDIUM_INFO").field("MediaPresent", &self.MediaPresent).field("MediaType", &self.MediaType).field("RecordInhibit", &self.RecordInhibit).finish()
22889     }
22890 }
22891 #[cfg(feature = "Win32_Foundation")]
22892 impl ::std::cmp::PartialEq for MEDIUM_INFO {
eq(&self, other: &Self) -> bool22893     fn eq(&self, other: &Self) -> bool {
22894         self.MediaPresent == other.MediaPresent && self.MediaType == other.MediaType && self.RecordInhibit == other.RecordInhibit
22895     }
22896 }
22897 #[cfg(feature = "Win32_Foundation")]
22898 impl ::std::cmp::Eq for MEDIUM_INFO {}
22899 #[cfg(feature = "Win32_Foundation")]
22900 unsafe impl ::windows::runtime::Abi for MEDIUM_INFO {
22901     type Abi = Self;
22902     type DefaultType = Self;
22903 }
22904 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22905 #[repr(C)]
22906 pub union MF_MDL_SHARED_PAYLOAD_KEY {
22907     pub combined: MF_MDL_SHARED_PAYLOAD_KEY_0,
22908     pub GMDLHandle: ::windows::runtime::GUID,
22909 }
22910 impl MF_MDL_SHARED_PAYLOAD_KEY {}
22911 impl ::std::default::Default for MF_MDL_SHARED_PAYLOAD_KEY {
default() -> Self22912     fn default() -> Self {
22913         unsafe { ::std::mem::zeroed() }
22914     }
22915 }
22916 impl ::std::cmp::PartialEq for MF_MDL_SHARED_PAYLOAD_KEY {
eq(&self, _other: &Self) -> bool22917     fn eq(&self, _other: &Self) -> bool {
22918         unimplemented!()
22919     }
22920 }
22921 impl ::std::cmp::Eq for MF_MDL_SHARED_PAYLOAD_KEY {}
22922 unsafe impl ::windows::runtime::Abi for MF_MDL_SHARED_PAYLOAD_KEY {
22923     type Abi = Self;
22924     type DefaultType = Self;
22925 }
22926 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22927 #[repr(C)]
22928 pub struct MF_MDL_SHARED_PAYLOAD_KEY_0 {
22929     pub pHandle: u32,
22930     pub fHandle: u32,
22931     pub uPayload: u64,
22932 }
22933 impl MF_MDL_SHARED_PAYLOAD_KEY_0 {}
22934 impl ::std::default::Default for MF_MDL_SHARED_PAYLOAD_KEY_0 {
default() -> Self22935     fn default() -> Self {
22936         unsafe { ::std::mem::zeroed() }
22937     }
22938 }
22939 impl ::std::fmt::Debug for MF_MDL_SHARED_PAYLOAD_KEY_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result22940     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
22941         fmt.debug_struct("_combined_e__Struct").field("pHandle", &self.pHandle).field("fHandle", &self.fHandle).field("uPayload", &self.uPayload).finish()
22942     }
22943 }
22944 impl ::std::cmp::PartialEq for MF_MDL_SHARED_PAYLOAD_KEY_0 {
eq(&self, other: &Self) -> bool22945     fn eq(&self, other: &Self) -> bool {
22946         self.pHandle == other.pHandle && self.fHandle == other.fHandle && self.uPayload == other.uPayload
22947     }
22948 }
22949 impl ::std::cmp::Eq for MF_MDL_SHARED_PAYLOAD_KEY_0 {}
22950 unsafe impl ::windows::runtime::Abi for MF_MDL_SHARED_PAYLOAD_KEY_0 {
22951     type Abi = Self;
22952     type DefaultType = Self;
22953 }
22954 pub const MIDL_ANYSIZE_ARRAY: u32 = 1u32;
22955 pub const MIN_DEV_VER_FOR_FLAGS: u32 = 272u32;
22956 pub const MIN_DEV_VER_FOR_QI: u32 = 256u32;
22957 pub const MMDeviceEnumerator: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3168666517, 58671, 18044, [142, 61, 196, 87, 146, 145, 105, 46]);
22958 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22959 #[repr(C)]
22960 pub struct NABTSFEC_BUFFER {
22961     pub dataSize: u32,
22962     pub groupID: u16,
22963     pub Reserved: u16,
22964     pub data: [u8; 448],
22965 }
22966 impl NABTSFEC_BUFFER {}
22967 impl ::std::default::Default for NABTSFEC_BUFFER {
default() -> Self22968     fn default() -> Self {
22969         unsafe { ::std::mem::zeroed() }
22970     }
22971 }
22972 impl ::std::fmt::Debug for NABTSFEC_BUFFER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result22973     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
22974         fmt.debug_struct("NABTSFEC_BUFFER").field("dataSize", &self.dataSize).field("groupID", &self.groupID).field("Reserved", &self.Reserved).field("data", &self.data).finish()
22975     }
22976 }
22977 impl ::std::cmp::PartialEq for NABTSFEC_BUFFER {
eq(&self, other: &Self) -> bool22978     fn eq(&self, other: &Self) -> bool {
22979         self.dataSize == other.dataSize && self.groupID == other.groupID && self.Reserved == other.Reserved && self.data == other.data
22980     }
22981 }
22982 impl ::std::cmp::Eq for NABTSFEC_BUFFER {}
22983 unsafe impl ::windows::runtime::Abi for NABTSFEC_BUFFER {
22984     type Abi = Self;
22985     type DefaultType = Self;
22986 }
22987 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22988 #[repr(C, packed(1))]
22989 pub struct NABTS_BUFFER {
22990     pub ScanlinesRequested: VBICODECFILTERING_SCANLINES,
22991     pub PictureNumber: i64,
22992     pub NabtsLines: [NABTS_BUFFER_LINE; 11],
22993 }
22994 impl NABTS_BUFFER {}
22995 impl ::std::default::Default for NABTS_BUFFER {
default() -> Self22996     fn default() -> Self {
22997         unsafe { ::std::mem::zeroed() }
22998     }
22999 }
23000 impl ::std::cmp::PartialEq for NABTS_BUFFER {
eq(&self, _other: &Self) -> bool23001     fn eq(&self, _other: &Self) -> bool {
23002         unimplemented!()
23003     }
23004 }
23005 impl ::std::cmp::Eq for NABTS_BUFFER {}
23006 unsafe impl ::windows::runtime::Abi for NABTS_BUFFER {
23007     type Abi = Self;
23008     type DefaultType = Self;
23009 }
23010 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
23011 #[repr(C)]
23012 pub struct NABTS_BUFFER_LINE {
23013     pub Confidence: u8,
23014     pub Bytes: [u8; 36],
23015 }
23016 impl NABTS_BUFFER_LINE {}
23017 impl ::std::default::Default for NABTS_BUFFER_LINE {
default() -> Self23018     fn default() -> Self {
23019         unsafe { ::std::mem::zeroed() }
23020     }
23021 }
23022 impl ::std::fmt::Debug for NABTS_BUFFER_LINE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result23023     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
23024         fmt.debug_struct("NABTS_BUFFER_LINE").field("Confidence", &self.Confidence).field("Bytes", &self.Bytes).finish()
23025     }
23026 }
23027 impl ::std::cmp::PartialEq for NABTS_BUFFER_LINE {
eq(&self, other: &Self) -> bool23028     fn eq(&self, other: &Self) -> bool {
23029         self.Confidence == other.Confidence && self.Bytes == other.Bytes
23030     }
23031 }
23032 impl ::std::cmp::Eq for NABTS_BUFFER_LINE {}
23033 unsafe impl ::windows::runtime::Abi for NABTS_BUFFER_LINE {
23034     type Abi = Self;
23035     type DefaultType = Self;
23036 }
23037 pub const NABTS_BUFFER_PICTURENUMBER_SUPPORT: u32 = 1u32;
23038 pub const NABTS_BYTES_PER_LINE: u32 = 36u32;
23039 pub const NABTS_LINES_PER_BUNDLE: u32 = 16u32;
23040 pub const NABTS_PAYLOAD_PER_LINE: u32 = 28u32;
23041 pub const NANOSECONDS: u32 = 10000000u32;
23042 pub type PAudioStateMonitorCallback = unsafe extern "system" fn(audiostatemonitor: ::windows::runtime::RawPtr, context: *const ::std::ffi::c_void);
23043 pub const PINNAME_DISPLAYPORT_OUT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(570143529, 6730, 18650, [160, 118, 35, 24, 163, 197, 155, 38]);
23044 pub const PINNAME_HDMI_OUT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(947649539, 59375, 18689, [134, 224, 53, 183, 195, 43, 0, 239]);
23045 pub const PINNAME_IMAGE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(950062488, 54427, 19688, [180, 138, 52, 70, 103, 161, 120, 48]);
23046 pub const PINNAME_SPDIF_IN: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(366776357, 8877, 16819, [136, 117, 244, 206, 176, 41, 158, 32]);
23047 pub const PINNAME_SPDIF_OUT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(975586433, 58668, 19330, [142, 122, 200, 226, 249, 29, 195, 128]);
23048 pub const PINNAME_VIDEO_ANALOGVIDEOIN: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4218176131, 851, 4561, [144, 95, 0, 0, 192, 204, 22, 186]);
23049 pub const PINNAME_VIDEO_CAPTURE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4218176129, 851, 4561, [144, 95, 0, 0, 192, 204, 22, 186]);
23050 pub const PINNAME_VIDEO_CC: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4218176137, 851, 4561, [144, 95, 0, 0, 192, 204, 22, 186]);
23051 pub const PINNAME_VIDEO_CC_CAPTURE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(447578209, 301, 4562, [180, 177, 0, 160, 209, 2, 207, 190]);
23052 pub const PINNAME_VIDEO_EDS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4218176135, 851, 4561, [144, 95, 0, 0, 192, 204, 22, 186]);
23053 pub const PINNAME_VIDEO_NABTS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4218176134, 851, 4561, [144, 95, 0, 0, 192, 204, 22, 186]);
23054 pub const PINNAME_VIDEO_NABTS_CAPTURE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(695219808, 18826, 4562, [180, 177, 0, 160, 209, 2, 207, 190]);
23055 pub const PINNAME_VIDEO_PREVIEW: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4218176130, 851, 4561, [144, 95, 0, 0, 192, 204, 22, 186]);
23056 pub const PINNAME_VIDEO_STILL: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4218176138, 851, 4561, [144, 95, 0, 0, 192, 204, 22, 186]);
23057 pub const PINNAME_VIDEO_TELETEXT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4218176136, 851, 4561, [144, 95, 0, 0, 192, 204, 22, 186]);
23058 pub const PINNAME_VIDEO_TIMECODE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4218176139, 851, 4561, [144, 95, 0, 0, 192, 204, 22, 186]);
23059 pub const PINNAME_VIDEO_VBI: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4218176132, 851, 4561, [144, 95, 0, 0, 192, 204, 22, 186]);
23060 pub const PINNAME_VIDEO_VIDEOPORT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4218176133, 851, 4561, [144, 95, 0, 0, 192, 204, 22, 186]);
23061 pub const PINNAME_VIDEO_VIDEOPORT_VBI: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4218176140, 851, 4561, [144, 95, 0, 0, 192, 204, 22, 186]);
23062 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
23063 #[repr(transparent)]
23064 pub struct PROCESS_LOOPBACK_MODE(pub i32);
23065 pub const PROCESS_LOOPBACK_MODE_INCLUDE_TARGET_PROCESS_TREE: PROCESS_LOOPBACK_MODE = PROCESS_LOOPBACK_MODE(0i32);
23066 pub const PROCESS_LOOPBACK_MODE_EXCLUDE_TARGET_PROCESS_TREE: PROCESS_LOOPBACK_MODE = PROCESS_LOOPBACK_MODE(1i32);
23067 impl ::std::convert::From<i32> for PROCESS_LOOPBACK_MODE {
from(value: i32) -> Self23068     fn from(value: i32) -> Self {
23069         Self(value)
23070     }
23071 }
23072 unsafe impl ::windows::runtime::Abi for PROCESS_LOOPBACK_MODE {
23073     type Abi = Self;
23074     type DefaultType = Self;
23075 }
23076 pub const PROPSETID_ALLOCATOR_CONTROL: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1394022752, 5262, 4562, [153, 121, 0, 0, 192, 204, 22, 186]);
23077 pub const PROPSETID_EXT_DEVICE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3044215440, 6700, 4559, [140, 35, 0, 170, 0, 107, 104, 20]);
23078 pub const PROPSETID_EXT_TRANSPORT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2688341488, 12357, 4559, [140, 68, 0, 170, 0, 107, 104, 20]);
23079 pub const PROPSETID_TIMECODE_READER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2605280481, 33051, 4559, [140, 119, 0, 170, 0, 107, 104, 20]);
23080 pub const PROPSETID_TUNER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1781401093, 10468, 4560, [161, 140, 0, 160, 201, 17, 137, 86]);
23081 pub const PROPSETID_VIDCAP_CAMERACONTROL: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3336647536, 12460, 4560, [161, 140, 0, 160, 201, 17, 137, 86]);
23082 pub const PROPSETID_VIDCAP_CAMERACONTROL_FLASH: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2019462985, 25506, 16708, [171, 112, 255, 178, 120, 250, 38, 206]);
23083 pub const PROPSETID_VIDCAP_CAMERACONTROL_IMAGE_PIN_CAPABILITY: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2638052287, 23661, 16696, [187, 0, 88, 78, 221, 32, 247, 197]);
23084 pub const PROPSETID_VIDCAP_CAMERACONTROL_REGION_OF_INTEREST: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2635256216, 63596, 20461, [176, 35, 93, 135, 101, 61, 167, 147]);
23085 pub const PROPSETID_VIDCAP_CAMERACONTROL_VIDEO_STABILIZATION: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1133923283, 30486, 16462, [139, 225, 210, 153, 178, 14, 80, 253]);
23086 pub const PROPSETID_VIDCAP_CROSSBAR: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1781401152, 10468, 4560, [161, 140, 0, 160, 201, 17, 137, 86]);
23087 pub const PROPSETID_VIDCAP_DROPPEDFRAMES: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3336647492, 12460, 4560, [161, 140, 0, 160, 201, 17, 137, 86]);
23088 pub const PROPSETID_VIDCAP_SELECTOR: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(448638666, 26806, 20355, [147, 113, 180, 19, 144, 124, 123, 159]);
23089 pub const PROPSETID_VIDCAP_TVAUDIO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1781401168, 10468, 4560, [161, 140, 0, 160, 201, 17, 137, 86]);
23090 pub const PROPSETID_VIDCAP_VIDEOCOMPRESSION: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3336647491, 12460, 4560, [161, 140, 0, 160, 201, 17, 137, 86]);
23091 pub const PROPSETID_VIDCAP_VIDEOCONTROL: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1781401200, 10468, 4560, [161, 140, 0, 160, 201, 17, 137, 86]);
23092 pub const PROPSETID_VIDCAP_VIDEODECODER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3336647504, 12460, 4560, [161, 140, 0, 160, 201, 17, 137, 86]);
23093 pub const PROPSETID_VIDCAP_VIDEOENCODER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1781401104, 10468, 4560, [161, 140, 0, 160, 201, 17, 137, 86]);
23094 pub const PROPSETID_VIDCAP_VIDEOPROCAMP: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3336647520, 12460, 4560, [161, 140, 0, 160, 201, 17, 137, 86]);
23095 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
23096 #[repr(transparent)]
23097 pub struct PartType(pub i32);
23098 pub const Connector: PartType = PartType(0i32);
23099 pub const Subunit: PartType = PartType(1i32);
23100 impl ::std::convert::From<i32> for PartType {
from(value: i32) -> Self23101     fn from(value: i32) -> Self {
23102         Self(value)
23103     }
23104 }
23105 unsafe impl ::windows::runtime::Abi for PartType {
23106     type Abi = Self;
23107     type DefaultType = Self;
23108 }
23109 #[cfg(feature = "Win32_Foundation")]
23110 pub const RT_RCDATA: super::super::super::Foundation::PWSTR = super::super::super::Foundation::PWSTR(10i32 as _);
23111 #[cfg(feature = "Win32_Foundation")]
23112 pub const RT_STRING: super::super::super::Foundation::PWSTR = super::super::super::Foundation::PWSTR(6i32 as _);
23113 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
23114 #[repr(C)]
23115 pub struct SECURE_BUFFER_INFO {
23116     pub guidBufferIdentifier: ::windows::runtime::GUID,
23117     pub cbBufferSize: u32,
23118     pub cbCaptured: u32,
23119     pub ullReserved: [u64; 16],
23120 }
23121 impl SECURE_BUFFER_INFO {}
23122 impl ::std::default::Default for SECURE_BUFFER_INFO {
default() -> Self23123     fn default() -> Self {
23124         unsafe { ::std::mem::zeroed() }
23125     }
23126 }
23127 impl ::std::fmt::Debug for SECURE_BUFFER_INFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result23128     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
23129         fmt.debug_struct("SECURE_BUFFER_INFO").field("guidBufferIdentifier", &self.guidBufferIdentifier).field("cbBufferSize", &self.cbBufferSize).field("cbCaptured", &self.cbCaptured).field("ullReserved", &self.ullReserved).finish()
23130     }
23131 }
23132 impl ::std::cmp::PartialEq for SECURE_BUFFER_INFO {
eq(&self, other: &Self) -> bool23133     fn eq(&self, other: &Self) -> bool {
23134         self.guidBufferIdentifier == other.guidBufferIdentifier && self.cbBufferSize == other.cbBufferSize && self.cbCaptured == other.cbCaptured && self.ullReserved == other.ullReserved
23135     }
23136 }
23137 impl ::std::cmp::Eq for SECURE_BUFFER_INFO {}
23138 unsafe impl ::windows::runtime::Abi for SECURE_BUFFER_INFO {
23139     type Abi = Self;
23140     type DefaultType = Self;
23141 }
23142 pub const SID_AudioProcessingObjectLoggingService: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2340423855, 2553, 17774, [161, 115, 189, 181, 132, 153, 188, 231]);
23143 pub const SID_AudioProcessingObjectRTQueue: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1166809631, 26777, 19474, [153, 172, 226, 230, 172, 37, 49, 4]);
23144 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
23145 #[repr(C)]
23146 pub struct SOUNDDETECTOR_PATTERNHEADER {
23147     pub Size: u32,
23148     pub PatternType: ::windows::runtime::GUID,
23149 }
23150 impl SOUNDDETECTOR_PATTERNHEADER {}
23151 impl ::std::default::Default for SOUNDDETECTOR_PATTERNHEADER {
default() -> Self23152     fn default() -> Self {
23153         unsafe { ::std::mem::zeroed() }
23154     }
23155 }
23156 impl ::std::fmt::Debug for SOUNDDETECTOR_PATTERNHEADER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result23157     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
23158         fmt.debug_struct("SOUNDDETECTOR_PATTERNHEADER").field("Size", &self.Size).field("PatternType", &self.PatternType).finish()
23159     }
23160 }
23161 impl ::std::cmp::PartialEq for SOUNDDETECTOR_PATTERNHEADER {
eq(&self, other: &Self) -> bool23162     fn eq(&self, other: &Self) -> bool {
23163         self.Size == other.Size && self.PatternType == other.PatternType
23164     }
23165 }
23166 impl ::std::cmp::Eq for SOUNDDETECTOR_PATTERNHEADER {}
23167 unsafe impl ::windows::runtime::Abi for SOUNDDETECTOR_PATTERNHEADER {
23168     type Abi = Self;
23169     type DefaultType = Self;
23170 }
23171 pub const SPATIAL_AUDIO_POSITION: u32 = 200u32;
23172 pub const SPATIAL_AUDIO_STANDARD_COMMANDS_START: u32 = 200u32;
23173 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
23174 #[repr(transparent)]
23175 pub struct SPATIAL_AUDIO_STREAM_OPTIONS(pub u32);
23176 pub const SPATIAL_AUDIO_STREAM_OPTIONS_NONE: SPATIAL_AUDIO_STREAM_OPTIONS = SPATIAL_AUDIO_STREAM_OPTIONS(0u32);
23177 pub const SPATIAL_AUDIO_STREAM_OPTIONS_OFFLOAD: SPATIAL_AUDIO_STREAM_OPTIONS = SPATIAL_AUDIO_STREAM_OPTIONS(1u32);
23178 impl ::std::convert::From<u32> for SPATIAL_AUDIO_STREAM_OPTIONS {
from(value: u32) -> Self23179     fn from(value: u32) -> Self {
23180         Self(value)
23181     }
23182 }
23183 unsafe impl ::windows::runtime::Abi for SPATIAL_AUDIO_STREAM_OPTIONS {
23184     type Abi = Self;
23185     type DefaultType = Self;
23186 }
23187 impl ::std::ops::BitOr for SPATIAL_AUDIO_STREAM_OPTIONS {
23188     type Output = Self;
bitor(self, rhs: Self) -> Self23189     fn bitor(self, rhs: Self) -> Self {
23190         Self(self.0 | rhs.0)
23191     }
23192 }
23193 impl ::std::ops::BitAnd for SPATIAL_AUDIO_STREAM_OPTIONS {
23194     type Output = Self;
bitand(self, rhs: Self) -> Self23195     fn bitand(self, rhs: Self) -> Self {
23196         Self(self.0 & rhs.0)
23197     }
23198 }
23199 impl ::std::ops::BitOrAssign for SPATIAL_AUDIO_STREAM_OPTIONS {
bitor_assign(&mut self, rhs: Self)23200     fn bitor_assign(&mut self, rhs: Self) {
23201         self.0.bitor_assign(rhs.0)
23202     }
23203 }
23204 impl ::std::ops::BitAndAssign for SPATIAL_AUDIO_STREAM_OPTIONS {
bitand_assign(&mut self, rhs: Self)23205     fn bitand_assign(&mut self, rhs: Self) {
23206         self.0.bitand_assign(rhs.0)
23207     }
23208 }
23209 impl ::std::ops::Not for SPATIAL_AUDIO_STREAM_OPTIONS {
23210     type Output = Self;
not(self) -> Self23211     fn not(self) -> Self {
23212         Self(self.0.not())
23213     }
23214 }
23215 pub const SPEAKER_ALL: u32 = 2147483648u32;
23216 pub const SPEAKER_BACK_CENTER: u32 = 256u32;
23217 pub const SPEAKER_BACK_LEFT: u32 = 16u32;
23218 pub const SPEAKER_BACK_RIGHT: u32 = 32u32;
23219 pub const SPEAKER_FRONT_CENTER: u32 = 4u32;
23220 pub const SPEAKER_FRONT_LEFT: u32 = 1u32;
23221 pub const SPEAKER_FRONT_LEFT_OF_CENTER: u32 = 64u32;
23222 pub const SPEAKER_FRONT_RIGHT: u32 = 2u32;
23223 pub const SPEAKER_FRONT_RIGHT_OF_CENTER: u32 = 128u32;
23224 pub const SPEAKER_LOW_FREQUENCY: u32 = 8u32;
23225 pub const SPEAKER_RESERVED: u32 = 2147221504u32;
23226 pub const SPEAKER_SIDE_LEFT: u32 = 512u32;
23227 pub const SPEAKER_SIDE_RIGHT: u32 = 1024u32;
23228 pub const SPEAKER_TOP_BACK_CENTER: u32 = 65536u32;
23229 pub const SPEAKER_TOP_BACK_LEFT: u32 = 32768u32;
23230 pub const SPEAKER_TOP_BACK_RIGHT: u32 = 131072u32;
23231 pub const SPEAKER_TOP_CENTER: u32 = 2048u32;
23232 pub const SPEAKER_TOP_FRONT_CENTER: u32 = 8192u32;
23233 pub const SPEAKER_TOP_FRONT_LEFT: u32 = 4096u32;
23234 pub const SPEAKER_TOP_FRONT_RIGHT: u32 = 16384u32;
23235 pub const SPTLAUDCLNT_E_DESTROYED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287232i32 as _);
23236 pub const SPTLAUDCLNT_E_ERRORS_IN_OBJECT_CALLS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287227i32 as _);
23237 pub const SPTLAUDCLNT_E_INTERNAL: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287219i32 as _);
23238 pub const SPTLAUDCLNT_E_INVALID_LICENSE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287224i32 as _);
23239 pub const SPTLAUDCLNT_E_METADATA_FORMAT_NOT_SUPPORTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287226i32 as _);
23240 pub const SPTLAUDCLNT_E_NO_MORE_OBJECTS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287229i32 as _);
23241 pub const SPTLAUDCLNT_E_OBJECT_ALREADY_ACTIVE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287220i32 as _);
23242 pub const SPTLAUDCLNT_E_OUT_OF_ORDER: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287231i32 as _);
23243 pub const SPTLAUDCLNT_E_PROPERTY_NOT_SUPPORTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287228i32 as _);
23244 pub const SPTLAUDCLNT_E_RESOURCES_INVALIDATED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287230i32 as _);
23245 pub const SPTLAUDCLNT_E_STATIC_OBJECT_NOT_AVAILABLE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287221i32 as _);
23246 pub const SPTLAUDCLNT_E_STREAM_NOT_AVAILABLE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287225i32 as _);
23247 pub const SPTLAUDCLNT_E_STREAM_NOT_STOPPED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004287222i32 as _);
23248 pub const SPTLAUD_MD_CLNT_E_ATTACH_FAILED_INTERNAL_BUFFER: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004286956i32 as _);
23249 pub const SPTLAUD_MD_CLNT_E_BUFFER_ALREADY_ATTACHED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004286969i32 as _);
23250 pub const SPTLAUD_MD_CLNT_E_BUFFER_NOT_ATTACHED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004286968i32 as _);
23251 pub const SPTLAUD_MD_CLNT_E_BUFFER_STILL_ATTACHED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004286940i32 as _);
23252 pub const SPTLAUD_MD_CLNT_E_COMMAND_ALREADY_WRITTEN: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004286942i32 as _);
23253 pub const SPTLAUD_MD_CLNT_E_COMMAND_NOT_FOUND: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004286976i32 as _);
23254 pub const SPTLAUD_MD_CLNT_E_DETACH_FAILED_INTERNAL_BUFFER: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004286955i32 as _);
23255 pub const SPTLAUD_MD_CLNT_E_FORMAT_MISMATCH: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004286941i32 as _);
23256 pub const SPTLAUD_MD_CLNT_E_FRAMECOUNT_OUT_OF_RANGE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004286967i32 as _);
23257 pub const SPTLAUD_MD_CLNT_E_FRAMEOFFSET_OUT_OF_RANGE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004286952i32 as _);
23258 pub const SPTLAUD_MD_CLNT_E_INVALID_ARGS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004286974i32 as _);
23259 pub const SPTLAUD_MD_CLNT_E_ITEMS_ALREADY_OPEN: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004286957i32 as _);
23260 pub const SPTLAUD_MD_CLNT_E_ITEMS_LOCKED_FOR_WRITING: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004286939i32 as _);
23261 pub const SPTLAUD_MD_CLNT_E_ITEM_COPY_OVERFLOW: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004286959i32 as _);
23262 pub const SPTLAUD_MD_CLNT_E_ITEM_MUST_HAVE_COMMANDS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004286951i32 as _);
23263 pub const SPTLAUD_MD_CLNT_E_MEMORY_BOUNDS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004286971i32 as _);
23264 pub const SPTLAUD_MD_CLNT_E_METADATA_FORMAT_NOT_FOUND: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004286973i32 as _);
23265 pub const SPTLAUD_MD_CLNT_E_NO_BUFFER_ATTACHED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004286954i32 as _);
23266 pub const SPTLAUD_MD_CLNT_E_NO_ITEMOFFSET_WRITTEN: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004286944i32 as _);
23267 pub const SPTLAUD_MD_CLNT_E_NO_ITEMS_FOUND: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004286960i32 as _);
23268 pub const SPTLAUD_MD_CLNT_E_NO_ITEMS_OPEN: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004286958i32 as _);
23269 pub const SPTLAUD_MD_CLNT_E_NO_ITEMS_WRITTEN: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004286943i32 as _);
23270 pub const SPTLAUD_MD_CLNT_E_NO_MORE_COMMANDS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004286970i32 as _);
23271 pub const SPTLAUD_MD_CLNT_E_NO_MORE_ITEMS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004286953i32 as _);
23272 pub const SPTLAUD_MD_CLNT_E_OBJECT_NOT_INITIALIZED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004286975i32 as _);
23273 pub const SPTLAUD_MD_CLNT_E_VALUE_BUFFER_INCORRECT_SIZE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2004286972i32 as _);
23274 pub const SYSAUDIO_FLAGS_CLEAR_PREFERRED: u32 = 2u32;
23275 pub const SYSAUDIO_FLAGS_DONT_COMBINE_PINS: u32 = 1u32;
23276 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
23277 #[repr(C)]
23278 pub struct SpatialAudioClientActivationParams {
23279     pub tracingContextId: ::windows::runtime::GUID,
23280     pub appId: ::windows::runtime::GUID,
23281     pub majorVersion: i32,
23282     pub minorVersion1: i32,
23283     pub minorVersion2: i32,
23284     pub minorVersion3: i32,
23285 }
23286 impl SpatialAudioClientActivationParams {}
23287 impl ::std::default::Default for SpatialAudioClientActivationParams {
default() -> Self23288     fn default() -> Self {
23289         unsafe { ::std::mem::zeroed() }
23290     }
23291 }
23292 impl ::std::fmt::Debug for SpatialAudioClientActivationParams {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result23293     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
23294         fmt.debug_struct("SpatialAudioClientActivationParams")
23295             .field("tracingContextId", &self.tracingContextId)
23296             .field("appId", &self.appId)
23297             .field("majorVersion", &self.majorVersion)
23298             .field("minorVersion1", &self.minorVersion1)
23299             .field("minorVersion2", &self.minorVersion2)
23300             .field("minorVersion3", &self.minorVersion3)
23301             .finish()
23302     }
23303 }
23304 impl ::std::cmp::PartialEq for SpatialAudioClientActivationParams {
eq(&self, other: &Self) -> bool23305     fn eq(&self, other: &Self) -> bool {
23306         self.tracingContextId == other.tracingContextId && self.appId == other.appId && self.majorVersion == other.majorVersion && self.minorVersion1 == other.minorVersion1 && self.minorVersion2 == other.minorVersion2 && self.minorVersion3 == other.minorVersion3
23307     }
23308 }
23309 impl ::std::cmp::Eq for SpatialAudioClientActivationParams {}
23310 unsafe impl ::windows::runtime::Abi for SpatialAudioClientActivationParams {
23311     type Abi = Self;
23312     type DefaultType = Self;
23313 }
23314 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
23315 impl ::std::clone::Clone for SpatialAudioHrtfActivationParams {
clone(&self) -> Self23316     fn clone(&self) -> Self {
23317         unimplemented!()
23318     }
23319 }
23320 #[repr(C, packed(1))]
23321 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
23322 pub struct SpatialAudioHrtfActivationParams {
23323     pub ObjectFormat: *mut super::super::Multimedia::WAVEFORMATEX,
23324     pub StaticObjectTypeMask: AudioObjectType,
23325     pub MinDynamicObjectCount: u32,
23326     pub MaxDynamicObjectCount: u32,
23327     pub Category: AUDIO_STREAM_CATEGORY,
23328     pub EventHandle: super::super::super::Foundation::HANDLE,
23329     pub NotifyObject: ::std::option::Option<ISpatialAudioObjectRenderStreamNotify>,
23330     pub DistanceDecay: *mut SpatialAudioHrtfDistanceDecay,
23331     pub Directivity: *mut SpatialAudioHrtfDirectivityUnion,
23332     pub Environment: *mut SpatialAudioHrtfEnvironmentType,
23333     pub Orientation: *mut f32,
23334 }
23335 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
23336 impl SpatialAudioHrtfActivationParams {}
23337 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
23338 impl ::std::default::Default for SpatialAudioHrtfActivationParams {
default() -> Self23339     fn default() -> Self {
23340         unsafe { ::std::mem::zeroed() }
23341     }
23342 }
23343 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
23344 impl ::std::cmp::PartialEq for SpatialAudioHrtfActivationParams {
eq(&self, _other: &Self) -> bool23345     fn eq(&self, _other: &Self) -> bool {
23346         unimplemented!()
23347     }
23348 }
23349 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
23350 impl ::std::cmp::Eq for SpatialAudioHrtfActivationParams {}
23351 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
23352 unsafe impl ::windows::runtime::Abi for SpatialAudioHrtfActivationParams {
23353     type Abi = ::std::mem::ManuallyDrop<Self>;
23354     type DefaultType = Self;
23355 }
23356 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
23357 impl ::std::clone::Clone for SpatialAudioHrtfActivationParams2 {
clone(&self) -> Self23358     fn clone(&self) -> Self {
23359         unimplemented!()
23360     }
23361 }
23362 #[repr(C, packed(1))]
23363 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
23364 pub struct SpatialAudioHrtfActivationParams2 {
23365     pub ObjectFormat: *mut super::super::Multimedia::WAVEFORMATEX,
23366     pub StaticObjectTypeMask: AudioObjectType,
23367     pub MinDynamicObjectCount: u32,
23368     pub MaxDynamicObjectCount: u32,
23369     pub Category: AUDIO_STREAM_CATEGORY,
23370     pub EventHandle: super::super::super::Foundation::HANDLE,
23371     pub NotifyObject: ::std::option::Option<ISpatialAudioObjectRenderStreamNotify>,
23372     pub DistanceDecay: *mut SpatialAudioHrtfDistanceDecay,
23373     pub Directivity: *mut SpatialAudioHrtfDirectivityUnion,
23374     pub Environment: *mut SpatialAudioHrtfEnvironmentType,
23375     pub Orientation: *mut f32,
23376     pub Options: SPATIAL_AUDIO_STREAM_OPTIONS,
23377 }
23378 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
23379 impl SpatialAudioHrtfActivationParams2 {}
23380 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
23381 impl ::std::default::Default for SpatialAudioHrtfActivationParams2 {
default() -> Self23382     fn default() -> Self {
23383         unsafe { ::std::mem::zeroed() }
23384     }
23385 }
23386 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
23387 impl ::std::cmp::PartialEq for SpatialAudioHrtfActivationParams2 {
eq(&self, _other: &Self) -> bool23388     fn eq(&self, _other: &Self) -> bool {
23389         unimplemented!()
23390     }
23391 }
23392 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
23393 impl ::std::cmp::Eq for SpatialAudioHrtfActivationParams2 {}
23394 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
23395 unsafe impl ::windows::runtime::Abi for SpatialAudioHrtfActivationParams2 {
23396     type Abi = ::std::mem::ManuallyDrop<Self>;
23397     type DefaultType = Self;
23398 }
23399 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
23400 #[repr(C, packed(1))]
23401 pub struct SpatialAudioHrtfDirectivity {
23402     pub Type: SpatialAudioHrtfDirectivityType,
23403     pub Scaling: f32,
23404 }
23405 impl SpatialAudioHrtfDirectivity {}
23406 impl ::std::default::Default for SpatialAudioHrtfDirectivity {
default() -> Self23407     fn default() -> Self {
23408         unsafe { ::std::mem::zeroed() }
23409     }
23410 }
23411 impl ::std::cmp::PartialEq for SpatialAudioHrtfDirectivity {
eq(&self, _other: &Self) -> bool23412     fn eq(&self, _other: &Self) -> bool {
23413         unimplemented!()
23414     }
23415 }
23416 impl ::std::cmp::Eq for SpatialAudioHrtfDirectivity {}
23417 unsafe impl ::windows::runtime::Abi for SpatialAudioHrtfDirectivity {
23418     type Abi = Self;
23419     type DefaultType = Self;
23420 }
23421 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
23422 #[repr(C, packed(1))]
23423 pub struct SpatialAudioHrtfDirectivityCardioid {
23424     pub directivity: SpatialAudioHrtfDirectivity,
23425     pub Order: f32,
23426 }
23427 impl SpatialAudioHrtfDirectivityCardioid {}
23428 impl ::std::default::Default for SpatialAudioHrtfDirectivityCardioid {
default() -> Self23429     fn default() -> Self {
23430         unsafe { ::std::mem::zeroed() }
23431     }
23432 }
23433 impl ::std::cmp::PartialEq for SpatialAudioHrtfDirectivityCardioid {
eq(&self, _other: &Self) -> bool23434     fn eq(&self, _other: &Self) -> bool {
23435         unimplemented!()
23436     }
23437 }
23438 impl ::std::cmp::Eq for SpatialAudioHrtfDirectivityCardioid {}
23439 unsafe impl ::windows::runtime::Abi for SpatialAudioHrtfDirectivityCardioid {
23440     type Abi = Self;
23441     type DefaultType = Self;
23442 }
23443 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
23444 #[repr(C, packed(1))]
23445 pub struct SpatialAudioHrtfDirectivityCone {
23446     pub directivity: SpatialAudioHrtfDirectivity,
23447     pub InnerAngle: f32,
23448     pub OuterAngle: f32,
23449 }
23450 impl SpatialAudioHrtfDirectivityCone {}
23451 impl ::std::default::Default for SpatialAudioHrtfDirectivityCone {
default() -> Self23452     fn default() -> Self {
23453         unsafe { ::std::mem::zeroed() }
23454     }
23455 }
23456 impl ::std::cmp::PartialEq for SpatialAudioHrtfDirectivityCone {
eq(&self, _other: &Self) -> bool23457     fn eq(&self, _other: &Self) -> bool {
23458         unimplemented!()
23459     }
23460 }
23461 impl ::std::cmp::Eq for SpatialAudioHrtfDirectivityCone {}
23462 unsafe impl ::windows::runtime::Abi for SpatialAudioHrtfDirectivityCone {
23463     type Abi = Self;
23464     type DefaultType = Self;
23465 }
23466 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
23467 #[repr(transparent)]
23468 pub struct SpatialAudioHrtfDirectivityType(pub i32);
23469 pub const SpatialAudioHrtfDirectivity_OmniDirectional: SpatialAudioHrtfDirectivityType = SpatialAudioHrtfDirectivityType(0i32);
23470 pub const SpatialAudioHrtfDirectivity_Cardioid: SpatialAudioHrtfDirectivityType = SpatialAudioHrtfDirectivityType(1i32);
23471 pub const SpatialAudioHrtfDirectivity_Cone: SpatialAudioHrtfDirectivityType = SpatialAudioHrtfDirectivityType(2i32);
23472 impl ::std::convert::From<i32> for SpatialAudioHrtfDirectivityType {
from(value: i32) -> Self23473     fn from(value: i32) -> Self {
23474         Self(value)
23475     }
23476 }
23477 unsafe impl ::windows::runtime::Abi for SpatialAudioHrtfDirectivityType {
23478     type Abi = Self;
23479     type DefaultType = Self;
23480 }
23481 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
23482 #[repr(C)]
23483 pub union SpatialAudioHrtfDirectivityUnion {
23484     pub Cone: SpatialAudioHrtfDirectivityCone,
23485     pub Cardiod: SpatialAudioHrtfDirectivityCardioid,
23486     pub Omni: SpatialAudioHrtfDirectivity,
23487 }
23488 impl SpatialAudioHrtfDirectivityUnion {}
23489 impl ::std::default::Default for SpatialAudioHrtfDirectivityUnion {
default() -> Self23490     fn default() -> Self {
23491         unsafe { ::std::mem::zeroed() }
23492     }
23493 }
23494 impl ::std::cmp::PartialEq for SpatialAudioHrtfDirectivityUnion {
eq(&self, _other: &Self) -> bool23495     fn eq(&self, _other: &Self) -> bool {
23496         unimplemented!()
23497     }
23498 }
23499 impl ::std::cmp::Eq for SpatialAudioHrtfDirectivityUnion {}
23500 unsafe impl ::windows::runtime::Abi for SpatialAudioHrtfDirectivityUnion {
23501     type Abi = Self;
23502     type DefaultType = Self;
23503 }
23504 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
23505 #[repr(C, packed(1))]
23506 pub struct SpatialAudioHrtfDistanceDecay {
23507     pub Type: SpatialAudioHrtfDistanceDecayType,
23508     pub MaxGain: f32,
23509     pub MinGain: f32,
23510     pub UnityGainDistance: f32,
23511     pub CutoffDistance: f32,
23512 }
23513 impl SpatialAudioHrtfDistanceDecay {}
23514 impl ::std::default::Default for SpatialAudioHrtfDistanceDecay {
default() -> Self23515     fn default() -> Self {
23516         unsafe { ::std::mem::zeroed() }
23517     }
23518 }
23519 impl ::std::cmp::PartialEq for SpatialAudioHrtfDistanceDecay {
eq(&self, _other: &Self) -> bool23520     fn eq(&self, _other: &Self) -> bool {
23521         unimplemented!()
23522     }
23523 }
23524 impl ::std::cmp::Eq for SpatialAudioHrtfDistanceDecay {}
23525 unsafe impl ::windows::runtime::Abi for SpatialAudioHrtfDistanceDecay {
23526     type Abi = Self;
23527     type DefaultType = Self;
23528 }
23529 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
23530 #[repr(transparent)]
23531 pub struct SpatialAudioHrtfDistanceDecayType(pub i32);
23532 pub const SpatialAudioHrtfDistanceDecay_NaturalDecay: SpatialAudioHrtfDistanceDecayType = SpatialAudioHrtfDistanceDecayType(0i32);
23533 pub const SpatialAudioHrtfDistanceDecay_CustomDecay: SpatialAudioHrtfDistanceDecayType = SpatialAudioHrtfDistanceDecayType(1i32);
23534 impl ::std::convert::From<i32> for SpatialAudioHrtfDistanceDecayType {
from(value: i32) -> Self23535     fn from(value: i32) -> Self {
23536         Self(value)
23537     }
23538 }
23539 unsafe impl ::windows::runtime::Abi for SpatialAudioHrtfDistanceDecayType {
23540     type Abi = Self;
23541     type DefaultType = Self;
23542 }
23543 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
23544 #[repr(transparent)]
23545 pub struct SpatialAudioHrtfEnvironmentType(pub i32);
23546 pub const SpatialAudioHrtfEnvironment_Small: SpatialAudioHrtfEnvironmentType = SpatialAudioHrtfEnvironmentType(0i32);
23547 pub const SpatialAudioHrtfEnvironment_Medium: SpatialAudioHrtfEnvironmentType = SpatialAudioHrtfEnvironmentType(1i32);
23548 pub const SpatialAudioHrtfEnvironment_Large: SpatialAudioHrtfEnvironmentType = SpatialAudioHrtfEnvironmentType(2i32);
23549 pub const SpatialAudioHrtfEnvironment_Outdoors: SpatialAudioHrtfEnvironmentType = SpatialAudioHrtfEnvironmentType(3i32);
23550 pub const SpatialAudioHrtfEnvironment_Average: SpatialAudioHrtfEnvironmentType = SpatialAudioHrtfEnvironmentType(4i32);
23551 impl ::std::convert::From<i32> for SpatialAudioHrtfEnvironmentType {
from(value: i32) -> Self23552     fn from(value: i32) -> Self {
23553         Self(value)
23554     }
23555 }
23556 unsafe impl ::windows::runtime::Abi for SpatialAudioHrtfEnvironmentType {
23557     type Abi = Self;
23558     type DefaultType = Self;
23559 }
23560 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
23561 #[repr(transparent)]
23562 pub struct SpatialAudioMetadataCopyMode(pub i32);
23563 pub const SpatialAudioMetadataCopy_Overwrite: SpatialAudioMetadataCopyMode = SpatialAudioMetadataCopyMode(0i32);
23564 pub const SpatialAudioMetadataCopy_Append: SpatialAudioMetadataCopyMode = SpatialAudioMetadataCopyMode(1i32);
23565 pub const SpatialAudioMetadataCopy_AppendMergeWithLast: SpatialAudioMetadataCopyMode = SpatialAudioMetadataCopyMode(2i32);
23566 pub const SpatialAudioMetadataCopy_AppendMergeWithFirst: SpatialAudioMetadataCopyMode = SpatialAudioMetadataCopyMode(3i32);
23567 impl ::std::convert::From<i32> for SpatialAudioMetadataCopyMode {
from(value: i32) -> Self23568     fn from(value: i32) -> Self {
23569         Self(value)
23570     }
23571 }
23572 unsafe impl ::windows::runtime::Abi for SpatialAudioMetadataCopyMode {
23573     type Abi = Self;
23574     type DefaultType = Self;
23575 }
23576 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
23577 #[repr(C, packed(1))]
23578 pub struct SpatialAudioMetadataItemsInfo {
23579     pub FrameCount: u16,
23580     pub ItemCount: u16,
23581     pub MaxItemCount: u16,
23582     pub MaxValueBufferLength: u32,
23583 }
23584 impl SpatialAudioMetadataItemsInfo {}
23585 impl ::std::default::Default for SpatialAudioMetadataItemsInfo {
default() -> Self23586     fn default() -> Self {
23587         unsafe { ::std::mem::zeroed() }
23588     }
23589 }
23590 impl ::std::cmp::PartialEq for SpatialAudioMetadataItemsInfo {
eq(&self, _other: &Self) -> bool23591     fn eq(&self, _other: &Self) -> bool {
23592         unimplemented!()
23593     }
23594 }
23595 impl ::std::cmp::Eq for SpatialAudioMetadataItemsInfo {}
23596 unsafe impl ::windows::runtime::Abi for SpatialAudioMetadataItemsInfo {
23597     type Abi = Self;
23598     type DefaultType = Self;
23599 }
23600 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
23601 #[repr(transparent)]
23602 pub struct SpatialAudioMetadataWriterOverflowMode(pub i32);
23603 pub const SpatialAudioMetadataWriterOverflow_Fail: SpatialAudioMetadataWriterOverflowMode = SpatialAudioMetadataWriterOverflowMode(0i32);
23604 pub const SpatialAudioMetadataWriterOverflow_MergeWithNew: SpatialAudioMetadataWriterOverflowMode = SpatialAudioMetadataWriterOverflowMode(1i32);
23605 pub const SpatialAudioMetadataWriterOverflow_MergeWithLast: SpatialAudioMetadataWriterOverflowMode = SpatialAudioMetadataWriterOverflowMode(2i32);
23606 impl ::std::convert::From<i32> for SpatialAudioMetadataWriterOverflowMode {
from(value: i32) -> Self23607     fn from(value: i32) -> Self {
23608         Self(value)
23609     }
23610 }
23611 unsafe impl ::windows::runtime::Abi for SpatialAudioMetadataWriterOverflowMode {
23612     type Abi = Self;
23613     type DefaultType = Self;
23614 }
23615 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
23616 impl ::std::clone::Clone for SpatialAudioObjectRenderStreamActivationParams {
clone(&self) -> Self23617     fn clone(&self) -> Self {
23618         unimplemented!()
23619     }
23620 }
23621 #[repr(C, packed(1))]
23622 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
23623 pub struct SpatialAudioObjectRenderStreamActivationParams {
23624     pub ObjectFormat: *mut super::super::Multimedia::WAVEFORMATEX,
23625     pub StaticObjectTypeMask: AudioObjectType,
23626     pub MinDynamicObjectCount: u32,
23627     pub MaxDynamicObjectCount: u32,
23628     pub Category: AUDIO_STREAM_CATEGORY,
23629     pub EventHandle: super::super::super::Foundation::HANDLE,
23630     pub NotifyObject: ::std::option::Option<ISpatialAudioObjectRenderStreamNotify>,
23631 }
23632 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
23633 impl SpatialAudioObjectRenderStreamActivationParams {}
23634 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
23635 impl ::std::default::Default for SpatialAudioObjectRenderStreamActivationParams {
default() -> Self23636     fn default() -> Self {
23637         unsafe { ::std::mem::zeroed() }
23638     }
23639 }
23640 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
23641 impl ::std::cmp::PartialEq for SpatialAudioObjectRenderStreamActivationParams {
eq(&self, _other: &Self) -> bool23642     fn eq(&self, _other: &Self) -> bool {
23643         unimplemented!()
23644     }
23645 }
23646 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
23647 impl ::std::cmp::Eq for SpatialAudioObjectRenderStreamActivationParams {}
23648 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
23649 unsafe impl ::windows::runtime::Abi for SpatialAudioObjectRenderStreamActivationParams {
23650     type Abi = ::std::mem::ManuallyDrop<Self>;
23651     type DefaultType = Self;
23652 }
23653 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
23654 impl ::std::clone::Clone for SpatialAudioObjectRenderStreamActivationParams2 {
clone(&self) -> Self23655     fn clone(&self) -> Self {
23656         unimplemented!()
23657     }
23658 }
23659 #[repr(C, packed(1))]
23660 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
23661 pub struct SpatialAudioObjectRenderStreamActivationParams2 {
23662     pub ObjectFormat: *mut super::super::Multimedia::WAVEFORMATEX,
23663     pub StaticObjectTypeMask: AudioObjectType,
23664     pub MinDynamicObjectCount: u32,
23665     pub MaxDynamicObjectCount: u32,
23666     pub Category: AUDIO_STREAM_CATEGORY,
23667     pub EventHandle: super::super::super::Foundation::HANDLE,
23668     pub NotifyObject: ::std::option::Option<ISpatialAudioObjectRenderStreamNotify>,
23669     pub Options: SPATIAL_AUDIO_STREAM_OPTIONS,
23670 }
23671 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
23672 impl SpatialAudioObjectRenderStreamActivationParams2 {}
23673 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
23674 impl ::std::default::Default for SpatialAudioObjectRenderStreamActivationParams2 {
default() -> Self23675     fn default() -> Self {
23676         unsafe { ::std::mem::zeroed() }
23677     }
23678 }
23679 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
23680 impl ::std::cmp::PartialEq for SpatialAudioObjectRenderStreamActivationParams2 {
eq(&self, _other: &Self) -> bool23681     fn eq(&self, _other: &Self) -> bool {
23682         unimplemented!()
23683     }
23684 }
23685 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
23686 impl ::std::cmp::Eq for SpatialAudioObjectRenderStreamActivationParams2 {}
23687 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia"))]
23688 unsafe impl ::windows::runtime::Abi for SpatialAudioObjectRenderStreamActivationParams2 {
23689     type Abi = ::std::mem::ManuallyDrop<Self>;
23690     type DefaultType = Self;
23691 }
23692 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
23693 impl ::std::clone::Clone for SpatialAudioObjectRenderStreamForMetadataActivationParams {
clone(&self) -> Self23694     fn clone(&self) -> Self {
23695         unimplemented!()
23696     }
23697 }
23698 #[repr(C, packed(1))]
23699 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
23700 pub struct SpatialAudioObjectRenderStreamForMetadataActivationParams {
23701     pub ObjectFormat: *mut super::super::Multimedia::WAVEFORMATEX,
23702     pub StaticObjectTypeMask: AudioObjectType,
23703     pub MinDynamicObjectCount: u32,
23704     pub MaxDynamicObjectCount: u32,
23705     pub Category: AUDIO_STREAM_CATEGORY,
23706     pub EventHandle: super::super::super::Foundation::HANDLE,
23707     pub MetadataFormatId: ::windows::runtime::GUID,
23708     pub MaxMetadataItemCount: u16,
23709     pub MetadataActivationParams: *mut super::super::super::System::Com::StructuredStorage::PROPVARIANT,
23710     pub NotifyObject: ::std::option::Option<ISpatialAudioObjectRenderStreamNotify>,
23711 }
23712 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
23713 impl SpatialAudioObjectRenderStreamForMetadataActivationParams {}
23714 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
23715 impl ::std::default::Default for SpatialAudioObjectRenderStreamForMetadataActivationParams {
default() -> Self23716     fn default() -> Self {
23717         unsafe { ::std::mem::zeroed() }
23718     }
23719 }
23720 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
23721 impl ::std::cmp::PartialEq for SpatialAudioObjectRenderStreamForMetadataActivationParams {
eq(&self, _other: &Self) -> bool23722     fn eq(&self, _other: &Self) -> bool {
23723         unimplemented!()
23724     }
23725 }
23726 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
23727 impl ::std::cmp::Eq for SpatialAudioObjectRenderStreamForMetadataActivationParams {}
23728 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
23729 unsafe impl ::windows::runtime::Abi for SpatialAudioObjectRenderStreamForMetadataActivationParams {
23730     type Abi = ::std::mem::ManuallyDrop<Self>;
23731     type DefaultType = Self;
23732 }
23733 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
23734 impl ::std::clone::Clone for SpatialAudioObjectRenderStreamForMetadataActivationParams2 {
clone(&self) -> Self23735     fn clone(&self) -> Self {
23736         unimplemented!()
23737     }
23738 }
23739 #[repr(C, packed(1))]
23740 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
23741 pub struct SpatialAudioObjectRenderStreamForMetadataActivationParams2 {
23742     pub ObjectFormat: *mut super::super::Multimedia::WAVEFORMATEX,
23743     pub StaticObjectTypeMask: AudioObjectType,
23744     pub MinDynamicObjectCount: u32,
23745     pub MaxDynamicObjectCount: u32,
23746     pub Category: AUDIO_STREAM_CATEGORY,
23747     pub EventHandle: super::super::super::Foundation::HANDLE,
23748     pub MetadataFormatId: ::windows::runtime::GUID,
23749     pub MaxMetadataItemCount: u32,
23750     pub MetadataActivationParams: *mut super::super::super::System::Com::StructuredStorage::PROPVARIANT,
23751     pub NotifyObject: ::std::option::Option<ISpatialAudioObjectRenderStreamNotify>,
23752     pub Options: SPATIAL_AUDIO_STREAM_OPTIONS,
23753 }
23754 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
23755 impl SpatialAudioObjectRenderStreamForMetadataActivationParams2 {}
23756 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
23757 impl ::std::default::Default for SpatialAudioObjectRenderStreamForMetadataActivationParams2 {
default() -> Self23758     fn default() -> Self {
23759         unsafe { ::std::mem::zeroed() }
23760     }
23761 }
23762 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
23763 impl ::std::cmp::PartialEq for SpatialAudioObjectRenderStreamForMetadataActivationParams2 {
eq(&self, _other: &Self) -> bool23764     fn eq(&self, _other: &Self) -> bool {
23765         unimplemented!()
23766     }
23767 }
23768 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
23769 impl ::std::cmp::Eq for SpatialAudioObjectRenderStreamForMetadataActivationParams2 {}
23770 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_Multimedia", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole_Automation"))]
23771 unsafe impl ::windows::runtime::Abi for SpatialAudioObjectRenderStreamForMetadataActivationParams2 {
23772     type Abi = ::std::mem::ManuallyDrop<Self>;
23773     type DefaultType = Self;
23774 }
23775 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
23776 #[repr(transparent)]
23777 pub struct TELEPHONY_CALLCONTROLOP(pub i32);
23778 pub const TELEPHONY_CALLCONTROLOP_DISABLE: TELEPHONY_CALLCONTROLOP = TELEPHONY_CALLCONTROLOP(0i32);
23779 pub const TELEPHONY_CALLCONTROLOP_ENABLE: TELEPHONY_CALLCONTROLOP = TELEPHONY_CALLCONTROLOP(1i32);
23780 impl ::std::convert::From<i32> for TELEPHONY_CALLCONTROLOP {
from(value: i32) -> Self23781     fn from(value: i32) -> Self {
23782         Self(value)
23783     }
23784 }
23785 unsafe impl ::windows::runtime::Abi for TELEPHONY_CALLCONTROLOP {
23786     type Abi = Self;
23787     type DefaultType = Self;
23788 }
23789 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
23790 #[repr(transparent)]
23791 pub struct TELEPHONY_CALLSTATE(pub i32);
23792 pub const TELEPHONY_CALLSTATE_DISABLED: TELEPHONY_CALLSTATE = TELEPHONY_CALLSTATE(0i32);
23793 pub const TELEPHONY_CALLSTATE_ENABLED: TELEPHONY_CALLSTATE = TELEPHONY_CALLSTATE(1i32);
23794 pub const TELEPHONY_CALLSTATE_HOLD: TELEPHONY_CALLSTATE = TELEPHONY_CALLSTATE(2i32);
23795 pub const TELEPHONY_CALLSTATE_PROVIDERTRANSITION: TELEPHONY_CALLSTATE = TELEPHONY_CALLSTATE(3i32);
23796 impl ::std::convert::From<i32> for TELEPHONY_CALLSTATE {
from(value: i32) -> Self23797     fn from(value: i32) -> Self {
23798         Self(value)
23799     }
23800 }
23801 unsafe impl ::windows::runtime::Abi for TELEPHONY_CALLSTATE {
23802     type Abi = Self;
23803     type DefaultType = Self;
23804 }
23805 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
23806 #[repr(transparent)]
23807 pub struct TELEPHONY_CALLTYPE(pub i32);
23808 pub const TELEPHONY_CALLTYPE_CIRCUITSWITCHED: TELEPHONY_CALLTYPE = TELEPHONY_CALLTYPE(0i32);
23809 pub const TELEPHONY_CALLTYPE_PACKETSWITCHED_LTE: TELEPHONY_CALLTYPE = TELEPHONY_CALLTYPE(1i32);
23810 pub const TELEPHONY_CALLTYPE_PACKETSWITCHED_WLAN: TELEPHONY_CALLTYPE = TELEPHONY_CALLTYPE(2i32);
23811 impl ::std::convert::From<i32> for TELEPHONY_CALLTYPE {
from(value: i32) -> Self23812     fn from(value: i32) -> Self {
23813         Self(value)
23814     }
23815 }
23816 unsafe impl ::windows::runtime::Abi for TELEPHONY_CALLTYPE {
23817     type Abi = Self;
23818     type DefaultType = Self;
23819 }
23820 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
23821 #[repr(transparent)]
23822 pub struct TELEPHONY_PROVIDERCHANGEOP(pub i32);
23823 pub const TELEPHONY_PROVIDERCHANGEOP_END: TELEPHONY_PROVIDERCHANGEOP = TELEPHONY_PROVIDERCHANGEOP(0i32);
23824 pub const TELEPHONY_PROVIDERCHANGEOP_BEGIN: TELEPHONY_PROVIDERCHANGEOP = TELEPHONY_PROVIDERCHANGEOP(1i32);
23825 pub const TELEPHONY_PROVIDERCHANGEOP_CANCEL: TELEPHONY_PROVIDERCHANGEOP = TELEPHONY_PROVIDERCHANGEOP(2i32);
23826 impl ::std::convert::From<i32> for TELEPHONY_PROVIDERCHANGEOP {
from(value: i32) -> Self23827     fn from(value: i32) -> Self {
23828         Self(value)
23829     }
23830 }
23831 unsafe impl ::windows::runtime::Abi for TELEPHONY_PROVIDERCHANGEOP {
23832     type Abi = Self;
23833     type DefaultType = Self;
23834 }
23835 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
23836 #[repr(C)]
23837 pub struct TRANSPORTAUDIOPARMS {
23838     pub EnableOutput: i32,
23839     pub EnableRecord: i32,
23840     pub EnableSelsync: i32,
23841     pub Input: i32,
23842     pub MonitorSource: i32,
23843 }
23844 impl TRANSPORTAUDIOPARMS {}
23845 impl ::std::default::Default for TRANSPORTAUDIOPARMS {
default() -> Self23846     fn default() -> Self {
23847         unsafe { ::std::mem::zeroed() }
23848     }
23849 }
23850 impl ::std::fmt::Debug for TRANSPORTAUDIOPARMS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result23851     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
23852         fmt.debug_struct("TRANSPORTAUDIOPARMS").field("EnableOutput", &self.EnableOutput).field("EnableRecord", &self.EnableRecord).field("EnableSelsync", &self.EnableSelsync).field("Input", &self.Input).field("MonitorSource", &self.MonitorSource).finish()
23853     }
23854 }
23855 impl ::std::cmp::PartialEq for TRANSPORTAUDIOPARMS {
eq(&self, other: &Self) -> bool23856     fn eq(&self, other: &Self) -> bool {
23857         self.EnableOutput == other.EnableOutput && self.EnableRecord == other.EnableRecord && self.EnableSelsync == other.EnableSelsync && self.Input == other.Input && self.MonitorSource == other.MonitorSource
23858     }
23859 }
23860 impl ::std::cmp::Eq for TRANSPORTAUDIOPARMS {}
23861 unsafe impl ::windows::runtime::Abi for TRANSPORTAUDIOPARMS {
23862     type Abi = Self;
23863     type DefaultType = Self;
23864 }
23865 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
23866 #[repr(C)]
23867 pub struct TRANSPORTBASICPARMS {
23868     pub TimeFormat: i32,
23869     pub TimeReference: i32,
23870     pub Superimpose: i32,
23871     pub EndStopAction: i32,
23872     pub RecordFormat: i32,
23873     pub StepFrames: i32,
23874     pub SetpField: i32,
23875     pub Preroll: i32,
23876     pub RecPreroll: i32,
23877     pub Postroll: i32,
23878     pub EditDelay: i32,
23879     pub PlayTCDelay: i32,
23880     pub RecTCDelay: i32,
23881     pub EditField: i32,
23882     pub FrameServo: i32,
23883     pub ColorFrameServo: i32,
23884     pub ServoRef: i32,
23885     pub WarnGenlock: i32,
23886     pub SetTracking: i32,
23887     pub VolumeName: [i8; 40],
23888     pub Ballistic: [i32; 20],
23889     pub Speed: i32,
23890     pub CounterFormat: i32,
23891     pub TunerChannel: i32,
23892     pub TunerNumber: i32,
23893     pub TimerEvent: i32,
23894     pub TimerStartDay: i32,
23895     pub TimerStartTime: i32,
23896     pub TimerStopDay: i32,
23897     pub TimerStopTime: i32,
23898 }
23899 impl TRANSPORTBASICPARMS {}
23900 impl ::std::default::Default for TRANSPORTBASICPARMS {
default() -> Self23901     fn default() -> Self {
23902         unsafe { ::std::mem::zeroed() }
23903     }
23904 }
23905 impl ::std::fmt::Debug for TRANSPORTBASICPARMS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result23906     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
23907         fmt.debug_struct("TRANSPORTBASICPARMS")
23908             .field("TimeFormat", &self.TimeFormat)
23909             .field("TimeReference", &self.TimeReference)
23910             .field("Superimpose", &self.Superimpose)
23911             .field("EndStopAction", &self.EndStopAction)
23912             .field("RecordFormat", &self.RecordFormat)
23913             .field("StepFrames", &self.StepFrames)
23914             .field("SetpField", &self.SetpField)
23915             .field("Preroll", &self.Preroll)
23916             .field("RecPreroll", &self.RecPreroll)
23917             .field("Postroll", &self.Postroll)
23918             .field("EditDelay", &self.EditDelay)
23919             .field("PlayTCDelay", &self.PlayTCDelay)
23920             .field("RecTCDelay", &self.RecTCDelay)
23921             .field("EditField", &self.EditField)
23922             .field("FrameServo", &self.FrameServo)
23923             .field("ColorFrameServo", &self.ColorFrameServo)
23924             .field("ServoRef", &self.ServoRef)
23925             .field("WarnGenlock", &self.WarnGenlock)
23926             .field("SetTracking", &self.SetTracking)
23927             .field("VolumeName", &self.VolumeName)
23928             .field("Ballistic", &self.Ballistic)
23929             .field("Speed", &self.Speed)
23930             .field("CounterFormat", &self.CounterFormat)
23931             .field("TunerChannel", &self.TunerChannel)
23932             .field("TunerNumber", &self.TunerNumber)
23933             .field("TimerEvent", &self.TimerEvent)
23934             .field("TimerStartDay", &self.TimerStartDay)
23935             .field("TimerStartTime", &self.TimerStartTime)
23936             .field("TimerStopDay", &self.TimerStopDay)
23937             .field("TimerStopTime", &self.TimerStopTime)
23938             .finish()
23939     }
23940 }
23941 impl ::std::cmp::PartialEq for TRANSPORTBASICPARMS {
eq(&self, other: &Self) -> bool23942     fn eq(&self, other: &Self) -> bool {
23943         self.TimeFormat == other.TimeFormat
23944             && self.TimeReference == other.TimeReference
23945             && self.Superimpose == other.Superimpose
23946             && self.EndStopAction == other.EndStopAction
23947             && self.RecordFormat == other.RecordFormat
23948             && self.StepFrames == other.StepFrames
23949             && self.SetpField == other.SetpField
23950             && self.Preroll == other.Preroll
23951             && self.RecPreroll == other.RecPreroll
23952             && self.Postroll == other.Postroll
23953             && self.EditDelay == other.EditDelay
23954             && self.PlayTCDelay == other.PlayTCDelay
23955             && self.RecTCDelay == other.RecTCDelay
23956             && self.EditField == other.EditField
23957             && self.FrameServo == other.FrameServo
23958             && self.ColorFrameServo == other.ColorFrameServo
23959             && self.ServoRef == other.ServoRef
23960             && self.WarnGenlock == other.WarnGenlock
23961             && self.SetTracking == other.SetTracking
23962             && self.VolumeName == other.VolumeName
23963             && self.Ballistic == other.Ballistic
23964             && self.Speed == other.Speed
23965             && self.CounterFormat == other.CounterFormat
23966             && self.TunerChannel == other.TunerChannel
23967             && self.TunerNumber == other.TunerNumber
23968             && self.TimerEvent == other.TimerEvent
23969             && self.TimerStartDay == other.TimerStartDay
23970             && self.TimerStartTime == other.TimerStartTime
23971             && self.TimerStopDay == other.TimerStopDay
23972             && self.TimerStopTime == other.TimerStopTime
23973     }
23974 }
23975 impl ::std::cmp::Eq for TRANSPORTBASICPARMS {}
23976 unsafe impl ::windows::runtime::Abi for TRANSPORTBASICPARMS {
23977     type Abi = Self;
23978     type DefaultType = Self;
23979 }
23980 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
23981 #[repr(C)]
23982 pub struct TRANSPORTSTATUS {
23983     pub Mode: i32,
23984     pub LastError: i32,
23985     pub RecordInhibit: i32,
23986     pub ServoLock: i32,
23987     pub MediaPresent: i32,
23988     pub MediaLength: i32,
23989     pub MediaSize: i32,
23990     pub MediaTrackCount: i32,
23991     pub MediaTrackLength: i32,
23992     pub MediaTrackSide: i32,
23993     pub MediaType: i32,
23994     pub LinkMode: i32,
23995     pub NotifyOn: i32,
23996 }
23997 impl TRANSPORTSTATUS {}
23998 impl ::std::default::Default for TRANSPORTSTATUS {
default() -> Self23999     fn default() -> Self {
24000         unsafe { ::std::mem::zeroed() }
24001     }
24002 }
24003 impl ::std::fmt::Debug for TRANSPORTSTATUS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result24004     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
24005         fmt.debug_struct("TRANSPORTSTATUS")
24006             .field("Mode", &self.Mode)
24007             .field("LastError", &self.LastError)
24008             .field("RecordInhibit", &self.RecordInhibit)
24009             .field("ServoLock", &self.ServoLock)
24010             .field("MediaPresent", &self.MediaPresent)
24011             .field("MediaLength", &self.MediaLength)
24012             .field("MediaSize", &self.MediaSize)
24013             .field("MediaTrackCount", &self.MediaTrackCount)
24014             .field("MediaTrackLength", &self.MediaTrackLength)
24015             .field("MediaTrackSide", &self.MediaTrackSide)
24016             .field("MediaType", &self.MediaType)
24017             .field("LinkMode", &self.LinkMode)
24018             .field("NotifyOn", &self.NotifyOn)
24019             .finish()
24020     }
24021 }
24022 impl ::std::cmp::PartialEq for TRANSPORTSTATUS {
eq(&self, other: &Self) -> bool24023     fn eq(&self, other: &Self) -> bool {
24024         self.Mode == other.Mode
24025             && self.LastError == other.LastError
24026             && self.RecordInhibit == other.RecordInhibit
24027             && self.ServoLock == other.ServoLock
24028             && self.MediaPresent == other.MediaPresent
24029             && self.MediaLength == other.MediaLength
24030             && self.MediaSize == other.MediaSize
24031             && self.MediaTrackCount == other.MediaTrackCount
24032             && self.MediaTrackLength == other.MediaTrackLength
24033             && self.MediaTrackSide == other.MediaTrackSide
24034             && self.MediaType == other.MediaType
24035             && self.LinkMode == other.LinkMode
24036             && self.NotifyOn == other.NotifyOn
24037     }
24038 }
24039 impl ::std::cmp::Eq for TRANSPORTSTATUS {}
24040 unsafe impl ::windows::runtime::Abi for TRANSPORTSTATUS {
24041     type Abi = Self;
24042     type DefaultType = Self;
24043 }
24044 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
24045 #[repr(C)]
24046 pub struct TRANSPORTVIDEOPARMS {
24047     pub OutputMode: i32,
24048     pub Input: i32,
24049 }
24050 impl TRANSPORTVIDEOPARMS {}
24051 impl ::std::default::Default for TRANSPORTVIDEOPARMS {
default() -> Self24052     fn default() -> Self {
24053         unsafe { ::std::mem::zeroed() }
24054     }
24055 }
24056 impl ::std::fmt::Debug for TRANSPORTVIDEOPARMS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result24057     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
24058         fmt.debug_struct("TRANSPORTVIDEOPARMS").field("OutputMode", &self.OutputMode).field("Input", &self.Input).finish()
24059     }
24060 }
24061 impl ::std::cmp::PartialEq for TRANSPORTVIDEOPARMS {
eq(&self, other: &Self) -> bool24062     fn eq(&self, other: &Self) -> bool {
24063         self.OutputMode == other.OutputMode && self.Input == other.Input
24064     }
24065 }
24066 impl ::std::cmp::Eq for TRANSPORTVIDEOPARMS {}
24067 unsafe impl ::windows::runtime::Abi for TRANSPORTVIDEOPARMS {
24068     type Abi = Self;
24069     type DefaultType = Self;
24070 }
24071 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
24072 #[repr(C)]
24073 pub struct TRANSPORT_STATE {
24074     pub Mode: u32,
24075     pub State: u32,
24076 }
24077 impl TRANSPORT_STATE {}
24078 impl ::std::default::Default for TRANSPORT_STATE {
default() -> Self24079     fn default() -> Self {
24080         unsafe { ::std::mem::zeroed() }
24081     }
24082 }
24083 impl ::std::fmt::Debug for TRANSPORT_STATE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result24084     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
24085         fmt.debug_struct("TRANSPORT_STATE").field("Mode", &self.Mode).field("State", &self.State).finish()
24086     }
24087 }
24088 impl ::std::cmp::PartialEq for TRANSPORT_STATE {
eq(&self, other: &Self) -> bool24089     fn eq(&self, other: &Self) -> bool {
24090         self.Mode == other.Mode && self.State == other.State
24091     }
24092 }
24093 impl ::std::cmp::Eq for TRANSPORT_STATE {}
24094 unsafe impl ::windows::runtime::Abi for TRANSPORT_STATE {
24095     type Abi = Self;
24096     type DefaultType = Self;
24097 }
24098 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
24099 #[repr(C)]
24100 pub struct TUNER_ANALOG_CAPS_S {
24101     pub Mode: u32,
24102     pub StandardsSupported: u32,
24103     pub MinFrequency: u32,
24104     pub MaxFrequency: u32,
24105     pub TuningGranularity: u32,
24106     pub SettlingTime: u32,
24107     pub ScanSensingRange: u32,
24108     pub FineTuneSensingRange: u32,
24109 }
24110 impl TUNER_ANALOG_CAPS_S {}
24111 impl ::std::default::Default for TUNER_ANALOG_CAPS_S {
default() -> Self24112     fn default() -> Self {
24113         unsafe { ::std::mem::zeroed() }
24114     }
24115 }
24116 impl ::std::fmt::Debug for TUNER_ANALOG_CAPS_S {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result24117     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
24118         fmt.debug_struct("TUNER_ANALOG_CAPS_S")
24119             .field("Mode", &self.Mode)
24120             .field("StandardsSupported", &self.StandardsSupported)
24121             .field("MinFrequency", &self.MinFrequency)
24122             .field("MaxFrequency", &self.MaxFrequency)
24123             .field("TuningGranularity", &self.TuningGranularity)
24124             .field("SettlingTime", &self.SettlingTime)
24125             .field("ScanSensingRange", &self.ScanSensingRange)
24126             .field("FineTuneSensingRange", &self.FineTuneSensingRange)
24127             .finish()
24128     }
24129 }
24130 impl ::std::cmp::PartialEq for TUNER_ANALOG_CAPS_S {
eq(&self, other: &Self) -> bool24131     fn eq(&self, other: &Self) -> bool {
24132         self.Mode == other.Mode && self.StandardsSupported == other.StandardsSupported && self.MinFrequency == other.MinFrequency && self.MaxFrequency == other.MaxFrequency && self.TuningGranularity == other.TuningGranularity && self.SettlingTime == other.SettlingTime && self.ScanSensingRange == other.ScanSensingRange && self.FineTuneSensingRange == other.FineTuneSensingRange
24133     }
24134 }
24135 impl ::std::cmp::Eq for TUNER_ANALOG_CAPS_S {}
24136 unsafe impl ::windows::runtime::Abi for TUNER_ANALOG_CAPS_S {
24137     type Abi = Self;
24138     type DefaultType = Self;
24139 }
24140 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
24141 #[repr(C)]
24142 pub struct VBICAP_PROPERTIES_PROTECTION_S {
24143     pub Property: KSIDENTIFIER,
24144     pub StreamIndex: u32,
24145     pub Status: u32,
24146 }
24147 impl VBICAP_PROPERTIES_PROTECTION_S {}
24148 impl ::std::default::Default for VBICAP_PROPERTIES_PROTECTION_S {
default() -> Self24149     fn default() -> Self {
24150         unsafe { ::std::mem::zeroed() }
24151     }
24152 }
24153 impl ::std::cmp::PartialEq for VBICAP_PROPERTIES_PROTECTION_S {
eq(&self, _other: &Self) -> bool24154     fn eq(&self, _other: &Self) -> bool {
24155         unimplemented!()
24156     }
24157 }
24158 impl ::std::cmp::Eq for VBICAP_PROPERTIES_PROTECTION_S {}
24159 unsafe impl ::windows::runtime::Abi for VBICAP_PROPERTIES_PROTECTION_S {
24160     type Abi = Self;
24161     type DefaultType = Self;
24162 }
24163 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
24164 #[repr(C)]
24165 pub struct VBICODECFILTERING_CC_SUBSTREAMS {
24166     pub SubstreamMask: u32,
24167 }
24168 impl VBICODECFILTERING_CC_SUBSTREAMS {}
24169 impl ::std::default::Default for VBICODECFILTERING_CC_SUBSTREAMS {
default() -> Self24170     fn default() -> Self {
24171         unsafe { ::std::mem::zeroed() }
24172     }
24173 }
24174 impl ::std::fmt::Debug for VBICODECFILTERING_CC_SUBSTREAMS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result24175     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
24176         fmt.debug_struct("VBICODECFILTERING_CC_SUBSTREAMS").field("SubstreamMask", &self.SubstreamMask).finish()
24177     }
24178 }
24179 impl ::std::cmp::PartialEq for VBICODECFILTERING_CC_SUBSTREAMS {
eq(&self, other: &Self) -> bool24180     fn eq(&self, other: &Self) -> bool {
24181         self.SubstreamMask == other.SubstreamMask
24182     }
24183 }
24184 impl ::std::cmp::Eq for VBICODECFILTERING_CC_SUBSTREAMS {}
24185 unsafe impl ::windows::runtime::Abi for VBICODECFILTERING_CC_SUBSTREAMS {
24186     type Abi = Self;
24187     type DefaultType = Self;
24188 }
24189 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
24190 #[repr(C)]
24191 pub struct VBICODECFILTERING_NABTS_SUBSTREAMS {
24192     pub SubstreamMask: [u32; 128],
24193 }
24194 impl VBICODECFILTERING_NABTS_SUBSTREAMS {}
24195 impl ::std::default::Default for VBICODECFILTERING_NABTS_SUBSTREAMS {
default() -> Self24196     fn default() -> Self {
24197         unsafe { ::std::mem::zeroed() }
24198     }
24199 }
24200 impl ::std::fmt::Debug for VBICODECFILTERING_NABTS_SUBSTREAMS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result24201     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
24202         fmt.debug_struct("VBICODECFILTERING_NABTS_SUBSTREAMS").field("SubstreamMask", &self.SubstreamMask).finish()
24203     }
24204 }
24205 impl ::std::cmp::PartialEq for VBICODECFILTERING_NABTS_SUBSTREAMS {
eq(&self, other: &Self) -> bool24206     fn eq(&self, other: &Self) -> bool {
24207         self.SubstreamMask == other.SubstreamMask
24208     }
24209 }
24210 impl ::std::cmp::Eq for VBICODECFILTERING_NABTS_SUBSTREAMS {}
24211 unsafe impl ::windows::runtime::Abi for VBICODECFILTERING_NABTS_SUBSTREAMS {
24212     type Abi = Self;
24213     type DefaultType = Self;
24214 }
24215 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
24216 #[repr(C)]
24217 pub struct VBICODECFILTERING_SCANLINES {
24218     pub DwordBitArray: [u32; 32],
24219 }
24220 impl VBICODECFILTERING_SCANLINES {}
24221 impl ::std::default::Default for VBICODECFILTERING_SCANLINES {
default() -> Self24222     fn default() -> Self {
24223         unsafe { ::std::mem::zeroed() }
24224     }
24225 }
24226 impl ::std::fmt::Debug for VBICODECFILTERING_SCANLINES {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result24227     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
24228         fmt.debug_struct("VBICODECFILTERING_SCANLINES").field("DwordBitArray", &self.DwordBitArray).finish()
24229     }
24230 }
24231 impl ::std::cmp::PartialEq for VBICODECFILTERING_SCANLINES {
eq(&self, other: &Self) -> bool24232     fn eq(&self, other: &Self) -> bool {
24233         self.DwordBitArray == other.DwordBitArray
24234     }
24235 }
24236 impl ::std::cmp::Eq for VBICODECFILTERING_SCANLINES {}
24237 unsafe impl ::windows::runtime::Abi for VBICODECFILTERING_SCANLINES {
24238     type Abi = Self;
24239     type DefaultType = Self;
24240 }
24241 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
24242 #[repr(C)]
24243 pub struct VBICODECFILTERING_STATISTICS_CC {
24244     pub Common: VBICODECFILTERING_STATISTICS_COMMON,
24245 }
24246 impl VBICODECFILTERING_STATISTICS_CC {}
24247 impl ::std::default::Default for VBICODECFILTERING_STATISTICS_CC {
default() -> Self24248     fn default() -> Self {
24249         unsafe { ::std::mem::zeroed() }
24250     }
24251 }
24252 impl ::std::fmt::Debug for VBICODECFILTERING_STATISTICS_CC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result24253     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
24254         fmt.debug_struct("VBICODECFILTERING_STATISTICS_CC").field("Common", &self.Common).finish()
24255     }
24256 }
24257 impl ::std::cmp::PartialEq for VBICODECFILTERING_STATISTICS_CC {
eq(&self, other: &Self) -> bool24258     fn eq(&self, other: &Self) -> bool {
24259         self.Common == other.Common
24260     }
24261 }
24262 impl ::std::cmp::Eq for VBICODECFILTERING_STATISTICS_CC {}
24263 unsafe impl ::windows::runtime::Abi for VBICODECFILTERING_STATISTICS_CC {
24264     type Abi = Self;
24265     type DefaultType = Self;
24266 }
24267 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
24268 #[repr(C)]
24269 pub struct VBICODECFILTERING_STATISTICS_CC_PIN {
24270     pub Common: VBICODECFILTERING_STATISTICS_COMMON_PIN,
24271 }
24272 impl VBICODECFILTERING_STATISTICS_CC_PIN {}
24273 impl ::std::default::Default for VBICODECFILTERING_STATISTICS_CC_PIN {
default() -> Self24274     fn default() -> Self {
24275         unsafe { ::std::mem::zeroed() }
24276     }
24277 }
24278 impl ::std::fmt::Debug for VBICODECFILTERING_STATISTICS_CC_PIN {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result24279     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
24280         fmt.debug_struct("VBICODECFILTERING_STATISTICS_CC_PIN").field("Common", &self.Common).finish()
24281     }
24282 }
24283 impl ::std::cmp::PartialEq for VBICODECFILTERING_STATISTICS_CC_PIN {
eq(&self, other: &Self) -> bool24284     fn eq(&self, other: &Self) -> bool {
24285         self.Common == other.Common
24286     }
24287 }
24288 impl ::std::cmp::Eq for VBICODECFILTERING_STATISTICS_CC_PIN {}
24289 unsafe impl ::windows::runtime::Abi for VBICODECFILTERING_STATISTICS_CC_PIN {
24290     type Abi = Self;
24291     type DefaultType = Self;
24292 }
24293 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
24294 #[repr(C)]
24295 pub struct VBICODECFILTERING_STATISTICS_COMMON {
24296     pub InputSRBsProcessed: u32,
24297     pub OutputSRBsProcessed: u32,
24298     pub SRBsIgnored: u32,
24299     pub InputSRBsMissing: u32,
24300     pub OutputSRBsMissing: u32,
24301     pub OutputFailures: u32,
24302     pub InternalErrors: u32,
24303     pub ExternalErrors: u32,
24304     pub InputDiscontinuities: u32,
24305     pub DSPFailures: u32,
24306     pub TvTunerChanges: u32,
24307     pub VBIHeaderChanges: u32,
24308     pub LineConfidenceAvg: u32,
24309     pub BytesOutput: u32,
24310 }
24311 impl VBICODECFILTERING_STATISTICS_COMMON {}
24312 impl ::std::default::Default for VBICODECFILTERING_STATISTICS_COMMON {
default() -> Self24313     fn default() -> Self {
24314         unsafe { ::std::mem::zeroed() }
24315     }
24316 }
24317 impl ::std::fmt::Debug for VBICODECFILTERING_STATISTICS_COMMON {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result24318     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
24319         fmt.debug_struct("VBICODECFILTERING_STATISTICS_COMMON")
24320             .field("InputSRBsProcessed", &self.InputSRBsProcessed)
24321             .field("OutputSRBsProcessed", &self.OutputSRBsProcessed)
24322             .field("SRBsIgnored", &self.SRBsIgnored)
24323             .field("InputSRBsMissing", &self.InputSRBsMissing)
24324             .field("OutputSRBsMissing", &self.OutputSRBsMissing)
24325             .field("OutputFailures", &self.OutputFailures)
24326             .field("InternalErrors", &self.InternalErrors)
24327             .field("ExternalErrors", &self.ExternalErrors)
24328             .field("InputDiscontinuities", &self.InputDiscontinuities)
24329             .field("DSPFailures", &self.DSPFailures)
24330             .field("TvTunerChanges", &self.TvTunerChanges)
24331             .field("VBIHeaderChanges", &self.VBIHeaderChanges)
24332             .field("LineConfidenceAvg", &self.LineConfidenceAvg)
24333             .field("BytesOutput", &self.BytesOutput)
24334             .finish()
24335     }
24336 }
24337 impl ::std::cmp::PartialEq for VBICODECFILTERING_STATISTICS_COMMON {
eq(&self, other: &Self) -> bool24338     fn eq(&self, other: &Self) -> bool {
24339         self.InputSRBsProcessed == other.InputSRBsProcessed
24340             && self.OutputSRBsProcessed == other.OutputSRBsProcessed
24341             && self.SRBsIgnored == other.SRBsIgnored
24342             && self.InputSRBsMissing == other.InputSRBsMissing
24343             && self.OutputSRBsMissing == other.OutputSRBsMissing
24344             && self.OutputFailures == other.OutputFailures
24345             && self.InternalErrors == other.InternalErrors
24346             && self.ExternalErrors == other.ExternalErrors
24347             && self.InputDiscontinuities == other.InputDiscontinuities
24348             && self.DSPFailures == other.DSPFailures
24349             && self.TvTunerChanges == other.TvTunerChanges
24350             && self.VBIHeaderChanges == other.VBIHeaderChanges
24351             && self.LineConfidenceAvg == other.LineConfidenceAvg
24352             && self.BytesOutput == other.BytesOutput
24353     }
24354 }
24355 impl ::std::cmp::Eq for VBICODECFILTERING_STATISTICS_COMMON {}
24356 unsafe impl ::windows::runtime::Abi for VBICODECFILTERING_STATISTICS_COMMON {
24357     type Abi = Self;
24358     type DefaultType = Self;
24359 }
24360 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
24361 #[repr(C)]
24362 pub struct VBICODECFILTERING_STATISTICS_COMMON_PIN {
24363     pub SRBsProcessed: u32,
24364     pub SRBsIgnored: u32,
24365     pub SRBsMissing: u32,
24366     pub InternalErrors: u32,
24367     pub ExternalErrors: u32,
24368     pub Discontinuities: u32,
24369     pub LineConfidenceAvg: u32,
24370     pub BytesOutput: u32,
24371 }
24372 impl VBICODECFILTERING_STATISTICS_COMMON_PIN {}
24373 impl ::std::default::Default for VBICODECFILTERING_STATISTICS_COMMON_PIN {
default() -> Self24374     fn default() -> Self {
24375         unsafe { ::std::mem::zeroed() }
24376     }
24377 }
24378 impl ::std::fmt::Debug for VBICODECFILTERING_STATISTICS_COMMON_PIN {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result24379     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
24380         fmt.debug_struct("VBICODECFILTERING_STATISTICS_COMMON_PIN")
24381             .field("SRBsProcessed", &self.SRBsProcessed)
24382             .field("SRBsIgnored", &self.SRBsIgnored)
24383             .field("SRBsMissing", &self.SRBsMissing)
24384             .field("InternalErrors", &self.InternalErrors)
24385             .field("ExternalErrors", &self.ExternalErrors)
24386             .field("Discontinuities", &self.Discontinuities)
24387             .field("LineConfidenceAvg", &self.LineConfidenceAvg)
24388             .field("BytesOutput", &self.BytesOutput)
24389             .finish()
24390     }
24391 }
24392 impl ::std::cmp::PartialEq for VBICODECFILTERING_STATISTICS_COMMON_PIN {
eq(&self, other: &Self) -> bool24393     fn eq(&self, other: &Self) -> bool {
24394         self.SRBsProcessed == other.SRBsProcessed && self.SRBsIgnored == other.SRBsIgnored && self.SRBsMissing == other.SRBsMissing && self.InternalErrors == other.InternalErrors && self.ExternalErrors == other.ExternalErrors && self.Discontinuities == other.Discontinuities && self.LineConfidenceAvg == other.LineConfidenceAvg && self.BytesOutput == other.BytesOutput
24395     }
24396 }
24397 impl ::std::cmp::Eq for VBICODECFILTERING_STATISTICS_COMMON_PIN {}
24398 unsafe impl ::windows::runtime::Abi for VBICODECFILTERING_STATISTICS_COMMON_PIN {
24399     type Abi = Self;
24400     type DefaultType = Self;
24401 }
24402 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
24403 #[repr(C)]
24404 pub struct VBICODECFILTERING_STATISTICS_NABTS {
24405     pub Common: VBICODECFILTERING_STATISTICS_COMMON,
24406     pub FECBundleBadLines: u32,
24407     pub FECQueueOverflows: u32,
24408     pub FECCorrectedLines: u32,
24409     pub FECUncorrectableLines: u32,
24410     pub BundlesProcessed: u32,
24411     pub BundlesSent2IP: u32,
24412     pub FilteredLines: u32,
24413 }
24414 impl VBICODECFILTERING_STATISTICS_NABTS {}
24415 impl ::std::default::Default for VBICODECFILTERING_STATISTICS_NABTS {
default() -> Self24416     fn default() -> Self {
24417         unsafe { ::std::mem::zeroed() }
24418     }
24419 }
24420 impl ::std::fmt::Debug for VBICODECFILTERING_STATISTICS_NABTS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result24421     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
24422         fmt.debug_struct("VBICODECFILTERING_STATISTICS_NABTS")
24423             .field("Common", &self.Common)
24424             .field("FECBundleBadLines", &self.FECBundleBadLines)
24425             .field("FECQueueOverflows", &self.FECQueueOverflows)
24426             .field("FECCorrectedLines", &self.FECCorrectedLines)
24427             .field("FECUncorrectableLines", &self.FECUncorrectableLines)
24428             .field("BundlesProcessed", &self.BundlesProcessed)
24429             .field("BundlesSent2IP", &self.BundlesSent2IP)
24430             .field("FilteredLines", &self.FilteredLines)
24431             .finish()
24432     }
24433 }
24434 impl ::std::cmp::PartialEq for VBICODECFILTERING_STATISTICS_NABTS {
eq(&self, other: &Self) -> bool24435     fn eq(&self, other: &Self) -> bool {
24436         self.Common == other.Common && self.FECBundleBadLines == other.FECBundleBadLines && self.FECQueueOverflows == other.FECQueueOverflows && self.FECCorrectedLines == other.FECCorrectedLines && self.FECUncorrectableLines == other.FECUncorrectableLines && self.BundlesProcessed == other.BundlesProcessed && self.BundlesSent2IP == other.BundlesSent2IP && self.FilteredLines == other.FilteredLines
24437     }
24438 }
24439 impl ::std::cmp::Eq for VBICODECFILTERING_STATISTICS_NABTS {}
24440 unsafe impl ::windows::runtime::Abi for VBICODECFILTERING_STATISTICS_NABTS {
24441     type Abi = Self;
24442     type DefaultType = Self;
24443 }
24444 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
24445 #[repr(C)]
24446 pub struct VBICODECFILTERING_STATISTICS_NABTS_PIN {
24447     pub Common: VBICODECFILTERING_STATISTICS_COMMON_PIN,
24448 }
24449 impl VBICODECFILTERING_STATISTICS_NABTS_PIN {}
24450 impl ::std::default::Default for VBICODECFILTERING_STATISTICS_NABTS_PIN {
default() -> Self24451     fn default() -> Self {
24452         unsafe { ::std::mem::zeroed() }
24453     }
24454 }
24455 impl ::std::fmt::Debug for VBICODECFILTERING_STATISTICS_NABTS_PIN {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result24456     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
24457         fmt.debug_struct("VBICODECFILTERING_STATISTICS_NABTS_PIN").field("Common", &self.Common).finish()
24458     }
24459 }
24460 impl ::std::cmp::PartialEq for VBICODECFILTERING_STATISTICS_NABTS_PIN {
eq(&self, other: &Self) -> bool24461     fn eq(&self, other: &Self) -> bool {
24462         self.Common == other.Common
24463     }
24464 }
24465 impl ::std::cmp::Eq for VBICODECFILTERING_STATISTICS_NABTS_PIN {}
24466 unsafe impl ::windows::runtime::Abi for VBICODECFILTERING_STATISTICS_NABTS_PIN {
24467     type Abi = Self;
24468     type DefaultType = Self;
24469 }
24470 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
24471 #[repr(C)]
24472 pub struct VBICODECFILTERING_STATISTICS_TELETEXT {
24473     pub Common: VBICODECFILTERING_STATISTICS_COMMON,
24474 }
24475 impl VBICODECFILTERING_STATISTICS_TELETEXT {}
24476 impl ::std::default::Default for VBICODECFILTERING_STATISTICS_TELETEXT {
default() -> Self24477     fn default() -> Self {
24478         unsafe { ::std::mem::zeroed() }
24479     }
24480 }
24481 impl ::std::fmt::Debug for VBICODECFILTERING_STATISTICS_TELETEXT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result24482     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
24483         fmt.debug_struct("VBICODECFILTERING_STATISTICS_TELETEXT").field("Common", &self.Common).finish()
24484     }
24485 }
24486 impl ::std::cmp::PartialEq for VBICODECFILTERING_STATISTICS_TELETEXT {
eq(&self, other: &Self) -> bool24487     fn eq(&self, other: &Self) -> bool {
24488         self.Common == other.Common
24489     }
24490 }
24491 impl ::std::cmp::Eq for VBICODECFILTERING_STATISTICS_TELETEXT {}
24492 unsafe impl ::windows::runtime::Abi for VBICODECFILTERING_STATISTICS_TELETEXT {
24493     type Abi = Self;
24494     type DefaultType = Self;
24495 }
24496 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
24497 #[repr(C)]
24498 pub struct VBICODECFILTERING_STATISTICS_TELETEXT_PIN {
24499     pub Common: VBICODECFILTERING_STATISTICS_COMMON_PIN,
24500 }
24501 impl VBICODECFILTERING_STATISTICS_TELETEXT_PIN {}
24502 impl ::std::default::Default for VBICODECFILTERING_STATISTICS_TELETEXT_PIN {
default() -> Self24503     fn default() -> Self {
24504         unsafe { ::std::mem::zeroed() }
24505     }
24506 }
24507 impl ::std::fmt::Debug for VBICODECFILTERING_STATISTICS_TELETEXT_PIN {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result24508     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
24509         fmt.debug_struct("VBICODECFILTERING_STATISTICS_TELETEXT_PIN").field("Common", &self.Common).finish()
24510     }
24511 }
24512 impl ::std::cmp::PartialEq for VBICODECFILTERING_STATISTICS_TELETEXT_PIN {
eq(&self, other: &Self) -> bool24513     fn eq(&self, other: &Self) -> bool {
24514         self.Common == other.Common
24515     }
24516 }
24517 impl ::std::cmp::Eq for VBICODECFILTERING_STATISTICS_TELETEXT_PIN {}
24518 unsafe impl ::windows::runtime::Abi for VBICODECFILTERING_STATISTICS_TELETEXT_PIN {
24519     type Abi = Self;
24520     type DefaultType = Self;
24521 }
24522 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
24523 #[repr(C)]
24524 pub struct VRAM_SURFACE_INFO {
24525     pub hSurface: usize,
24526     pub VramPhysicalAddress: i64,
24527     pub cbCaptured: u32,
24528     pub dwWidth: u32,
24529     pub dwHeight: u32,
24530     pub dwLinearSize: u32,
24531     pub lPitch: i32,
24532     pub ullReserved: [u64; 16],
24533 }
24534 impl VRAM_SURFACE_INFO {}
24535 impl ::std::default::Default for VRAM_SURFACE_INFO {
default() -> Self24536     fn default() -> Self {
24537         unsafe { ::std::mem::zeroed() }
24538     }
24539 }
24540 impl ::std::fmt::Debug for VRAM_SURFACE_INFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result24541     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
24542         fmt.debug_struct("VRAM_SURFACE_INFO")
24543             .field("hSurface", &self.hSurface)
24544             .field("VramPhysicalAddress", &self.VramPhysicalAddress)
24545             .field("cbCaptured", &self.cbCaptured)
24546             .field("dwWidth", &self.dwWidth)
24547             .field("dwHeight", &self.dwHeight)
24548             .field("dwLinearSize", &self.dwLinearSize)
24549             .field("lPitch", &self.lPitch)
24550             .field("ullReserved", &self.ullReserved)
24551             .finish()
24552     }
24553 }
24554 impl ::std::cmp::PartialEq for VRAM_SURFACE_INFO {
eq(&self, other: &Self) -> bool24555     fn eq(&self, other: &Self) -> bool {
24556         self.hSurface == other.hSurface && self.VramPhysicalAddress == other.VramPhysicalAddress && self.cbCaptured == other.cbCaptured && self.dwWidth == other.dwWidth && self.dwHeight == other.dwHeight && self.dwLinearSize == other.dwLinearSize && self.lPitch == other.lPitch && self.ullReserved == other.ullReserved
24557     }
24558 }
24559 impl ::std::cmp::Eq for VRAM_SURFACE_INFO {}
24560 unsafe impl ::windows::runtime::Abi for VRAM_SURFACE_INFO {
24561     type Abi = Self;
24562     type DefaultType = Self;
24563 }
24564 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
24565 #[repr(C)]
24566 pub struct VRAM_SURFACE_INFO_PROPERTY_S {
24567     pub Property: KSIDENTIFIER,
24568     pub pVramSurfaceInfo: *mut VRAM_SURFACE_INFO,
24569 }
24570 impl VRAM_SURFACE_INFO_PROPERTY_S {}
24571 impl ::std::default::Default for VRAM_SURFACE_INFO_PROPERTY_S {
default() -> Self24572     fn default() -> Self {
24573         unsafe { ::std::mem::zeroed() }
24574     }
24575 }
24576 impl ::std::cmp::PartialEq for VRAM_SURFACE_INFO_PROPERTY_S {
eq(&self, _other: &Self) -> bool24577     fn eq(&self, _other: &Self) -> bool {
24578         unimplemented!()
24579     }
24580 }
24581 impl ::std::cmp::Eq for VRAM_SURFACE_INFO_PROPERTY_S {}
24582 unsafe impl ::windows::runtime::Abi for VRAM_SURFACE_INFO_PROPERTY_S {
24583     type Abi = Self;
24584     type DefaultType = Self;
24585 }
24586 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
24587 #[repr(C, packed(1))]
24588 #[cfg(feature = "Win32_Media_Multimedia")]
24589 pub struct WAVEFORMATEXTENSIBLE_IEC61937 {
24590     pub FormatExt: super::super::Multimedia::WAVEFORMATEXTENSIBLE,
24591     pub dwEncodedSamplesPerSec: u32,
24592     pub dwEncodedChannelCount: u32,
24593     pub dwAverageBytesPerSec: u32,
24594 }
24595 #[cfg(feature = "Win32_Media_Multimedia")]
24596 impl WAVEFORMATEXTENSIBLE_IEC61937 {}
24597 #[cfg(feature = "Win32_Media_Multimedia")]
24598 impl ::std::default::Default for WAVEFORMATEXTENSIBLE_IEC61937 {
default() -> Self24599     fn default() -> Self {
24600         unsafe { ::std::mem::zeroed() }
24601     }
24602 }
24603 #[cfg(feature = "Win32_Media_Multimedia")]
24604 impl ::std::cmp::PartialEq for WAVEFORMATEXTENSIBLE_IEC61937 {
eq(&self, _other: &Self) -> bool24605     fn eq(&self, _other: &Self) -> bool {
24606         unimplemented!()
24607     }
24608 }
24609 #[cfg(feature = "Win32_Media_Multimedia")]
24610 impl ::std::cmp::Eq for WAVEFORMATEXTENSIBLE_IEC61937 {}
24611 #[cfg(feature = "Win32_Media_Multimedia")]
24612 unsafe impl ::windows::runtime::Abi for WAVEFORMATEXTENSIBLE_IEC61937 {
24613     type Abi = Self;
24614     type DefaultType = Self;
24615 }
24616 pub const WAVE_FORMAT_EXTENSIBLE: u32 = 65534u32;
24617 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
24618 #[repr(C)]
24619 pub struct WNF_KSCAMERA_STREAMSTATE_INFO {
24620     pub ProcessId: u32,
24621     pub SessionId: u32,
24622     pub StreamState: u32,
24623     pub Reserved: u32,
24624 }
24625 impl WNF_KSCAMERA_STREAMSTATE_INFO {}
24626 impl ::std::default::Default for WNF_KSCAMERA_STREAMSTATE_INFO {
default() -> Self24627     fn default() -> Self {
24628         unsafe { ::std::mem::zeroed() }
24629     }
24630 }
24631 impl ::std::fmt::Debug for WNF_KSCAMERA_STREAMSTATE_INFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result24632     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
24633         fmt.debug_struct("WNF_KSCAMERA_STREAMSTATE_INFO").field("ProcessId", &self.ProcessId).field("SessionId", &self.SessionId).field("StreamState", &self.StreamState).field("Reserved", &self.Reserved).finish()
24634     }
24635 }
24636 impl ::std::cmp::PartialEq for WNF_KSCAMERA_STREAMSTATE_INFO {
eq(&self, other: &Self) -> bool24637     fn eq(&self, other: &Self) -> bool {
24638         self.ProcessId == other.ProcessId && self.SessionId == other.SessionId && self.StreamState == other.StreamState && self.Reserved == other.Reserved
24639     }
24640 }
24641 impl ::std::cmp::Eq for WNF_KSCAMERA_STREAMSTATE_INFO {}
24642 unsafe impl ::windows::runtime::Abi for WNF_KSCAMERA_STREAMSTATE_INFO {
24643     type Abi = Self;
24644     type DefaultType = Self;
24645 }
24646 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
24647 #[repr(C)]
24648 pub struct WST_BUFFER {
24649     pub ScanlinesRequested: VBICODECFILTERING_SCANLINES,
24650     pub WstLines: [WST_BUFFER_LINE; 17],
24651 }
24652 impl WST_BUFFER {}
24653 impl ::std::default::Default for WST_BUFFER {
default() -> Self24654     fn default() -> Self {
24655         unsafe { ::std::mem::zeroed() }
24656     }
24657 }
24658 impl ::std::fmt::Debug for WST_BUFFER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result24659     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
24660         fmt.debug_struct("WST_BUFFER").field("ScanlinesRequested", &self.ScanlinesRequested).field("WstLines", &self.WstLines).finish()
24661     }
24662 }
24663 impl ::std::cmp::PartialEq for WST_BUFFER {
eq(&self, other: &Self) -> bool24664     fn eq(&self, other: &Self) -> bool {
24665         self.ScanlinesRequested == other.ScanlinesRequested && self.WstLines == other.WstLines
24666     }
24667 }
24668 impl ::std::cmp::Eq for WST_BUFFER {}
24669 unsafe impl ::windows::runtime::Abi for WST_BUFFER {
24670     type Abi = Self;
24671     type DefaultType = Self;
24672 }
24673 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
24674 #[repr(C)]
24675 pub struct WST_BUFFER_LINE {
24676     pub Confidence: u8,
24677     pub Bytes: [u8; 42],
24678 }
24679 impl WST_BUFFER_LINE {}
24680 impl ::std::default::Default for WST_BUFFER_LINE {
default() -> Self24681     fn default() -> Self {
24682         unsafe { ::std::mem::zeroed() }
24683     }
24684 }
24685 impl ::std::fmt::Debug for WST_BUFFER_LINE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result24686     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
24687         fmt.debug_struct("WST_BUFFER_LINE").field("Confidence", &self.Confidence).field("Bytes", &self.Bytes).finish()
24688     }
24689 }
24690 impl ::std::cmp::PartialEq for WST_BUFFER_LINE {
eq(&self, other: &Self) -> bool24691     fn eq(&self, other: &Self) -> bool {
24692         self.Confidence == other.Confidence && self.Bytes == other.Bytes
24693     }
24694 }
24695 impl ::std::cmp::Eq for WST_BUFFER_LINE {}
24696 unsafe impl ::windows::runtime::Abi for WST_BUFFER_LINE {
24697     type Abi = Self;
24698     type DefaultType = Self;
24699 }
24700 pub const WST_BYTES_PER_LINE: u32 = 42u32;
24701 pub const WST_TVTUNER_CHANGE_BEGIN_TUNE: i32 = 4096i32;
24702 pub const WST_TVTUNER_CHANGE_END_TUNE: i32 = 8192i32;
24703 pub type YIELDPROC = unsafe extern "system" fn(mciid: u32, dwyielddata: u32) -> u32;
24704 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
24705 #[repr(transparent)]
24706 pub struct _AUDCLNT_BUFFERFLAGS(pub i32);
24707 pub const AUDCLNT_BUFFERFLAGS_DATA_DISCONTINUITY: _AUDCLNT_BUFFERFLAGS = _AUDCLNT_BUFFERFLAGS(1i32);
24708 pub const AUDCLNT_BUFFERFLAGS_SILENT: _AUDCLNT_BUFFERFLAGS = _AUDCLNT_BUFFERFLAGS(2i32);
24709 pub const AUDCLNT_BUFFERFLAGS_TIMESTAMP_ERROR: _AUDCLNT_BUFFERFLAGS = _AUDCLNT_BUFFERFLAGS(4i32);
24710 impl ::std::convert::From<i32> for _AUDCLNT_BUFFERFLAGS {
from(value: i32) -> Self24711     fn from(value: i32) -> Self {
24712         Self(value)
24713     }
24714 }
24715 unsafe impl ::windows::runtime::Abi for _AUDCLNT_BUFFERFLAGS {
24716     type Abi = Self;
24717     type DefaultType = Self;
24718 }
24719 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
24720 #[repr(C)]
24721 pub struct _KSAUDIO_PACKETSIZE_SIGNALPROCESSINGMODE_CONSTRAINT {
24722     pub ProcessingMode: ::windows::runtime::GUID,
24723     pub SamplesPerProcessingPacket: u32,
24724     pub ProcessingPacketDurationInHns: u32,
24725 }
24726 impl _KSAUDIO_PACKETSIZE_SIGNALPROCESSINGMODE_CONSTRAINT {}
24727 impl ::std::default::Default for _KSAUDIO_PACKETSIZE_SIGNALPROCESSINGMODE_CONSTRAINT {
default() -> Self24728     fn default() -> Self {
24729         unsafe { ::std::mem::zeroed() }
24730     }
24731 }
24732 impl ::std::fmt::Debug for _KSAUDIO_PACKETSIZE_SIGNALPROCESSINGMODE_CONSTRAINT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result24733     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
24734         fmt.debug_struct("_KSAUDIO_PACKETSIZE_SIGNALPROCESSINGMODE_CONSTRAINT").field("ProcessingMode", &self.ProcessingMode).field("SamplesPerProcessingPacket", &self.SamplesPerProcessingPacket).field("ProcessingPacketDurationInHns", &self.ProcessingPacketDurationInHns).finish()
24735     }
24736 }
24737 impl ::std::cmp::PartialEq for _KSAUDIO_PACKETSIZE_SIGNALPROCESSINGMODE_CONSTRAINT {
eq(&self, other: &Self) -> bool24738     fn eq(&self, other: &Self) -> bool {
24739         self.ProcessingMode == other.ProcessingMode && self.SamplesPerProcessingPacket == other.SamplesPerProcessingPacket && self.ProcessingPacketDurationInHns == other.ProcessingPacketDurationInHns
24740     }
24741 }
24742 impl ::std::cmp::Eq for _KSAUDIO_PACKETSIZE_SIGNALPROCESSINGMODE_CONSTRAINT {}
24743 unsafe impl ::windows::runtime::Abi for _KSAUDIO_PACKETSIZE_SIGNALPROCESSINGMODE_CONSTRAINT {
24744     type Abi = Self;
24745     type DefaultType = Self;
24746 }
24747 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
24748 #[repr(transparent)]
24749 pub struct _TunerDecoderLockType(pub i32);
24750 pub const Tuner_LockType_None: _TunerDecoderLockType = _TunerDecoderLockType(0i32);
24751 pub const Tuner_LockType_Within_Scan_Sensing_Range: _TunerDecoderLockType = _TunerDecoderLockType(1i32);
24752 pub const Tuner_LockType_Locked: _TunerDecoderLockType = _TunerDecoderLockType(2i32);
24753 impl ::std::convert::From<i32> for _TunerDecoderLockType {
from(value: i32) -> Self24754     fn from(value: i32) -> Self {
24755         Self(value)
24756     }
24757 }
24758 unsafe impl ::windows::runtime::Abi for _TunerDecoderLockType {
24759     type Abi = Self;
24760     type DefaultType = Self;
24761 }
24762 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
24763 #[repr(transparent)]
24764 pub struct __MIDL___MIDL_itf_mmdeviceapi_0000_0008_0002(pub i32);
24765 pub const AUDIO_SYSTEMEFFECTS_PROPERTYSTORE_TYPE_DEFAULT: __MIDL___MIDL_itf_mmdeviceapi_0000_0008_0002 = __MIDL___MIDL_itf_mmdeviceapi_0000_0008_0002(0i32);
24766 pub const AUDIO_SYSTEMEFFECTS_PROPERTYSTORE_TYPE_USER: __MIDL___MIDL_itf_mmdeviceapi_0000_0008_0002 = __MIDL___MIDL_itf_mmdeviceapi_0000_0008_0002(1i32);
24767 pub const AUDIO_SYSTEMEFFECTS_PROPERTYSTORE_TYPE_VOLATILE: __MIDL___MIDL_itf_mmdeviceapi_0000_0008_0002 = __MIDL___MIDL_itf_mmdeviceapi_0000_0008_0002(2i32);
24768 pub const AUDIO_SYSTEMEFFECTS_PROPERTYSTORE_TYPE_ENUM_COUNT: __MIDL___MIDL_itf_mmdeviceapi_0000_0008_0002 = __MIDL___MIDL_itf_mmdeviceapi_0000_0008_0002(3i32);
24769 impl ::std::convert::From<i32> for __MIDL___MIDL_itf_mmdeviceapi_0000_0008_0002 {
from(value: i32) -> Self24770     fn from(value: i32) -> Self {
24771         Self(value)
24772     }
24773 }
24774 unsafe impl ::windows::runtime::Abi for __MIDL___MIDL_itf_mmdeviceapi_0000_0008_0002 {
24775     type Abi = Self;
24776     type DefaultType = Self;
24777 }
24778 #[cfg(feature = "Win32_Foundation")]
24779 #[inline]
mciDriverNotify<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HANDLE>>(hwndcallback: Param0, wdeviceid: u32, ustatus: u32) -> super::super::super::Foundation::BOOL24780 pub unsafe fn mciDriverNotify<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HANDLE>>(hwndcallback: Param0, wdeviceid: u32, ustatus: u32) -> super::super::super::Foundation::BOOL {
24781     #[cfg(windows)]
24782     {
24783         #[link(name = "windows")]
24784         extern "system" {
24785             fn mciDriverNotify(hwndcallback: super::super::super::Foundation::HANDLE, wdeviceid: u32, ustatus: u32) -> super::super::super::Foundation::BOOL;
24786         }
24787         ::std::mem::transmute(mciDriverNotify(hwndcallback.into_param().abi(), ::std::mem::transmute(wdeviceid), ::std::mem::transmute(ustatus)))
24788     }
24789     #[cfg(not(windows))]
24790     unimplemented!("Unsupported target OS");
24791 }
24792 #[inline]
mciDriverYield(wdeviceid: u32) -> u3224793 pub unsafe fn mciDriverYield(wdeviceid: u32) -> u32 {
24794     #[cfg(windows)]
24795     {
24796         #[link(name = "windows")]
24797         extern "system" {
24798             fn mciDriverYield(wdeviceid: u32) -> u32;
24799         }
24800         ::std::mem::transmute(mciDriverYield(::std::mem::transmute(wdeviceid)))
24801     }
24802     #[cfg(not(windows))]
24803     unimplemented!("Unsupported target OS");
24804 }
24805 #[cfg(feature = "Win32_Foundation")]
24806 #[inline]
mciFreeCommandResource(wtable: u32) -> super::super::super::Foundation::BOOL24807 pub unsafe fn mciFreeCommandResource(wtable: u32) -> super::super::super::Foundation::BOOL {
24808     #[cfg(windows)]
24809     {
24810         #[link(name = "windows")]
24811         extern "system" {
24812             fn mciFreeCommandResource(wtable: u32) -> super::super::super::Foundation::BOOL;
24813         }
24814         ::std::mem::transmute(mciFreeCommandResource(::std::mem::transmute(wtable)))
24815     }
24816     #[cfg(not(windows))]
24817     unimplemented!("Unsupported target OS");
24818 }
24819 #[inline]
mciGetCreatorTask(mciid: u32) -> HTASK24820 pub unsafe fn mciGetCreatorTask(mciid: u32) -> HTASK {
24821     #[cfg(windows)]
24822     {
24823         #[link(name = "windows")]
24824         extern "system" {
24825             fn mciGetCreatorTask(mciid: u32) -> HTASK;
24826         }
24827         ::std::mem::transmute(mciGetCreatorTask(::std::mem::transmute(mciid)))
24828     }
24829     #[cfg(not(windows))]
24830     unimplemented!("Unsupported target OS");
24831 }
24832 #[cfg(feature = "Win32_Foundation")]
24833 #[inline]
mciGetDeviceIDA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PSTR>>(pszdevice: Param0) -> u3224834 pub unsafe fn mciGetDeviceIDA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PSTR>>(pszdevice: Param0) -> u32 {
24835     #[cfg(windows)]
24836     {
24837         #[link(name = "windows")]
24838         extern "system" {
24839             fn mciGetDeviceIDA(pszdevice: super::super::super::Foundation::PSTR) -> u32;
24840         }
24841         ::std::mem::transmute(mciGetDeviceIDA(pszdevice.into_param().abi()))
24842     }
24843     #[cfg(not(windows))]
24844     unimplemented!("Unsupported target OS");
24845 }
24846 #[cfg(feature = "Win32_Foundation")]
24847 #[inline]
mciGetDeviceIDFromElementIDA<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PSTR>>(dwelementid: u32, lpstrtype: Param1) -> u3224848 pub unsafe fn mciGetDeviceIDFromElementIDA<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PSTR>>(dwelementid: u32, lpstrtype: Param1) -> u32 {
24849     #[cfg(windows)]
24850     {
24851         #[link(name = "windows")]
24852         extern "system" {
24853             fn mciGetDeviceIDFromElementIDA(dwelementid: u32, lpstrtype: super::super::super::Foundation::PSTR) -> u32;
24854         }
24855         ::std::mem::transmute(mciGetDeviceIDFromElementIDA(::std::mem::transmute(dwelementid), lpstrtype.into_param().abi()))
24856     }
24857     #[cfg(not(windows))]
24858     unimplemented!("Unsupported target OS");
24859 }
24860 #[cfg(feature = "Win32_Foundation")]
24861 #[inline]
mciGetDeviceIDFromElementIDW<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(dwelementid: u32, lpstrtype: Param1) -> u3224862 pub unsafe fn mciGetDeviceIDFromElementIDW<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(dwelementid: u32, lpstrtype: Param1) -> u32 {
24863     #[cfg(windows)]
24864     {
24865         #[link(name = "windows")]
24866         extern "system" {
24867             fn mciGetDeviceIDFromElementIDW(dwelementid: u32, lpstrtype: super::super::super::Foundation::PWSTR) -> u32;
24868         }
24869         ::std::mem::transmute(mciGetDeviceIDFromElementIDW(::std::mem::transmute(dwelementid), lpstrtype.into_param().abi()))
24870     }
24871     #[cfg(not(windows))]
24872     unimplemented!("Unsupported target OS");
24873 }
24874 #[cfg(feature = "Win32_Foundation")]
24875 #[inline]
mciGetDeviceIDW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(pszdevice: Param0) -> u3224876 pub unsafe fn mciGetDeviceIDW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(pszdevice: Param0) -> u32 {
24877     #[cfg(windows)]
24878     {
24879         #[link(name = "windows")]
24880         extern "system" {
24881             fn mciGetDeviceIDW(pszdevice: super::super::super::Foundation::PWSTR) -> u32;
24882         }
24883         ::std::mem::transmute(mciGetDeviceIDW(pszdevice.into_param().abi()))
24884     }
24885     #[cfg(not(windows))]
24886     unimplemented!("Unsupported target OS");
24887 }
24888 #[inline]
mciGetDriverData(wdeviceid: u32) -> usize24889 pub unsafe fn mciGetDriverData(wdeviceid: u32) -> usize {
24890     #[cfg(windows)]
24891     {
24892         #[link(name = "windows")]
24893         extern "system" {
24894             fn mciGetDriverData(wdeviceid: u32) -> usize;
24895         }
24896         ::std::mem::transmute(mciGetDriverData(::std::mem::transmute(wdeviceid)))
24897     }
24898     #[cfg(not(windows))]
24899     unimplemented!("Unsupported target OS");
24900 }
24901 #[cfg(feature = "Win32_Foundation")]
24902 #[inline]
mciGetErrorStringA(mcierr: u32, psztext: super::super::super::Foundation::PSTR, cchtext: u32) -> super::super::super::Foundation::BOOL24903 pub unsafe fn mciGetErrorStringA(mcierr: u32, psztext: super::super::super::Foundation::PSTR, cchtext: u32) -> super::super::super::Foundation::BOOL {
24904     #[cfg(windows)]
24905     {
24906         #[link(name = "windows")]
24907         extern "system" {
24908             fn mciGetErrorStringA(mcierr: u32, psztext: super::super::super::Foundation::PSTR, cchtext: u32) -> super::super::super::Foundation::BOOL;
24909         }
24910         ::std::mem::transmute(mciGetErrorStringA(::std::mem::transmute(mcierr), ::std::mem::transmute(psztext), ::std::mem::transmute(cchtext)))
24911     }
24912     #[cfg(not(windows))]
24913     unimplemented!("Unsupported target OS");
24914 }
24915 #[cfg(feature = "Win32_Foundation")]
24916 #[inline]
mciGetErrorStringW(mcierr: u32, psztext: super::super::super::Foundation::PWSTR, cchtext: u32) -> super::super::super::Foundation::BOOL24917 pub unsafe fn mciGetErrorStringW(mcierr: u32, psztext: super::super::super::Foundation::PWSTR, cchtext: u32) -> super::super::super::Foundation::BOOL {
24918     #[cfg(windows)]
24919     {
24920         #[link(name = "windows")]
24921         extern "system" {
24922             fn mciGetErrorStringW(mcierr: u32, psztext: super::super::super::Foundation::PWSTR, cchtext: u32) -> super::super::super::Foundation::BOOL;
24923         }
24924         ::std::mem::transmute(mciGetErrorStringW(::std::mem::transmute(mcierr), ::std::mem::transmute(psztext), ::std::mem::transmute(cchtext)))
24925     }
24926     #[cfg(not(windows))]
24927     unimplemented!("Unsupported target OS");
24928 }
24929 #[inline]
mciGetYieldProc(mciid: u32, pdwyielddata: *const u32) -> ::std::option::Option<YIELDPROC>24930 pub unsafe fn mciGetYieldProc(mciid: u32, pdwyielddata: *const u32) -> ::std::option::Option<YIELDPROC> {
24931     #[cfg(windows)]
24932     {
24933         #[link(name = "windows")]
24934         extern "system" {
24935             fn mciGetYieldProc(mciid: u32, pdwyielddata: *const u32) -> ::std::option::Option<YIELDPROC>;
24936         }
24937         ::std::mem::transmute(mciGetYieldProc(::std::mem::transmute(mciid), ::std::mem::transmute(pdwyielddata)))
24938     }
24939     #[cfg(not(windows))]
24940     unimplemented!("Unsupported target OS");
24941 }
24942 #[cfg(feature = "Win32_Foundation")]
24943 #[inline]
mciLoadCommandResource<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(hinstance: Param0, lpresname: Param1, wtype: u32) -> u3224944 pub unsafe fn mciLoadCommandResource<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(hinstance: Param0, lpresname: Param1, wtype: u32) -> u32 {
24945     #[cfg(windows)]
24946     {
24947         #[link(name = "windows")]
24948         extern "system" {
24949             fn mciLoadCommandResource(hinstance: super::super::super::Foundation::HANDLE, lpresname: super::super::super::Foundation::PWSTR, wtype: u32) -> u32;
24950         }
24951         ::std::mem::transmute(mciLoadCommandResource(hinstance.into_param().abi(), lpresname.into_param().abi(), ::std::mem::transmute(wtype)))
24952     }
24953     #[cfg(not(windows))]
24954     unimplemented!("Unsupported target OS");
24955 }
24956 #[inline]
mciSendCommandA(mciid: u32, umsg: u32, dwparam1: usize, dwparam2: usize) -> u3224957 pub unsafe fn mciSendCommandA(mciid: u32, umsg: u32, dwparam1: usize, dwparam2: usize) -> u32 {
24958     #[cfg(windows)]
24959     {
24960         #[link(name = "windows")]
24961         extern "system" {
24962             fn mciSendCommandA(mciid: u32, umsg: u32, dwparam1: usize, dwparam2: usize) -> u32;
24963         }
24964         ::std::mem::transmute(mciSendCommandA(::std::mem::transmute(mciid), ::std::mem::transmute(umsg), ::std::mem::transmute(dwparam1), ::std::mem::transmute(dwparam2)))
24965     }
24966     #[cfg(not(windows))]
24967     unimplemented!("Unsupported target OS");
24968 }
24969 #[inline]
mciSendCommandW(mciid: u32, umsg: u32, dwparam1: usize, dwparam2: usize) -> u3224970 pub unsafe fn mciSendCommandW(mciid: u32, umsg: u32, dwparam1: usize, dwparam2: usize) -> u32 {
24971     #[cfg(windows)]
24972     {
24973         #[link(name = "windows")]
24974         extern "system" {
24975             fn mciSendCommandW(mciid: u32, umsg: u32, dwparam1: usize, dwparam2: usize) -> u32;
24976         }
24977         ::std::mem::transmute(mciSendCommandW(::std::mem::transmute(mciid), ::std::mem::transmute(umsg), ::std::mem::transmute(dwparam1), ::std::mem::transmute(dwparam2)))
24978     }
24979     #[cfg(not(windows))]
24980     unimplemented!("Unsupported target OS");
24981 }
24982 #[cfg(feature = "Win32_Foundation")]
24983 #[inline]
mciSendStringA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HWND>>(lpstrcommand: Param0, lpstrreturnstring: super::super::super::Foundation::PSTR, ureturnlength: u32, hwndcallback: Param3) -> u3224984 pub unsafe fn mciSendStringA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HWND>>(lpstrcommand: Param0, lpstrreturnstring: super::super::super::Foundation::PSTR, ureturnlength: u32, hwndcallback: Param3) -> u32 {
24985     #[cfg(windows)]
24986     {
24987         #[link(name = "windows")]
24988         extern "system" {
24989             fn mciSendStringA(lpstrcommand: super::super::super::Foundation::PSTR, lpstrreturnstring: super::super::super::Foundation::PSTR, ureturnlength: u32, hwndcallback: super::super::super::Foundation::HWND) -> u32;
24990         }
24991         ::std::mem::transmute(mciSendStringA(lpstrcommand.into_param().abi(), ::std::mem::transmute(lpstrreturnstring), ::std::mem::transmute(ureturnlength), hwndcallback.into_param().abi()))
24992     }
24993     #[cfg(not(windows))]
24994     unimplemented!("Unsupported target OS");
24995 }
24996 #[cfg(feature = "Win32_Foundation")]
24997 #[inline]
mciSendStringW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HWND>>(lpstrcommand: Param0, lpstrreturnstring: super::super::super::Foundation::PWSTR, ureturnlength: u32, hwndcallback: Param3) -> u3224998 pub unsafe fn mciSendStringW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HWND>>(lpstrcommand: Param0, lpstrreturnstring: super::super::super::Foundation::PWSTR, ureturnlength: u32, hwndcallback: Param3) -> u32 {
24999     #[cfg(windows)]
25000     {
25001         #[link(name = "windows")]
25002         extern "system" {
25003             fn mciSendStringW(lpstrcommand: super::super::super::Foundation::PWSTR, lpstrreturnstring: super::super::super::Foundation::PWSTR, ureturnlength: u32, hwndcallback: super::super::super::Foundation::HWND) -> u32;
25004         }
25005         ::std::mem::transmute(mciSendStringW(lpstrcommand.into_param().abi(), ::std::mem::transmute(lpstrreturnstring), ::std::mem::transmute(ureturnlength), hwndcallback.into_param().abi()))
25006     }
25007     #[cfg(not(windows))]
25008     unimplemented!("Unsupported target OS");
25009 }
25010 #[cfg(feature = "Win32_Foundation")]
25011 #[inline]
mciSetDriverData(wdeviceid: u32, dwdata: usize) -> super::super::super::Foundation::BOOL25012 pub unsafe fn mciSetDriverData(wdeviceid: u32, dwdata: usize) -> super::super::super::Foundation::BOOL {
25013     #[cfg(windows)]
25014     {
25015         #[link(name = "windows")]
25016         extern "system" {
25017             fn mciSetDriverData(wdeviceid: u32, dwdata: usize) -> super::super::super::Foundation::BOOL;
25018         }
25019         ::std::mem::transmute(mciSetDriverData(::std::mem::transmute(wdeviceid), ::std::mem::transmute(dwdata)))
25020     }
25021     #[cfg(not(windows))]
25022     unimplemented!("Unsupported target OS");
25023 }
25024 #[cfg(feature = "Win32_Foundation")]
25025 #[inline]
mciSetYieldProc(mciid: u32, fpyieldproc: ::std::option::Option<YIELDPROC>, dwyielddata: u32) -> super::super::super::Foundation::BOOL25026 pub unsafe fn mciSetYieldProc(mciid: u32, fpyieldproc: ::std::option::Option<YIELDPROC>, dwyielddata: u32) -> super::super::super::Foundation::BOOL {
25027     #[cfg(windows)]
25028     {
25029         #[link(name = "windows")]
25030         extern "system" {
25031             fn mciSetYieldProc(mciid: u32, fpyieldproc: ::windows::runtime::RawPtr, dwyielddata: u32) -> super::super::super::Foundation::BOOL;
25032         }
25033         ::std::mem::transmute(mciSetYieldProc(::std::mem::transmute(mciid), ::std::mem::transmute(fpyieldproc), ::std::mem::transmute(dwyielddata)))
25034     }
25035     #[cfg(not(windows))]
25036     unimplemented!("Unsupported target OS");
25037 }
25038