1 #![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)]
2 #[link(name = "windows")]
3 extern "system" {
4     #[cfg(feature = "Win32_Foundation")]
KsCreateAllocator(connectionhandle: super::super::Foundation::HANDLE, allocatorframing: *const KSALLOCATOR_FRAMING, allocatorhandle: *mut super::super::Foundation::HANDLE) -> u325     pub fn KsCreateAllocator(connectionhandle: super::super::Foundation::HANDLE, allocatorframing: *const KSALLOCATOR_FRAMING, allocatorhandle: *mut super::super::Foundation::HANDLE) -> u32;
6     #[cfg(feature = "Win32_Foundation")]
KsCreateAllocator2(connectionhandle: super::super::Foundation::HANDLE, allocatorframing: *const KSALLOCATOR_FRAMING, allocatorhandle: *mut super::super::Foundation::HANDLE) -> ::windows_sys::core::HRESULT7     pub fn KsCreateAllocator2(connectionhandle: super::super::Foundation::HANDLE, allocatorframing: *const KSALLOCATOR_FRAMING, allocatorhandle: *mut super::super::Foundation::HANDLE) -> ::windows_sys::core::HRESULT;
8     #[cfg(feature = "Win32_Foundation")]
KsCreateClock(connectionhandle: super::super::Foundation::HANDLE, clockcreate: *const KSCLOCK_CREATE, clockhandle: *mut super::super::Foundation::HANDLE) -> u329     pub fn KsCreateClock(connectionhandle: super::super::Foundation::HANDLE, clockcreate: *const KSCLOCK_CREATE, clockhandle: *mut super::super::Foundation::HANDLE) -> u32;
10     #[cfg(feature = "Win32_Foundation")]
KsCreateClock2(connectionhandle: super::super::Foundation::HANDLE, clockcreate: *const KSCLOCK_CREATE, clockhandle: *mut super::super::Foundation::HANDLE) -> ::windows_sys::core::HRESULT11     pub fn KsCreateClock2(connectionhandle: super::super::Foundation::HANDLE, clockcreate: *const KSCLOCK_CREATE, clockhandle: *mut super::super::Foundation::HANDLE) -> ::windows_sys::core::HRESULT;
12     #[cfg(feature = "Win32_Foundation")]
KsCreatePin(filterhandle: super::super::Foundation::HANDLE, connect: *const KSPIN_CONNECT, desiredaccess: u32, connectionhandle: *mut super::super::Foundation::HANDLE) -> u3213     pub fn KsCreatePin(filterhandle: super::super::Foundation::HANDLE, connect: *const KSPIN_CONNECT, desiredaccess: u32, connectionhandle: *mut super::super::Foundation::HANDLE) -> u32;
14     #[cfg(feature = "Win32_Foundation")]
KsCreatePin2(filterhandle: super::super::Foundation::HANDLE, connect: *const KSPIN_CONNECT, desiredaccess: u32, connectionhandle: *mut super::super::Foundation::HANDLE) -> ::windows_sys::core::HRESULT15     pub fn KsCreatePin2(filterhandle: super::super::Foundation::HANDLE, connect: *const KSPIN_CONNECT, desiredaccess: u32, connectionhandle: *mut super::super::Foundation::HANDLE) -> ::windows_sys::core::HRESULT;
16     #[cfg(feature = "Win32_Foundation")]
KsCreateTopologyNode(parenthandle: super::super::Foundation::HANDLE, nodecreate: *const KSNODE_CREATE, desiredaccess: u32, nodehandle: *mut super::super::Foundation::HANDLE) -> u3217     pub fn KsCreateTopologyNode(parenthandle: super::super::Foundation::HANDLE, nodecreate: *const KSNODE_CREATE, desiredaccess: u32, nodehandle: *mut super::super::Foundation::HANDLE) -> u32;
18     #[cfg(feature = "Win32_Foundation")]
KsCreateTopologyNode2(parenthandle: super::super::Foundation::HANDLE, nodecreate: *const KSNODE_CREATE, desiredaccess: u32, nodehandle: *mut super::super::Foundation::HANDLE) -> ::windows_sys::core::HRESULT19     pub fn KsCreateTopologyNode2(parenthandle: super::super::Foundation::HANDLE, nodecreate: *const KSNODE_CREATE, desiredaccess: u32, nodehandle: *mut super::super::Foundation::HANDLE) -> ::windows_sys::core::HRESULT;
20 }
21 pub const AEC_MODE_FULL_DUPLEX: u32 = 2u32;
22 pub const AEC_MODE_HALF_DUPLEX: u32 = 1u32;
23 pub const AEC_MODE_PASS_THROUGH: u32 = 0u32;
24 pub const AEC_STATUS_FD_CURRENTLY_CONVERGED: u32 = 8u32;
25 pub const AEC_STATUS_FD_HISTORY_CONTINUOUSLY_CONVERGED: u32 = 1u32;
26 pub const AEC_STATUS_FD_HISTORY_PREVIOUSLY_DIVERGED: u32 = 2u32;
27 pub const AEC_STATUS_FD_HISTORY_UNINITIALIZED: u32 = 0u32;
28 #[repr(C)]
29 pub struct ALLOCATOR_PROPERTIES_EX {
30     pub cBuffers: i32,
31     pub cbBuffer: i32,
32     pub cbAlign: i32,
33     pub cbPrefix: i32,
34     pub MemoryType: ::windows_sys::core::GUID,
35     pub BusType: ::windows_sys::core::GUID,
36     pub State: PIPE_STATE,
37     pub Input: PIPE_TERMINATION,
38     pub Output: PIPE_TERMINATION,
39     pub Strategy: u32,
40     pub Flags: u32,
41     pub Weight: u32,
42     pub LogicalMemoryType: KS_LogicalMemoryType,
43     pub AllocatorPlace: PIPE_ALLOCATOR_PLACE,
44     pub Dimensions: PIPE_DIMENSIONS,
45     pub PhysicalRange: KS_FRAMING_RANGE,
46     pub PrevSegment: *mut IKsAllocatorEx,
47     pub CountNextSegments: u32,
48     pub NextSegments: *mut *mut IKsAllocatorEx,
49     pub InsideFactors: u32,
50     pub NumberPins: u32,
51 }
52 impl ::core::marker::Copy for ALLOCATOR_PROPERTIES_EX {}
53 impl ::core::clone::Clone for ALLOCATOR_PROPERTIES_EX {
clone(&self) -> Self54     fn clone(&self) -> Self {
55         *self
56     }
57 }
58 pub const APO_CLASS_UUID: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1502215400, data2: 40144, data3: 18045, data4: [138, 106, 84, 25, 227, 21, 41, 212] };
59 pub const AUDIOENDPOINT_CLASS_UUID: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
60     data1: 3244708412,
61     data2: 65036,
62     data3: 19092,
63     data4: [165, 134, 241, 168, 12, 251, 191, 62],
64 };
65 pub const AUDIOMODULE_MAX_DATA_SIZE: u32 = 64000u32;
66 pub const AUDIOMODULE_MAX_NAME_CCH_SIZE: u32 = 128u32;
67 pub type AUDIOPOSTURE_ORIENTATION = i32;
68 pub const AUDIOPOSTURE_ORIENTATION_NOTROTATED: AUDIOPOSTURE_ORIENTATION = 0i32;
69 pub const AUDIOPOSTURE_ORIENTATION_ROTATED90DEGREESCOUNTERCLOCKWISE: AUDIOPOSTURE_ORIENTATION = 1i32;
70 pub const AUDIOPOSTURE_ORIENTATION_ROTATED180DEGREESCOUNTERCLOCKWISE: AUDIOPOSTURE_ORIENTATION = 2i32;
71 pub const AUDIOPOSTURE_ORIENTATION_ROTATED270DEGREESCOUNTERCLOCKWISE: AUDIOPOSTURE_ORIENTATION = 3i32;
72 #[repr(C)]
73 #[cfg(feature = "Win32_Foundation")]
74 pub struct AUDIORESOURCEMANAGEMENT_RESOURCEGROUP {
75     pub ResourceGroupAcquired: super::super::Foundation::BOOL,
76     pub ResourceGroupName: [u16; 256],
77 }
78 #[cfg(feature = "Win32_Foundation")]
79 impl ::core::marker::Copy for AUDIORESOURCEMANAGEMENT_RESOURCEGROUP {}
80 #[cfg(feature = "Win32_Foundation")]
81 impl ::core::clone::Clone for AUDIORESOURCEMANAGEMENT_RESOURCEGROUP {
clone(&self) -> Self82     fn clone(&self) -> Self {
83         *self
84     }
85 }
86 pub type AUDIO_CURVE_TYPE = i32;
87 pub const AUDIO_CURVE_TYPE_NONE: AUDIO_CURVE_TYPE = 0i32;
88 pub const AUDIO_CURVE_TYPE_WINDOWS_FADE: AUDIO_CURVE_TYPE = 1i32;
89 pub const AUDIO_EFFECT_TYPE_ACOUSTIC_ECHO_CANCELLATION: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1868869054, data2: 33297, data3: 4578, data4: [140, 112, 44, 39, 215, 240, 1, 250] };
90 pub const AUDIO_EFFECT_TYPE_AUTOMATIC_GAIN_CONTROL: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1868869056, data2: 33297, data3: 4578, data4: [140, 112, 44, 39, 215, 240, 1, 250] };
91 pub const AUDIO_EFFECT_TYPE_BASS_BOOST: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1868869061, data2: 33297, data3: 4578, data4: [140, 112, 44, 39, 215, 240, 1, 250] };
92 pub const AUDIO_EFFECT_TYPE_BASS_MANAGEMENT: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1868869066, data2: 33297, data3: 4578, data4: [140, 112, 44, 39, 215, 240, 1, 250] };
93 pub const AUDIO_EFFECT_TYPE_BEAMFORMING: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1868869057, data2: 33297, data3: 4578, data4: [140, 112, 44, 39, 215, 240, 1, 250] };
94 pub const AUDIO_EFFECT_TYPE_CONSTANT_TONE_REMOVAL: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1868869058, data2: 33297, data3: 4578, data4: [140, 112, 44, 39, 215, 240, 1, 250] };
95 pub const AUDIO_EFFECT_TYPE_DEEP_NOISE_SUPPRESSION: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1868869072, data2: 33297, data3: 4578, data4: [140, 112, 44, 39, 215, 240, 1, 250] };
96 pub const AUDIO_EFFECT_TYPE_DYNAMIC_RANGE_COMPRESSION: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1868869070, data2: 33297, data3: 4578, data4: [140, 112, 44, 39, 215, 240, 1, 250] };
97 pub const AUDIO_EFFECT_TYPE_ENVIRONMENTAL_EFFECTS: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1868869067, data2: 33297, data3: 4578, data4: [140, 112, 44, 39, 215, 240, 1, 250] };
98 pub const AUDIO_EFFECT_TYPE_EQUALIZER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1868869059, data2: 33297, data3: 4578, data4: [140, 112, 44, 39, 215, 240, 1, 250] };
99 pub const AUDIO_EFFECT_TYPE_FAR_FIELD_BEAMFORMING: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1868869071, data2: 33297, data3: 4578, data4: [140, 112, 44, 39, 215, 240, 1, 250] };
100 pub const AUDIO_EFFECT_TYPE_LOUDNESS_EQUALIZER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1868869060, data2: 33297, data3: 4578, data4: [140, 112, 44, 39, 215, 240, 1, 250] };
101 pub const AUDIO_EFFECT_TYPE_NOISE_SUPPRESSION: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1868869055, data2: 33297, data3: 4578, data4: [140, 112, 44, 39, 215, 240, 1, 250] };
102 pub const AUDIO_EFFECT_TYPE_ROOM_CORRECTION: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1868869065, data2: 33297, data3: 4578, data4: [140, 112, 44, 39, 215, 240, 1, 250] };
103 pub const AUDIO_EFFECT_TYPE_SPEAKER_COMPENSATION: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1868869069, data2: 33297, data3: 4578, data4: [140, 112, 44, 39, 215, 240, 1, 250] };
104 pub const AUDIO_EFFECT_TYPE_SPEAKER_FILL: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1868869064, data2: 33297, data3: 4578, data4: [140, 112, 44, 39, 215, 240, 1, 250] };
105 pub const AUDIO_EFFECT_TYPE_SPEAKER_PROTECTION: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1868869068, data2: 33297, data3: 4578, data4: [140, 112, 44, 39, 215, 240, 1, 250] };
106 pub const AUDIO_EFFECT_TYPE_VIRTUAL_HEADPHONES: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1868869063, data2: 33297, data3: 4578, data4: [140, 112, 44, 39, 215, 240, 1, 250] };
107 pub const AUDIO_EFFECT_TYPE_VIRTUAL_SURROUND: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1868869062, data2: 33297, data3: 4578, data4: [140, 112, 44, 39, 215, 240, 1, 250] };
108 pub const AUDIO_SIGNALPROCESSINGMODE_COMMUNICATIONS: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
109     data1: 2559906611,
110     data2: 47565,
111     data3: 18609,
112     data4: [160, 163, 255, 64, 104, 45, 115, 247],
113 };
114 pub const AUDIO_SIGNALPROCESSINGMODE_DEFAULT: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
115     data1: 3247320958,
116     data2: 37693,
117     data3: 18789,
118     data4: [183, 209, 30, 239, 34, 141, 42, 243],
119 };
120 pub const AUDIO_SIGNALPROCESSINGMODE_FAR_FIELD_SPEECH: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
121     data1: 680795322,
122     data2: 15334,
123     data3: 19064,
124     data4: [154, 118, 48, 253, 145, 85, 155, 100],
125 };
126 pub const AUDIO_SIGNALPROCESSINGMODE_MEDIA: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
127     data1: 1199571022,
128     data2: 28979,
129     data3: 16856,
130     data4: [140, 116, 102, 13, 173, 210, 192, 238],
131 };
132 pub const AUDIO_SIGNALPROCESSINGMODE_MOVIE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
133     data1: 2993679117,
134     data2: 60564,
135     data3: 18300,
136     data4: [148, 148, 209, 171, 142, 117, 63, 110],
137 };
138 pub const AUDIO_SIGNALPROCESSINGMODE_NOTIFICATION: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2633148171, data2: 62327, data3: 16443, data4: [189, 107, 54, 8, 99, 224, 53, 92] };
139 pub const AUDIO_SIGNALPROCESSINGMODE_RAW: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
140     data1: 2660297248,
141     data2: 46227,
142     data3: 20433,
143     data4: [161, 168, 126, 19, 97, 169, 86, 207],
144 };
145 pub const AUDIO_SIGNALPROCESSINGMODE_SPEECH: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
146     data1: 4229758107,
147     data2: 47574,
148     data3: 19706,
149     data4: [181, 224, 75, 178, 22, 104, 120, 178],
150 };
151 pub const AllocatorStrategy_DontCare: u32 = 0u32;
152 pub const AllocatorStrategy_MaximizeSpeed: u32 = 8u32;
153 pub const AllocatorStrategy_MinimizeFrameSize: u32 = 2u32;
154 pub const AllocatorStrategy_MinimizeNumberOfAllocators: u32 = 4u32;
155 pub const AllocatorStrategy_MinimizeNumberOfFrames: u32 = 1u32;
156 pub const BLUETOOTHLE_MIDI_SERVICE_UUID: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 62393946, data2: 60904, data3: 19251, data4: [167, 81, 108, 227, 78, 196, 199, 0] };
157 pub const BLUETOOTH_MIDI_DATAIO_CHARACTERISTIC: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
158     data1: 2004018651,
159     data2: 14440,
160     data3: 16658,
161     data4: [161, 169, 242, 102, 157, 16, 107, 243],
162 };
163 pub const BUS_INTERFACE_REFERENCE_VERSION: u32 = 256u32;
164 pub type CAPTURE_MEMORY_ALLOCATION_FLAGS = i32;
165 pub const KS_CAPTURE_ALLOC_INVALID: CAPTURE_MEMORY_ALLOCATION_FLAGS = 0i32;
166 pub const KS_CAPTURE_ALLOC_SYSTEM: CAPTURE_MEMORY_ALLOCATION_FLAGS = 1i32;
167 pub const KS_CAPTURE_ALLOC_VRAM: CAPTURE_MEMORY_ALLOCATION_FLAGS = 2i32;
168 pub const KS_CAPTURE_ALLOC_SYSTEM_AGP: CAPTURE_MEMORY_ALLOCATION_FLAGS = 4i32;
169 pub const KS_CAPTURE_ALLOC_VRAM_MAPPED: CAPTURE_MEMORY_ALLOCATION_FLAGS = 8i32;
170 pub const KS_CAPTURE_ALLOC_SECURE_BUFFER: CAPTURE_MEMORY_ALLOCATION_FLAGS = 16i32;
171 #[repr(C)]
172 pub struct CC_BYTE_PAIR {
173     pub Decoded: [u8; 2],
174     pub Reserved: u16,
175 }
176 impl ::core::marker::Copy for CC_BYTE_PAIR {}
177 impl ::core::clone::Clone for CC_BYTE_PAIR {
clone(&self) -> Self178     fn clone(&self) -> Self {
179         *self
180     }
181 }
182 #[repr(C)]
183 pub struct CC_HW_FIELD {
184     pub ScanlinesRequested: VBICODECFILTERING_SCANLINES,
185     pub fieldFlags: u32,
186     pub PictureNumber: i64,
187     pub Lines: [CC_BYTE_PAIR; 12],
188 }
189 impl ::core::marker::Copy for CC_HW_FIELD {}
190 impl ::core::clone::Clone for CC_HW_FIELD {
clone(&self) -> Self191     fn clone(&self) -> Self {
192         *self
193     }
194 }
195 pub const CC_MAX_HW_DECODE_LINES: u32 = 12u32;
196 pub const CLSID_KsIBasicAudioInterfaceHandler: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3120081982, data2: 3953, data3: 4562, data4: [183, 44, 0, 192, 79, 182, 189, 61] };
197 pub const CLSID_Proxy: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 399288091, data2: 60631, data3: 4560, data4: [185, 8, 0, 160, 201, 34, 49, 150] };
198 pub const CODECAPI_ALLSETTINGS: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
199     data1: 1784118930,
200     data2: 33761,
201     data3: 16659,
202     data4: [173, 194, 79, 206, 195, 47, 131, 161],
203 };
204 pub const CODECAPI_AUDIO_ENCODER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3117521470, data2: 63639, data3: 17052, data4: [188, 70, 129, 56, 183, 39, 43, 45] };
205 pub const CODECAPI_CHANGELISTS: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1655777999, data2: 63152, data3: 18393, data4: [148, 86, 150, 242, 44, 78, 11, 157] };
206 pub const CODECAPI_CURRENTCHANGELIST: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
207     data1: 481382019,
208     data2: 32114,
209     data3: 18007,
210     data4: [131, 253, 71, 162, 197, 185, 209, 61],
211 };
212 pub const CODECAPI_SETALLDEFAULTS: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1818126972, data2: 44280, data3: 20309, data4: [169, 153, 26, 98, 129, 9, 5, 27] };
213 pub const CODECAPI_SUPPORTSEVENTS: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
214     data1: 92385175,
215     data2: 30355,
216     data3: 19901,
217     data4: [157, 202, 63, 158, 189, 101, 133, 161],
218 };
219 pub const CODECAPI_VIDEO_ENCODER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1897064673, data2: 15619, data3: 18415, data4: [142, 96, 3, 241, 207, 83, 115, 1] };
220 pub type CONSTRICTOR_OPTION = i32;
221 pub const CONSTRICTOR_OPTION_DISABLE: CONSTRICTOR_OPTION = 0i32;
222 pub const CONSTRICTOR_OPTION_MUTE: CONSTRICTOR_OPTION = 1i32;
223 #[repr(C)]
224 pub struct DEVCAPS {
225     pub CanRecord: i32,
226     pub CanRecordStrobe: i32,
227     pub HasAudio: i32,
228     pub HasVideo: i32,
229     pub UsesFiles: i32,
230     pub CanSave: i32,
231     pub DeviceType: i32,
232     pub TCRead: i32,
233     pub TCWrite: i32,
234     pub CTLRead: i32,
235     pub IndexRead: i32,
236     pub Preroll: i32,
237     pub Postroll: i32,
238     pub SyncAcc: i32,
239     pub NormRate: i32,
240     pub CanPreview: i32,
241     pub CanMonitorSrc: i32,
242     pub CanTest: i32,
243     pub VideoIn: i32,
244     pub AudioIn: i32,
245     pub Calibrate: i32,
246     pub SeekType: i32,
247     pub SimulatedHardware: i32,
248 }
249 impl ::core::marker::Copy for DEVCAPS {}
250 impl ::core::clone::Clone for DEVCAPS {
clone(&self) -> Self251     fn clone(&self) -> Self {
252         *self
253     }
254 }
255 #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
256 pub const DEVPKEY_KsAudio_Controller_DeviceInterface_Path: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY {
257     fmtid: ::windows_sys::core::GUID { data1: 333448406, data2: 45158, data3: 17341, data4: [145, 59, 164, 21, 205, 19, 218, 135] },
258     pid: 3u32,
259 };
260 #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
261 pub const DEVPKEY_KsAudio_PacketSize_Constraints: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY {
262     fmtid: ::windows_sys::core::GUID { data1: 333448406, data2: 45158, data3: 17341, data4: [145, 59, 164, 21, 205, 19, 218, 135] },
263     pid: 2u32,
264 };
265 #[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
266 pub const DEVPKEY_KsAudio_PacketSize_Constraints2: super::super::UI::Shell::PropertiesSystem::PROPERTYKEY = super::super::UI::Shell::PropertiesSystem::PROPERTYKEY {
267     fmtid: ::windows_sys::core::GUID {
268         data1: 2483353473,
269         data2: 29073,
270         data3: 16539,
271         data4: [139, 11, 128, 191, 110, 194, 41, 174],
272     },
273     pid: 2u32,
274 };
275 #[repr(C)]
276 pub struct DS3DVECTOR {
277     pub Anonymous1: DS3DVECTOR_0,
278     pub Anonymous2: DS3DVECTOR_1,
279     pub Anonymous3: DS3DVECTOR_2,
280 }
281 impl ::core::marker::Copy for DS3DVECTOR {}
282 impl ::core::clone::Clone for DS3DVECTOR {
clone(&self) -> Self283     fn clone(&self) -> Self {
284         *self
285     }
286 }
287 #[repr(C)]
288 pub union DS3DVECTOR_0 {
289     pub x: f32,
290     pub dvX: f32,
291 }
292 impl ::core::marker::Copy for DS3DVECTOR_0 {}
293 impl ::core::clone::Clone for DS3DVECTOR_0 {
clone(&self) -> Self294     fn clone(&self) -> Self {
295         *self
296     }
297 }
298 #[repr(C)]
299 pub union DS3DVECTOR_1 {
300     pub y: f32,
301     pub dvY: f32,
302 }
303 impl ::core::marker::Copy for DS3DVECTOR_1 {}
304 impl ::core::clone::Clone for DS3DVECTOR_1 {
clone(&self) -> Self305     fn clone(&self) -> Self {
306         *self
307     }
308 }
309 #[repr(C)]
310 pub union DS3DVECTOR_2 {
311     pub z: f32,
312     pub dvZ: f32,
313 }
314 impl ::core::marker::Copy for DS3DVECTOR_2 {}
315 impl ::core::clone::Clone for DS3DVECTOR_2 {
clone(&self) -> Self316     fn clone(&self) -> Self {
317         *self
318     }
319 }
320 pub const ENCAPIPARAM_BITRATE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
321     data1: 1238125635,
322     data2: 51843,
323     data3: 19156,
324     data4: [169, 175, 243, 105, 106, 246, 102, 223],
325 };
326 pub const ENCAPIPARAM_BITRATE_MODE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3999248988, data2: 50963, data3: 16593, data4: [157, 88, 192, 215, 36, 30, 37, 15] };
327 pub const ENCAPIPARAM_PEAK_BITRATE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1883182761, data2: 15688, data3: 17569, data4: [176, 119, 1, 141, 255, 145, 93, 25] };
328 pub type EPcxConnectionType = i32;
329 pub const eConnTypeUnknown: EPcxConnectionType = 0i32;
330 pub const eConnType3Point5mm: EPcxConnectionType = 1i32;
331 pub const eConnTypeQuarter: EPcxConnectionType = 2i32;
332 pub const eConnTypeAtapiInternal: EPcxConnectionType = 3i32;
333 pub const eConnTypeRCA: EPcxConnectionType = 4i32;
334 pub const eConnTypeOptical: EPcxConnectionType = 5i32;
335 pub const eConnTypeOtherDigital: EPcxConnectionType = 6i32;
336 pub const eConnTypeOtherAnalog: EPcxConnectionType = 7i32;
337 pub const eConnTypeMultichannelAnalogDIN: EPcxConnectionType = 8i32;
338 pub const eConnTypeXlrProfessional: EPcxConnectionType = 9i32;
339 pub const eConnTypeRJ11Modem: EPcxConnectionType = 10i32;
340 pub const eConnTypeCombination: EPcxConnectionType = 11i32;
341 pub type EPcxGenLocation = i32;
342 pub const eGenLocPrimaryBox: EPcxGenLocation = 0i32;
343 pub const eGenLocInternal: EPcxGenLocation = 1i32;
344 pub const eGenLocSeparate: EPcxGenLocation = 2i32;
345 pub const eGenLocOther: EPcxGenLocation = 3i32;
346 pub const EPcxGenLocation_enum_count: EPcxGenLocation = 4i32;
347 pub type EPcxGeoLocation = i32;
348 pub const eGeoLocRear: EPcxGeoLocation = 1i32;
349 pub const eGeoLocFront: EPcxGeoLocation = 2i32;
350 pub const eGeoLocLeft: EPcxGeoLocation = 3i32;
351 pub const eGeoLocRight: EPcxGeoLocation = 4i32;
352 pub const eGeoLocTop: EPcxGeoLocation = 5i32;
353 pub const eGeoLocBottom: EPcxGeoLocation = 6i32;
354 pub const eGeoLocRearPanel: EPcxGeoLocation = 7i32;
355 pub const eGeoLocRiser: EPcxGeoLocation = 8i32;
356 pub const eGeoLocInsideMobileLid: EPcxGeoLocation = 9i32;
357 pub const eGeoLocDrivebay: EPcxGeoLocation = 10i32;
358 pub const eGeoLocHDMI: EPcxGeoLocation = 11i32;
359 pub const eGeoLocOutsideMobileLid: EPcxGeoLocation = 12i32;
360 pub const eGeoLocATAPI: EPcxGeoLocation = 13i32;
361 pub const eGeoLocNotApplicable: EPcxGeoLocation = 14i32;
362 pub const eGeoLocReserved6: EPcxGeoLocation = 15i32;
363 pub const EPcxGeoLocation_enum_count: EPcxGeoLocation = 16i32;
364 pub type EPxcPortConnection = i32;
365 pub const ePortConnJack: EPxcPortConnection = 0i32;
366 pub const ePortConnIntegratedDevice: EPxcPortConnection = 1i32;
367 pub const ePortConnBothIntegratedAndJack: EPxcPortConnection = 2i32;
368 pub const ePortConnUnknown: EPxcPortConnection = 3i32;
369 pub const EVENTSETID_CROSSBAR: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1781401153, data2: 10468, data3: 4560, data4: [161, 140, 0, 160, 201, 17, 137, 86] };
370 pub const EVENTSETID_TUNER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1781401094, data2: 10468, data3: 4560, data4: [161, 140, 0, 160, 201, 17, 137, 86] };
371 pub const EVENTSETID_VIDCAP_CAMERACONTROL_REGION_OF_INTEREST: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
372     data1: 803208285,
373     data2: 50994,
374     data3: 19366,
375     data4: [181, 223, 107, 77, 127, 200, 139, 139],
376 };
377 pub const EVENTSETID_VIDEODECODER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1781401121, data2: 10468, data3: 4560, data4: [161, 140, 0, 160, 201, 17, 137, 86] };
378 pub type FRAMING_CACHE_OPS = i32;
379 pub const Framing_Cache_Update: FRAMING_CACHE_OPS = 0i32;
380 pub const Framing_Cache_ReadLast: FRAMING_CACHE_OPS = 1i32;
381 pub const Framing_Cache_ReadOrig: FRAMING_CACHE_OPS = 2i32;
382 pub const Framing_Cache_Write: FRAMING_CACHE_OPS = 3i32;
383 pub type FRAMING_PROP = i32;
384 pub const FramingProp_Uninitialized: FRAMING_PROP = 0i32;
385 pub const FramingProp_None: FRAMING_PROP = 1i32;
386 pub const FramingProp_Old: FRAMING_PROP = 2i32;
387 pub const FramingProp_Ex: FRAMING_PROP = 3i32;
388 pub const GUID_NULL: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 0, data2: 0, data3: 0, data4: [0, 0, 0, 0, 0, 0, 0, 0] };
389 pub type IKsAggregateControl = *mut ::core::ffi::c_void;
390 #[repr(C)]
391 pub struct IKsAllocator(pub u8);
392 #[repr(C)]
393 pub struct IKsAllocatorEx(pub u8);
394 pub type IKsControl = *mut ::core::ffi::c_void;
395 pub type IKsFormatSupport = *mut ::core::ffi::c_void;
396 pub type IKsJackContainerId = *mut ::core::ffi::c_void;
397 pub type IKsJackDescription = *mut ::core::ffi::c_void;
398 pub type IKsJackDescription2 = *mut ::core::ffi::c_void;
399 pub type IKsJackSinkInformation = *mut ::core::ffi::c_void;
400 #[repr(C)]
401 pub struct IKsPin(pub u8);
402 pub type IKsPropertySet = *mut ::core::ffi::c_void;
403 pub type IKsTopology = *mut ::core::ffi::c_void;
404 #[repr(C)]
405 pub struct INTERLEAVED_AUDIO_FORMAT_INFORMATION {
406     pub Size: u32,
407     pub PrimaryChannelCount: u32,
408     pub PrimaryChannelStartPosition: u32,
409     pub PrimaryChannelMask: u32,
410     pub InterleavedChannelCount: u32,
411     pub InterleavedChannelStartPosition: u32,
412     pub InterleavedChannelMask: u32,
413 }
414 impl ::core::marker::Copy for INTERLEAVED_AUDIO_FORMAT_INFORMATION {}
415 impl ::core::clone::Clone for INTERLEAVED_AUDIO_FORMAT_INFORMATION {
clone(&self) -> Self416     fn clone(&self) -> Self {
417         *self
418     }
419 }
420 pub const IOCTL_KS_DISABLE_EVENT: u32 = 3080203u32;
421 pub const IOCTL_KS_ENABLE_EVENT: u32 = 3080199u32;
422 pub const IOCTL_KS_HANDSHAKE: u32 = 3080223u32;
423 pub const IOCTL_KS_METHOD: u32 = 3080207u32;
424 pub const IOCTL_KS_PROPERTY: u32 = 3080195u32;
425 pub const IOCTL_KS_READ_STREAM: u32 = 3096599u32;
426 pub const IOCTL_KS_RESET_STATE: u32 = 3080219u32;
427 pub const IOCTL_KS_WRITE_STREAM: u32 = 3112979u32;
428 pub const JACKDESC2_DYNAMIC_FORMAT_CHANGE_CAPABILITY: u32 = 2u32;
429 pub const JACKDESC2_PRESENCE_DETECT_CAPABILITY: u32 = 1u32;
430 #[repr(C)]
431 #[cfg(feature = "Win32_Foundation")]
432 pub struct KSAC3_ALTERNATE_AUDIO {
433     pub fStereo: super::super::Foundation::BOOL,
434     pub DualMode: u32,
435 }
436 #[cfg(feature = "Win32_Foundation")]
437 impl ::core::marker::Copy for KSAC3_ALTERNATE_AUDIO {}
438 #[cfg(feature = "Win32_Foundation")]
439 impl ::core::clone::Clone for KSAC3_ALTERNATE_AUDIO {
clone(&self) -> Self440     fn clone(&self) -> Self {
441         *self
442     }
443 }
444 pub const KSAC3_ALTERNATE_AUDIO_1: u32 = 1u32;
445 pub const KSAC3_ALTERNATE_AUDIO_2: u32 = 2u32;
446 pub const KSAC3_ALTERNATE_AUDIO_BOTH: u32 = 3u32;
447 #[repr(C)]
448 pub struct KSAC3_BIT_STREAM_MODE {
449     pub BitStreamMode: i32,
450 }
451 impl ::core::marker::Copy for KSAC3_BIT_STREAM_MODE {}
452 impl ::core::clone::Clone for KSAC3_BIT_STREAM_MODE {
clone(&self) -> Self453     fn clone(&self) -> Self {
454         *self
455     }
456 }
457 #[repr(C)]
458 pub struct KSAC3_DIALOGUE_LEVEL {
459     pub DialogueLevel: u32,
460 }
461 impl ::core::marker::Copy for KSAC3_DIALOGUE_LEVEL {}
462 impl ::core::clone::Clone for KSAC3_DIALOGUE_LEVEL {
clone(&self) -> Self463     fn clone(&self) -> Self {
464         *self
465     }
466 }
467 #[repr(C)]
468 #[cfg(feature = "Win32_Foundation")]
469 pub struct KSAC3_DOWNMIX {
470     pub fDownMix: super::super::Foundation::BOOL,
471     pub fDolbySurround: super::super::Foundation::BOOL,
472 }
473 #[cfg(feature = "Win32_Foundation")]
474 impl ::core::marker::Copy for KSAC3_DOWNMIX {}
475 #[cfg(feature = "Win32_Foundation")]
476 impl ::core::clone::Clone for KSAC3_DOWNMIX {
clone(&self) -> Self477     fn clone(&self) -> Self {
478         *self
479     }
480 }
481 #[repr(C)]
482 #[cfg(feature = "Win32_Foundation")]
483 pub struct KSAC3_ERROR_CONCEALMENT {
484     pub fRepeatPreviousBlock: super::super::Foundation::BOOL,
485     pub fErrorInCurrentBlock: super::super::Foundation::BOOL,
486 }
487 #[cfg(feature = "Win32_Foundation")]
488 impl ::core::marker::Copy for KSAC3_ERROR_CONCEALMENT {}
489 #[cfg(feature = "Win32_Foundation")]
490 impl ::core::clone::Clone for KSAC3_ERROR_CONCEALMENT {
clone(&self) -> Self491     fn clone(&self) -> Self {
492         *self
493     }
494 }
495 #[repr(C)]
496 #[cfg(feature = "Win32_Foundation")]
497 pub struct KSAC3_ROOM_TYPE {
498     pub fLargeRoom: super::super::Foundation::BOOL,
499 }
500 #[cfg(feature = "Win32_Foundation")]
501 impl ::core::marker::Copy for KSAC3_ROOM_TYPE {}
502 #[cfg(feature = "Win32_Foundation")]
503 impl ::core::clone::Clone for KSAC3_ROOM_TYPE {
clone(&self) -> Self504     fn clone(&self) -> Self {
505         *self
506     }
507 }
508 pub const KSAC3_SERVICE_COMMENTARY: u32 = 5u32;
509 pub const KSAC3_SERVICE_DIALOG_ONLY: u32 = 4u32;
510 pub const KSAC3_SERVICE_EMERGENCY_FLASH: u32 = 6u32;
511 pub const KSAC3_SERVICE_HEARING_IMPAIRED: u32 = 3u32;
512 pub const KSAC3_SERVICE_MAIN_AUDIO: u32 = 0u32;
513 pub const KSAC3_SERVICE_NO_DIALOG: u32 = 1u32;
514 pub const KSAC3_SERVICE_VISUALLY_IMPAIRED: u32 = 2u32;
515 pub const KSAC3_SERVICE_VOICE_OVER: u32 = 7u32;
516 pub const KSALGORITHMINSTANCE_SYSTEM_ACOUSTIC_ECHO_CANCEL: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 472040813, data2: 39033, data3: 20315, data4: [163, 137, 39, 153, 109, 220, 40, 16] };
517 pub const KSALGORITHMINSTANCE_SYSTEM_AGC: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2500744633, data2: 34684, data3: 19559, data4: [190, 8, 228, 123, 86, 17, 19, 10] };
518 pub const KSALGORITHMINSTANCE_SYSTEM_MICROPHONE_ARRAY_PROCESSOR: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3069550752, data2: 40545, data3: 20364, data4: [145, 227, 118, 207, 15, 60, 71, 31] };
519 pub const KSALGORITHMINSTANCE_SYSTEM_NOISE_SUPPRESS: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
520     data1: 1521518638,
521     data2: 29300,
522     data3: 17686,
523     data4: [135, 125, 78, 238, 153, 186, 79, 208],
524 };
525 pub type KSALLOCATORMODE = i32;
526 pub const KsAllocatorMode_User: KSALLOCATORMODE = 0i32;
527 pub const KsAllocatorMode_Kernel: KSALLOCATORMODE = 1i32;
528 pub const KSALLOCATOR_FLAG_2D_BUFFER_REQUIRED: u32 = 32768u32;
529 pub const KSALLOCATOR_FLAG_ALLOCATOR_EXISTS: u32 = 2048u32;
530 pub const KSALLOCATOR_FLAG_ATTENTION_STEPPING: u32 = 8192u32;
531 pub const KSALLOCATOR_FLAG_CAN_ALLOCATE: u32 = 64u32;
532 pub const KSALLOCATOR_FLAG_CYCLE: u32 = 1024u32;
533 pub const KSALLOCATOR_FLAG_DEVICE_SPECIFIC: u32 = 32u32;
534 pub const KSALLOCATOR_FLAG_ENABLE_CACHED_MDL: u32 = 16384u32;
535 pub const KSALLOCATOR_FLAG_INDEPENDENT_RANGES: u32 = 4096u32;
536 pub const KSALLOCATOR_FLAG_INSIST_ON_FRAMESIZE_RATIO: u32 = 128u32;
537 pub const KSALLOCATOR_FLAG_MULTIPLE_OUTPUT: u32 = 512u32;
538 pub const KSALLOCATOR_FLAG_NO_FRAME_INTEGRITY: u32 = 256u32;
539 pub const KSALLOCATOR_FLAG_PARTIAL_READ_SUPPORT: u32 = 16u32;
540 #[repr(C)]
541 pub struct KSALLOCATOR_FRAMING {
542     pub Anonymous1: KSALLOCATOR_FRAMING_0,
543     pub PoolType: u32,
544     pub Frames: u32,
545     pub FrameSize: u32,
546     pub Anonymous2: KSALLOCATOR_FRAMING_1,
547     pub Reserved: u32,
548 }
549 impl ::core::marker::Copy for KSALLOCATOR_FRAMING {}
550 impl ::core::clone::Clone for KSALLOCATOR_FRAMING {
clone(&self) -> Self551     fn clone(&self) -> Self {
552         *self
553     }
554 }
555 #[repr(C)]
556 pub union KSALLOCATOR_FRAMING_0 {
557     pub OptionsFlags: u32,
558     pub RequirementsFlags: u32,
559 }
560 impl ::core::marker::Copy for KSALLOCATOR_FRAMING_0 {}
561 impl ::core::clone::Clone for KSALLOCATOR_FRAMING_0 {
clone(&self) -> Self562     fn clone(&self) -> Self {
563         *self
564     }
565 }
566 #[repr(C)]
567 pub union KSALLOCATOR_FRAMING_1 {
568     pub FileAlignment: u32,
569     pub FramePitch: i32,
570 }
571 impl ::core::marker::Copy for KSALLOCATOR_FRAMING_1 {}
572 impl ::core::clone::Clone for KSALLOCATOR_FRAMING_1 {
clone(&self) -> Self573     fn clone(&self) -> Self {
574         *self
575     }
576 }
577 #[repr(C)]
578 pub struct KSALLOCATOR_FRAMING_EX {
579     pub CountItems: u32,
580     pub PinFlags: u32,
581     pub OutputCompression: KS_COMPRESSION,
582     pub PinWeight: u32,
583     pub FramingItem: [KS_FRAMING_ITEM; 1],
584 }
585 impl ::core::marker::Copy for KSALLOCATOR_FRAMING_EX {}
586 impl ::core::clone::Clone for KSALLOCATOR_FRAMING_EX {
clone(&self) -> Self587     fn clone(&self) -> Self {
588         *self
589     }
590 }
591 pub const KSALLOCATOR_OPTIONF_COMPATIBLE: u32 = 1u32;
592 pub const KSALLOCATOR_OPTIONF_SYSTEM_MEMORY: u32 = 2u32;
593 pub const KSALLOCATOR_OPTIONF_VALID: u32 = 3u32;
594 pub const KSALLOCATOR_REQUIREMENTF_FRAME_INTEGRITY: u32 = 4u32;
595 pub const KSALLOCATOR_REQUIREMENTF_INPLACE_MODIFIER: u32 = 1u32;
596 pub const KSALLOCATOR_REQUIREMENTF_MUST_ALLOCATE: u32 = 8u32;
597 pub const KSALLOCATOR_REQUIREMENTF_PREFERENCES_ONLY: u32 = 2147483648u32;
598 pub const KSALLOCATOR_REQUIREMENTF_SYSTEM_MEMORY: u32 = 2u32;
599 pub const KSALLOCATOR_REQUIREMENTF_SYSTEM_MEMORY_CUSTOM_ALLOCATION: u32 = 16u32;
600 #[repr(C)]
601 pub struct KSATTRIBUTE {
602     pub Size: u32,
603     pub Flags: u32,
604     pub Attribute: ::windows_sys::core::GUID,
605 }
606 impl ::core::marker::Copy for KSATTRIBUTE {}
607 impl ::core::clone::Clone for KSATTRIBUTE {
clone(&self) -> Self608     fn clone(&self) -> Self {
609         *self
610     }
611 }
612 pub const KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
613     data1: 3791167157,
614     data2: 24390,
615     data3: 16795,
616     data4: [150, 123, 255, 103, 112, 185, 132, 1],
617 };
618 #[repr(C)]
619 pub struct KSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE {
620     pub AttributeHeader: KSATTRIBUTE,
621     pub SignalProcessingMode: ::windows_sys::core::GUID,
622 }
623 impl ::core::marker::Copy for KSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE {}
624 impl ::core::clone::Clone for KSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE {
clone(&self) -> Self625     fn clone(&self) -> Self {
626         *self
627     }
628 }
629 pub const KSATTRIBUTE_REQUIRED: u32 = 1u32;
630 pub const KSAUDDECOUTMODE_PCM_51: u32 = 2u32;
631 pub const KSAUDDECOUTMODE_SPDIFF: u32 = 4u32;
632 pub const KSAUDDECOUTMODE_STEREO_ANALOG: u32 = 1u32;
633 pub const KSAUDFNAME_3D_CENTER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2667999412, data2: 39199, data3: 4562, data4: [172, 77, 0, 192, 79, 142, 251, 104] };
634 pub const KSAUDFNAME_3D_DEPTH: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1677678407, data2: 39199, data3: 4562, data4: [172, 77, 0, 192, 79, 142, 251, 104] };
635 pub const KSAUDFNAME_3D_STEREO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940002, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
636 pub const KSAUDFNAME_ALTERNATE_MICROPHONE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 734207339, data2: 38627, data3: 4562, data4: [172, 76, 0, 192, 79, 142, 251, 104] };
637 pub const KSAUDFNAME_AUX: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940030, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
638 pub const KSAUDFNAME_AUX_MUTE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940029, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
639 pub const KSAUDFNAME_AUX_VOLUME: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940028, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
640 pub const KSAUDFNAME_BASS: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940000, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
641 pub const KSAUDFNAME_CD_AUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940027, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
642 pub const KSAUDFNAME_CD_IN_VOLUME: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940019, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
643 pub const KSAUDFNAME_CD_MUTE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940010, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
644 pub const KSAUDFNAME_CD_VOLUME: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940009, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
645 pub const KSAUDFNAME_LINE_IN: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940025, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
646 pub const KSAUDFNAME_LINE_IN_VOLUME: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940020, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
647 pub const KSAUDFNAME_LINE_MUTE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940012, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
648 pub const KSAUDFNAME_LINE_VOLUME: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940011, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
649 pub const KSAUDFNAME_MASTER_MUTE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940004, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
650 pub const KSAUDFNAME_MASTER_VOLUME: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940003, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
651 pub const KSAUDFNAME_MICROPHONE_BOOST: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 734207338, data2: 38627, data3: 4562, data4: [172, 76, 0, 192, 79, 142, 251, 104] };
652 pub const KSAUDFNAME_MIC_IN_VOLUME: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940021, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
653 pub const KSAUDFNAME_MIC_MUTE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940014, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
654 pub const KSAUDFNAME_MIC_VOLUME: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940013, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
655 pub const KSAUDFNAME_MIDI: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940024, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
656 pub const KSAUDFNAME_MIDI_IN_VOLUME: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940018, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
657 pub const KSAUDFNAME_MIDI_MUTE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940008, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
658 pub const KSAUDFNAME_MIDI_VOLUME: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940007, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
659 pub const KSAUDFNAME_MIDRANGE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
660     data1: 2731271288,
661     data2: 44676,
662     data3: 18849,
663     data4: [139, 114, 74, 208, 155, 120, 237, 52],
664 };
665 pub const KSAUDFNAME_MONO_MIX: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 14676088, data2: 38627, data3: 4562, data4: [172, 76, 0, 192, 79, 142, 251, 104] };
666 pub const KSAUDFNAME_MONO_MIX_MUTE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 734207337, data2: 38627, data3: 4562, data4: [172, 76, 0, 192, 79, 142, 251, 104] };
667 pub const KSAUDFNAME_MONO_MIX_VOLUME: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 582019838, data2: 38627, data3: 4562, data4: [172, 76, 0, 192, 79, 142, 251, 104] };
668 pub const KSAUDFNAME_MONO_OUT: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4189330883, data2: 38626, data3: 4562, data4: [172, 76, 0, 192, 79, 142, 251, 104] };
669 pub const KSAUDFNAME_MONO_OUT_MUTE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 449988588, data2: 38627, data3: 4562, data4: [172, 76, 0, 192, 79, 142, 251, 104] };
670 pub const KSAUDFNAME_MONO_OUT_VOLUME: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 449988587, data2: 38627, data3: 4562, data4: [172, 76, 0, 192, 79, 142, 251, 104] };
671 pub const KSAUDFNAME_PC_SPEAKER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940031, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
672 pub const KSAUDFNAME_PC_SPEAKER_MUTE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940017, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
673 pub const KSAUDFNAME_PC_SPEAKER_VOLUME: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940016, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
674 pub const KSAUDFNAME_PEAKMETER: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
675     data1: 1474446144,
676     data2: 64603,
677     data3: 17938,
678     data4: [165, 98, 114, 177, 26, 41, 223, 174],
679 };
680 pub const KSAUDFNAME_RECORDING_CONTROL: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940026, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
681 pub const KSAUDFNAME_RECORDING_SOURCE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940015, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
682 pub const KSAUDFNAME_STEREO_MIX: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 14676087, data2: 38627, data3: 4562, data4: [172, 76, 0, 192, 79, 142, 251, 104] };
683 pub const KSAUDFNAME_STEREO_MIX_MUTE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 582019837, data2: 38627, data3: 4562, data4: [172, 76, 0, 192, 79, 142, 251, 104] };
684 pub const KSAUDFNAME_STEREO_MIX_VOLUME: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 449988589, data2: 38627, data3: 4562, data4: [172, 76, 0, 192, 79, 142, 251, 104] };
685 pub const KSAUDFNAME_TREBLE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940001, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
686 pub const KSAUDFNAME_VIDEO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2438835908, data2: 42036, data3: 4562, data4: [172, 82, 0, 192, 79, 142, 251, 104] };
687 pub const KSAUDFNAME_VIDEO_MUTE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2605115145, data2: 39210, data3: 4562, data4: [172, 77, 0, 192, 79, 142, 251, 104] };
688 pub const KSAUDFNAME_VIDEO_VOLUME: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2605115144, data2: 39210, data3: 4562, data4: [172, 77, 0, 192, 79, 142, 251, 104] };
689 pub const KSAUDFNAME_VOLUME_CONTROL: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940023, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
690 pub const KSAUDFNAME_WAVE_IN_VOLUME: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940022, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
691 pub const KSAUDFNAME_WAVE_MUTE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940006, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
692 pub const KSAUDFNAME_WAVE_OUT_MIX: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940032, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
693 pub const KSAUDFNAME_WAVE_VOLUME: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 408940005, data2: 39173, data3: 4561, data4: [149, 169, 0, 192, 79, 185, 37, 211] };
694 #[repr(C)]
695 pub struct KSAUDIOENGINE_BUFFER_SIZE_RANGE {
696     pub MinBufferBytes: u32,
697     pub MaxBufferBytes: u32,
698 }
699 impl ::core::marker::Copy for KSAUDIOENGINE_BUFFER_SIZE_RANGE {}
700 impl ::core::clone::Clone for KSAUDIOENGINE_BUFFER_SIZE_RANGE {
clone(&self) -> Self701     fn clone(&self) -> Self {
702         *self
703     }
704 }
705 #[repr(C)]
706 pub struct KSAUDIOENGINE_DESCRIPTOR {
707     pub nHostPinId: u32,
708     pub nOffloadPinId: u32,
709     pub nLoopbackPinId: u32,
710 }
711 impl ::core::marker::Copy for KSAUDIOENGINE_DESCRIPTOR {}
712 impl ::core::clone::Clone for KSAUDIOENGINE_DESCRIPTOR {
clone(&self) -> Self713     fn clone(&self) -> Self {
714         *self
715     }
716 }
717 #[repr(C)]
718 pub struct KSAUDIOENGINE_VOLUMELEVEL {
719     pub TargetVolume: i32,
720     pub CurveType: AUDIO_CURVE_TYPE,
721     pub CurveDuration: u64,
722 }
723 impl ::core::marker::Copy for KSAUDIOENGINE_VOLUMELEVEL {}
724 impl ::core::clone::Clone for KSAUDIOENGINE_VOLUMELEVEL {
clone(&self) -> Self725     fn clone(&self) -> Self {
726         *self
727     }
728 }
729 #[repr(C)]
730 pub struct KSAUDIOMODULE_DESCRIPTOR {
731     pub ClassId: ::windows_sys::core::GUID,
732     pub InstanceId: u32,
733     pub VersionMajor: u32,
734     pub VersionMinor: u32,
735     pub Name: [u16; 128],
736 }
737 impl ::core::marker::Copy for KSAUDIOMODULE_DESCRIPTOR {}
738 impl ::core::clone::Clone for KSAUDIOMODULE_DESCRIPTOR {
clone(&self) -> Self739     fn clone(&self) -> Self {
740         *self
741     }
742 }
743 #[repr(C)]
744 pub struct KSAUDIOMODULE_NOTIFICATION {
745     pub Anonymous: KSAUDIOMODULE_NOTIFICATION_0,
746 }
747 impl ::core::marker::Copy for KSAUDIOMODULE_NOTIFICATION {}
748 impl ::core::clone::Clone for KSAUDIOMODULE_NOTIFICATION {
clone(&self) -> Self749     fn clone(&self) -> Self {
750         *self
751     }
752 }
753 #[repr(C)]
754 pub union KSAUDIOMODULE_NOTIFICATION_0 {
755     pub ProviderId: KSAUDIOMODULE_NOTIFICATION_0_0,
756     pub Alignment: i64,
757 }
758 impl ::core::marker::Copy for KSAUDIOMODULE_NOTIFICATION_0 {}
759 impl ::core::clone::Clone for KSAUDIOMODULE_NOTIFICATION_0 {
clone(&self) -> Self760     fn clone(&self) -> Self {
761         *self
762     }
763 }
764 #[repr(C)]
765 pub struct KSAUDIOMODULE_NOTIFICATION_0_0 {
766     pub DeviceId: ::windows_sys::core::GUID,
767     pub ClassId: ::windows_sys::core::GUID,
768     pub InstanceId: u32,
769     pub Reserved: u32,
770 }
771 impl ::core::marker::Copy for KSAUDIOMODULE_NOTIFICATION_0_0 {}
772 impl ::core::clone::Clone for KSAUDIOMODULE_NOTIFICATION_0_0 {
clone(&self) -> Self773     fn clone(&self) -> Self {
774         *self
775     }
776 }
777 #[repr(C)]
778 pub struct KSAUDIOMODULE_PROPERTY {
779     pub Property: KSIDENTIFIER,
780     pub ClassId: ::windows_sys::core::GUID,
781     pub InstanceId: u32,
782 }
783 impl ::core::marker::Copy for KSAUDIOMODULE_PROPERTY {}
784 impl ::core::clone::Clone for KSAUDIOMODULE_PROPERTY {
clone(&self) -> Self785     fn clone(&self) -> Self {
786         *self
787     }
788 }
789 #[repr(C)]
790 pub struct KSAUDIO_CHANNEL_CONFIG {
791     pub ActiveSpeakerPositions: i32,
792 }
793 impl ::core::marker::Copy for KSAUDIO_CHANNEL_CONFIG {}
794 impl ::core::clone::Clone for KSAUDIO_CHANNEL_CONFIG {
clone(&self) -> Self795     fn clone(&self) -> Self {
796         *self
797     }
798 }
799 #[repr(C)]
800 #[cfg(feature = "Win32_Foundation")]
801 pub struct KSAUDIO_COPY_PROTECTION {
802     pub fCopyrighted: super::super::Foundation::BOOL,
803     pub fOriginal: super::super::Foundation::BOOL,
804 }
805 #[cfg(feature = "Win32_Foundation")]
806 impl ::core::marker::Copy for KSAUDIO_COPY_PROTECTION {}
807 #[cfg(feature = "Win32_Foundation")]
808 impl ::core::clone::Clone for KSAUDIO_COPY_PROTECTION {
clone(&self) -> Self809     fn clone(&self) -> Self {
810         *self
811     }
812 }
813 pub const KSAUDIO_CPU_RESOURCES_HOST_CPU: u32 = 2147483647u32;
814 pub const KSAUDIO_CPU_RESOURCES_NOT_HOST_CPU: u32 = 0u32;
815 #[repr(C)]
816 pub struct KSAUDIO_DYNAMIC_RANGE {
817     pub QuietCompression: u32,
818     pub LoudCompression: u32,
819 }
820 impl ::core::marker::Copy for KSAUDIO_DYNAMIC_RANGE {}
821 impl ::core::clone::Clone for KSAUDIO_DYNAMIC_RANGE {
clone(&self) -> Self822     fn clone(&self) -> Self {
823         *self
824     }
825 }
826 #[repr(C)]
827 pub struct KSAUDIO_MICROPHONE_COORDINATES {
828     pub usType: u16,
829     pub wXCoord: i16,
830     pub wYCoord: i16,
831     pub wZCoord: i16,
832     pub wVerticalAngle: i16,
833     pub wHorizontalAngle: i16,
834 }
835 impl ::core::marker::Copy for KSAUDIO_MICROPHONE_COORDINATES {}
836 impl ::core::clone::Clone for KSAUDIO_MICROPHONE_COORDINATES {
clone(&self) -> Self837     fn clone(&self) -> Self {
838         *self
839     }
840 }
841 #[repr(C)]
842 pub struct KSAUDIO_MIC_ARRAY_GEOMETRY {
843     pub usVersion: u16,
844     pub usMicArrayType: u16,
845     pub wVerticalAngleBegin: i16,
846     pub wVerticalAngleEnd: i16,
847     pub wHorizontalAngleBegin: i16,
848     pub wHorizontalAngleEnd: i16,
849     pub usFrequencyBandLo: u16,
850     pub usFrequencyBandHi: u16,
851     pub usNumberOfMicrophones: u16,
852     pub KsMicCoord: [KSAUDIO_MICROPHONE_COORDINATES; 1],
853 }
854 impl ::core::marker::Copy for KSAUDIO_MIC_ARRAY_GEOMETRY {}
855 impl ::core::clone::Clone for KSAUDIO_MIC_ARRAY_GEOMETRY {
clone(&self) -> Self856     fn clone(&self) -> Self {
857         *self
858     }
859 }
860 #[repr(C)]
861 #[cfg(feature = "Win32_Foundation")]
862 pub struct KSAUDIO_MIXCAP_TABLE {
863     pub InputChannels: u32,
864     pub OutputChannels: u32,
865     pub Capabilities: [KSAUDIO_MIX_CAPS; 1],
866 }
867 #[cfg(feature = "Win32_Foundation")]
868 impl ::core::marker::Copy for KSAUDIO_MIXCAP_TABLE {}
869 #[cfg(feature = "Win32_Foundation")]
870 impl ::core::clone::Clone for KSAUDIO_MIXCAP_TABLE {
clone(&self) -> Self871     fn clone(&self) -> Self {
872         *self
873     }
874 }
875 #[repr(C)]
876 #[cfg(feature = "Win32_Foundation")]
877 pub struct KSAUDIO_MIXLEVEL {
878     pub Mute: super::super::Foundation::BOOL,
879     pub Level: i32,
880 }
881 #[cfg(feature = "Win32_Foundation")]
882 impl ::core::marker::Copy for KSAUDIO_MIXLEVEL {}
883 #[cfg(feature = "Win32_Foundation")]
884 impl ::core::clone::Clone for KSAUDIO_MIXLEVEL {
clone(&self) -> Self885     fn clone(&self) -> Self {
886         *self
887     }
888 }
889 #[repr(C)]
890 #[cfg(feature = "Win32_Foundation")]
891 pub struct KSAUDIO_MIX_CAPS {
892     pub Mute: super::super::Foundation::BOOL,
893     pub Minimum: i32,
894     pub Maximum: i32,
895     pub Anonymous: KSAUDIO_MIX_CAPS_0,
896 }
897 #[cfg(feature = "Win32_Foundation")]
898 impl ::core::marker::Copy for KSAUDIO_MIX_CAPS {}
899 #[cfg(feature = "Win32_Foundation")]
900 impl ::core::clone::Clone for KSAUDIO_MIX_CAPS {
clone(&self) -> Self901     fn clone(&self) -> Self {
902         *self
903     }
904 }
905 #[repr(C)]
906 #[cfg(feature = "Win32_Foundation")]
907 pub union KSAUDIO_MIX_CAPS_0 {
908     pub Reset: i32,
909     pub Resolution: i32,
910 }
911 #[cfg(feature = "Win32_Foundation")]
912 impl ::core::marker::Copy for KSAUDIO_MIX_CAPS_0 {}
913 #[cfg(feature = "Win32_Foundation")]
914 impl ::core::clone::Clone for KSAUDIO_MIX_CAPS_0 {
clone(&self) -> Self915     fn clone(&self) -> Self {
916         *self
917     }
918 }
919 #[repr(C)]
920 pub struct KSAUDIO_PACKETSIZE_CONSTRAINTS {
921     pub MinPacketPeriodInHns: u32,
922     pub PacketSizeFileAlignment: u32,
923     pub Reserved: u32,
924     pub NumProcessingModeConstraints: u32,
925     pub ProcessingModeConstraints: [_KSAUDIO_PACKETSIZE_SIGNALPROCESSINGMODE_CONSTRAINT; 1],
926 }
927 impl ::core::marker::Copy for KSAUDIO_PACKETSIZE_CONSTRAINTS {}
928 impl ::core::clone::Clone for KSAUDIO_PACKETSIZE_CONSTRAINTS {
clone(&self) -> Self929     fn clone(&self) -> Self {
930         *self
931     }
932 }
933 #[repr(C)]
934 pub struct KSAUDIO_PACKETSIZE_CONSTRAINTS2 {
935     pub MinPacketPeriodInHns: u32,
936     pub PacketSizeFileAlignment: u32,
937     pub MaxPacketSizeInBytes: u32,
938     pub NumProcessingModeConstraints: u32,
939     pub ProcessingModeConstraints: [_KSAUDIO_PACKETSIZE_SIGNALPROCESSINGMODE_CONSTRAINT; 1],
940 }
941 impl ::core::marker::Copy for KSAUDIO_PACKETSIZE_CONSTRAINTS2 {}
942 impl ::core::clone::Clone for KSAUDIO_PACKETSIZE_CONSTRAINTS2 {
clone(&self) -> Self943     fn clone(&self) -> Self {
944         *self
945     }
946 }
947 #[repr(C)]
948 pub struct KSAUDIO_POSITION {
949     pub PlayOffset: u64,
950     pub WriteOffset: u64,
951 }
952 impl ::core::marker::Copy for KSAUDIO_POSITION {}
953 impl ::core::clone::Clone for KSAUDIO_POSITION {
clone(&self) -> Self954     fn clone(&self) -> Self {
955         *self
956     }
957 }
958 #[repr(C)]
959 pub struct KSAUDIO_POSITIONEX {
960     pub TimerFrequency: i64,
961     pub TimeStamp1: i64,
962     pub Position: KSAUDIO_POSITION,
963     pub TimeStamp2: i64,
964 }
965 impl ::core::marker::Copy for KSAUDIO_POSITIONEX {}
966 impl ::core::clone::Clone for KSAUDIO_POSITIONEX {
clone(&self) -> Self967     fn clone(&self) -> Self {
968         *self
969     }
970 }
971 #[repr(C)]
972 pub struct KSAUDIO_PRESENTATION_POSITION {
973     pub u64PositionInBlocks: u64,
974     pub u64QPCPosition: u64,
975 }
976 impl ::core::marker::Copy for KSAUDIO_PRESENTATION_POSITION {}
977 impl ::core::clone::Clone for KSAUDIO_PRESENTATION_POSITION {
clone(&self) -> Self978     fn clone(&self) -> Self {
979         *self
980     }
981 }
982 pub const KSAUDIO_QUALITY_ADVANCED: u32 = 3u32;
983 pub const KSAUDIO_QUALITY_BASIC: u32 = 2u32;
984 pub const KSAUDIO_QUALITY_PC: u32 = 1u32;
985 pub const KSAUDIO_QUALITY_WORST: u32 = 0u32;
986 pub const KSAUDIO_SPEAKER_DIRECTOUT: u32 = 0u32;
987 pub const KSAUDIO_SPEAKER_GROUND_FRONT_CENTER: u32 = 4u32;
988 pub const KSAUDIO_SPEAKER_GROUND_FRONT_LEFT: u32 = 1u32;
989 pub const KSAUDIO_SPEAKER_GROUND_FRONT_RIGHT: u32 = 2u32;
990 pub const KSAUDIO_SPEAKER_GROUND_REAR_LEFT: u32 = 16u32;
991 pub const KSAUDIO_SPEAKER_GROUND_REAR_RIGHT: u32 = 32u32;
992 pub const KSAUDIO_SPEAKER_MONO: u32 = 4u32;
993 pub const KSAUDIO_SPEAKER_SUPER_WOOFER: u32 = 8u32;
994 pub const KSAUDIO_SPEAKER_TOP_MIDDLE: u32 = 2048u32;
995 pub const KSAUDIO_STEREO_SPEAKER_GEOMETRY_HEADPHONE: i32 = -1i32;
996 pub const KSAUDIO_STEREO_SPEAKER_GEOMETRY_MAX: u32 = 180u32;
997 pub const KSAUDIO_STEREO_SPEAKER_GEOMETRY_MIN: u32 = 5u32;
998 pub const KSAUDIO_STEREO_SPEAKER_GEOMETRY_NARROW: u32 = 10u32;
999 pub const KSAUDIO_STEREO_SPEAKER_GEOMETRY_WIDE: u32 = 20u32;
1000 pub const KSCAMERAPROFILE_BalancedVideoAndPhoto: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1800581143, data2: 17095, data3: 18977, data4: [191, 227, 35, 240, 9, 20, 152, 135] };
1001 pub const KSCAMERAPROFILE_CompressedCamera: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 238341569, data2: 10157, data3: 17279, data4: [171, 222, 2, 182, 41, 243, 123, 68] };
1002 pub const KSCAMERAPROFILE_FLAGS_FACEDETECTION: u64 = 8u64;
1003 pub const KSCAMERAPROFILE_FLAGS_PHOTOHDR: u64 = 4u64;
1004 pub const KSCAMERAPROFILE_FLAGS_PREVIEW_RES_MUSTMATCH: u64 = 32u64;
1005 pub const KSCAMERAPROFILE_FLAGS_VARIABLEPHOTOSEQUENCE: u64 = 16u64;
1006 pub const KSCAMERAPROFILE_FLAGS_VIDEOHDR: u64 = 2u64;
1007 pub const KSCAMERAPROFILE_FLAGS_VIDEOSTABLIZATION: u64 = 1u64;
1008 pub const KSCAMERAPROFILE_FaceAuth_Mode: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1009     data1: 2167806754,
1010     data2: 28683,
1011     data3: 17734,
1012     data4: [162, 212, 197, 46, 144, 123, 252, 39],
1013 };
1014 pub const KSCAMERAPROFILE_HDRWithWCGPhoto: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1015     data1: 2616652287,
1016     data2: 46421,
1017     data3: 17957,
1018     data4: [179, 38, 164, 109, 239, 49, 143, 183],
1019 };
1020 pub const KSCAMERAPROFILE_HDRWithWCGVideo: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1021     data1: 1260897078,
1022     data2: 18724,
1023     data3: 18825,
1024     data4: [185, 148, 253, 175, 29, 199, 205, 133],
1025 };
1026 pub const KSCAMERAPROFILE_HighFrameRate: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1027     data1: 1450074387,
1028     data2: 35893,
1029     data3: 18663,
1030     data4: [184, 159, 210, 63, 220, 18, 25, 220],
1031 };
1032 pub const KSCAMERAPROFILE_HighQualityPhoto: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1033     data1: 843319077,
1034     data2: 38427,
1035     data3: 19619,
1036     data4: [181, 178, 133, 78, 113, 157, 158, 27],
1037 };
1038 pub const KSCAMERAPROFILE_Legacy: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1039     data1: 3028897153,
1040     data2: 25271,
1041     data3: 20204,
1042     data4: [135, 64, 128, 101, 140, 74, 157, 62],
1043 };
1044 pub const KSCAMERAPROFILE_PhotoSequence: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 37330333, data2: 20200, data3: 18874, data4: [188, 7, 95, 241, 86, 83, 20, 19] };
1045 pub const KSCAMERAPROFILE_VariablePhotoSequence: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1046     data1: 2683489110,
1047     data2: 59226,
1048     data3: 18865,
1049     data4: [169, 40, 153, 133, 213, 148, 111, 135],
1050 };
1051 pub const KSCAMERAPROFILE_VideoConferencing: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1052     data1: 3309587080,
1053     data2: 57791,
1054     data3: 17815,
1055     data4: [178, 221, 158, 30, 173, 134, 75, 184],
1056 };
1057 pub const KSCAMERAPROFILE_VideoHDR8: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3572757740, data2: 48639, data3: 17172, data4: [177, 212, 0, 142, 40, 31, 116, 231] };
1058 pub const KSCAMERAPROFILE_VideoRecording: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1059     data1: 2699368424,
1060     data2: 36748,
1061     data3: 20335,
1062     data4: [154, 87, 70, 252, 47, 100, 126, 192],
1063 };
1064 pub const KSCAMERA_EXTENDEDPROP_ADVANCEDPHOTO_AUTO: u64 = 1u64;
1065 pub const KSCAMERA_EXTENDEDPROP_ADVANCEDPHOTO_FNF: u64 = 4u64;
1066 pub const KSCAMERA_EXTENDEDPROP_ADVANCEDPHOTO_HDR: u64 = 2u64;
1067 pub const KSCAMERA_EXTENDEDPROP_ADVANCEDPHOTO_OFF: u64 = 0u64;
1068 pub const KSCAMERA_EXTENDEDPROP_ADVANCEDPHOTO_ULTRALOWLIGHT: u64 = 8u64;
1069 pub const KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_BLUR: u64 = 1u64;
1070 #[repr(C)]
1071 #[cfg(feature = "Win32_Foundation")]
1072 pub struct KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_CONFIGCAPS {
1073     pub Resolution: super::super::Foundation::SIZE,
1074     pub MaxFrameRate: KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_CONFIGCAPS_0,
1075     pub MaskResolution: super::super::Foundation::SIZE,
1076     pub SubType: ::windows_sys::core::GUID,
1077 }
1078 #[cfg(feature = "Win32_Foundation")]
1079 impl ::core::marker::Copy for KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_CONFIGCAPS {}
1080 #[cfg(feature = "Win32_Foundation")]
1081 impl ::core::clone::Clone for KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_CONFIGCAPS {
clone(&self) -> Self1082     fn clone(&self) -> Self {
1083         *self
1084     }
1085 }
1086 #[repr(C)]
1087 #[cfg(feature = "Win32_Foundation")]
1088 pub struct KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_CONFIGCAPS_0 {
1089     pub Numerator: i32,
1090     pub Denominator: i32,
1091 }
1092 #[cfg(feature = "Win32_Foundation")]
1093 impl ::core::marker::Copy for KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_CONFIGCAPS_0 {}
1094 #[cfg(feature = "Win32_Foundation")]
1095 impl ::core::clone::Clone for KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_CONFIGCAPS_0 {
clone(&self) -> Self1096     fn clone(&self) -> Self {
1097         *self
1098     }
1099 }
1100 pub const KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_MASK: u64 = 2u64;
1101 pub const KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_OFF: u64 = 0u64;
1102 #[repr(C)]
1103 pub struct KSCAMERA_EXTENDEDPROP_CAMERAOFFSET {
1104     pub PitchAngle: i32,
1105     pub YawAngle: i32,
1106     pub Flag: u32,
1107     pub Reserved: u32,
1108 }
1109 impl ::core::marker::Copy for KSCAMERA_EXTENDEDPROP_CAMERAOFFSET {}
1110 impl ::core::clone::Clone for KSCAMERA_EXTENDEDPROP_CAMERAOFFSET {
clone(&self) -> Self1111     fn clone(&self) -> Self {
1112         *self
1113     }
1114 }
1115 pub const KSCAMERA_EXTENDEDPROP_CAPS_ASYNCCONTROL: u64 = 9223372036854775808u64;
1116 pub const KSCAMERA_EXTENDEDPROP_CAPS_CANCELLABLE: u64 = 4611686018427387904u64;
1117 pub const KSCAMERA_EXTENDEDPROP_CAPS_MASK: u64 = 18374686479671623680u64;
1118 pub const KSCAMERA_EXTENDEDPROP_CAPS_RESERVED: u64 = 18374686479671623680u64;
1119 pub const KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_AUTOFACEFRAMING: u64 = 1u64;
1120 #[repr(C)]
1121 pub struct KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGCAPS {
1122     pub ResolutionX: i32,
1123     pub ResolutionY: i32,
1124     pub PorchTop: i32,
1125     pub PorchLeft: i32,
1126     pub PorchBottom: i32,
1127     pub PorchRight: i32,
1128     pub NonUpscalingWindowSize: i32,
1129     pub MinWindowSize: i32,
1130     pub MaxWindowSize: i32,
1131     pub Reserved: i32,
1132 }
1133 impl ::core::marker::Copy for KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGCAPS {}
1134 impl ::core::clone::Clone for KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGCAPS {
clone(&self) -> Self1135     fn clone(&self) -> Self {
1136         *self
1137     }
1138 }
1139 #[repr(C)]
1140 pub struct KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGCAPSHEADER {
1141     pub Size: u32,
1142     pub Count: u32,
1143 }
1144 impl ::core::marker::Copy for KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGCAPSHEADER {}
1145 impl ::core::clone::Clone for KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGCAPSHEADER {
clone(&self) -> Self1146     fn clone(&self) -> Self {
1147         *self
1148     }
1149 }
1150 pub const KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_MANUAL: u64 = 0u64;
1151 #[repr(C)]
1152 pub struct KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_SETTING {
1153     pub OriginX: i32,
1154     pub OriginY: i32,
1155     pub WindowSize: i32,
1156     pub Reserved: u32,
1157 }
1158 impl ::core::marker::Copy for KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_SETTING {}
1159 impl ::core::clone::Clone for KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_SETTING {
clone(&self) -> Self1160     fn clone(&self) -> Self {
1161         *self
1162     }
1163 }
1164 #[repr(C)]
1165 pub struct KSCAMERA_EXTENDEDPROP_EVCOMPENSATION {
1166     pub Mode: u32,
1167     pub Min: i32,
1168     pub Max: i32,
1169     pub Value: i32,
1170     pub Reserved: u64,
1171 }
1172 impl ::core::marker::Copy for KSCAMERA_EXTENDEDPROP_EVCOMPENSATION {}
1173 impl ::core::clone::Clone for KSCAMERA_EXTENDEDPROP_EVCOMPENSATION {
clone(&self) -> Self1174     fn clone(&self) -> Self {
1175         *self
1176     }
1177 }
1178 pub const KSCAMERA_EXTENDEDPROP_EVCOMP_FULLSTEP: u64 = 16u64;
1179 pub const KSCAMERA_EXTENDEDPROP_EVCOMP_HALFSTEP: u64 = 8u64;
1180 pub const KSCAMERA_EXTENDEDPROP_EVCOMP_QUARTERSTEP: u64 = 2u64;
1181 pub const KSCAMERA_EXTENDEDPROP_EVCOMP_SIXTHSTEP: u64 = 1u64;
1182 pub const KSCAMERA_EXTENDEDPROP_EVCOMP_THIRDSTEP: u64 = 4u64;
1183 pub const KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_OFF: u64 = 0u64;
1184 pub const KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_ON: u64 = 1u64;
1185 pub const KSCAMERA_EXTENDEDPROP_FACEAUTH_MODE_ALTERNATIVE_FRAME_ILLUMINATION: u64 = 2u64;
1186 pub const KSCAMERA_EXTENDEDPROP_FACEAUTH_MODE_BACKGROUND_SUBTRACTION: u64 = 4u64;
1187 pub const KSCAMERA_EXTENDEDPROP_FACEAUTH_MODE_DISABLED: u64 = 1u64;
1188 pub const KSCAMERA_EXTENDEDPROP_FACEDETECTION_BLINK: u64 = 8u64;
1189 pub const KSCAMERA_EXTENDEDPROP_FACEDETECTION_OFF: u64 = 0u64;
1190 pub const KSCAMERA_EXTENDEDPROP_FACEDETECTION_ON: u64 = 1u64;
1191 pub const KSCAMERA_EXTENDEDPROP_FACEDETECTION_PHOTO: u64 = 4u64;
1192 pub const KSCAMERA_EXTENDEDPROP_FACEDETECTION_PREVIEW: u64 = 1u64;
1193 pub const KSCAMERA_EXTENDEDPROP_FACEDETECTION_SMILE: u64 = 16u64;
1194 pub const KSCAMERA_EXTENDEDPROP_FACEDETECTION_VIDEO: u64 = 2u64;
1195 #[repr(C)]
1196 pub struct KSCAMERA_EXTENDEDPROP_FIELDOFVIEW {
1197     pub NormalizedFocalLengthX: u32,
1198     pub NormalizedFocalLengthY: u32,
1199     pub Flag: u32,
1200     pub Reserved: u32,
1201 }
1202 impl ::core::marker::Copy for KSCAMERA_EXTENDEDPROP_FIELDOFVIEW {}
1203 impl ::core::clone::Clone for KSCAMERA_EXTENDEDPROP_FIELDOFVIEW {
clone(&self) -> Self1204     fn clone(&self) -> Self {
1205         *self
1206     }
1207 }
1208 pub const KSCAMERA_EXTENDEDPROP_FILTERSCOPE: u32 = 4294967295u32;
1209 pub const KSCAMERA_EXTENDEDPROP_FLAG_CANCELOPERATION: u64 = 9223372036854775808u64;
1210 pub const KSCAMERA_EXTENDEDPROP_FLAG_MASK: u64 = 18374686479671623680u64;
1211 pub const KSCAMERA_EXTENDEDPROP_FLASH_ASSISTANT_AUTO: u64 = 256u64;
1212 pub const KSCAMERA_EXTENDEDPROP_FLASH_ASSISTANT_OFF: u64 = 0u64;
1213 pub const KSCAMERA_EXTENDEDPROP_FLASH_ASSISTANT_ON: u64 = 128u64;
1214 pub const KSCAMERA_EXTENDEDPROP_FLASH_AUTO: u64 = 4u64;
1215 pub const KSCAMERA_EXTENDEDPROP_FLASH_AUTO_ADJUSTABLEPOWER: u64 = 8u64;
1216 pub const KSCAMERA_EXTENDEDPROP_FLASH_MULTIFLASHSUPPORTED: u64 = 64u64;
1217 pub const KSCAMERA_EXTENDEDPROP_FLASH_OFF: u64 = 0u64;
1218 pub const KSCAMERA_EXTENDEDPROP_FLASH_ON: u64 = 1u64;
1219 pub const KSCAMERA_EXTENDEDPROP_FLASH_ON_ADJUSTABLEPOWER: u64 = 2u64;
1220 pub const KSCAMERA_EXTENDEDPROP_FLASH_REDEYEREDUCTION: u64 = 16u64;
1221 pub const KSCAMERA_EXTENDEDPROP_FLASH_SINGLEFLASH: u64 = 32u64;
1222 pub const KSCAMERA_EXTENDEDPROP_FOCUSPRIORITY_OFF: u64 = 0u64;
1223 pub const KSCAMERA_EXTENDEDPROP_FOCUSPRIORITY_ON: u64 = 1u64;
1224 pub type KSCAMERA_EXTENDEDPROP_FOCUSSTATE = i32;
1225 pub const KSCAMERA_EXTENDEDPROP_FOCUSSTATE_UNINITIALIZED: KSCAMERA_EXTENDEDPROP_FOCUSSTATE = 0i32;
1226 pub const KSCAMERA_EXTENDEDPROP_FOCUSSTATE_LOST: KSCAMERA_EXTENDEDPROP_FOCUSSTATE = 1i32;
1227 pub const KSCAMERA_EXTENDEDPROP_FOCUSSTATE_SEARCHING: KSCAMERA_EXTENDEDPROP_FOCUSSTATE = 2i32;
1228 pub const KSCAMERA_EXTENDEDPROP_FOCUSSTATE_FOCUSED: KSCAMERA_EXTENDEDPROP_FOCUSSTATE = 3i32;
1229 pub const KSCAMERA_EXTENDEDPROP_FOCUSSTATE_FAILED: KSCAMERA_EXTENDEDPROP_FOCUSSTATE = 4i32;
1230 pub const KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS: u64 = 256u64;
1231 pub const KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUSLOCK: u64 = 512u64;
1232 pub const KSCAMERA_EXTENDEDPROP_FOCUS_DISTANCE_HYPERFOCAL: u64 = 33554432u64;
1233 pub const KSCAMERA_EXTENDEDPROP_FOCUS_DISTANCE_INFINITY: u64 = 16777216u64;
1234 pub const KSCAMERA_EXTENDEDPROP_FOCUS_DISTANCE_NEAREST: u64 = 67108864u64;
1235 pub const KSCAMERA_EXTENDEDPROP_FOCUS_DRIVERFALLBACK_OFF: u64 = 2048u64;
1236 pub const KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_FULLRANGE: u64 = 262144u64;
1237 pub const KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_HYPERFOCAL: u64 = 1048576u64;
1238 pub const KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_INFINITY: u64 = 524288u64;
1239 pub const KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_MACRO: u64 = 65536u64;
1240 pub const KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_NORMAL: u64 = 131072u64;
1241 pub const KSCAMERA_EXTENDEDPROP_FOCUS_REGIONBASED: u64 = 4096u64;
1242 pub const KSCAMERA_EXTENDEDPROP_FOCUS_UNLOCK: u64 = 1024u64;
1243 #[repr(C)]
1244 pub struct KSCAMERA_EXTENDEDPROP_HEADER {
1245     pub Version: u32,
1246     pub PinId: u32,
1247     pub Size: u32,
1248     pub Result: u32,
1249     pub Flags: u64,
1250     pub Capability: u64,
1251 }
1252 impl ::core::marker::Copy for KSCAMERA_EXTENDEDPROP_HEADER {}
1253 impl ::core::clone::Clone for KSCAMERA_EXTENDEDPROP_HEADER {
clone(&self) -> Self1254     fn clone(&self) -> Self {
1255         *self
1256     }
1257 }
1258 pub const KSCAMERA_EXTENDEDPROP_HISTOGRAM_OFF: u64 = 0u64;
1259 pub const KSCAMERA_EXTENDEDPROP_HISTOGRAM_ON: u64 = 1u64;
1260 pub const KSCAMERA_EXTENDEDPROP_IRTORCHMODE_ALTERNATING_FRAME_ILLUMINATION: u64 = 4u64;
1261 pub const KSCAMERA_EXTENDEDPROP_IRTORCHMODE_ALWAYS_ON: u64 = 2u64;
1262 pub const KSCAMERA_EXTENDEDPROP_IRTORCHMODE_OFF: u64 = 1u64;
1263 pub const KSCAMERA_EXTENDEDPROP_ISO_100: u64 = 8u64;
1264 pub const KSCAMERA_EXTENDEDPROP_ISO_12800: u64 = 1024u64;
1265 pub const KSCAMERA_EXTENDEDPROP_ISO_1600: u64 = 128u64;
1266 pub const KSCAMERA_EXTENDEDPROP_ISO_200: u64 = 16u64;
1267 pub const KSCAMERA_EXTENDEDPROP_ISO_25600: u64 = 2048u64;
1268 pub const KSCAMERA_EXTENDEDPROP_ISO_3200: u64 = 256u64;
1269 pub const KSCAMERA_EXTENDEDPROP_ISO_400: u64 = 32u64;
1270 pub const KSCAMERA_EXTENDEDPROP_ISO_50: u64 = 2u64;
1271 pub const KSCAMERA_EXTENDEDPROP_ISO_6400: u64 = 512u64;
1272 pub const KSCAMERA_EXTENDEDPROP_ISO_80: u64 = 4u64;
1273 pub const KSCAMERA_EXTENDEDPROP_ISO_800: u64 = 64u64;
1274 pub const KSCAMERA_EXTENDEDPROP_ISO_AUTO: u64 = 1u64;
1275 pub const KSCAMERA_EXTENDEDPROP_ISO_MANUAL: u64 = 36028797018963968u64;
1276 #[repr(C)]
1277 pub struct KSCAMERA_EXTENDEDPROP_METADATAINFO {
1278     pub BufferAlignment: i32,
1279     pub MaxMetadataBufferSize: u32,
1280 }
1281 impl ::core::marker::Copy for KSCAMERA_EXTENDEDPROP_METADATAINFO {}
1282 impl ::core::clone::Clone for KSCAMERA_EXTENDEDPROP_METADATAINFO {
clone(&self) -> Self1283     fn clone(&self) -> Self {
1284         *self
1285     }
1286 }
1287 pub const KSCAMERA_EXTENDEDPROP_METADATA_ALIGNMENTREQUIRED: u64 = 256u64;
1288 pub const KSCAMERA_EXTENDEDPROP_METADATA_MEMORYTYPE_MASK: u64 = 255u64;
1289 pub const KSCAMERA_EXTENDEDPROP_METADATA_SYSTEMMEMORY: u64 = 1u64;
1290 pub type KSCAMERA_EXTENDEDPROP_MetadataAlignment = i32;
1291 pub const KSCAMERA_EXTENDEDPROP_MetadataAlignment_16: KSCAMERA_EXTENDEDPROP_MetadataAlignment = 4i32;
1292 pub const KSCAMERA_EXTENDEDPROP_MetadataAlignment_32: KSCAMERA_EXTENDEDPROP_MetadataAlignment = 5i32;
1293 pub const KSCAMERA_EXTENDEDPROP_MetadataAlignment_64: KSCAMERA_EXTENDEDPROP_MetadataAlignment = 6i32;
1294 pub const KSCAMERA_EXTENDEDPROP_MetadataAlignment_128: KSCAMERA_EXTENDEDPROP_MetadataAlignment = 7i32;
1295 pub const KSCAMERA_EXTENDEDPROP_MetadataAlignment_256: KSCAMERA_EXTENDEDPROP_MetadataAlignment = 8i32;
1296 pub const KSCAMERA_EXTENDEDPROP_MetadataAlignment_512: KSCAMERA_EXTENDEDPROP_MetadataAlignment = 9i32;
1297 pub const KSCAMERA_EXTENDEDPROP_MetadataAlignment_1024: KSCAMERA_EXTENDEDPROP_MetadataAlignment = 10i32;
1298 pub const KSCAMERA_EXTENDEDPROP_MetadataAlignment_2048: KSCAMERA_EXTENDEDPROP_MetadataAlignment = 11i32;
1299 pub const KSCAMERA_EXTENDEDPROP_MetadataAlignment_4096: KSCAMERA_EXTENDEDPROP_MetadataAlignment = 12i32;
1300 pub const KSCAMERA_EXTENDEDPROP_MetadataAlignment_8192: KSCAMERA_EXTENDEDPROP_MetadataAlignment = 13i32;
1301 pub const KSCAMERA_EXTENDEDPROP_OIS_AUTO: u64 = 2u64;
1302 pub const KSCAMERA_EXTENDEDPROP_OIS_OFF: u64 = 0u64;
1303 pub const KSCAMERA_EXTENDEDPROP_OIS_ON: u64 = 1u64;
1304 pub const KSCAMERA_EXTENDEDPROP_OPTIMIZATION_DEFAULT: u64 = 0u64;
1305 pub const KSCAMERA_EXTENDEDPROP_OPTIMIZATION_LATENCY: u64 = 8u64;
1306 pub const KSCAMERA_EXTENDEDPROP_OPTIMIZATION_PHOTO: u64 = 1u64;
1307 pub const KSCAMERA_EXTENDEDPROP_OPTIMIZATION_POWER: u64 = 16u64;
1308 pub const KSCAMERA_EXTENDEDPROP_OPTIMIZATION_QUALITY: u64 = 4u64;
1309 pub const KSCAMERA_EXTENDEDPROP_OPTIMIZATION_VIDEO: u64 = 2u64;
1310 pub const KSCAMERA_EXTENDEDPROP_PHOTOCONFIRMATION_OFF: u64 = 0u64;
1311 pub const KSCAMERA_EXTENDEDPROP_PHOTOCONFIRMATION_ON: u64 = 1u64;
1312 #[repr(C)]
1313 pub struct KSCAMERA_EXTENDEDPROP_PHOTOMODE {
1314     pub RequestedHistoryFrames: u32,
1315     pub MaxHistoryFrames: u32,
1316     pub SubMode: u32,
1317     pub Reserved: u32,
1318 }
1319 impl ::core::marker::Copy for KSCAMERA_EXTENDEDPROP_PHOTOMODE {}
1320 impl ::core::clone::Clone for KSCAMERA_EXTENDEDPROP_PHOTOMODE {
clone(&self) -> Self1321     fn clone(&self) -> Self {
1322         *self
1323     }
1324 }
1325 pub const KSCAMERA_EXTENDEDPROP_PHOTOMODE_NORMAL: u64 = 0u64;
1326 pub const KSCAMERA_EXTENDEDPROP_PHOTOMODE_SEQUENCE: u64 = 1u64;
1327 pub const KSCAMERA_EXTENDEDPROP_PHOTOMODE_SEQUENCE_SUB_NONE: u32 = 0u32;
1328 pub const KSCAMERA_EXTENDEDPROP_PHOTOMODE_SEQUENCE_SUB_VARIABLE: u32 = 1u32;
1329 pub const KSCAMERA_EXTENDEDPROP_PHOTOTHUMBNAIL_16X: u64 = 8u64;
1330 pub const KSCAMERA_EXTENDEDPROP_PHOTOTHUMBNAIL_2X: u64 = 1u64;
1331 pub const KSCAMERA_EXTENDEDPROP_PHOTOTHUMBNAIL_4X: u64 = 2u64;
1332 pub const KSCAMERA_EXTENDEDPROP_PHOTOTHUMBNAIL_8X: u64 = 4u64;
1333 pub const KSCAMERA_EXTENDEDPROP_PHOTOTHUMBNAIL_DISABLE: u64 = 0u64;
1334 #[repr(C)]
1335 pub struct KSCAMERA_EXTENDEDPROP_PROFILE {
1336     pub ProfileId: ::windows_sys::core::GUID,
1337     pub Index: u32,
1338     pub Reserved: u32,
1339 }
1340 impl ::core::marker::Copy for KSCAMERA_EXTENDEDPROP_PROFILE {}
1341 impl ::core::clone::Clone for KSCAMERA_EXTENDEDPROP_PROFILE {
clone(&self) -> Self1342     fn clone(&self) -> Self {
1343         *self
1344     }
1345 }
1346 pub const KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_DYNAMIC: u64 = 2u64;
1347 pub const KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_OFF: u64 = 0u64;
1348 pub const KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_ON: u64 = 1u64;
1349 pub type KSCAMERA_EXTENDEDPROP_ROITYPE = i32;
1350 pub const KSCAMERA_EXTENDEDPROP_ROITYPE_UNKNOWN: KSCAMERA_EXTENDEDPROP_ROITYPE = 0i32;
1351 pub const KSCAMERA_EXTENDEDPROP_ROITYPE_FACE: KSCAMERA_EXTENDEDPROP_ROITYPE = 1i32;
1352 #[repr(C)]
1353 pub struct KSCAMERA_EXTENDEDPROP_ROI_CONFIGCAPS {
1354     pub ControlId: u32,
1355     pub MaxNumberOfROIs: u32,
1356     pub Capability: u64,
1357 }
1358 impl ::core::marker::Copy for KSCAMERA_EXTENDEDPROP_ROI_CONFIGCAPS {}
1359 impl ::core::clone::Clone for KSCAMERA_EXTENDEDPROP_ROI_CONFIGCAPS {
clone(&self) -> Self1360     fn clone(&self) -> Self {
1361         *self
1362     }
1363 }
1364 #[repr(C)]
1365 pub struct KSCAMERA_EXTENDEDPROP_ROI_CONFIGCAPSHEADER {
1366     pub Size: u32,
1367     pub ConfigCapCount: u32,
1368     pub Reserved: u64,
1369 }
1370 impl ::core::marker::Copy for KSCAMERA_EXTENDEDPROP_ROI_CONFIGCAPSHEADER {}
1371 impl ::core::clone::Clone for KSCAMERA_EXTENDEDPROP_ROI_CONFIGCAPSHEADER {
clone(&self) -> Self1372     fn clone(&self) -> Self {
1373         *self
1374     }
1375 }
1376 #[repr(C)]
1377 #[cfg(feature = "Win32_Foundation")]
1378 pub struct KSCAMERA_EXTENDEDPROP_ROI_EXPOSURE {
1379     pub ROIInfo: KSCAMERA_EXTENDEDPROP_ROI_INFO,
1380     pub Reserved: u64,
1381 }
1382 #[cfg(feature = "Win32_Foundation")]
1383 impl ::core::marker::Copy for KSCAMERA_EXTENDEDPROP_ROI_EXPOSURE {}
1384 #[cfg(feature = "Win32_Foundation")]
1385 impl ::core::clone::Clone for KSCAMERA_EXTENDEDPROP_ROI_EXPOSURE {
clone(&self) -> Self1386     fn clone(&self) -> Self {
1387         *self
1388     }
1389 }
1390 #[repr(C)]
1391 #[cfg(feature = "Win32_Foundation")]
1392 pub struct KSCAMERA_EXTENDEDPROP_ROI_FOCUS {
1393     pub ROIInfo: KSCAMERA_EXTENDEDPROP_ROI_INFO,
1394     pub Reserved: u64,
1395 }
1396 #[cfg(feature = "Win32_Foundation")]
1397 impl ::core::marker::Copy for KSCAMERA_EXTENDEDPROP_ROI_FOCUS {}
1398 #[cfg(feature = "Win32_Foundation")]
1399 impl ::core::clone::Clone for KSCAMERA_EXTENDEDPROP_ROI_FOCUS {
clone(&self) -> Self1400     fn clone(&self) -> Self {
1401         *self
1402     }
1403 }
1404 #[repr(C)]
1405 #[cfg(feature = "Win32_Foundation")]
1406 pub struct KSCAMERA_EXTENDEDPROP_ROI_INFO {
1407     pub Region: super::super::Foundation::RECT,
1408     pub Flags: u64,
1409     pub Weight: i32,
1410     pub RegionOfInterestType: i32,
1411 }
1412 #[cfg(feature = "Win32_Foundation")]
1413 impl ::core::marker::Copy for KSCAMERA_EXTENDEDPROP_ROI_INFO {}
1414 #[cfg(feature = "Win32_Foundation")]
1415 impl ::core::clone::Clone for KSCAMERA_EXTENDEDPROP_ROI_INFO {
clone(&self) -> Self1416     fn clone(&self) -> Self {
1417         *self
1418     }
1419 }
1420 #[repr(C)]
1421 pub struct KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROL {
1422     pub ControlId: u32,
1423     pub ROICount: u32,
1424     pub Result: u32,
1425     pub Reserved: u32,
1426 }
1427 impl ::core::marker::Copy for KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROL {}
1428 impl ::core::clone::Clone for KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROL {
clone(&self) -> Self1429     fn clone(&self) -> Self {
1430         *self
1431     }
1432 }
1433 #[repr(C)]
1434 pub struct KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROLHEADER {
1435     pub Size: u32,
1436     pub ControlCount: u32,
1437     pub Reserved: u64,
1438 }
1439 impl ::core::marker::Copy for KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROLHEADER {}
1440 impl ::core::clone::Clone for KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROLHEADER {
clone(&self) -> Self1441     fn clone(&self) -> Self {
1442         *self
1443     }
1444 }
1445 #[repr(C)]
1446 #[cfg(feature = "Win32_Foundation")]
1447 pub struct KSCAMERA_EXTENDEDPROP_ROI_WHITEBALANCE {
1448     pub ROIInfo: KSCAMERA_EXTENDEDPROP_ROI_INFO,
1449     pub Reserved: u64,
1450 }
1451 #[cfg(feature = "Win32_Foundation")]
1452 impl ::core::marker::Copy for KSCAMERA_EXTENDEDPROP_ROI_WHITEBALANCE {}
1453 #[cfg(feature = "Win32_Foundation")]
1454 impl ::core::clone::Clone for KSCAMERA_EXTENDEDPROP_ROI_WHITEBALANCE {
clone(&self) -> Self1455     fn clone(&self) -> Self {
1456         *self
1457     }
1458 }
1459 pub const KSCAMERA_EXTENDEDPROP_SCENEMODE_AUTO: u64 = 0u64;
1460 pub const KSCAMERA_EXTENDEDPROP_SCENEMODE_BACKLIT: u64 = 1024u64;
1461 pub const KSCAMERA_EXTENDEDPROP_SCENEMODE_BEACH: u64 = 32u64;
1462 pub const KSCAMERA_EXTENDEDPROP_SCENEMODE_CANDLELIGHT: u64 = 128u64;
1463 pub const KSCAMERA_EXTENDEDPROP_SCENEMODE_LANDSCAPE: u64 = 256u64;
1464 pub const KSCAMERA_EXTENDEDPROP_SCENEMODE_MACRO: u64 = 1u64;
1465 pub const KSCAMERA_EXTENDEDPROP_SCENEMODE_MANUAL: u64 = 36028797018963968u64;
1466 pub const KSCAMERA_EXTENDEDPROP_SCENEMODE_NIGHT: u64 = 16u64;
1467 pub const KSCAMERA_EXTENDEDPROP_SCENEMODE_NIGHTPORTRAIT: u64 = 512u64;
1468 pub const KSCAMERA_EXTENDEDPROP_SCENEMODE_PORTRAIT: u64 = 2u64;
1469 pub const KSCAMERA_EXTENDEDPROP_SCENEMODE_SNOW: u64 = 8u64;
1470 pub const KSCAMERA_EXTENDEDPROP_SCENEMODE_SPORT: u64 = 4u64;
1471 pub const KSCAMERA_EXTENDEDPROP_SCENEMODE_SUNSET: u64 = 64u64;
1472 pub const KSCAMERA_EXTENDEDPROP_SECUREMODE_DISABLED: u64 = 1u64;
1473 pub const KSCAMERA_EXTENDEDPROP_SECUREMODE_ENABLED: u64 = 2u64;
1474 #[repr(C)]
1475 pub struct KSCAMERA_EXTENDEDPROP_VALUE {
1476     pub Value: KSCAMERA_EXTENDEDPROP_VALUE_0,
1477 }
1478 impl ::core::marker::Copy for KSCAMERA_EXTENDEDPROP_VALUE {}
1479 impl ::core::clone::Clone for KSCAMERA_EXTENDEDPROP_VALUE {
clone(&self) -> Self1480     fn clone(&self) -> Self {
1481         *self
1482     }
1483 }
1484 #[repr(C)]
1485 pub union KSCAMERA_EXTENDEDPROP_VALUE_0 {
1486     pub dbl: f64,
1487     pub ull: u64,
1488     pub ul: u32,
1489     pub ratio: u64,
1490     pub l: i32,
1491     pub ll: i64,
1492 }
1493 impl ::core::marker::Copy for KSCAMERA_EXTENDEDPROP_VALUE_0 {}
1494 impl ::core::clone::Clone for KSCAMERA_EXTENDEDPROP_VALUE_0 {
clone(&self) -> Self1495     fn clone(&self) -> Self {
1496         *self
1497     }
1498 }
1499 pub const KSCAMERA_EXTENDEDPROP_VFR_OFF: u64 = 0u64;
1500 pub const KSCAMERA_EXTENDEDPROP_VFR_ON: u64 = 1u64;
1501 pub const KSCAMERA_EXTENDEDPROP_VIDEOHDR_AUTO: u64 = 2u64;
1502 pub const KSCAMERA_EXTENDEDPROP_VIDEOHDR_OFF: u64 = 0u64;
1503 pub const KSCAMERA_EXTENDEDPROP_VIDEOHDR_ON: u64 = 1u64;
1504 pub const KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO: u64 = 1u64;
1505 pub const KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK: u64 = 4u64;
1506 pub const KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_MANUAL: u64 = 2u64;
1507 #[repr(C)]
1508 pub struct KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING {
1509     pub Mode: u32,
1510     pub Min: i32,
1511     pub Max: i32,
1512     pub Step: i32,
1513     pub VideoProc: KSCAMERA_EXTENDEDPROP_VALUE,
1514     pub Reserved: u64,
1515 }
1516 impl ::core::marker::Copy for KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING {}
1517 impl ::core::clone::Clone for KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING {
clone(&self) -> Self1518     fn clone(&self) -> Self {
1519         *self
1520     }
1521 }
1522 pub const KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_AUTO: u64 = 2u64;
1523 pub const KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_OFF: u64 = 0u64;
1524 pub const KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_ON: u64 = 1u64;
1525 pub const KSCAMERA_EXTENDEDPROP_VIDEOTEMPORALDENOISING_AUTO: u64 = 1u64;
1526 pub const KSCAMERA_EXTENDEDPROP_VIDEOTEMPORALDENOISING_OFF: u64 = 2u64;
1527 pub const KSCAMERA_EXTENDEDPROP_VIDEOTEMPORALDENOISING_ON: u64 = 4u64;
1528 pub const KSCAMERA_EXTENDEDPROP_VIDEOTORCH_OFF: u64 = 0u64;
1529 pub const KSCAMERA_EXTENDEDPROP_VIDEOTORCH_ON: u64 = 1u64;
1530 pub const KSCAMERA_EXTENDEDPROP_VIDEOTORCH_ON_ADJUSTABLEPOWER: u64 = 2u64;
1531 pub const KSCAMERA_EXTENDEDPROP_WARMSTART_MODE_DISABLED: u64 = 0u64;
1532 pub const KSCAMERA_EXTENDEDPROP_WARMSTART_MODE_ENABLED: u64 = 1u64;
1533 pub type KSCAMERA_EXTENDEDPROP_WBPRESET = i32;
1534 pub const KSCAMERA_EXTENDEDPROP_WBPRESET_CLOUDY: KSCAMERA_EXTENDEDPROP_WBPRESET = 1i32;
1535 pub const KSCAMERA_EXTENDEDPROP_WBPRESET_DAYLIGHT: KSCAMERA_EXTENDEDPROP_WBPRESET = 2i32;
1536 pub const KSCAMERA_EXTENDEDPROP_WBPRESET_FLASH: KSCAMERA_EXTENDEDPROP_WBPRESET = 3i32;
1537 pub const KSCAMERA_EXTENDEDPROP_WBPRESET_FLUORESCENT: KSCAMERA_EXTENDEDPROP_WBPRESET = 4i32;
1538 pub const KSCAMERA_EXTENDEDPROP_WBPRESET_TUNGSTEN: KSCAMERA_EXTENDEDPROP_WBPRESET = 5i32;
1539 pub const KSCAMERA_EXTENDEDPROP_WBPRESET_CANDLELIGHT: KSCAMERA_EXTENDEDPROP_WBPRESET = 6i32;
1540 pub type KSCAMERA_EXTENDEDPROP_WHITEBALANCE_MODE = i32;
1541 pub const KSCAMERA_EXTENDEDPROP_WHITEBALANCE_TEMPERATURE: KSCAMERA_EXTENDEDPROP_WHITEBALANCE_MODE = 1i32;
1542 pub const KSCAMERA_EXTENDEDPROP_WHITEBALANCE_PRESET: KSCAMERA_EXTENDEDPROP_WHITEBALANCE_MODE = 2i32;
1543 pub const KSCAMERA_EXTENDEDPROP_ZOOM_DEFAULT: u64 = 0u64;
1544 pub const KSCAMERA_EXTENDEDPROP_ZOOM_DIRECT: u64 = 1u64;
1545 pub const KSCAMERA_EXTENDEDPROP_ZOOM_SMOOTH: u64 = 2u64;
1546 #[repr(C)]
1547 pub struct KSCAMERA_MAXVIDEOFPS_FORPHOTORES {
1548     pub PhotoResWidth: u32,
1549     pub PhotoResHeight: u32,
1550     pub PreviewFPSNum: u32,
1551     pub PreviewFPSDenom: u32,
1552     pub CaptureFPSNum: u32,
1553     pub CaptureFPSDenom: u32,
1554 }
1555 impl ::core::marker::Copy for KSCAMERA_MAXVIDEOFPS_FORPHOTORES {}
1556 impl ::core::clone::Clone for KSCAMERA_MAXVIDEOFPS_FORPHOTORES {
clone(&self) -> Self1557     fn clone(&self) -> Self {
1558         *self
1559     }
1560 }
1561 #[repr(C)]
1562 #[cfg(feature = "Win32_Foundation")]
1563 pub struct KSCAMERA_METADATA_BACKGROUNDSEGMENTATIONMASK {
1564     pub Header: KSCAMERA_METADATA_ITEMHEADER,
1565     pub MaskCoverageBoundingBox: super::super::Foundation::RECT,
1566     pub MaskResolution: super::super::Foundation::SIZE,
1567     pub ForegroundBoundingBox: super::super::Foundation::RECT,
1568     pub MaskData: [u8; 1],
1569 }
1570 #[cfg(feature = "Win32_Foundation")]
1571 impl ::core::marker::Copy for KSCAMERA_METADATA_BACKGROUNDSEGMENTATIONMASK {}
1572 #[cfg(feature = "Win32_Foundation")]
1573 impl ::core::clone::Clone for KSCAMERA_METADATA_BACKGROUNDSEGMENTATIONMASK {
clone(&self) -> Self1574     fn clone(&self) -> Self {
1575         *self
1576     }
1577 }
1578 #[repr(C)]
1579 pub struct KSCAMERA_METADATA_CAPTURESTATS {
1580     pub Header: KSCAMERA_METADATA_ITEMHEADER,
1581     pub Flags: u32,
1582     pub Reserved: u32,
1583     pub ExposureTime: u64,
1584     pub ExposureCompensationFlags: u64,
1585     pub ExposureCompensationValue: i32,
1586     pub IsoSpeed: u32,
1587     pub FocusState: u32,
1588     pub LensPosition: u32,
1589     pub WhiteBalance: u32,
1590     pub Flash: u32,
1591     pub FlashPower: u32,
1592     pub ZoomFactor: u32,
1593     pub SceneMode: u64,
1594     pub SensorFramerate: u64,
1595 }
1596 impl ::core::marker::Copy for KSCAMERA_METADATA_CAPTURESTATS {}
1597 impl ::core::clone::Clone for KSCAMERA_METADATA_CAPTURESTATS {
clone(&self) -> Self1598     fn clone(&self) -> Self {
1599         *self
1600     }
1601 }
1602 pub const KSCAMERA_METADATA_CAPTURESTATS_FLAG_EXPOSURECOMPENSATION: u32 = 2u32;
1603 pub const KSCAMERA_METADATA_CAPTURESTATS_FLAG_EXPOSURETIME: u32 = 1u32;
1604 pub const KSCAMERA_METADATA_CAPTURESTATS_FLAG_FLASH: u32 = 64u32;
1605 pub const KSCAMERA_METADATA_CAPTURESTATS_FLAG_FLASHPOWER: u32 = 128u32;
1606 pub const KSCAMERA_METADATA_CAPTURESTATS_FLAG_FOCUSSTATE: u32 = 8u32;
1607 pub const KSCAMERA_METADATA_CAPTURESTATS_FLAG_ISOSPEED: u32 = 4u32;
1608 pub const KSCAMERA_METADATA_CAPTURESTATS_FLAG_LENSPOSITION: u32 = 16u32;
1609 pub const KSCAMERA_METADATA_CAPTURESTATS_FLAG_SCENEMODE: u32 = 512u32;
1610 pub const KSCAMERA_METADATA_CAPTURESTATS_FLAG_SENSORFRAMERATE: u32 = 1024u32;
1611 pub const KSCAMERA_METADATA_CAPTURESTATS_FLAG_WHITEBALANCE: u32 = 32u32;
1612 pub const KSCAMERA_METADATA_CAPTURESTATS_FLAG_ZOOMFACTOR: u32 = 256u32;
1613 #[repr(C)]
1614 pub struct KSCAMERA_METADATA_DIGITALWINDOW {
1615     pub Header: KSCAMERA_METADATA_ITEMHEADER,
1616     pub Window: KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_SETTING,
1617 }
1618 impl ::core::marker::Copy for KSCAMERA_METADATA_DIGITALWINDOW {}
1619 impl ::core::clone::Clone for KSCAMERA_METADATA_DIGITALWINDOW {
clone(&self) -> Self1620     fn clone(&self) -> Self {
1621         *self
1622     }
1623 }
1624 #[repr(C)]
1625 pub struct KSCAMERA_METADATA_FRAMEILLUMINATION {
1626     pub Header: KSCAMERA_METADATA_ITEMHEADER,
1627     pub Flags: u32,
1628     pub Reserved: u32,
1629 }
1630 impl ::core::marker::Copy for KSCAMERA_METADATA_FRAMEILLUMINATION {}
1631 impl ::core::clone::Clone for KSCAMERA_METADATA_FRAMEILLUMINATION {
clone(&self) -> Self1632     fn clone(&self) -> Self {
1633         *self
1634     }
1635 }
1636 pub const KSCAMERA_METADATA_FRAMEILLUMINATION_FLAG_ON: u32 = 1u32;
1637 #[repr(C)]
1638 pub struct KSCAMERA_METADATA_ITEMHEADER {
1639     pub MetadataId: u32,
1640     pub Size: u32,
1641 }
1642 impl ::core::marker::Copy for KSCAMERA_METADATA_ITEMHEADER {}
1643 impl ::core::clone::Clone for KSCAMERA_METADATA_ITEMHEADER {
clone(&self) -> Self1644     fn clone(&self) -> Self {
1645         *self
1646     }
1647 }
1648 #[repr(C)]
1649 pub struct KSCAMERA_METADATA_PHOTOCONFIRMATION {
1650     pub Header: KSCAMERA_METADATA_ITEMHEADER,
1651     pub PhotoConfirmationIndex: u32,
1652     pub Reserved: u32,
1653 }
1654 impl ::core::marker::Copy for KSCAMERA_METADATA_PHOTOCONFIRMATION {}
1655 impl ::core::clone::Clone for KSCAMERA_METADATA_PHOTOCONFIRMATION {
clone(&self) -> Self1656     fn clone(&self) -> Self {
1657         *self
1658     }
1659 }
1660 pub type KSCAMERA_MetadataId = i32;
1661 pub const MetadataId_Standard_Start: KSCAMERA_MetadataId = 1i32;
1662 pub const MetadataId_PhotoConfirmation: KSCAMERA_MetadataId = 1i32;
1663 pub const MetadataId_UsbVideoHeader: KSCAMERA_MetadataId = 2i32;
1664 pub const MetadataId_CaptureStats: KSCAMERA_MetadataId = 3i32;
1665 pub const MetadataId_CameraExtrinsics: KSCAMERA_MetadataId = 4i32;
1666 pub const MetadataId_CameraIntrinsics: KSCAMERA_MetadataId = 5i32;
1667 pub const MetadataId_FrameIllumination: KSCAMERA_MetadataId = 6i32;
1668 pub const MetadataId_DigitalWindow: KSCAMERA_MetadataId = 7i32;
1669 pub const MetadataId_BackgroundSegmentationMask: KSCAMERA_MetadataId = 8i32;
1670 pub const MetadataId_Standard_End: KSCAMERA_MetadataId = 8i32;
1671 pub const MetadataId_Custom_Start: KSCAMERA_MetadataId = -2147483648i32;
1672 pub const KSCAMERA_PERFRAMESETTING_AUTO: u64 = 4294967296u64;
1673 #[repr(C)]
1674 pub struct KSCAMERA_PERFRAMESETTING_CAP_HEADER {
1675     pub Size: u32,
1676     pub ItemCount: u32,
1677     pub Flags: u64,
1678 }
1679 impl ::core::marker::Copy for KSCAMERA_PERFRAMESETTING_CAP_HEADER {}
1680 impl ::core::clone::Clone for KSCAMERA_PERFRAMESETTING_CAP_HEADER {
clone(&self) -> Self1681     fn clone(&self) -> Self {
1682         *self
1683     }
1684 }
1685 #[repr(C)]
1686 pub struct KSCAMERA_PERFRAMESETTING_CAP_ITEM_HEADER {
1687     pub Size: u32,
1688     pub Type: u32,
1689     pub Flags: u64,
1690 }
1691 impl ::core::marker::Copy for KSCAMERA_PERFRAMESETTING_CAP_ITEM_HEADER {}
1692 impl ::core::clone::Clone for KSCAMERA_PERFRAMESETTING_CAP_ITEM_HEADER {
clone(&self) -> Self1693     fn clone(&self) -> Self {
1694         *self
1695     }
1696 }
1697 #[repr(C)]
1698 pub struct KSCAMERA_PERFRAMESETTING_CUSTOM_ITEM {
1699     pub Size: u32,
1700     pub Reserved: u32,
1701     pub Id: ::windows_sys::core::GUID,
1702 }
1703 impl ::core::marker::Copy for KSCAMERA_PERFRAMESETTING_CUSTOM_ITEM {}
1704 impl ::core::clone::Clone for KSCAMERA_PERFRAMESETTING_CUSTOM_ITEM {
clone(&self) -> Self1705     fn clone(&self) -> Self {
1706         *self
1707     }
1708 }
1709 #[repr(C)]
1710 pub struct KSCAMERA_PERFRAMESETTING_FRAME_HEADER {
1711     pub Size: u32,
1712     pub Id: u32,
1713     pub ItemCount: u32,
1714     pub Reserved: u32,
1715 }
1716 impl ::core::marker::Copy for KSCAMERA_PERFRAMESETTING_FRAME_HEADER {}
1717 impl ::core::clone::Clone for KSCAMERA_PERFRAMESETTING_FRAME_HEADER {
clone(&self) -> Self1718     fn clone(&self) -> Self {
1719         *self
1720     }
1721 }
1722 #[repr(C)]
1723 pub struct KSCAMERA_PERFRAMESETTING_HEADER {
1724     pub Size: u32,
1725     pub FrameCount: u32,
1726     pub Id: ::windows_sys::core::GUID,
1727     pub Flags: u64,
1728     pub LoopCount: u32,
1729     pub Reserved: u32,
1730 }
1731 impl ::core::marker::Copy for KSCAMERA_PERFRAMESETTING_HEADER {}
1732 impl ::core::clone::Clone for KSCAMERA_PERFRAMESETTING_HEADER {
clone(&self) -> Self1733     fn clone(&self) -> Self {
1734         *self
1735     }
1736 }
1737 #[repr(C)]
1738 pub struct KSCAMERA_PERFRAMESETTING_ITEM_HEADER {
1739     pub Size: u32,
1740     pub Type: u32,
1741     pub Flags: u64,
1742 }
1743 impl ::core::marker::Copy for KSCAMERA_PERFRAMESETTING_ITEM_HEADER {}
1744 impl ::core::clone::Clone for KSCAMERA_PERFRAMESETTING_ITEM_HEADER {
clone(&self) -> Self1745     fn clone(&self) -> Self {
1746         *self
1747     }
1748 }
1749 pub type KSCAMERA_PERFRAMESETTING_ITEM_TYPE = i32;
1750 pub const KSCAMERA_PERFRAMESETTING_ITEM_EXPOSURE_TIME: KSCAMERA_PERFRAMESETTING_ITEM_TYPE = 1i32;
1751 pub const KSCAMERA_PERFRAMESETTING_ITEM_FLASH: KSCAMERA_PERFRAMESETTING_ITEM_TYPE = 2i32;
1752 pub const KSCAMERA_PERFRAMESETTING_ITEM_EXPOSURE_COMPENSATION: KSCAMERA_PERFRAMESETTING_ITEM_TYPE = 3i32;
1753 pub const KSCAMERA_PERFRAMESETTING_ITEM_ISO: KSCAMERA_PERFRAMESETTING_ITEM_TYPE = 4i32;
1754 pub const KSCAMERA_PERFRAMESETTING_ITEM_FOCUS: KSCAMERA_PERFRAMESETTING_ITEM_TYPE = 5i32;
1755 pub const KSCAMERA_PERFRAMESETTING_ITEM_PHOTOCONFIRMATION: KSCAMERA_PERFRAMESETTING_ITEM_TYPE = 6i32;
1756 pub const KSCAMERA_PERFRAMESETTING_ITEM_CUSTOM: KSCAMERA_PERFRAMESETTING_ITEM_TYPE = 7i32;
1757 pub const KSCAMERA_PERFRAMESETTING_MANUAL: u64 = 8589934592u64;
1758 #[repr(C)]
1759 pub struct KSCAMERA_PROFILE_CONCURRENCYINFO {
1760     pub ReferenceGuid: ::windows_sys::core::GUID,
1761     pub Reserved: u32,
1762     pub ProfileCount: u32,
1763     pub Profiles: *mut KSCAMERA_PROFILE_INFO,
1764 }
1765 impl ::core::marker::Copy for KSCAMERA_PROFILE_CONCURRENCYINFO {}
1766 impl ::core::clone::Clone for KSCAMERA_PROFILE_CONCURRENCYINFO {
clone(&self) -> Self1767     fn clone(&self) -> Self {
1768         *self
1769     }
1770 }
1771 #[repr(C)]
1772 pub struct KSCAMERA_PROFILE_INFO {
1773     pub ProfileId: ::windows_sys::core::GUID,
1774     pub Index: u32,
1775     pub PinCount: u32,
1776     pub Pins: *mut KSCAMERA_PROFILE_PININFO,
1777 }
1778 impl ::core::marker::Copy for KSCAMERA_PROFILE_INFO {}
1779 impl ::core::clone::Clone for KSCAMERA_PROFILE_INFO {
clone(&self) -> Self1780     fn clone(&self) -> Self {
1781         *self
1782     }
1783 }
1784 #[repr(C)]
1785 pub struct KSCAMERA_PROFILE_MEDIAINFO {
1786     pub Resolution: KSCAMERA_PROFILE_MEDIAINFO_1,
1787     pub MaxFrameRate: KSCAMERA_PROFILE_MEDIAINFO_0,
1788     pub Flags: u64,
1789     pub Data0: u32,
1790     pub Data1: u32,
1791     pub Data2: u32,
1792     pub Data3: u32,
1793 }
1794 impl ::core::marker::Copy for KSCAMERA_PROFILE_MEDIAINFO {}
1795 impl ::core::clone::Clone for KSCAMERA_PROFILE_MEDIAINFO {
clone(&self) -> Self1796     fn clone(&self) -> Self {
1797         *self
1798     }
1799 }
1800 #[repr(C)]
1801 pub struct KSCAMERA_PROFILE_MEDIAINFO_0 {
1802     pub Numerator: u32,
1803     pub Denominator: u32,
1804 }
1805 impl ::core::marker::Copy for KSCAMERA_PROFILE_MEDIAINFO_0 {}
1806 impl ::core::clone::Clone for KSCAMERA_PROFILE_MEDIAINFO_0 {
clone(&self) -> Self1807     fn clone(&self) -> Self {
1808         *self
1809     }
1810 }
1811 #[repr(C)]
1812 pub struct KSCAMERA_PROFILE_MEDIAINFO_1 {
1813     pub X: u32,
1814     pub Y: u32,
1815 }
1816 impl ::core::marker::Copy for KSCAMERA_PROFILE_MEDIAINFO_1 {}
1817 impl ::core::clone::Clone for KSCAMERA_PROFILE_MEDIAINFO_1 {
clone(&self) -> Self1818     fn clone(&self) -> Self {
1819         *self
1820     }
1821 }
1822 #[repr(C)]
1823 pub struct KSCAMERA_PROFILE_PININFO {
1824     pub PinCategory: ::windows_sys::core::GUID,
1825     pub Anonymous: KSCAMERA_PROFILE_PININFO_0,
1826     pub MediaInfoCount: u32,
1827     pub MediaInfos: *mut KSCAMERA_PROFILE_MEDIAINFO,
1828 }
1829 impl ::core::marker::Copy for KSCAMERA_PROFILE_PININFO {}
1830 impl ::core::clone::Clone for KSCAMERA_PROFILE_PININFO {
clone(&self) -> Self1831     fn clone(&self) -> Self {
1832         *self
1833     }
1834 }
1835 #[repr(C)]
1836 pub union KSCAMERA_PROFILE_PININFO_0 {
1837     pub Anonymous: KSCAMERA_PROFILE_PININFO_0_0,
1838     pub Reserved: u32,
1839 }
1840 impl ::core::marker::Copy for KSCAMERA_PROFILE_PININFO_0 {}
1841 impl ::core::clone::Clone for KSCAMERA_PROFILE_PININFO_0 {
clone(&self) -> Self1842     fn clone(&self) -> Self {
1843         *self
1844     }
1845 }
1846 #[repr(C)]
1847 pub struct KSCAMERA_PROFILE_PININFO_0_0 {
1848     pub PinIndex: u16,
1849     pub ProfileSensorType: u16,
1850 }
1851 impl ::core::marker::Copy for KSCAMERA_PROFILE_PININFO_0_0 {}
1852 impl ::core::clone::Clone for KSCAMERA_PROFILE_PININFO_0_0 {
clone(&self) -> Self1853     fn clone(&self) -> Self {
1854         *self
1855     }
1856 }
1857 pub const KSCATEGORY_ACOUSTIC_ECHO_CANCEL: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3214294400, data2: 50521, data3: 4560, data4: [138, 43, 0, 160, 201, 37, 90, 193] };
1858 pub const KSCATEGORY_AUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1771351300, data2: 37871, data3: 4560, data4: [163, 204, 0, 160, 201, 34, 49, 150] };
1859 pub const KSCATEGORY_BRIDGE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 140181248, data2: 25294, data3: 4559, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
1860 pub const KSCATEGORY_CAPTURE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1709733693, data2: 36694, data3: 4560, data4: [163, 185, 0, 160, 201, 34, 49, 150] };
1861 pub const KSCATEGORY_CLOCK: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1394025600, data2: 18321, data3: 4560, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
1862 pub const KSCATEGORY_COMMUNICATIONSTRANSFORM: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3474840108, data2: 38723, data3: 4560, data4: [163, 238, 0, 160, 201, 34, 49, 150] };
1863 pub const KSCATEGORY_CROSSBAR: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2811865089, data2: 42093, data3: 4560, data4: [161, 140, 0, 160, 36, 1, 220, 212] };
1864 pub const KSCATEGORY_DATACOMPRESSOR: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 512018688, data2: 32368, data3: 4560, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
1865 pub const KSCATEGORY_DATADECOMPRESSOR: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 656518688, data2: 32368, data3: 4560, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
1866 pub const KSCATEGORY_DATATRANSFORM: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 783318688, data2: 32368, data3: 4560, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
1867 pub const KSCATEGORY_ENCODER: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1868     data1: 426286070,
1869     data2: 50052,
1870     data3: 18685,
1871     data4: [173, 81, 144, 229, 140, 121, 247, 11],
1872 };
1873 pub const KSCATEGORY_ESCALANTE_PLATFORM_DRIVER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1962127016, data2: 38760, data3: 4561, data4: [142, 7, 0, 160, 201, 94, 194, 46] };
1874 pub const KSCATEGORY_FILESYSTEM: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1980755294, data2: 37719, data3: 4560, data4: [163, 204, 0, 160, 201, 34, 49, 150] };
1875 pub const KSCATEGORY_INTERFACETRANSFORM: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3474840109, data2: 38723, data3: 4560, data4: [163, 238, 0, 160, 201, 34, 49, 150] };
1876 pub const KSCATEGORY_MEDIUMTRANSFORM: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3474840110, data2: 38723, data3: 4560, data4: [163, 238, 0, 160, 201, 34, 49, 150] };
1877 pub const KSCATEGORY_MICROPHONE_ARRAY_PROCESSOR: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1878     data1: 2198488306,
1879     data2: 41773,
1880     data3: 18283,
1881     data4: [190, 151, 66, 132, 86, 115, 179, 90],
1882 };
1883 pub const KSCATEGORY_MIXER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2910886912, data2: 31624, data3: 4560, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
1884 pub const KSCATEGORY_MULTIPLEXER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2052973011, data2: 417, data3: 17708, data4: [180, 129, 79, 162, 185, 98, 113, 232] };
1885 pub const KSCATEGORY_NETWORK: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1741278268, data2: 27076, data3: 4562, data4: [135, 89, 0, 160, 201, 34, 49, 150] };
1886 pub const KSCATEGORY_NETWORK_CAMERA: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1887     data1: 3089335890,
1888     data2: 46336,
1889     data3: 16875,
1890     data4: [180, 243, 66, 52, 247, 245, 174, 153],
1891 };
1892 pub const KSCATEGORY_PROXY: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2548804298, data2: 38333, data3: 4560, data4: [163, 234, 0, 160, 201, 34, 49, 150] };
1893 pub const KSCATEGORY_QUALITY: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2548804299, data2: 38333, data3: 4560, data4: [163, 234, 0, 160, 201, 34, 49, 150] };
1894 pub const KSCATEGORY_REALTIME: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3943784444, data2: 4296, data3: 18788, data4: [131, 29, 109, 203, 2, 230, 242, 63] };
1895 pub const KSCATEGORY_RENDER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1709733694, data2: 36694, data3: 4560, data4: [163, 185, 0, 160, 201, 34, 49, 150] };
1896 pub const KSCATEGORY_SENSOR_CAMERA: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 619008727, data2: 25891, data3: 18423, data4: [166, 71, 211, 70, 91, 241, 245, 202] };
1897 pub const KSCATEGORY_SENSOR_GROUP: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1721528852, data2: 2696, data3: 17169, data4: [167, 243, 78, 121, 130, 14, 51, 189] };
1898 pub const KSCATEGORY_SPLITTER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 172118688, data2: 32368, data3: 4560, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
1899 pub const KSCATEGORY_TEXT: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1771351302, data2: 37871, data3: 4560, data4: [163, 204, 0, 160, 201, 34, 49, 150] };
1900 pub const KSCATEGORY_TOPOLOGY: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3718597184, data2: 7756, data3: 4561, data4: [160, 80, 64, 87, 5, 193, 0, 0] };
1901 pub const KSCATEGORY_TVAUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2811865090, data2: 42093, data3: 4560, data4: [161, 140, 0, 160, 36, 1, 220, 212] };
1902 pub const KSCATEGORY_TVTUNER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2811865088, data2: 42093, data3: 4560, data4: [161, 140, 0, 160, 36, 1, 220, 212] };
1903 pub const KSCATEGORY_VBICODEC: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 131782240, data2: 8945, data3: 4561, data4: [169, 244, 0, 192, 79, 187, 222, 143] };
1904 pub const KSCATEGORY_VIDEO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1771351301, data2: 37871, data3: 4560, data4: [163, 204, 0, 160, 201, 34, 49, 150] };
1905 pub const KSCATEGORY_VIDEO_CAMERA: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1906     data1: 3845273463,
1907     data2: 63862,
1908     data3: 20315,
1909     data4: [155, 85, 185, 70, 153, 196, 110, 68],
1910 };
1911 pub const KSCATEGORY_VIRTUAL: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 889449156, data2: 7974, data3: 4561, data4: [138, 176, 0, 160, 201, 34, 49, 150] };
1912 pub const KSCATEGORY_VPMUX: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2811865091, data2: 42093, data3: 4560, data4: [161, 140, 0, 160, 36, 1, 220, 212] };
1913 pub const KSCATEGORY_WDMAUD_USE_PIN_NAME: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1201994272, data2: 41553, data3: 4561, data4: [160, 80, 0, 0, 248, 0, 71, 136] };
1914 #[repr(C)]
1915 pub struct KSCLOCK_CREATE {
1916     pub CreateFlags: u32,
1917 }
1918 impl ::core::marker::Copy for KSCLOCK_CREATE {}
1919 impl ::core::clone::Clone for KSCLOCK_CREATE {
clone(&self) -> Self1920     fn clone(&self) -> Self {
1921         *self
1922     }
1923 }
1924 #[repr(C)]
1925 pub struct KSCOMPONENTID {
1926     pub Manufacturer: ::windows_sys::core::GUID,
1927     pub Product: ::windows_sys::core::GUID,
1928     pub Component: ::windows_sys::core::GUID,
1929     pub Name: ::windows_sys::core::GUID,
1930     pub Version: u32,
1931     pub Revision: u32,
1932 }
1933 impl ::core::marker::Copy for KSCOMPONENTID {}
1934 impl ::core::clone::Clone for KSCOMPONENTID {
clone(&self) -> Self1935     fn clone(&self) -> Self {
1936         *self
1937     }
1938 }
1939 pub const KSCOMPONENTID_USBAUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2400351728, data2: 9961, data3: 16996, data4: [186, 77, 57, 255, 240, 29, 148, 170] };
1940 #[repr(C)]
1941 pub struct KSCORRELATED_TIME {
1942     pub Time: i64,
1943     pub SystemTime: i64,
1944 }
1945 impl ::core::marker::Copy for KSCORRELATED_TIME {}
1946 impl ::core::clone::Clone for KSCORRELATED_TIME {
clone(&self) -> Self1947     fn clone(&self) -> Self {
1948         *self
1949     }
1950 }
1951 pub const KSCREATE_ITEM_FREEONSTOP: u32 = 8u32;
1952 pub const KSCREATE_ITEM_NOPARAMETERS: u32 = 4u32;
1953 pub const KSCREATE_ITEM_SECURITYCHANGED: u32 = 1u32;
1954 pub const KSCREATE_ITEM_WILDCARD: u32 = 2u32;
1955 pub const KSCameraProfileSensorType_Custom: u32 = 128u32;
1956 pub const KSCameraProfileSensorType_Depth: u32 = 4u32;
1957 pub const KSCameraProfileSensorType_ImageSegmentation: u32 = 16u32;
1958 pub const KSCameraProfileSensorType_Infrared: u32 = 2u32;
1959 pub const KSCameraProfileSensorType_PoseTracking: u32 = 8u32;
1960 pub const KSCameraProfileSensorType_RGB: u32 = 1u32;
1961 #[repr(C)]
1962 pub union KSDATAFORMAT {
1963     pub Anonymous: KSDATAFORMAT_0,
1964     pub Alignment: i64,
1965 }
1966 impl ::core::marker::Copy for KSDATAFORMAT {}
1967 impl ::core::clone::Clone for KSDATAFORMAT {
clone(&self) -> Self1968     fn clone(&self) -> Self {
1969         *self
1970     }
1971 }
1972 #[repr(C)]
1973 pub struct KSDATAFORMAT_0 {
1974     pub FormatSize: u32,
1975     pub Flags: u32,
1976     pub SampleSize: u32,
1977     pub Reserved: u32,
1978     pub MajorFormat: ::windows_sys::core::GUID,
1979     pub SubFormat: ::windows_sys::core::GUID,
1980     pub Specifier: ::windows_sys::core::GUID,
1981 }
1982 impl ::core::marker::Copy for KSDATAFORMAT_0 {}
1983 impl ::core::clone::Clone for KSDATAFORMAT_0 {
clone(&self) -> Self1984     fn clone(&self) -> Self {
1985         *self
1986     }
1987 }
1988 pub const KSDATAFORMAT_BIT_ATTRIBUTES: u32 = 1u32;
1989 pub const KSDATAFORMAT_BIT_TEMPORAL_COMPRESSION: u32 = 0u32;
1990 pub const KSDATAFORMAT_SPECIFIER_AC3_AUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3765272804, data2: 56134, data3: 4559, data4: [180, 209, 0, 128, 95, 108, 187, 234] };
1991 pub const KSDATAFORMAT_SPECIFIER_ANALOGVIDEO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 75685344, data2: 30743, data3: 4559, data4: [138, 3, 0, 170, 0, 110, 203, 101] };
1992 pub const KSDATAFORMAT_SPECIFIER_DIALECT_AC3_AUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 911358773, data2: 36581, data3: 4561, data4: [140, 163, 0, 96, 176, 87, 102, 74] };
1993 pub const KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_AUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 911358770, data2: 36581, data3: 4561, data4: [140, 163, 0, 96, 176, 87, 102, 74] };
1994 pub const KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_VIDEO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 911358769, data2: 36581, data3: 4561, data4: [140, 163, 0, 96, 176, 87, 102, 74] };
1995 pub const KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_AUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 911358772, data2: 36581, data3: 4561, data4: [140, 163, 0, 96, 176, 87, 102, 74] };
1996 pub const KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_VIDEO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 911358771, data2: 36581, data3: 4561, data4: [140, 163, 0, 96, 176, 87, 102, 74] };
1997 pub const KSDATAFORMAT_SPECIFIER_DSOUND: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1367707810, data2: 41348, data3: 4560, data4: [133, 34, 0, 192, 79, 217, 186, 243] };
1998 pub const KSDATAFORMAT_SPECIFIER_FILEHANDLE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1709733692, data2: 36694, data3: 4560, data4: [163, 185, 0, 160, 201, 34, 49, 150] };
1999 pub const KSDATAFORMAT_SPECIFIER_FILENAME: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2860088128, data2: 59764, data3: 4559, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
2000 pub const KSDATAFORMAT_SPECIFIER_H264_VIDEO: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
2001     data1: 538426885,
2002     data2: 26153,
2003     data3: 16968,
2004     data4: [170, 237, 126, 26, 71, 188, 155, 156],
2005 };
2006 pub const KSDATAFORMAT_SPECIFIER_IMAGE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
2007     data1: 1764729721,
2008     data2: 54248,
2009     data3: 18001,
2010     data4: [181, 180, 11, 148, 176, 19, 238, 175],
2011 };
2012 pub const KSDATAFORMAT_SPECIFIER_JPEG_IMAGE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
2013     data1: 1764729721,
2014     data2: 54248,
2015     data3: 18001,
2016     data4: [181, 180, 11, 148, 176, 19, 238, 175],
2017 };
2018 pub const KSDATAFORMAT_SPECIFIER_LPCM_AUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3765272806, data2: 56134, data3: 4559, data4: [180, 209, 0, 128, 95, 108, 187, 234] };
2019 pub const KSDATAFORMAT_SPECIFIER_MPEG1_VIDEO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 89694082, data2: 50006, data3: 4558, data4: [191, 1, 0, 170, 0, 85, 89, 90] };
2020 pub const KSDATAFORMAT_SPECIFIER_MPEG2_AUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3765272805, data2: 56134, data3: 4559, data4: [180, 209, 0, 128, 95, 108, 187, 234] };
2021 pub const KSDATAFORMAT_SPECIFIER_MPEG2_VIDEO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3765272803, data2: 56134, data3: 4559, data4: [180, 209, 0, 128, 95, 108, 187, 234] };
2022 pub const KSDATAFORMAT_SPECIFIER_NONE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 258217942, data2: 49944, data3: 4560, data4: [164, 63, 0, 160, 201, 34, 49, 150] };
2023 pub const KSDATAFORMAT_SPECIFIER_VBI: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4146755296, data2: 60170, data3: 4560, data4: [172, 228, 0, 0, 192, 204, 22, 186] };
2024 pub const KSDATAFORMAT_SPECIFIER_VC_ID: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2912473476, data2: 43715, data3: 4560, data4: [164, 28, 0, 160, 201, 34, 49, 150] };
2025 pub const KSDATAFORMAT_SPECIFIER_VIDEOINFO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 89694080, data2: 50006, data3: 4558, data4: [191, 1, 0, 170, 0, 85, 89, 90] };
2026 pub const KSDATAFORMAT_SPECIFIER_VIDEOINFO2: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4146755232, data2: 60170, data3: 4560, data4: [172, 228, 0, 0, 192, 204, 22, 186] };
2027 pub const KSDATAFORMAT_SPECIFIER_WAVEFORMATEX: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 89694081, data2: 50006, data3: 4558, data4: [191, 1, 0, 170, 0, 85, 89, 90] };
2028 pub const KSDATAFORMAT_SUBTYPE_AC3_AUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3765272620, data2: 56134, data3: 4559, data4: [180, 209, 0, 128, 95, 108, 187, 234] };
2029 pub const KSDATAFORMAT_SUBTYPE_ANALOG: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1840918928, data2: 26557, data3: 4559, data4: [160, 247, 0, 32, 175, 209, 86, 228] };
2030 pub const KSDATAFORMAT_SUBTYPE_CC: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 857820353, data2: 287, data3: 4562, data4: [180, 177, 0, 160, 209, 2, 207, 190] };
2031 pub const KSDATAFORMAT_SUBTYPE_D16: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 80, data2: 4, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2032 pub const KSDATAFORMAT_SUBTYPE_DSS_AUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2695843714, data2: 57699, data3: 4560, data4: [186, 217, 0, 96, 151, 68, 17, 26] };
2033 pub const KSDATAFORMAT_SUBTYPE_DSS_VIDEO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2695843713, data2: 57699, data3: 4560, data4: [186, 217, 0, 96, 151, 68, 17, 26] };
2034 pub const KSDATAFORMAT_SUBTYPE_DTS_AUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3765272627, data2: 56134, data3: 4559, data4: [180, 209, 0, 128, 95, 108, 187, 234] };
2035 pub const KSDATAFORMAT_SUBTYPE_IEC61937_AAC: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 6, data2: 3306, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2036 pub const KSDATAFORMAT_SUBTYPE_IEC61937_ATRAC: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 8, data2: 3306, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2037 pub const KSDATAFORMAT_SUBTYPE_IEC61937_DOLBY_DIGITAL: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 146, data2: 0, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2038 pub const KSDATAFORMAT_SUBTYPE_IEC61937_DOLBY_DIGITAL_PLUS: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 10, data2: 3306, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2039 pub const KSDATAFORMAT_SUBTYPE_IEC61937_DOLBY_DIGITAL_PLUS_ATMOS: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 266, data2: 3306, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2040 pub const KSDATAFORMAT_SUBTYPE_IEC61937_DOLBY_MAT20: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 268, data2: 3306, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2041 pub const KSDATAFORMAT_SUBTYPE_IEC61937_DOLBY_MAT21: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 780, data2: 3306, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2042 pub const KSDATAFORMAT_SUBTYPE_IEC61937_DOLBY_MLP: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 12, data2: 3306, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2043 pub const KSDATAFORMAT_SUBTYPE_IEC61937_DST: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 13, data2: 3306, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2044 pub const KSDATAFORMAT_SUBTYPE_IEC61937_DTS: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 8, data2: 0, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2045 pub const KSDATAFORMAT_SUBTYPE_IEC61937_DTSX_E1: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 267, data2: 3306, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2046 pub const KSDATAFORMAT_SUBTYPE_IEC61937_DTSX_E2: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 779, data2: 3306, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2047 pub const KSDATAFORMAT_SUBTYPE_IEC61937_DTS_HD: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 11, data2: 3306, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2048 pub const KSDATAFORMAT_SUBTYPE_IEC61937_MPEG1: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3, data2: 3306, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2049 pub const KSDATAFORMAT_SUBTYPE_IEC61937_MPEG2: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4, data2: 3306, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2050 pub const KSDATAFORMAT_SUBTYPE_IEC61937_MPEG3: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 5, data2: 3306, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2051 pub const KSDATAFORMAT_SUBTYPE_IEC61937_ONE_BIT_AUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 9, data2: 3306, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2052 pub const KSDATAFORMAT_SUBTYPE_IEC61937_WMA_PRO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 356, data2: 0, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2053 pub const KSDATAFORMAT_SUBTYPE_IMAGE_RGB32: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 22, data2: 0, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2054 pub const KSDATAFORMAT_SUBTYPE_JPEG: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 434415018, data2: 22114, data3: 20421, data4: [160, 192, 23, 88, 2, 142, 16, 87] };
2055 pub const KSDATAFORMAT_SUBTYPE_L16: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 81, data2: 0, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2056 pub const KSDATAFORMAT_SUBTYPE_L16_CUSTOM: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 81, data2: 32768, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2057 pub const KSDATAFORMAT_SUBTYPE_L16_IR: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 81, data2: 2, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2058 pub const KSDATAFORMAT_SUBTYPE_L8: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 50, data2: 0, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2059 pub const KSDATAFORMAT_SUBTYPE_L8_CUSTOM: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 50, data2: 32768, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2060 pub const KSDATAFORMAT_SUBTYPE_L8_IR: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 50, data2: 2, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2061 pub const KSDATAFORMAT_SUBTYPE_LPCM_AUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3765272626, data2: 56134, data3: 4559, data4: [180, 209, 0, 128, 95, 108, 187, 234] };
2062 pub const KSDATAFORMAT_SUBTYPE_Line21_BytePair: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1854753314, data2: 12556, data3: 4560, data4: [183, 154, 0, 170, 0, 55, 103, 167] };
2063 pub const KSDATAFORMAT_SUBTYPE_Line21_GOPPacket: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1854753315, data2: 12556, data3: 4560, data4: [183, 154, 0, 170, 0, 55, 103, 167] };
2064 pub const KSDATAFORMAT_SUBTYPE_MIDI: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 489039712, data2: 59735, data3: 4559, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
2065 pub const KSDATAFORMAT_SUBTYPE_MIDI_BUS: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 748773280, data2: 27902, data3: 4559, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
2066 pub const KSDATAFORMAT_SUBTYPE_MJPG_CUSTOM: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1196444237, data2: 32768, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2067 pub const KSDATAFORMAT_SUBTYPE_MJPG_DEPTH: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1196444237, data2: 4, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2068 pub const KSDATAFORMAT_SUBTYPE_MJPG_IR: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1196444237, data2: 2, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2069 pub const KSDATAFORMAT_SUBTYPE_MPEG1Packet: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3828804480, data2: 21071, data3: 4558, data4: [159, 83, 0, 32, 175, 11, 167, 112] };
2070 pub const KSDATAFORMAT_SUBTYPE_MPEG1Payload: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3828804481, data2: 21071, data3: 4558, data4: [159, 83, 0, 32, 175, 11, 167, 112] };
2071 pub const KSDATAFORMAT_SUBTYPE_MPEG1Video: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3828804486, data2: 21071, data3: 4558, data4: [159, 83, 0, 32, 175, 11, 167, 112] };
2072 pub const KSDATAFORMAT_SUBTYPE_MPEG2_AUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3765272619, data2: 56134, data3: 4559, data4: [180, 209, 0, 128, 95, 108, 187, 234] };
2073 pub const KSDATAFORMAT_SUBTYPE_MPEG2_VIDEO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3765272614, data2: 56134, data3: 4559, data4: [180, 209, 0, 128, 95, 108, 187, 234] };
2074 pub const KSDATAFORMAT_SUBTYPE_MPEGLAYER3: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 85, data2: 0, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2075 pub const KSDATAFORMAT_SUBTYPE_MPEG_HEAAC: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 5648, data2: 0, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2076 pub const KSDATAFORMAT_SUBTYPE_NABTS: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4146755298, data2: 60170, data3: 4560, data4: [172, 228, 0, 0, 192, 204, 22, 186] };
2077 pub const KSDATAFORMAT_SUBTYPE_NABTS_FEC: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3881286817, data2: 14764, data3: 4561, data4: [169, 245, 0, 192, 79, 187, 222, 143] };
2078 pub const KSDATAFORMAT_SUBTYPE_NONE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3828804494, data2: 21071, data3: 4558, data4: [159, 83, 0, 32, 175, 11, 167, 112] };
2079 pub const KSDATAFORMAT_SUBTYPE_OVERLAY: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3828804479, data2: 21071, data3: 4558, data4: [159, 83, 0, 32, 175, 11, 167, 112] };
2080 pub const KSDATAFORMAT_SUBTYPE_PCM: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1, data2: 0, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2081 pub const KSDATAFORMAT_SUBTYPE_RAW8: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3391150496, data2: 15934, data3: 4561, data4: [155, 249, 0, 192, 79, 187, 222, 191] };
2082 pub const KSDATAFORMAT_SUBTYPE_RIFF: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1234557678, data2: 40678, data3: 4560, data4: [164, 14, 0, 160, 201, 34, 49, 150] };
2083 pub const KSDATAFORMAT_SUBTYPE_RIFFMIDI: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1234557680, data2: 40678, data3: 4560, data4: [164, 14, 0, 160, 201, 34, 49, 150] };
2084 pub const KSDATAFORMAT_SUBTYPE_RIFFWAVE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3828804491, data2: 21071, data3: 4558, data4: [159, 83, 0, 32, 175, 11, 167, 112] };
2085 pub const KSDATAFORMAT_SUBTYPE_SDDS_AUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3765272628, data2: 56134, data3: 4559, data4: [180, 209, 0, 128, 95, 108, 187, 234] };
2086 pub const KSDATAFORMAT_SUBTYPE_STANDARD_AC3_AUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 911358757, data2: 36581, data3: 4561, data4: [140, 163, 0, 96, 176, 87, 102, 74] };
2087 pub const KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_AUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 911358754, data2: 36581, data3: 4561, data4: [140, 163, 0, 96, 176, 87, 102, 74] };
2088 pub const KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_VIDEO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 911358753, data2: 36581, data3: 4561, data4: [140, 163, 0, 96, 176, 87, 102, 74] };
2089 pub const KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_AUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 911358756, data2: 36581, data3: 4561, data4: [140, 163, 0, 96, 176, 87, 102, 74] };
2090 pub const KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_VIDEO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 911358755, data2: 36581, data3: 4561, data4: [140, 163, 0, 96, 176, 87, 102, 74] };
2091 pub const KSDATAFORMAT_SUBTYPE_SUBPICTURE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3765272621, data2: 56134, data3: 4559, data4: [180, 209, 0, 128, 95, 108, 187, 234] };
2092 pub const KSDATAFORMAT_SUBTYPE_TELETEXT: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4146755299, data2: 60170, data3: 4560, data4: [172, 228, 0, 0, 192, 204, 22, 186] };
2093 pub const KSDATAFORMAT_SUBTYPE_VPVBI: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1520134721, data2: 6690, data3: 4561, data4: [186, 217, 0, 96, 151, 68, 17, 26] };
2094 pub const KSDATAFORMAT_SUBTYPE_VPVideo: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1520134720, data2: 6690, data3: 4561, data4: [186, 217, 0, 96, 151, 68, 17, 26] };
2095 pub const KSDATAFORMAT_SUBTYPE_WAVEFORMATEX: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 0, data2: 0, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2096 pub const KSDATAFORMAT_SUBTYPE_WMAUDIO2: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 353, data2: 0, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2097 pub const KSDATAFORMAT_SUBTYPE_WMAUDIO3: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 354, data2: 0, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2098 pub const KSDATAFORMAT_SUBTYPE_WMAUDIO_LOSSLESS: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 355, data2: 0, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2099 pub const KSDATAFORMAT_TYPE_ANALOGAUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 75685601, data2: 30743, data3: 4559, data4: [138, 3, 0, 170, 0, 110, 203, 101] };
2100 pub const KSDATAFORMAT_TYPE_ANALOGVIDEO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 75685345, data2: 30743, data3: 4559, data4: [138, 3, 0, 170, 0, 110, 203, 101] };
2101 pub const KSDATAFORMAT_TYPE_AUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1935963489, data2: 0, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2102 pub const KSDATAFORMAT_TYPE_AUXLine21Data: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1728768640, data2: 14978, data3: 4560, data4: [183, 155, 0, 170, 0, 55, 103, 167] };
2103 pub const KSDATAFORMAT_TYPE_DVD_ENCRYPTED_PACK: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3976958314, data2: 1101, data3: 4561, data4: [170, 120, 0, 192, 79, 195, 29, 96] };
2104 pub const KSDATAFORMAT_TYPE_IMAGE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1914145827, data2: 58459, data3: 4565, data4: [188, 42, 0, 176, 208, 243, 244, 171] };
2105 pub const KSDATAFORMAT_TYPE_MIDI: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1935960429, data2: 0, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2106 pub const KSDATAFORMAT_TYPE_MPEG2_PES: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3765272608, data2: 56134, data3: 4559, data4: [180, 209, 0, 128, 95, 108, 187, 234] };
2107 pub const KSDATAFORMAT_TYPE_MPEG2_PROGRAM: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3765272610, data2: 56134, data3: 4559, data4: [180, 209, 0, 128, 95, 108, 187, 234] };
2108 pub const KSDATAFORMAT_TYPE_MPEG2_TRANSPORT: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3765272611, data2: 56134, data3: 4559, data4: [180, 209, 0, 128, 95, 108, 187, 234] };
2109 pub const KSDATAFORMAT_TYPE_MUSIC: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3878015840, data2: 25292, data3: 4559, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
2110 pub const KSDATAFORMAT_TYPE_NABTS: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3881286816, data2: 14764, data3: 4561, data4: [169, 245, 0, 192, 79, 187, 222, 143] };
2111 pub const KSDATAFORMAT_TYPE_STANDARD_ELEMENTARY_STREAM: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 911358737, data2: 36581, data3: 4561, data4: [140, 163, 0, 96, 176, 87, 102, 74] };
2112 pub const KSDATAFORMAT_TYPE_STANDARD_PACK_HEADER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 911358739, data2: 36581, data3: 4561, data4: [140, 163, 0, 96, 176, 87, 102, 74] };
2113 pub const KSDATAFORMAT_TYPE_STANDARD_PES_PACKET: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 911358738, data2: 36581, data3: 4561, data4: [140, 163, 0, 96, 176, 87, 102, 74] };
2114 pub const KSDATAFORMAT_TYPE_STREAM: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3828804483, data2: 21071, data3: 4558, data4: [159, 83, 0, 32, 175, 11, 167, 112] };
2115 pub const KSDATAFORMAT_TYPE_TEXT: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1937012852, data2: 0, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2116 pub const KSDATAFORMAT_TYPE_VBI: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4146755297, data2: 60170, data3: 4560, data4: [172, 228, 0, 0, 192, 204, 22, 186] };
2117 pub const KSDATAFORMAT_TYPE_VIDEO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1935960438, data2: 0, data3: 16, data4: [128, 0, 0, 170, 0, 56, 155, 113] };
2118 #[repr(C)]
2119 pub struct KSDATARANGE_AUDIO {
2120     pub DataRange: KSDATAFORMAT,
2121     pub MaximumChannels: u32,
2122     pub MinimumBitsPerSample: u32,
2123     pub MaximumBitsPerSample: u32,
2124     pub MinimumSampleFrequency: u32,
2125     pub MaximumSampleFrequency: u32,
2126 }
2127 impl ::core::marker::Copy for KSDATARANGE_AUDIO {}
2128 impl ::core::clone::Clone for KSDATARANGE_AUDIO {
clone(&self) -> Self2129     fn clone(&self) -> Self {
2130         *self
2131     }
2132 }
2133 pub const KSDATARANGE_BIT_ATTRIBUTES: u32 = 1u32;
2134 pub const KSDATARANGE_BIT_REQUIRED_ATTRIBUTES: u32 = 2u32;
2135 #[repr(C)]
2136 pub struct KSDATARANGE_MUSIC {
2137     pub DataRange: KSDATAFORMAT,
2138     pub Technology: ::windows_sys::core::GUID,
2139     pub Channels: u32,
2140     pub Notes: u32,
2141     pub ChannelMask: u32,
2142 }
2143 impl ::core::marker::Copy for KSDATARANGE_MUSIC {}
2144 impl ::core::clone::Clone for KSDATARANGE_MUSIC {
clone(&self) -> Self2145     fn clone(&self) -> Self {
2146         *self
2147     }
2148 }
2149 pub const KSDEGRADESETID_Standard: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2673230208, data2: 28748, data3: 4560, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
2150 pub type KSDEGRADE_STANDARD = i32;
2151 pub const KSDEGRADE_STANDARD_SAMPLE: KSDEGRADE_STANDARD = 0i32;
2152 pub const KSDEGRADE_STANDARD_QUALITY: KSDEGRADE_STANDARD = 1i32;
2153 pub const KSDEGRADE_STANDARD_COMPUTATION: KSDEGRADE_STANDARD = 2i32;
2154 pub const KSDEGRADE_STANDARD_SKIP: KSDEGRADE_STANDARD = 3i32;
2155 pub const KSDEVICE_DESCRIPTOR_VERSION: u32 = 256u32;
2156 pub const KSDEVICE_DESCRIPTOR_VERSION_2: u32 = 272u32;
2157 pub const KSDEVICE_FLAG_ENABLE_QUERYINTERFACE: u32 = 4u32;
2158 pub const KSDEVICE_FLAG_ENABLE_REMOTE_WAKEUP: u32 = 1u32;
2159 pub const KSDEVICE_FLAG_LOWPOWER_PASSTHROUGH: u32 = 2u32;
2160 #[repr(C)]
2161 pub struct KSDEVICE_PROFILE_INFO {
2162     pub Type: u32,
2163     pub Size: u32,
2164     pub Anonymous: KSDEVICE_PROFILE_INFO_0,
2165 }
2166 impl ::core::marker::Copy for KSDEVICE_PROFILE_INFO {}
2167 impl ::core::clone::Clone for KSDEVICE_PROFILE_INFO {
clone(&self) -> Self2168     fn clone(&self) -> Self {
2169         *self
2170     }
2171 }
2172 #[repr(C)]
2173 pub union KSDEVICE_PROFILE_INFO_0 {
2174     pub Camera: KSDEVICE_PROFILE_INFO_0_0,
2175 }
2176 impl ::core::marker::Copy for KSDEVICE_PROFILE_INFO_0 {}
2177 impl ::core::clone::Clone for KSDEVICE_PROFILE_INFO_0 {
clone(&self) -> Self2178     fn clone(&self) -> Self {
2179         *self
2180     }
2181 }
2182 #[repr(C)]
2183 pub struct KSDEVICE_PROFILE_INFO_0_0 {
2184     pub Info: KSCAMERA_PROFILE_INFO,
2185     pub Reserved: u32,
2186     pub ConcurrencyCount: u32,
2187     pub Concurrency: *mut KSCAMERA_PROFILE_CONCURRENCYINFO,
2188 }
2189 impl ::core::marker::Copy for KSDEVICE_PROFILE_INFO_0_0 {}
2190 impl ::core::clone::Clone for KSDEVICE_PROFILE_INFO_0_0 {
clone(&self) -> Self2191     fn clone(&self) -> Self {
2192         *self
2193     }
2194 }
2195 pub const KSDEVICE_PROFILE_TYPE_CAMERA: u32 = 1u32;
2196 pub const KSDEVICE_PROFILE_TYPE_UNKNOWN: u32 = 0u32;
2197 pub type KSDEVICE_THERMAL_STATE = i32;
2198 pub const KSDEVICE_THERMAL_STATE_LOW: KSDEVICE_THERMAL_STATE = 0i32;
2199 pub const KSDEVICE_THERMAL_STATE_HIGH: KSDEVICE_THERMAL_STATE = 1i32;
2200 pub const KSDISPATCH_FASTIO: u32 = 2147483648u32;
2201 #[repr(C)]
2202 pub struct KSDISPLAYCHANGE {
2203     pub PelsWidth: u32,
2204     pub PelsHeight: u32,
2205     pub BitsPerPel: u32,
2206     pub DeviceID: [u16; 1],
2207 }
2208 impl ::core::marker::Copy for KSDISPLAYCHANGE {}
2209 impl ::core::clone::Clone for KSDISPLAYCHANGE {
clone(&self) -> Self2210     fn clone(&self) -> Self {
2211         *self
2212     }
2213 }
2214 #[repr(C)]
2215 pub struct KSDS3D_BUFFER_ALL {
2216     pub Position: DS3DVECTOR,
2217     pub Velocity: DS3DVECTOR,
2218     pub InsideConeAngle: u32,
2219     pub OutsideConeAngle: u32,
2220     pub ConeOrientation: DS3DVECTOR,
2221     pub ConeOutsideVolume: i32,
2222     pub MinDistance: f32,
2223     pub MaxDistance: f32,
2224     pub Mode: u32,
2225 }
2226 impl ::core::marker::Copy for KSDS3D_BUFFER_ALL {}
2227 impl ::core::clone::Clone for KSDS3D_BUFFER_ALL {
clone(&self) -> Self2228     fn clone(&self) -> Self {
2229         *self
2230     }
2231 }
2232 #[repr(C)]
2233 pub struct KSDS3D_BUFFER_CONE_ANGLES {
2234     pub InsideConeAngle: u32,
2235     pub OutsideConeAngle: u32,
2236 }
2237 impl ::core::marker::Copy for KSDS3D_BUFFER_CONE_ANGLES {}
2238 impl ::core::clone::Clone for KSDS3D_BUFFER_CONE_ANGLES {
clone(&self) -> Self2239     fn clone(&self) -> Self {
2240         *self
2241     }
2242 }
2243 pub type KSDS3D_HRTF_COEFF_FORMAT = i32;
2244 pub const FLOAT_COEFF: KSDS3D_HRTF_COEFF_FORMAT = 0i32;
2245 pub const SHORT_COEFF: KSDS3D_HRTF_COEFF_FORMAT = 1i32;
2246 pub const KSDS3D_COEFF_COUNT: KSDS3D_HRTF_COEFF_FORMAT = 2i32;
2247 #[repr(C)]
2248 pub struct KSDS3D_HRTF_FILTER_FORMAT_MSG {
2249     pub FilterMethod: KSDS3D_HRTF_FILTER_METHOD,
2250     pub CoeffFormat: KSDS3D_HRTF_COEFF_FORMAT,
2251     pub Version: KSDS3D_HRTF_FILTER_VERSION,
2252     pub Reserved: u32,
2253 }
2254 impl ::core::marker::Copy for KSDS3D_HRTF_FILTER_FORMAT_MSG {}
2255 impl ::core::clone::Clone for KSDS3D_HRTF_FILTER_FORMAT_MSG {
clone(&self) -> Self2256     fn clone(&self) -> Self {
2257         *self
2258     }
2259 }
2260 pub type KSDS3D_HRTF_FILTER_METHOD = i32;
2261 pub const DIRECT_FORM: KSDS3D_HRTF_FILTER_METHOD = 0i32;
2262 pub const CASCADE_FORM: KSDS3D_HRTF_FILTER_METHOD = 1i32;
2263 pub const KSDS3D_FILTER_METHOD_COUNT: KSDS3D_HRTF_FILTER_METHOD = 2i32;
2264 pub type KSDS3D_HRTF_FILTER_QUALITY = i32;
2265 pub const FULL_FILTER: KSDS3D_HRTF_FILTER_QUALITY = 0i32;
2266 pub const LIGHT_FILTER: KSDS3D_HRTF_FILTER_QUALITY = 1i32;
2267 pub const KSDS3D_FILTER_QUALITY_COUNT: KSDS3D_HRTF_FILTER_QUALITY = 2i32;
2268 pub type KSDS3D_HRTF_FILTER_VERSION = i32;
2269 pub const DS3D_HRTF_VERSION_1: KSDS3D_HRTF_FILTER_VERSION = 0i32;
2270 #[repr(C)]
2271 pub struct KSDS3D_HRTF_INIT_MSG {
2272     pub Size: u32,
2273     pub Quality: KSDS3D_HRTF_FILTER_QUALITY,
2274     pub SampleRate: f32,
2275     pub MaxFilterSize: u32,
2276     pub FilterTransientMuteLength: u32,
2277     pub FilterOverlapBufferLength: u32,
2278     pub OutputOverlapBufferLength: u32,
2279     pub Reserved: u32,
2280 }
2281 impl ::core::marker::Copy for KSDS3D_HRTF_INIT_MSG {}
2282 impl ::core::clone::Clone for KSDS3D_HRTF_INIT_MSG {
clone(&self) -> Self2283     fn clone(&self) -> Self {
2284         *self
2285     }
2286 }
2287 #[repr(C)]
2288 #[cfg(feature = "Win32_Foundation")]
2289 pub struct KSDS3D_HRTF_PARAMS_MSG {
2290     pub Size: u32,
2291     pub Enabled: u32,
2292     pub SwapChannels: super::super::Foundation::BOOL,
2293     pub ZeroAzimuth: super::super::Foundation::BOOL,
2294     pub CrossFadeOutput: super::super::Foundation::BOOL,
2295     pub FilterSize: u32,
2296 }
2297 #[cfg(feature = "Win32_Foundation")]
2298 impl ::core::marker::Copy for KSDS3D_HRTF_PARAMS_MSG {}
2299 #[cfg(feature = "Win32_Foundation")]
2300 impl ::core::clone::Clone for KSDS3D_HRTF_PARAMS_MSG {
clone(&self) -> Self2301     fn clone(&self) -> Self {
2302         *self
2303     }
2304 }
2305 #[repr(C)]
2306 pub struct KSDS3D_ITD_PARAMS {
2307     pub Channel: i32,
2308     pub VolSmoothScale: f32,
2309     pub TotalDryAttenuation: f32,
2310     pub TotalWetAttenuation: f32,
2311     pub SmoothFrequency: i32,
2312     pub Delay: i32,
2313 }
2314 impl ::core::marker::Copy for KSDS3D_ITD_PARAMS {}
2315 impl ::core::clone::Clone for KSDS3D_ITD_PARAMS {
clone(&self) -> Self2316     fn clone(&self) -> Self {
2317         *self
2318     }
2319 }
2320 #[repr(C)]
2321 pub struct KSDS3D_ITD_PARAMS_MSG {
2322     pub Enabled: u32,
2323     pub LeftParams: KSDS3D_ITD_PARAMS,
2324     pub RightParams: KSDS3D_ITD_PARAMS,
2325     pub Reserved: u32,
2326 }
2327 impl ::core::marker::Copy for KSDS3D_ITD_PARAMS_MSG {}
2328 impl ::core::clone::Clone for KSDS3D_ITD_PARAMS_MSG {
clone(&self) -> Self2329     fn clone(&self) -> Self {
2330         *self
2331     }
2332 }
2333 #[repr(C)]
2334 pub struct KSDS3D_LISTENER_ALL {
2335     pub Position: DS3DVECTOR,
2336     pub Velocity: DS3DVECTOR,
2337     pub OrientFront: DS3DVECTOR,
2338     pub OrientTop: DS3DVECTOR,
2339     pub DistanceFactor: f32,
2340     pub RolloffFactor: f32,
2341     pub DopplerFactor: f32,
2342 }
2343 impl ::core::marker::Copy for KSDS3D_LISTENER_ALL {}
2344 impl ::core::clone::Clone for KSDS3D_LISTENER_ALL {
clone(&self) -> Self2345     fn clone(&self) -> Self {
2346         *self
2347     }
2348 }
2349 #[repr(C)]
2350 pub struct KSDS3D_LISTENER_ORIENTATION {
2351     pub Front: DS3DVECTOR,
2352     pub Top: DS3DVECTOR,
2353 }
2354 impl ::core::marker::Copy for KSDS3D_LISTENER_ORIENTATION {}
2355 impl ::core::clone::Clone for KSDS3D_LISTENER_ORIENTATION {
clone(&self) -> Self2356     fn clone(&self) -> Self {
2357         *self
2358     }
2359 }
2360 pub const KSDSOUND_3D_MODE_DISABLE: u32 = 2u32;
2361 pub const KSDSOUND_3D_MODE_HEADRELATIVE: u32 = 1u32;
2362 pub const KSDSOUND_3D_MODE_NORMAL: u32 = 0u32;
2363 pub const KSDSOUND_BUFFER_CTRL_3D: u32 = 1u32;
2364 pub const KSDSOUND_BUFFER_CTRL_FREQUENCY: u32 = 2u32;
2365 pub const KSDSOUND_BUFFER_CTRL_HRTF_3D: u32 = 1073741824u32;
2366 pub const KSDSOUND_BUFFER_CTRL_PAN: u32 = 4u32;
2367 pub const KSDSOUND_BUFFER_CTRL_POSITIONNOTIFY: u32 = 16u32;
2368 pub const KSDSOUND_BUFFER_CTRL_VOLUME: u32 = 8u32;
2369 pub const KSDSOUND_BUFFER_LOCHARDWARE: u32 = 4u32;
2370 pub const KSDSOUND_BUFFER_LOCSOFTWARE: u32 = 8u32;
2371 pub const KSDSOUND_BUFFER_PRIMARY: u32 = 1u32;
2372 pub const KSDSOUND_BUFFER_STATIC: u32 = 2u32;
2373 #[repr(C)]
2374 pub struct KSERROR {
2375     pub Context: *mut ::core::ffi::c_void,
2376     pub Status: u32,
2377 }
2378 impl ::core::marker::Copy for KSERROR {}
2379 impl ::core::clone::Clone for KSERROR {
clone(&self) -> Self2380     fn clone(&self) -> Self {
2381         *self
2382     }
2383 }
2384 #[repr(C)]
2385 #[cfg(feature = "Win32_Foundation")]
2386 pub struct KSEVENTDATA {
2387     pub NotificationType: u32,
2388     pub Anonymous: KSEVENTDATA_0,
2389 }
2390 #[cfg(feature = "Win32_Foundation")]
2391 impl ::core::marker::Copy for KSEVENTDATA {}
2392 #[cfg(feature = "Win32_Foundation")]
2393 impl ::core::clone::Clone for KSEVENTDATA {
clone(&self) -> Self2394     fn clone(&self) -> Self {
2395         *self
2396     }
2397 }
2398 #[repr(C)]
2399 #[cfg(feature = "Win32_Foundation")]
2400 pub union KSEVENTDATA_0 {
2401     pub EventHandle: KSEVENTDATA_0_1,
2402     pub SemaphoreHandle: KSEVENTDATA_0_2,
2403     pub Alignment: KSEVENTDATA_0_0,
2404 }
2405 #[cfg(feature = "Win32_Foundation")]
2406 impl ::core::marker::Copy for KSEVENTDATA_0 {}
2407 #[cfg(feature = "Win32_Foundation")]
2408 impl ::core::clone::Clone for KSEVENTDATA_0 {
clone(&self) -> Self2409     fn clone(&self) -> Self {
2410         *self
2411     }
2412 }
2413 #[repr(C)]
2414 #[cfg(feature = "Win32_Foundation")]
2415 pub struct KSEVENTDATA_0_0 {
2416     pub Unused: *mut ::core::ffi::c_void,
2417     pub Alignment: [isize; 2],
2418 }
2419 #[cfg(feature = "Win32_Foundation")]
2420 impl ::core::marker::Copy for KSEVENTDATA_0_0 {}
2421 #[cfg(feature = "Win32_Foundation")]
2422 impl ::core::clone::Clone for KSEVENTDATA_0_0 {
clone(&self) -> Self2423     fn clone(&self) -> Self {
2424         *self
2425     }
2426 }
2427 #[repr(C)]
2428 #[cfg(feature = "Win32_Foundation")]
2429 pub struct KSEVENTDATA_0_1 {
2430     pub Event: super::super::Foundation::HANDLE,
2431     pub Reserved: [usize; 2],
2432 }
2433 #[cfg(feature = "Win32_Foundation")]
2434 impl ::core::marker::Copy for KSEVENTDATA_0_1 {}
2435 #[cfg(feature = "Win32_Foundation")]
2436 impl ::core::clone::Clone for KSEVENTDATA_0_1 {
clone(&self) -> Self2437     fn clone(&self) -> Self {
2438         *self
2439     }
2440 }
2441 #[repr(C)]
2442 #[cfg(feature = "Win32_Foundation")]
2443 pub struct KSEVENTDATA_0_2 {
2444     pub Semaphore: super::super::Foundation::HANDLE,
2445     pub Reserved: u32,
2446     pub Adjustment: i32,
2447 }
2448 #[cfg(feature = "Win32_Foundation")]
2449 impl ::core::marker::Copy for KSEVENTDATA_0_2 {}
2450 #[cfg(feature = "Win32_Foundation")]
2451 impl ::core::clone::Clone for KSEVENTDATA_0_2 {
clone(&self) -> Self2452     fn clone(&self) -> Self {
2453         *self
2454     }
2455 }
2456 pub const KSEVENTF_DPC: u32 = 16u32;
2457 pub const KSEVENTF_EVENT_HANDLE: u32 = 1u32;
2458 pub const KSEVENTF_EVENT_OBJECT: u32 = 4u32;
2459 pub const KSEVENTF_KSWORKITEM: u32 = 128u32;
2460 pub const KSEVENTF_SEMAPHORE_HANDLE: u32 = 2u32;
2461 pub const KSEVENTF_SEMAPHORE_OBJECT: u32 = 8u32;
2462 pub const KSEVENTF_WORKITEM: u32 = 32u32;
2463 pub const KSEVENTSETID_AudioControlChange: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3898513048, data2: 64047, data3: 4561, data4: [149, 189, 0, 192, 79, 185, 37, 211] };
2464 pub const KSEVENTSETID_CameraAsyncControl: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 580982612, data2: 38657, data3: 16520, data4: [179, 63, 107, 156, 188, 82, 223, 94] };
2465 pub const KSEVENTSETID_CameraEvent: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2023338720, data2: 27459, data3: 18788, data4: [157, 42, 162, 31, 64, 97, 245, 118] };
2466 pub const KSEVENTSETID_Clock: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 911052320, data2: 25287, data3: 4559, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
2467 pub const KSEVENTSETID_Connection: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2135673824, data2: 40613, data3: 4559, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
2468 pub const KSEVENTSETID_Device: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 679646956, data2: 40852, data3: 16820, data4: [161, 83, 170, 49, 174, 236, 179, 63] };
2469 pub const KSEVENTSETID_DynamicFormatChange: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
2470     data1: 371901526,
2471     data2: 33751,
2472     data3: 16953,
2473     data4: [150, 223, 199, 95, 250, 19, 139, 198],
2474 };
2475 pub const KSEVENTSETID_EXTDEV_Command: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 278690184, data2: 46027, data3: 4562, data4: [180, 142, 0, 96, 151, 179, 57, 27] };
2476 pub const KSEVENTSETID_ExtendedCameraControl: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1461490377, data2: 5026, data3: 18403, data4: [166, 73, 210, 167, 120, 22, 99, 132] };
2477 pub const KSEVENTSETID_LoopedStreaming: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1182972224, data2: 50927, data3: 4560, data4: [150, 216, 0, 170, 0, 81, 229, 29] };
2478 pub const KSEVENTSETID_PinCapsChange: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3712948526, data2: 15224, data3: 18861, data4: [165, 52, 44, 49, 91, 130, 32, 0] };
2479 pub const KSEVENTSETID_SoundDetector: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
2480     data1: 1769495707,
2481     data2: 64557,
2482     data3: 18902,
2483     data4: [172, 50, 71, 153, 248, 125, 233, 246],
2484 };
2485 pub const KSEVENTSETID_StreamAllocator: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1977177457, data2: 1852, data3: 4560, data4: [161, 97, 0, 32, 175, 209, 86, 228] };
2486 pub const KSEVENTSETID_Telephony: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
2487     data1: 3078558388,
2488     data2: 52916,
2489     data3: 17540,
2490     data4: [141, 94, 82, 193, 231, 216, 118, 45],
2491 };
2492 pub const KSEVENTSETID_VIDCAPTOSTI: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3678920224, data2: 63016, data3: 4561, data4: [186, 65, 0, 160, 201, 13, 43, 5] };
2493 pub const KSEVENTSETID_VIDCAP_TVAUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1781401169, data2: 10468, data3: 4560, data4: [161, 140, 0, 160, 201, 17, 137, 86] };
2494 pub const KSEVENTSETID_VPNotify: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 549804430, data2: 54216, data3: 4560, data4: [141, 252, 0, 192, 79, 215, 192, 139] };
2495 pub const KSEVENTSETID_VPVBINotify: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3964836609, data2: 6687, data3: 4561, data4: [186, 217, 0, 96, 151, 68, 17, 26] };
2496 pub const KSEVENTSETID_VolumeLimit: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3658908773, data2: 14972, data3: 18520, data4: [157, 74, 62, 142, 36, 112, 26, 239] };
2497 pub type KSEVENT_AUDIO_CONTROL_CHANGE = i32;
2498 pub const KSEVENT_CONTROL_CHANGE: KSEVENT_AUDIO_CONTROL_CHANGE = 0i32;
2499 pub type KSEVENT_CAMERACONTROL = i32;
2500 pub const KSEVENT_CAMERACONTROL_FOCUS: KSEVENT_CAMERACONTROL = 0i32;
2501 pub const KSEVENT_CAMERACONTROL_ZOOM: KSEVENT_CAMERACONTROL = 1i32;
2502 pub type KSEVENT_CAMERAEVENT = i32;
2503 pub const KSEVENT_PHOTO_SAMPLE_SCANNED: KSEVENT_CAMERAEVENT = 0i32;
2504 pub type KSEVENT_CLOCK_POSITION = i32;
2505 pub const KSEVENT_CLOCK_INTERVAL_MARK: KSEVENT_CLOCK_POSITION = 0i32;
2506 pub const KSEVENT_CLOCK_POSITION_MARK: KSEVENT_CLOCK_POSITION = 1i32;
2507 pub type KSEVENT_CONNECTION = i32;
2508 pub const KSEVENT_CONNECTION_POSITIONUPDATE: KSEVENT_CONNECTION = 0i32;
2509 pub const KSEVENT_CONNECTION_DATADISCONTINUITY: KSEVENT_CONNECTION = 1i32;
2510 pub const KSEVENT_CONNECTION_TIMEDISCONTINUITY: KSEVENT_CONNECTION = 2i32;
2511 pub const KSEVENT_CONNECTION_PRIORITY: KSEVENT_CONNECTION = 3i32;
2512 pub const KSEVENT_CONNECTION_ENDOFSTREAM: KSEVENT_CONNECTION = 4i32;
2513 pub type KSEVENT_CROSSBAR = i32;
2514 pub const KSEVENT_CROSSBAR_CHANGED: KSEVENT_CROSSBAR = 0i32;
2515 pub type KSEVENT_DEVCMD = i32;
2516 pub const KSEVENT_EXTDEV_COMMAND_NOTIFY_INTERIM_READY: KSEVENT_DEVCMD = 0i32;
2517 pub const KSEVENT_EXTDEV_COMMAND_CONTROL_INTERIM_READY: KSEVENT_DEVCMD = 1i32;
2518 pub const KSEVENT_EXTDEV_COMMAND_BUSRESET: KSEVENT_DEVCMD = 2i32;
2519 pub const KSEVENT_EXTDEV_TIMECODE_UPDATE: KSEVENT_DEVCMD = 3i32;
2520 pub const KSEVENT_EXTDEV_OPERATION_MODE_UPDATE: KSEVENT_DEVCMD = 4i32;
2521 pub const KSEVENT_EXTDEV_TRANSPORT_STATE_UPDATE: KSEVENT_DEVCMD = 5i32;
2522 pub const KSEVENT_EXTDEV_NOTIFY_REMOVAL: KSEVENT_DEVCMD = 6i32;
2523 pub const KSEVENT_EXTDEV_NOTIFY_MEDIUM_CHANGE: KSEVENT_DEVCMD = 7i32;
2524 pub type KSEVENT_DEVICE = i32;
2525 pub const KSEVENT_DEVICE_LOST: KSEVENT_DEVICE = 0i32;
2526 pub const KSEVENT_DEVICE_PREEMPTED: KSEVENT_DEVICE = 1i32;
2527 pub const KSEVENT_DEVICE_THERMAL_HIGH: KSEVENT_DEVICE = 2i32;
2528 pub const KSEVENT_DEVICE_THERMAL_LOW: KSEVENT_DEVICE = 3i32;
2529 pub type KSEVENT_DYNAMICFORMATCHANGE = i32;
2530 pub const KSEVENT_DYNAMIC_FORMAT_CHANGE: KSEVENT_DYNAMICFORMATCHANGE = 0i32;
2531 pub const KSEVENT_ENTRY_BUFFERED: u32 = 4u32;
2532 pub const KSEVENT_ENTRY_DELETED: u32 = 1u32;
2533 pub const KSEVENT_ENTRY_ONESHOT: u32 = 2u32;
2534 pub type KSEVENT_LOOPEDSTREAMING = i32;
2535 pub const KSEVENT_LOOPEDSTREAMING_POSITION: KSEVENT_LOOPEDSTREAMING = 0i32;
2536 pub type KSEVENT_PINCAPS_CHANGENOTIFICATIONS = i32;
2537 pub const KSEVENT_PINCAPS_FORMATCHANGE: KSEVENT_PINCAPS_CHANGENOTIFICATIONS = 0i32;
2538 pub const KSEVENT_PINCAPS_JACKINFOCHANGE: KSEVENT_PINCAPS_CHANGENOTIFICATIONS = 1i32;
2539 pub type KSEVENT_SOUNDDETECTOR = i32;
2540 pub const KSEVENT_SOUNDDETECTOR_MATCHDETECTED: KSEVENT_SOUNDDETECTOR = 1i32;
2541 pub type KSEVENT_STREAMALLOCATOR = i32;
2542 pub const KSEVENT_STREAMALLOCATOR_INTERNAL_FREEFRAME: KSEVENT_STREAMALLOCATOR = 0i32;
2543 pub const KSEVENT_STREAMALLOCATOR_FREEFRAME: KSEVENT_STREAMALLOCATOR = 1i32;
2544 pub type KSEVENT_TELEPHONY = i32;
2545 pub const KSEVENT_TELEPHONY_ENDPOINTPAIRS_CHANGED: KSEVENT_TELEPHONY = 0i32;
2546 #[repr(C)]
2547 #[cfg(feature = "Win32_Foundation")]
2548 pub struct KSEVENT_TIME_INTERVAL {
2549     pub EventData: KSEVENTDATA,
2550     pub TimeBase: i64,
2551     pub Interval: i64,
2552 }
2553 #[cfg(feature = "Win32_Foundation")]
2554 impl ::core::marker::Copy for KSEVENT_TIME_INTERVAL {}
2555 #[cfg(feature = "Win32_Foundation")]
2556 impl ::core::clone::Clone for KSEVENT_TIME_INTERVAL {
clone(&self) -> Self2557     fn clone(&self) -> Self {
2558         *self
2559     }
2560 }
2561 #[repr(C)]
2562 #[cfg(feature = "Win32_Foundation")]
2563 pub struct KSEVENT_TIME_MARK {
2564     pub EventData: KSEVENTDATA,
2565     pub MarkTime: i64,
2566 }
2567 #[cfg(feature = "Win32_Foundation")]
2568 impl ::core::marker::Copy for KSEVENT_TIME_MARK {}
2569 #[cfg(feature = "Win32_Foundation")]
2570 impl ::core::clone::Clone for KSEVENT_TIME_MARK {
clone(&self) -> Self2571     fn clone(&self) -> Self {
2572         *self
2573     }
2574 }
2575 pub type KSEVENT_TUNER = i32;
2576 pub const KSEVENT_TUNER_CHANGED: KSEVENT_TUNER = 0i32;
2577 pub const KSEVENT_TUNER_INITIATE_SCAN: KSEVENT_TUNER = 1i32;
2578 #[repr(C)]
2579 #[cfg(feature = "Win32_Foundation")]
2580 pub struct KSEVENT_TUNER_INITIATE_SCAN_S {
2581     pub EventData: KSEVENTDATA,
2582     pub StartFrequency: u32,
2583     pub EndFrequency: u32,
2584 }
2585 #[cfg(feature = "Win32_Foundation")]
2586 impl ::core::marker::Copy for KSEVENT_TUNER_INITIATE_SCAN_S {}
2587 #[cfg(feature = "Win32_Foundation")]
2588 impl ::core::clone::Clone for KSEVENT_TUNER_INITIATE_SCAN_S {
clone(&self) -> Self2589     fn clone(&self) -> Self {
2590         *self
2591     }
2592 }
2593 pub type KSEVENT_TVAUDIO = i32;
2594 pub const KSEVENT_TVAUDIO_CHANGED: KSEVENT_TVAUDIO = 0i32;
2595 pub const KSEVENT_TYPE_BASICSUPPORT: u32 = 512u32;
2596 pub const KSEVENT_TYPE_ENABLE: u32 = 1u32;
2597 pub const KSEVENT_TYPE_ENABLEBUFFERED: u32 = 4u32;
2598 pub const KSEVENT_TYPE_ONESHOT: u32 = 2u32;
2599 pub const KSEVENT_TYPE_QUERYBUFFER: u32 = 1024u32;
2600 pub const KSEVENT_TYPE_SETSUPPORT: u32 = 256u32;
2601 pub const KSEVENT_TYPE_TOPOLOGY: u32 = 268435456u32;
2602 pub type KSEVENT_VIDCAPTOSTI = i32;
2603 pub const KSEVENT_VIDCAPTOSTI_EXT_TRIGGER: KSEVENT_VIDCAPTOSTI = 0i32;
2604 pub const KSEVENT_VIDCAP_AUTO_UPDATE: KSEVENT_VIDCAPTOSTI = 1i32;
2605 pub const KSEVENT_VIDCAP_SEARCH: KSEVENT_VIDCAPTOSTI = 2i32;
2606 pub type KSEVENT_VIDEODECODER = i32;
2607 pub const KSEVENT_VIDEODECODER_CHANGED: KSEVENT_VIDEODECODER = 0i32;
2608 pub type KSEVENT_VOLUMELIMIT = i32;
2609 pub const KSEVENT_VOLUMELIMIT_CHANGED: KSEVENT_VOLUMELIMIT = 0i32;
2610 pub type KSEVENT_VPNOTIFY = i32;
2611 pub const KSEVENT_VPNOTIFY_FORMATCHANGE: KSEVENT_VPNOTIFY = 0i32;
2612 pub type KSEVENT_VPVBINOTIFY = i32;
2613 pub const KSEVENT_VPVBINOTIFY_FORMATCHANGE: KSEVENT_VPVBINOTIFY = 0i32;
2614 #[repr(C)]
2615 pub struct KSE_NODE {
2616     pub Event: KSIDENTIFIER,
2617     pub NodeId: u32,
2618     pub Reserved: u32,
2619 }
2620 impl ::core::marker::Copy for KSE_NODE {}
2621 impl ::core::clone::Clone for KSE_NODE {
clone(&self) -> Self2622     fn clone(&self) -> Self {
2623         *self
2624     }
2625 }
2626 #[repr(C)]
2627 pub struct KSE_PIN {
2628     pub Event: KSIDENTIFIER,
2629     pub PinId: u32,
2630     pub Reserved: u32,
2631 }
2632 impl ::core::marker::Copy for KSE_PIN {}
2633 impl ::core::clone::Clone for KSE_PIN {
clone(&self) -> Self2634     fn clone(&self) -> Self {
2635         *self
2636     }
2637 }
2638 pub const KSFILTER_FLAG_CRITICAL_PROCESSING: u32 = 2u32;
2639 pub const KSFILTER_FLAG_DENY_USERMODE_ACCESS: u32 = 2147483648u32;
2640 pub const KSFILTER_FLAG_DISPATCH_LEVEL_PROCESSING: u32 = 1u32;
2641 pub const KSFILTER_FLAG_HYPERCRITICAL_PROCESSING: u32 = 4u32;
2642 pub const KSFILTER_FLAG_PRIORITIZE_REFERENCEGUID: u32 = 16u32;
2643 pub const KSFILTER_FLAG_RECEIVE_ZERO_LENGTH_SAMPLES: u32 = 8u32;
2644 #[repr(C)]
2645 pub struct KSFRAMETIME {
2646     pub Duration: i64,
2647     pub FrameFlags: u32,
2648     pub Reserved: u32,
2649 }
2650 impl ::core::marker::Copy for KSFRAMETIME {}
2651 impl ::core::clone::Clone for KSFRAMETIME {
clone(&self) -> Self2652     fn clone(&self) -> Self {
2653         *self
2654     }
2655 }
2656 pub const KSFRAMETIME_VARIABLESIZE: u32 = 1u32;
2657 #[repr(C)]
2658 #[cfg(feature = "Win32_Foundation")]
2659 pub struct KSGOP_USERDATA {
2660     pub sc: u32,
2661     pub reserved1: u32,
2662     pub cFields: u8,
2663     pub l21Data: [super::super::Foundation::CHAR; 3],
2664 }
2665 #[cfg(feature = "Win32_Foundation")]
2666 impl ::core::marker::Copy for KSGOP_USERDATA {}
2667 #[cfg(feature = "Win32_Foundation")]
2668 impl ::core::clone::Clone for KSGOP_USERDATA {
clone(&self) -> Self2669     fn clone(&self) -> Self {
2670         *self
2671     }
2672 }
2673 #[repr(C)]
2674 pub struct KSIDENTIFIER {
2675     pub Anonymous: KSIDENTIFIER_0,
2676 }
2677 impl ::core::marker::Copy for KSIDENTIFIER {}
2678 impl ::core::clone::Clone for KSIDENTIFIER {
clone(&self) -> Self2679     fn clone(&self) -> Self {
2680         *self
2681     }
2682 }
2683 #[repr(C)]
2684 pub union KSIDENTIFIER_0 {
2685     pub Anonymous: KSIDENTIFIER_0_0,
2686     pub Alignment: i64,
2687 }
2688 impl ::core::marker::Copy for KSIDENTIFIER_0 {}
2689 impl ::core::clone::Clone for KSIDENTIFIER_0 {
clone(&self) -> Self2690     fn clone(&self) -> Self {
2691         *self
2692     }
2693 }
2694 #[repr(C)]
2695 pub struct KSIDENTIFIER_0_0 {
2696     pub Set: ::windows_sys::core::GUID,
2697     pub Id: u32,
2698     pub Flags: u32,
2699 }
2700 impl ::core::marker::Copy for KSIDENTIFIER_0_0 {}
2701 impl ::core::clone::Clone for KSIDENTIFIER_0_0 {
clone(&self) -> Self2702     fn clone(&self) -> Self {
2703         *self
2704     }
2705 }
2706 pub const KSINTERFACESETID_FileIo: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2356122412, data2: 59249, data3: 4560, data4: [184, 255, 0, 160, 201, 34, 49, 150] };
2707 pub const KSINTERFACESETID_Media: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 974383936, data2: 12455, data3: 4560, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
2708 pub const KSINTERFACESETID_Standard: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 445081248, data2: 25294, data3: 4559, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
2709 pub type KSINTERFACE_FILEIO = i32;
2710 pub const KSINTERFACE_FILEIO_STREAMING: KSINTERFACE_FILEIO = 0i32;
2711 pub type KSINTERFACE_MEDIA = i32;
2712 pub const KSINTERFACE_MEDIA_MUSIC: KSINTERFACE_MEDIA = 0i32;
2713 pub const KSINTERFACE_MEDIA_WAVE_BUFFERED: KSINTERFACE_MEDIA = 1i32;
2714 pub const KSINTERFACE_MEDIA_WAVE_QUEUED: KSINTERFACE_MEDIA = 2i32;
2715 pub type KSINTERFACE_STANDARD = i32;
2716 pub const KSINTERFACE_STANDARD_STREAMING: KSINTERFACE_STANDARD = 0i32;
2717 pub const KSINTERFACE_STANDARD_LOOPED_STREAMING: KSINTERFACE_STANDARD = 1i32;
2718 pub const KSINTERFACE_STANDARD_CONTROL: KSINTERFACE_STANDARD = 2i32;
2719 #[repr(C)]
2720 pub struct KSINTERVAL {
2721     pub TimeBase: i64,
2722     pub Interval: i64,
2723 }
2724 impl ::core::marker::Copy for KSINTERVAL {}
2725 impl ::core::clone::Clone for KSINTERVAL {
clone(&self) -> Self2726     fn clone(&self) -> Self {
2727         *self
2728     }
2729 }
2730 #[repr(C)]
2731 #[cfg(feature = "Win32_Foundation")]
2732 pub struct KSJACK_DESCRIPTION {
2733     pub ChannelMapping: u32,
2734     pub Color: u32,
2735     pub ConnectionType: EPcxConnectionType,
2736     pub GeoLocation: EPcxGeoLocation,
2737     pub GenLocation: EPcxGenLocation,
2738     pub PortConnection: EPxcPortConnection,
2739     pub IsConnected: super::super::Foundation::BOOL,
2740 }
2741 #[cfg(feature = "Win32_Foundation")]
2742 impl ::core::marker::Copy for KSJACK_DESCRIPTION {}
2743 #[cfg(feature = "Win32_Foundation")]
2744 impl ::core::clone::Clone for KSJACK_DESCRIPTION {
clone(&self) -> Self2745     fn clone(&self) -> Self {
2746         *self
2747     }
2748 }
2749 #[repr(C)]
2750 pub struct KSJACK_DESCRIPTION2 {
2751     pub DeviceStateInfo: u32,
2752     pub JackCapabilities: u32,
2753 }
2754 impl ::core::marker::Copy for KSJACK_DESCRIPTION2 {}
2755 impl ::core::clone::Clone for KSJACK_DESCRIPTION2 {
clone(&self) -> Self2756     fn clone(&self) -> Self {
2757         *self
2758     }
2759 }
2760 pub type KSJACK_SINK_CONNECTIONTYPE = i32;
2761 pub const KSJACK_SINK_CONNECTIONTYPE_HDMI: KSJACK_SINK_CONNECTIONTYPE = 0i32;
2762 pub const KSJACK_SINK_CONNECTIONTYPE_DISPLAYPORT: KSJACK_SINK_CONNECTIONTYPE = 1i32;
2763 #[repr(C)]
2764 #[cfg(feature = "Win32_Foundation")]
2765 pub struct KSJACK_SINK_INFORMATION {
2766     pub ConnType: KSJACK_SINK_CONNECTIONTYPE,
2767     pub ManufacturerId: u16,
2768     pub ProductId: u16,
2769     pub AudioLatency: u16,
2770     pub HDCPCapable: super::super::Foundation::BOOL,
2771     pub AICapable: super::super::Foundation::BOOL,
2772     pub SinkDescriptionLength: u8,
2773     pub SinkDescription: [u16; 32],
2774     pub PortId: super::super::Foundation::LUID,
2775 }
2776 #[cfg(feature = "Win32_Foundation")]
2777 impl ::core::marker::Copy for KSJACK_SINK_INFORMATION {}
2778 #[cfg(feature = "Win32_Foundation")]
2779 impl ::core::clone::Clone for KSJACK_SINK_INFORMATION {
clone(&self) -> Self2780     fn clone(&self) -> Self {
2781         *self
2782     }
2783 }
2784 pub const KSMEDIUMSETID_MidiBus: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 93356096, data2: 12870, data3: 4560, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
2785 pub const KSMEDIUMSETID_Standard: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1195881248, data2: 25294, data3: 4559, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
2786 pub const KSMEDIUMSETID_VPBus: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2710312428, data2: 52803, data3: 4560, data4: [171, 231, 0, 160, 201, 34, 49, 150] };
2787 pub const KSMEDIUM_STANDARD_DEVIO: u32 = 0u32;
2788 pub const KSMEDIUM_TYPE_ANYINSTANCE: u32 = 0u32;
2789 pub const KSMEMORY_TYPE_DEVICE_UNKNOWN: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 152811065, data2: 24639, data3: 4561, data4: [176, 103, 0, 160, 201, 6, 40, 2] };
2790 pub const KSMEMORY_TYPE_KERNEL_NONPAGED: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1248681924, data2: 30869, data3: 4561, data4: [176, 105, 0, 160, 201, 6, 40, 2] };
2791 pub const KSMEMORY_TYPE_KERNEL_PAGED: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3627284728, data2: 30868, data3: 4561, data4: [176, 105, 0, 160, 201, 6, 40, 2] };
2792 pub const KSMEMORY_TYPE_SYSTEM: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 152811064, data2: 24639, data3: 4561, data4: [176, 103, 0, 160, 201, 6, 40, 2] };
2793 pub const KSMEMORY_TYPE_USER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2360409128, data2: 30867, data3: 4561, data4: [176, 105, 0, 160, 201, 6, 40, 2] };
2794 pub const KSMETHODSETID_StreamAllocator: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3480109889, data2: 60551, data3: 4559, data4: [161, 48, 0, 32, 175, 209, 86, 228] };
2795 pub const KSMETHODSETID_StreamIo: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1708131274, data2: 5411, data3: 4562, data4: [178, 122, 0, 160, 201, 34, 49, 150] };
2796 pub const KSMETHODSETID_Wavetable: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3706663403, data2: 55559, data3: 4560, data4: [149, 131, 0, 192, 79, 185, 37, 211] };
2797 pub type KSMETHOD_STREAMALLOCATOR = i32;
2798 pub const KSMETHOD_STREAMALLOCATOR_ALLOC: KSMETHOD_STREAMALLOCATOR = 0i32;
2799 pub const KSMETHOD_STREAMALLOCATOR_FREE: KSMETHOD_STREAMALLOCATOR = 1i32;
2800 pub type KSMETHOD_STREAMIO = i32;
2801 pub const KSMETHOD_STREAMIO_READ: KSMETHOD_STREAMIO = 0i32;
2802 pub const KSMETHOD_STREAMIO_WRITE: KSMETHOD_STREAMIO = 1i32;
2803 pub const KSMETHOD_TYPE_BASICSUPPORT: u32 = 512u32;
2804 pub const KSMETHOD_TYPE_MODIFY: u32 = 3u32;
2805 pub const KSMETHOD_TYPE_NONE: u32 = 0u32;
2806 pub const KSMETHOD_TYPE_READ: u32 = 1u32;
2807 pub const KSMETHOD_TYPE_SEND: u32 = 1u32;
2808 pub const KSMETHOD_TYPE_SETSUPPORT: u32 = 256u32;
2809 pub const KSMETHOD_TYPE_SOURCE: u32 = 4u32;
2810 pub const KSMETHOD_TYPE_TOPOLOGY: u32 = 268435456u32;
2811 pub const KSMETHOD_TYPE_WRITE: u32 = 2u32;
2812 pub type KSMETHOD_WAVETABLE = i32;
2813 pub const KSMETHOD_WAVETABLE_WAVE_ALLOC: KSMETHOD_WAVETABLE = 0i32;
2814 pub const KSMETHOD_WAVETABLE_WAVE_FREE: KSMETHOD_WAVETABLE = 1i32;
2815 pub const KSMETHOD_WAVETABLE_WAVE_FIND: KSMETHOD_WAVETABLE = 2i32;
2816 pub const KSMETHOD_WAVETABLE_WAVE_WRITE: KSMETHOD_WAVETABLE = 3i32;
2817 pub const KSMETHOD_WAVE_QUEUED_BREAKLOOP: u32 = 1u32;
2818 pub const KSMFT_CATEGORY_AUDIO_DECODER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2661760948, data2: 61306, data3: 17753, data4: [141, 93, 113, 157, 143, 4, 38, 199] };
2819 pub const KSMFT_CATEGORY_AUDIO_EFFECT: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 285625416, data2: 13896, data3: 20176, data4: [147, 46, 5, 206, 138, 200, 17, 183] };
2820 pub const KSMFT_CATEGORY_AUDIO_ENCODER: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
2821     data1: 2445691856,
2822     data2: 63774,
2823     data3: 19852,
2824     data4: [146, 118, 219, 36, 130, 121, 217, 117],
2825 };
2826 pub const KSMFT_CATEGORY_DEMULTIPLEXER: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
2827     data1: 2825915002,
2828     data2: 37787,
2829     data3: 17605,
2830     data4: [153, 215, 118, 34, 107, 35, 179, 241],
2831 };
2832 pub const KSMFT_CATEGORY_MULTIPLEXER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 94131742, data2: 1454, data3: 19297, data4: [182, 157, 85, 182, 30, 229, 74, 123] };
2833 pub const KSMFT_CATEGORY_OTHER: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
2834     data1: 2417450327,
2835     data2: 47082,
2836     data3: 18689,
2837     data4: [174, 179, 147, 58, 135, 71, 117, 111],
2838 };
2839 pub const KSMFT_CATEGORY_VIDEO_DECODER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3602918731, data2: 26675, data3: 17844, data4: [151, 26, 5, 164, 176, 75, 171, 145] };
2840 pub const KSMFT_CATEGORY_VIDEO_EFFECT: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 316767265, data2: 21292, data3: 19054, data4: [138, 28, 64, 130, 90, 115, 99, 151] };
2841 pub const KSMFT_CATEGORY_VIDEO_ENCODER: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
2842     data1: 4154371197,
2843     data2: 58693,
2844     data3: 17287,
2845     data4: [189, 238, 214, 71, 215, 189, 228, 42],
2846 };
2847 pub const KSMFT_CATEGORY_VIDEO_PROCESSOR: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 808363004, data2: 43615, data3: 18425, data4: [159, 122, 194, 24, 139, 177, 99, 2] };
2848 pub type KSMICARRAY_MICARRAYTYPE = i32;
2849 pub const KSMICARRAY_MICARRAYTYPE_LINEAR: KSMICARRAY_MICARRAYTYPE = 0i32;
2850 pub const KSMICARRAY_MICARRAYTYPE_PLANAR: KSMICARRAY_MICARRAYTYPE = 1i32;
2851 pub const KSMICARRAY_MICARRAYTYPE_3D: KSMICARRAY_MICARRAYTYPE = 2i32;
2852 pub type KSMICARRAY_MICTYPE = i32;
2853 pub const KSMICARRAY_MICTYPE_OMNIDIRECTIONAL: KSMICARRAY_MICTYPE = 0i32;
2854 pub const KSMICARRAY_MICTYPE_SUBCARDIOID: KSMICARRAY_MICTYPE = 1i32;
2855 pub const KSMICARRAY_MICTYPE_CARDIOID: KSMICARRAY_MICTYPE = 2i32;
2856 pub const KSMICARRAY_MICTYPE_SUPERCARDIOID: KSMICARRAY_MICTYPE = 3i32;
2857 pub const KSMICARRAY_MICTYPE_HYPERCARDIOID: KSMICARRAY_MICTYPE = 4i32;
2858 pub const KSMICARRAY_MICTYPE_8SHAPED: KSMICARRAY_MICTYPE = 5i32;
2859 pub const KSMICARRAY_MICTYPE_VENDORDEFINED: KSMICARRAY_MICTYPE = 15i32;
2860 pub const KSMPEGVIDMODE_LTRBOX: u32 = 2u32;
2861 pub const KSMPEGVIDMODE_PANSCAN: u32 = 1u32;
2862 pub const KSMPEGVIDMODE_SCALE: u32 = 4u32;
2863 #[repr(C)]
2864 pub struct KSMPEGVID_RECT {
2865     pub StartX: u32,
2866     pub StartY: u32,
2867     pub EndX: u32,
2868     pub EndY: u32,
2869 }
2870 impl ::core::marker::Copy for KSMPEGVID_RECT {}
2871 impl ::core::clone::Clone for KSMPEGVID_RECT {
clone(&self) -> Self2872     fn clone(&self) -> Self {
2873         *self
2874     }
2875 }
2876 #[repr(C)]
2877 pub struct KSMULTIPLE_DATA_PROP {
2878     pub Property: KSIDENTIFIER,
2879     pub MultipleItem: KSMULTIPLE_ITEM,
2880 }
2881 impl ::core::marker::Copy for KSMULTIPLE_DATA_PROP {}
2882 impl ::core::clone::Clone for KSMULTIPLE_DATA_PROP {
clone(&self) -> Self2883     fn clone(&self) -> Self {
2884         *self
2885     }
2886 }
2887 #[repr(C)]
2888 pub struct KSMULTIPLE_ITEM {
2889     pub Size: u32,
2890     pub Count: u32,
2891 }
2892 impl ::core::marker::Copy for KSMULTIPLE_ITEM {}
2893 impl ::core::clone::Clone for KSMULTIPLE_ITEM {
clone(&self) -> Self2894     fn clone(&self) -> Self {
2895         *self
2896     }
2897 }
2898 #[repr(C)]
2899 pub struct KSMUSICFORMAT {
2900     pub TimeDeltaMs: u32,
2901     pub ByteCount: u32,
2902 }
2903 impl ::core::marker::Copy for KSMUSICFORMAT {}
2904 impl ::core::clone::Clone for KSMUSICFORMAT {
clone(&self) -> Self2905     fn clone(&self) -> Self {
2906         *self
2907     }
2908 }
2909 pub const KSMUSIC_TECHNOLOGY_FMSYNTH: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 623664256, data2: 25321, data3: 4559, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
2910 pub const KSMUSIC_TECHNOLOGY_PORT: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2261331552, data2: 25320, data3: 4559, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
2911 pub const KSMUSIC_TECHNOLOGY_SQSYNTH: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 248464256, data2: 25321, data3: 4559, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
2912 pub const KSMUSIC_TECHNOLOGY_SWSYNTH: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 926971702, data2: 13856, data3: 4561, data4: [133, 211, 0, 0, 248, 117, 67, 128] };
2913 pub const KSMUSIC_TECHNOLOGY_WAVETABLE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 961464256, data2: 25321, data3: 4559, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
2914 #[repr(C)]
2915 pub struct KSM_NODE {
2916     pub Method: KSIDENTIFIER,
2917     pub NodeId: u32,
2918     pub Reserved: u32,
2919 }
2920 impl ::core::marker::Copy for KSM_NODE {}
2921 impl ::core::clone::Clone for KSM_NODE {
clone(&self) -> Self2922     fn clone(&self) -> Self {
2923         *self
2924     }
2925 }
2926 pub const KSNAME_Allocator: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1680825600, data2: 18321, data3: 4560, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
2927 pub const KSNAME_Clock: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1394025600, data2: 18321, data3: 4560, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
2928 pub const KSNAME_Filter: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2604030096, data2: 5727, data3: 4560, data4: [161, 149, 0, 32, 175, 209, 86, 228] };
2929 pub const KSNAME_Pin: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 342825600, data2: 18321, data3: 4560, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
2930 pub const KSNAME_TopologyNode: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 102827546, data2: 61045, data3: 4560, data4: [185, 21, 0, 160, 201, 34, 49, 150] };
2931 pub const KSNODEPIN_AEC_CAPTURE_IN: u32 = 2u32;
2932 pub const KSNODEPIN_AEC_CAPTURE_OUT: u32 = 3u32;
2933 pub const KSNODEPIN_AEC_RENDER_IN: u32 = 1u32;
2934 pub const KSNODEPIN_AEC_RENDER_OUT: u32 = 0u32;
2935 pub const KSNODEPIN_DEMUX_IN: u32 = 0u32;
2936 pub const KSNODEPIN_DEMUX_OUT: u32 = 1u32;
2937 pub const KSNODEPIN_STANDARD_IN: u32 = 1u32;
2938 pub const KSNODEPIN_STANDARD_OUT: u32 = 0u32;
2939 pub const KSNODEPIN_SUM_MUX_IN: u32 = 1u32;
2940 pub const KSNODEPIN_SUM_MUX_OUT: u32 = 0u32;
2941 #[repr(C)]
2942 pub struct KSNODEPROPERTY {
2943     pub Property: KSIDENTIFIER,
2944     pub NodeId: u32,
2945     pub Reserved: u32,
2946 }
2947 impl ::core::marker::Copy for KSNODEPROPERTY {}
2948 impl ::core::clone::Clone for KSNODEPROPERTY {
clone(&self) -> Self2949     fn clone(&self) -> Self {
2950         *self
2951     }
2952 }
2953 #[repr(C)]
2954 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
2955 pub struct KSNODEPROPERTY_AUDIO_3D_LISTENER {
2956     pub NodeProperty: KSNODEPROPERTY,
2957     pub ListenerId: *mut ::core::ffi::c_void,
2958 }
2959 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
2960 impl ::core::marker::Copy for KSNODEPROPERTY_AUDIO_3D_LISTENER {}
2961 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
2962 impl ::core::clone::Clone for KSNODEPROPERTY_AUDIO_3D_LISTENER {
clone(&self) -> Self2963     fn clone(&self) -> Self {
2964         *self
2965     }
2966 }
2967 #[repr(C)]
2968 #[cfg(any(target_arch = "x86",))]
2969 pub struct KSNODEPROPERTY_AUDIO_3D_LISTENER {
2970     pub NodeProperty: KSNODEPROPERTY,
2971     pub ListenerId: *mut ::core::ffi::c_void,
2972     pub Reserved: u32,
2973 }
2974 #[cfg(any(target_arch = "x86",))]
2975 impl ::core::marker::Copy for KSNODEPROPERTY_AUDIO_3D_LISTENER {}
2976 #[cfg(any(target_arch = "x86",))]
2977 impl ::core::clone::Clone for KSNODEPROPERTY_AUDIO_3D_LISTENER {
clone(&self) -> Self2978     fn clone(&self) -> Self {
2979         *self
2980     }
2981 }
2982 #[repr(C)]
2983 pub struct KSNODEPROPERTY_AUDIO_CHANNEL {
2984     pub NodeProperty: KSNODEPROPERTY,
2985     pub Channel: i32,
2986     pub Reserved: u32,
2987 }
2988 impl ::core::marker::Copy for KSNODEPROPERTY_AUDIO_CHANNEL {}
2989 impl ::core::clone::Clone for KSNODEPROPERTY_AUDIO_CHANNEL {
clone(&self) -> Self2990     fn clone(&self) -> Self {
2991         *self
2992     }
2993 }
2994 #[repr(C)]
2995 pub struct KSNODEPROPERTY_AUDIO_DEV_SPECIFIC {
2996     pub NodeProperty: KSNODEPROPERTY,
2997     pub DevSpecificId: u32,
2998     pub DeviceInfo: u32,
2999     pub Length: u32,
3000 }
3001 impl ::core::marker::Copy for KSNODEPROPERTY_AUDIO_DEV_SPECIFIC {}
3002 impl ::core::clone::Clone for KSNODEPROPERTY_AUDIO_DEV_SPECIFIC {
clone(&self) -> Self3003     fn clone(&self) -> Self {
3004         *self
3005     }
3006 }
3007 #[repr(C)]
3008 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
3009 pub struct KSNODEPROPERTY_AUDIO_PROPERTY {
3010     pub NodeProperty: KSNODEPROPERTY,
3011     pub AppContext: *mut ::core::ffi::c_void,
3012     pub Length: u32,
3013 }
3014 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
3015 impl ::core::marker::Copy for KSNODEPROPERTY_AUDIO_PROPERTY {}
3016 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
3017 impl ::core::clone::Clone for KSNODEPROPERTY_AUDIO_PROPERTY {
clone(&self) -> Self3018     fn clone(&self) -> Self {
3019         *self
3020     }
3021 }
3022 #[repr(C)]
3023 #[cfg(any(target_arch = "x86",))]
3024 pub struct KSNODEPROPERTY_AUDIO_PROPERTY {
3025     pub NodeProperty: KSNODEPROPERTY,
3026     pub AppContext: *mut ::core::ffi::c_void,
3027     pub Length: u32,
3028     pub Reserved: u32,
3029 }
3030 #[cfg(any(target_arch = "x86",))]
3031 impl ::core::marker::Copy for KSNODEPROPERTY_AUDIO_PROPERTY {}
3032 #[cfg(any(target_arch = "x86",))]
3033 impl ::core::clone::Clone for KSNODEPROPERTY_AUDIO_PROPERTY {
clone(&self) -> Self3034     fn clone(&self) -> Self {
3035         *self
3036     }
3037 }
3038 pub const KSNODETYPE_1394_DA_STREAM: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757187046, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3039 pub const KSNODETYPE_1394_DV_STREAM_SOUNDTRACK: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757187047, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3040 pub const KSNODETYPE_3D_EFFECTS: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1431394400, data2: 50521, data3: 4560, data4: [138, 43, 0, 160, 201, 37, 90, 193] };
3041 pub const KSNODETYPE_ADC: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1300463584, data2: 50517, data3: 4560, data4: [138, 43, 0, 160, 201, 37, 90, 193] };
3042 pub const KSNODETYPE_AGC: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3901528992, data2: 50519, data3: 4560, data4: [138, 43, 0, 160, 201, 37, 90, 193] };
3043 pub const KSNODETYPE_ANALOG_CONNECTOR: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757187041, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3044 pub const KSNODETYPE_ANALOG_TAPE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757187303, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3045 pub const KSNODETYPE_AUDIO_ENGINE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 902493924, data2: 62387, data3: 16744, data4: [187, 75, 85, 231, 122, 70, 28, 126] };
3046 pub const KSNODETYPE_AUDIO_KEYWORDDETECTOR: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 941088952, data2: 57176, data3: 17269, data4: [182, 105, 196, 150, 52, 51, 31, 157] };
3047 pub const KSNODETYPE_AUDIO_LOOPBACK: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2403516594, data2: 37326, data3: 19407, data4: [156, 205, 14, 89, 144, 55, 171, 53] };
3048 pub const KSNODETYPE_AUDIO_MODULE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
3049     data1: 1168815150,
3050     data2: 51947,
3051     data3: 16466,
3052     data4: [138, 169, 179, 140, 181, 16, 150, 25],
3053 };
3054 pub const KSNODETYPE_BIDIRECTIONAL_UNDEFINED: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757186528, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3055 pub const KSNODETYPE_CABLE_TUNER_AUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757187310, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3056 pub const KSNODETYPE_CD_PLAYER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757187299, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3057 pub const KSNODETYPE_CHORUS: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 538394400, data2: 50521, data3: 4560, data4: [138, 43, 0, 160, 201, 37, 90, 193] };
3058 pub const KSNODETYPE_COMMUNICATION_SPEAKER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757186278, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3059 pub const KSNODETYPE_DAC: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1350230880, data2: 50516, data3: 4560, data4: [138, 43, 0, 160, 201, 37, 90, 193] };
3060 pub const KSNODETYPE_DAT_IO_DIGITAL_AUDIO_TAPE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757187300, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3061 pub const KSNODETYPE_DCC_IO_DIGITAL_COMPACT_CASSETTE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757187301, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3062 pub const KSNODETYPE_DELAY: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 340361696, data2: 50520, data3: 4560, data4: [138, 43, 0, 160, 201, 37, 90, 193] };
3063 pub const KSNODETYPE_DEMUX: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3236653012, data2: 59399, data3: 4560, data4: [149, 138, 0, 192, 79, 185, 37, 211] };
3064 pub const KSNODETYPE_DESKTOP_MICROPHONE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757186018, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3065 pub const KSNODETYPE_DESKTOP_SPEAKER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757186276, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3066 pub const KSNODETYPE_DEV_SPECIFIC: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2484894400, data2: 50521, data3: 4560, data4: [138, 43, 0, 160, 201, 37, 90, 193] };
3067 pub const KSNODETYPE_DIGITAL_AUDIO_INTERFACE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757187042, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3068 pub const KSNODETYPE_DISPLAYPORT_INTERFACE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
3069     data1: 3833479217,
3070     data2: 16038,
3071     data3: 16781,
3072     data4: [143, 155, 183, 56, 67, 204, 186, 151],
3073 };
3074 pub const KSNODETYPE_DOWN_LINE_PHONE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757186787, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3075 pub const KSNODETYPE_DRM_DESCRAMBLE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4290473535, data2: 52478, data3: 19844, data4: [144, 217, 66, 20, 24, 176, 58, 142] };
3076 pub const KSNODETYPE_DSS_AUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757187311, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3077 pub const KSNODETYPE_DVD_AUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757187307, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3078 pub const KSNODETYPE_DYN_RANGE_COMPRESSOR: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 147367592, data2: 24607, data3: 19192, data4: [135, 147, 217, 5, 255, 76, 169, 125] };
3079 pub const KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757186533, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3080 pub const KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757186532, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3081 pub const KSNODETYPE_EMBEDDED_UNDEFINED: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757187296, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3082 pub const KSNODETYPE_EQUALIZATION_NOISE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757187298, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3083 pub const KSNODETYPE_EQUALIZER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2638328992, data2: 50519, data3: 4560, data4: [138, 43, 0, 160, 201, 37, 90, 193] };
3084 pub const KSNODETYPE_EXTERNAL_UNDEFINED: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757187040, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3085 pub const KSNODETYPE_FM_RX: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2202694460, data2: 62597, data3: 16832, data4: [166, 43, 81, 48, 37, 1, 78, 64] };
3086 pub const KSNODETYPE_HANDSET: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757186529, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3087 pub const KSNODETYPE_HDMI_INTERFACE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3518614570, data2: 62745, data3: 16767, data4: [145, 201, 85, 250, 101, 72, 16, 1] };
3088 pub const KSNODETYPE_HEADPHONES: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757186274, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3089 pub const KSNODETYPE_HEADSET: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757186530, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3090 pub const KSNODETYPE_HEAD_MOUNTED_DISPLAY_AUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757186275, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3091 pub const KSNODETYPE_INPUT_UNDEFINED: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757186016, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3092 pub const KSNODETYPE_LEGACY_AUDIO_CONNECTOR: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757187044, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3093 pub const KSNODETYPE_LEVEL_CALIBRATION_NOISE_SOURCE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757187297, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3094 pub const KSNODETYPE_LINE_CONNECTOR: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757187043, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3095 pub const KSNODETYPE_LOUDNESS: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1099461696, data2: 50520, data3: 4560, data4: [138, 43, 0, 160, 201, 37, 90, 193] };
3096 pub const KSNODETYPE_LOW_FREQUENCY_EFFECTS_SPEAKER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757186279, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3097 pub const KSNODETYPE_MICROPHONE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757186017, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3098 pub const KSNODETYPE_MICROPHONE_ARRAY: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757186021, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3099 pub const KSNODETYPE_MIDI_ELEMENT: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 29818470, data2: 28232, data3: 19557, data4: [172, 155, 82, 219, 93, 101, 108, 126] };
3100 pub const KSNODETYPE_MIDI_JACK: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 643697727, data2: 64057, data3: 19955, data4: [171, 4, 190, 1, 185, 30, 41, 154] };
3101 pub const KSNODETYPE_MINIDISK: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757187302, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3102 pub const KSNODETYPE_MULTITRACK_RECORDER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757187314, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3103 pub const KSNODETYPE_MUTE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 45228992, data2: 50519, data3: 4560, data4: [138, 43, 0, 160, 201, 37, 90, 193] };
3104 pub const KSNODETYPE_MUX: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 753596288, data2: 50518, data3: 4560, data4: [138, 43, 0, 160, 201, 37, 90, 193] };
3105 pub const KSNODETYPE_NOISE_SUPPRESS: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
3106     data1: 3766456383,
3107     data2: 25341,
3108     data3: 20064,
3109     data4: [140, 221, 222, 167, 35, 102, 101, 181],
3110 };
3111 pub const KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757186020, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3112 pub const KSNODETYPE_OUTPUT_UNDEFINED: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757186272, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3113 pub const KSNODETYPE_PARAMETRIC_EQUALIZER: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
3114     data1: 431700586,
3115     data2: 52779,
3116     data3: 17474,
3117     data4: [135, 236, 103, 39, 195, 202, 180, 119],
3118 };
3119 pub const KSNODETYPE_PEAKMETER: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
3120     data1: 2693096734,
3121     data2: 24333,
3122     data3: 19254,
3123     data4: [168, 105, 209, 149, 214, 171, 75, 158],
3124 };
3125 pub const KSNODETYPE_PERSONAL_MICROPHONE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757186019, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3126 pub const KSNODETYPE_PHONE_LINE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757186785, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3127 pub const KSNODETYPE_PHONOGRAPH: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757187304, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3128 pub const KSNODETYPE_PROCESSING_MICROPHONE_ARRAY: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757186022, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3129 pub const KSNODETYPE_PROLOGIC_DECODER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2199661696, data2: 50520, data3: 4560, data4: [138, 43, 0, 160, 201, 37, 90, 193] };
3130 pub const KSNODETYPE_PROLOGIC_ENCODER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2155136434, data2: 15462, data3: 4562, data4: [180, 90, 48, 120, 48, 44, 32, 48] };
3131 pub const KSNODETYPE_RADIO_RECEIVER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757187312, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3132 pub const KSNODETYPE_RADIO_TRANSMITTER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757187313, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3133 pub const KSNODETYPE_REVERB: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4009961696, data2: 50520, data3: 4560, data4: [138, 43, 0, 160, 201, 37, 90, 193] };
3134 pub const KSNODETYPE_ROOM_SPEAKER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757186277, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3135 pub const KSNODETYPE_SATELLITE_RECEIVER_AUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757187309, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3136 pub const KSNODETYPE_SPDIF_INTERFACE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757187045, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3137 pub const KSNODETYPE_SPEAKER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757186273, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3138 pub const KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757186531, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3139 pub const KSNODETYPE_SPEAKERS_STATIC_JACK: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 685789063, data2: 19902, data3: 20365, data4: [133, 137, 2, 93, 32, 157, 251, 74] };
3140 pub const KSNODETYPE_SRC: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2646063584, data2: 50517, data3: 4560, data4: [138, 43, 0, 160, 201, 37, 90, 193] };
3141 pub const KSNODETYPE_STEREO_WIDE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2850461696, data2: 50520, data3: 4560, data4: [138, 43, 0, 160, 201, 37, 90, 193] };
3142 pub const KSNODETYPE_SUM: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3661896288, data2: 50518, data3: 4560, data4: [138, 43, 0, 160, 201, 37, 90, 193] };
3143 pub const KSNODETYPE_SUPERMIX: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3849563584, data2: 50517, data3: 4560, data4: [138, 43, 0, 160, 201, 37, 90, 193] };
3144 pub const KSNODETYPE_SYNTHESIZER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757187315, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3145 pub const KSNODETYPE_TELEPHONE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757186786, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3146 pub const KSNODETYPE_TELEPHONY_BIDI: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1752005824, data2: 55555, data3: 16984, data4: [180, 67, 58, 61, 53, 128, 116, 28] };
3147 pub const KSNODETYPE_TELEPHONY_UNDEFINED: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757186784, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3148 pub const KSNODETYPE_TONE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1980228992, data2: 50519, data3: 4560, data4: [138, 43, 0, 160, 201, 37, 90, 193] };
3149 pub const KSNODETYPE_TV_TUNER_AUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757187308, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3150 pub const KSNODETYPE_UPDOWN_MIX: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3085813199, data2: 31587, data3: 20194, data4: [161, 0, 41, 238, 44, 182, 178, 222] };
3151 pub const KSNODETYPE_VCR_AUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757187305, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3152 pub const KSNODETYPE_VIDEO_CAMERA_TERMINAL: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757189606, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3153 pub const KSNODETYPE_VIDEO_DISC_AUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757187306, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3154 pub const KSNODETYPE_VIDEO_INPUT_MTT: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757189607, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3155 pub const KSNODETYPE_VIDEO_INPUT_TERMINAL: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757189602, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3156 pub const KSNODETYPE_VIDEO_OUTPUT_MTT: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757189608, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3157 pub const KSNODETYPE_VIDEO_OUTPUT_TERMINAL: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757189603, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3158 pub const KSNODETYPE_VIDEO_PROCESSING: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757189605, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3159 pub const KSNODETYPE_VIDEO_SELECTOR: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757189604, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3160 pub const KSNODETYPE_VIDEO_STREAMING: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3757189601, data2: 63247, data3: 4560, data4: [185, 23, 0, 160, 201, 34, 49, 150] };
3161 pub const KSNODETYPE_VOLUME: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 979028992, data2: 50519, data3: 4560, data4: [138, 43, 0, 160, 201, 37, 90, 193] };
3162 #[repr(C)]
3163 pub struct KSNODE_CREATE {
3164     pub CreateFlags: u32,
3165     pub Node: u32,
3166 }
3167 impl ::core::marker::Copy for KSNODE_CREATE {}
3168 impl ::core::clone::Clone for KSNODE_CREATE {
clone(&self) -> Self3169     fn clone(&self) -> Self {
3170         *self
3171     }
3172 }
3173 pub const KSNOTIFICATIONID_AudioModule: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2619482352, data2: 55718, data3: 19804, data4: [160, 54, 87, 56, 87, 253, 80, 210] };
3174 pub const KSNOTIFICATIONID_SoundDetector: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
3175     data1: 1669978180,
3176     data2: 47922,
3177     data3: 19532,
3178     data4: [168, 2, 244, 180, 183, 122, 254, 173],
3179 };
3180 #[repr(C)]
3181 pub struct KSPIN_CINSTANCES {
3182     pub PossibleCount: u32,
3183     pub CurrentCount: u32,
3184 }
3185 impl ::core::marker::Copy for KSPIN_CINSTANCES {}
3186 impl ::core::clone::Clone for KSPIN_CINSTANCES {
clone(&self) -> Self3187     fn clone(&self) -> Self {
3188         *self
3189     }
3190 }
3191 pub type KSPIN_COMMUNICATION = i32;
3192 pub const KSPIN_COMMUNICATION_NONE: KSPIN_COMMUNICATION = 0i32;
3193 pub const KSPIN_COMMUNICATION_SINK: KSPIN_COMMUNICATION = 1i32;
3194 pub const KSPIN_COMMUNICATION_SOURCE: KSPIN_COMMUNICATION = 2i32;
3195 pub const KSPIN_COMMUNICATION_BOTH: KSPIN_COMMUNICATION = 3i32;
3196 pub const KSPIN_COMMUNICATION_BRIDGE: KSPIN_COMMUNICATION = 4i32;
3197 #[repr(C)]
3198 #[cfg(feature = "Win32_Foundation")]
3199 pub struct KSPIN_CONNECT {
3200     pub Interface: KSIDENTIFIER,
3201     pub Medium: KSIDENTIFIER,
3202     pub PinId: u32,
3203     pub PinToHandle: super::super::Foundation::HANDLE,
3204     pub Priority: KSPRIORITY,
3205 }
3206 #[cfg(feature = "Win32_Foundation")]
3207 impl ::core::marker::Copy for KSPIN_CONNECT {}
3208 #[cfg(feature = "Win32_Foundation")]
3209 impl ::core::clone::Clone for KSPIN_CONNECT {
clone(&self) -> Self3210     fn clone(&self) -> Self {
3211         *self
3212     }
3213 }
3214 pub type KSPIN_DATAFLOW = i32;
3215 pub const KSPIN_DATAFLOW_IN: KSPIN_DATAFLOW = 1i32;
3216 pub const KSPIN_DATAFLOW_OUT: KSPIN_DATAFLOW = 2i32;
3217 pub const KSPIN_FLAG_ASYNCHRONOUS_PROCESSING: u32 = 8u32;
3218 pub const KSPIN_FLAG_CRITICAL_PROCESSING: u32 = 2u32;
3219 pub const KSPIN_FLAG_DENY_USERMODE_ACCESS: u32 = 2147483648u32;
3220 pub const KSPIN_FLAG_DISPATCH_LEVEL_PROCESSING: u32 = 1u32;
3221 pub const KSPIN_FLAG_DISTINCT_TRAILING_EDGE: u32 = 512u32;
3222 pub const KSPIN_FLAG_DO_NOT_INITIATE_PROCESSING: u32 = 16u32;
3223 pub const KSPIN_FLAG_DO_NOT_USE_STANDARD_TRANSPORT: u32 = 524288u32;
3224 pub const KSPIN_FLAG_ENFORCE_FIFO: u32 = 128u32;
3225 pub const KSPIN_FLAG_FIXED_FORMAT: u32 = 1048576u32;
3226 pub const KSPIN_FLAG_FRAMES_NOT_REQUIRED_FOR_PROCESSING: u32 = 64u32;
3227 pub const KSPIN_FLAG_GENERATE_EOS_EVENTS: u32 = 2097152u32;
3228 pub const KSPIN_FLAG_GENERATE_MAPPINGS: u32 = 256u32;
3229 pub const KSPIN_FLAG_HYPERCRITICAL_PROCESSING: u32 = 4u32;
3230 pub const KSPIN_FLAG_IMPLEMENT_CLOCK: u32 = 4194304u32;
3231 pub const KSPIN_FLAG_INITIATE_PROCESSING_ON_EVERY_ARRIVAL: u32 = 32u32;
3232 pub const KSPIN_FLAG_PROCESS_IF_ANY_IN_RUN_STATE: u32 = 16777216u32;
3233 pub const KSPIN_FLAG_PROCESS_IN_RUN_STATE_ONLY: u32 = 65536u32;
3234 pub const KSPIN_FLAG_SOME_FRAMES_REQUIRED_FOR_PROCESSING: u32 = 8388608u32;
3235 pub const KSPIN_FLAG_SPLITTER: u32 = 131072u32;
3236 pub const KSPIN_FLAG_USE_STANDARD_TRANSPORT: u32 = 262144u32;
3237 pub type KSPIN_MDL_CACHING_EVENT = i32;
3238 pub const KSPIN_MDL_CACHING_NOTIFY_CLEANUP: KSPIN_MDL_CACHING_EVENT = 0i32;
3239 pub const KSPIN_MDL_CACHING_NOTIFY_CLEANALL_WAIT: KSPIN_MDL_CACHING_EVENT = 1i32;
3240 pub const KSPIN_MDL_CACHING_NOTIFY_CLEANALL_NOWAIT: KSPIN_MDL_CACHING_EVENT = 2i32;
3241 pub const KSPIN_MDL_CACHING_NOTIFY_ADDSAMPLE: KSPIN_MDL_CACHING_EVENT = 3i32;
3242 #[repr(C)]
3243 pub struct KSPIN_MDL_CACHING_NOTIFICATION {
3244     pub Event: KSPIN_MDL_CACHING_EVENT,
3245     pub Buffer: *mut ::core::ffi::c_void,
3246 }
3247 impl ::core::marker::Copy for KSPIN_MDL_CACHING_NOTIFICATION {}
3248 impl ::core::clone::Clone for KSPIN_MDL_CACHING_NOTIFICATION {
clone(&self) -> Self3249     fn clone(&self) -> Self {
3250         *self
3251     }
3252 }
3253 #[repr(C)]
3254 pub struct KSPIN_MDL_CACHING_NOTIFICATION32 {
3255     pub Event: KSPIN_MDL_CACHING_EVENT,
3256     pub Buffer: u32,
3257 }
3258 impl ::core::marker::Copy for KSPIN_MDL_CACHING_NOTIFICATION32 {}
3259 impl ::core::clone::Clone for KSPIN_MDL_CACHING_NOTIFICATION32 {
clone(&self) -> Self3260     fn clone(&self) -> Self {
3261         *self
3262     }
3263 }
3264 #[repr(C)]
3265 pub struct KSPIN_PHYSICALCONNECTION {
3266     pub Size: u32,
3267     pub Pin: u32,
3268     pub SymbolicLinkName: [u16; 1],
3269 }
3270 impl ::core::marker::Copy for KSPIN_PHYSICALCONNECTION {}
3271 impl ::core::clone::Clone for KSPIN_PHYSICALCONNECTION {
clone(&self) -> Self3272     fn clone(&self) -> Self {
3273         *self
3274     }
3275 }
3276 pub type KSPPROPERTY_ALLOCATOR_MDLCACHING = i32;
3277 pub const KSPROPERTY_ALLOCATOR_CLEANUP_CACHEDMDLPAGES: KSPPROPERTY_ALLOCATOR_MDLCACHING = 1i32;
3278 #[repr(C)]
3279 pub struct KSPRIORITY {
3280     pub PriorityClass: u32,
3281     pub PrioritySubClass: u32,
3282 }
3283 impl ::core::marker::Copy for KSPRIORITY {}
3284 impl ::core::clone::Clone for KSPRIORITY {
clone(&self) -> Self3285     fn clone(&self) -> Self {
3286         *self
3287     }
3288 }
3289 pub const KSPRIORITY_EXCLUSIVE: u32 = 4294967295u32;
3290 pub const KSPRIORITY_HIGH: u32 = 2147483648u32;
3291 pub const KSPRIORITY_LOW: u32 = 1u32;
3292 pub const KSPRIORITY_NORMAL: u32 = 1073741824u32;
3293 pub const KSPROBE_ALLOCATEMDL: u32 = 16u32;
3294 pub const KSPROBE_ALLOWFORMATCHANGE: u32 = 128u32;
3295 pub const KSPROBE_MODIFY: u32 = 512u32;
3296 pub const KSPROBE_PROBEANDLOCK: u32 = 32u32;
3297 pub const KSPROBE_STREAMREAD: u32 = 0u32;
3298 pub const KSPROBE_STREAMWRITE: u32 = 1u32;
3299 pub const KSPROBE_SYSTEMADDRESS: u32 = 64u32;
3300 pub const KSPROPERTYSETID_ExtendedCameraControl: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
3301     data1: 481792274,
3302     data2: 49362,
3303     data3: 16915,
3304     data4: [156, 166, 205, 79, 219, 146, 121, 114],
3305 };
3306 pub const KSPROPERTYSETID_NetworkCameraControl: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
3307     data1: 242749193,
3308     data2: 22341,
3309     data3: 20026,
3310     data4: [188, 159, 242, 38, 234, 67, 166, 236],
3311 };
3312 pub const KSPROPERTYSETID_PerFrameSettingControl: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
3313     data1: 4059292257,
3314     data2: 57062,
3315     data3: 17719,
3316     data4: [191, 245, 238, 32, 109, 181, 74, 172],
3317 };
3318 pub type KSPROPERTY_AC3 = i32;
3319 pub const KSPROPERTY_AC3_ERROR_CONCEALMENT: KSPROPERTY_AC3 = 1i32;
3320 pub const KSPROPERTY_AC3_ALTERNATE_AUDIO: KSPROPERTY_AC3 = 2i32;
3321 pub const KSPROPERTY_AC3_DOWNMIX: KSPROPERTY_AC3 = 3i32;
3322 pub const KSPROPERTY_AC3_BIT_STREAM_MODE: KSPROPERTY_AC3 = 4i32;
3323 pub const KSPROPERTY_AC3_DIALOGUE_LEVEL: KSPROPERTY_AC3 = 5i32;
3324 pub const KSPROPERTY_AC3_LANGUAGE_CODE: KSPROPERTY_AC3 = 6i32;
3325 pub const KSPROPERTY_AC3_ROOM_TYPE: KSPROPERTY_AC3 = 7i32;
3326 pub type KSPROPERTY_ALLOCATOR_CONTROL = i32;
3327 pub const KSPROPERTY_ALLOCATOR_CONTROL_HONOR_COUNT: KSPROPERTY_ALLOCATOR_CONTROL = 0i32;
3328 pub const KSPROPERTY_ALLOCATOR_CONTROL_SURFACE_SIZE: KSPROPERTY_ALLOCATOR_CONTROL = 1i32;
3329 pub const KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_CAPS: KSPROPERTY_ALLOCATOR_CONTROL = 2i32;
3330 pub const KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_INTERLEAVE: KSPROPERTY_ALLOCATOR_CONTROL = 3i32;
3331 #[repr(C)]
3332 pub struct KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_CAPS_S {
3333     pub InterleavedCapSupported: u32,
3334 }
3335 impl ::core::marker::Copy for KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_CAPS_S {}
3336 impl ::core::clone::Clone for KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_CAPS_S {
clone(&self) -> Self3337     fn clone(&self) -> Self {
3338         *self
3339     }
3340 }
3341 #[repr(C)]
3342 pub struct KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_INTERLEAVE_S {
3343     pub InterleavedCapPossible: u32,
3344 }
3345 impl ::core::marker::Copy for KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_INTERLEAVE_S {}
3346 impl ::core::clone::Clone for KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_INTERLEAVE_S {
clone(&self) -> Self3347     fn clone(&self) -> Self {
3348         *self
3349     }
3350 }
3351 #[repr(C)]
3352 pub struct KSPROPERTY_ALLOCATOR_CONTROL_SURFACE_SIZE_S {
3353     pub CX: u32,
3354     pub CY: u32,
3355 }
3356 impl ::core::marker::Copy for KSPROPERTY_ALLOCATOR_CONTROL_SURFACE_SIZE_S {}
3357 impl ::core::clone::Clone for KSPROPERTY_ALLOCATOR_CONTROL_SURFACE_SIZE_S {
clone(&self) -> Self3358     fn clone(&self) -> Self {
3359         *self
3360     }
3361 }
3362 pub type KSPROPERTY_AUDDECOUT = i32;
3363 pub const KSPROPERTY_AUDDECOUT_MODES: KSPROPERTY_AUDDECOUT = 0i32;
3364 pub const KSPROPERTY_AUDDECOUT_CUR_MODE: KSPROPERTY_AUDDECOUT = 1i32;
3365 pub type KSPROPERTY_AUDIO = i32;
3366 pub const KSPROPERTY_AUDIO_LATENCY: KSPROPERTY_AUDIO = 1i32;
3367 pub const KSPROPERTY_AUDIO_COPY_PROTECTION: KSPROPERTY_AUDIO = 2i32;
3368 pub const KSPROPERTY_AUDIO_CHANNEL_CONFIG: KSPROPERTY_AUDIO = 3i32;
3369 pub const KSPROPERTY_AUDIO_VOLUMELEVEL: KSPROPERTY_AUDIO = 4i32;
3370 pub const KSPROPERTY_AUDIO_POSITION: KSPROPERTY_AUDIO = 5i32;
3371 pub const KSPROPERTY_AUDIO_DYNAMIC_RANGE: KSPROPERTY_AUDIO = 6i32;
3372 pub const KSPROPERTY_AUDIO_QUALITY: KSPROPERTY_AUDIO = 7i32;
3373 pub const KSPROPERTY_AUDIO_SAMPLING_RATE: KSPROPERTY_AUDIO = 8i32;
3374 pub const KSPROPERTY_AUDIO_DYNAMIC_SAMPLING_RATE: KSPROPERTY_AUDIO = 9i32;
3375 pub const KSPROPERTY_AUDIO_MIX_LEVEL_TABLE: KSPROPERTY_AUDIO = 10i32;
3376 pub const KSPROPERTY_AUDIO_MIX_LEVEL_CAPS: KSPROPERTY_AUDIO = 11i32;
3377 pub const KSPROPERTY_AUDIO_MUX_SOURCE: KSPROPERTY_AUDIO = 12i32;
3378 pub const KSPROPERTY_AUDIO_MUTE: KSPROPERTY_AUDIO = 13i32;
3379 pub const KSPROPERTY_AUDIO_BASS: KSPROPERTY_AUDIO = 14i32;
3380 pub const KSPROPERTY_AUDIO_MID: KSPROPERTY_AUDIO = 15i32;
3381 pub const KSPROPERTY_AUDIO_TREBLE: KSPROPERTY_AUDIO = 16i32;
3382 pub const KSPROPERTY_AUDIO_BASS_BOOST: KSPROPERTY_AUDIO = 17i32;
3383 pub const KSPROPERTY_AUDIO_EQ_LEVEL: KSPROPERTY_AUDIO = 18i32;
3384 pub const KSPROPERTY_AUDIO_NUM_EQ_BANDS: KSPROPERTY_AUDIO = 19i32;
3385 pub const KSPROPERTY_AUDIO_EQ_BANDS: KSPROPERTY_AUDIO = 20i32;
3386 pub const KSPROPERTY_AUDIO_AGC: KSPROPERTY_AUDIO = 21i32;
3387 pub const KSPROPERTY_AUDIO_DELAY: KSPROPERTY_AUDIO = 22i32;
3388 pub const KSPROPERTY_AUDIO_LOUDNESS: KSPROPERTY_AUDIO = 23i32;
3389 pub const KSPROPERTY_AUDIO_WIDE_MODE: KSPROPERTY_AUDIO = 24i32;
3390 pub const KSPROPERTY_AUDIO_WIDENESS: KSPROPERTY_AUDIO = 25i32;
3391 pub const KSPROPERTY_AUDIO_REVERB_LEVEL: KSPROPERTY_AUDIO = 26i32;
3392 pub const KSPROPERTY_AUDIO_CHORUS_LEVEL: KSPROPERTY_AUDIO = 27i32;
3393 pub const KSPROPERTY_AUDIO_DEV_SPECIFIC: KSPROPERTY_AUDIO = 28i32;
3394 pub const KSPROPERTY_AUDIO_DEMUX_DEST: KSPROPERTY_AUDIO = 29i32;
3395 pub const KSPROPERTY_AUDIO_STEREO_ENHANCE: KSPROPERTY_AUDIO = 30i32;
3396 pub const KSPROPERTY_AUDIO_MANUFACTURE_GUID: KSPROPERTY_AUDIO = 31i32;
3397 pub const KSPROPERTY_AUDIO_PRODUCT_GUID: KSPROPERTY_AUDIO = 32i32;
3398 pub const KSPROPERTY_AUDIO_CPU_RESOURCES: KSPROPERTY_AUDIO = 33i32;
3399 pub const KSPROPERTY_AUDIO_STEREO_SPEAKER_GEOMETRY: KSPROPERTY_AUDIO = 34i32;
3400 pub const KSPROPERTY_AUDIO_SURROUND_ENCODE: KSPROPERTY_AUDIO = 35i32;
3401 pub const KSPROPERTY_AUDIO_3D_INTERFACE: KSPROPERTY_AUDIO = 36i32;
3402 pub const KSPROPERTY_AUDIO_PEAKMETER: KSPROPERTY_AUDIO = 37i32;
3403 pub const KSPROPERTY_AUDIO_ALGORITHM_INSTANCE: KSPROPERTY_AUDIO = 38i32;
3404 pub const KSPROPERTY_AUDIO_FILTER_STATE: KSPROPERTY_AUDIO = 39i32;
3405 pub const KSPROPERTY_AUDIO_PREFERRED_STATUS: KSPROPERTY_AUDIO = 40i32;
3406 pub const KSPROPERTY_AUDIO_PEQ_MAX_BANDS: KSPROPERTY_AUDIO = 41i32;
3407 pub const KSPROPERTY_AUDIO_PEQ_NUM_BANDS: KSPROPERTY_AUDIO = 42i32;
3408 pub const KSPROPERTY_AUDIO_PEQ_BAND_CENTER_FREQ: KSPROPERTY_AUDIO = 43i32;
3409 pub const KSPROPERTY_AUDIO_PEQ_BAND_Q_FACTOR: KSPROPERTY_AUDIO = 44i32;
3410 pub const KSPROPERTY_AUDIO_PEQ_BAND_LEVEL: KSPROPERTY_AUDIO = 45i32;
3411 pub const KSPROPERTY_AUDIO_CHORUS_MODULATION_RATE: KSPROPERTY_AUDIO = 46i32;
3412 pub const KSPROPERTY_AUDIO_CHORUS_MODULATION_DEPTH: KSPROPERTY_AUDIO = 47i32;
3413 pub const KSPROPERTY_AUDIO_REVERB_TIME: KSPROPERTY_AUDIO = 48i32;
3414 pub const KSPROPERTY_AUDIO_REVERB_DELAY_FEEDBACK: KSPROPERTY_AUDIO = 49i32;
3415 pub const KSPROPERTY_AUDIO_POSITIONEX: KSPROPERTY_AUDIO = 50i32;
3416 pub const KSPROPERTY_AUDIO_MIC_ARRAY_GEOMETRY: KSPROPERTY_AUDIO = 51i32;
3417 pub const KSPROPERTY_AUDIO_PRESENTATION_POSITION: KSPROPERTY_AUDIO = 52i32;
3418 pub const KSPROPERTY_AUDIO_WAVERT_CURRENT_WRITE_POSITION: KSPROPERTY_AUDIO = 53i32;
3419 pub const KSPROPERTY_AUDIO_LINEAR_BUFFER_POSITION: KSPROPERTY_AUDIO = 54i32;
3420 pub const KSPROPERTY_AUDIO_PEAKMETER2: KSPROPERTY_AUDIO = 55i32;
3421 pub const KSPROPERTY_AUDIO_WAVERT_CURRENT_WRITE_LASTBUFFER_POSITION: KSPROPERTY_AUDIO = 56i32;
3422 pub const KSPROPERTY_AUDIO_VOLUMELIMIT_ENGAGED: KSPROPERTY_AUDIO = 57i32;
3423 pub const KSPROPERTY_AUDIO_MIC_SENSITIVITY: KSPROPERTY_AUDIO = 58i32;
3424 pub const KSPROPERTY_AUDIO_MIC_SNR: KSPROPERTY_AUDIO = 59i32;
3425 pub const KSPROPERTY_AUDIO_MIC_SENSITIVITY2: KSPROPERTY_AUDIO = 60i32;
3426 pub type KSPROPERTY_AUDIOENGINE = i32;
3427 pub const KSPROPERTY_AUDIOENGINE_LFXENABLE: KSPROPERTY_AUDIOENGINE = 0i32;
3428 pub const KSPROPERTY_AUDIOENGINE_GFXENABLE: KSPROPERTY_AUDIOENGINE = 1i32;
3429 pub const KSPROPERTY_AUDIOENGINE_MIXFORMAT: KSPROPERTY_AUDIOENGINE = 2i32;
3430 pub const KSPROPERTY_AUDIOENGINE_DEVICEFORMAT: KSPROPERTY_AUDIOENGINE = 4i32;
3431 pub const KSPROPERTY_AUDIOENGINE_SUPPORTEDDEVICEFORMATS: KSPROPERTY_AUDIOENGINE = 5i32;
3432 pub const KSPROPERTY_AUDIOENGINE_DESCRIPTOR: KSPROPERTY_AUDIOENGINE = 6i32;
3433 pub const KSPROPERTY_AUDIOENGINE_BUFFER_SIZE_RANGE: KSPROPERTY_AUDIOENGINE = 7i32;
3434 pub const KSPROPERTY_AUDIOENGINE_LOOPBACK_PROTECTION: KSPROPERTY_AUDIOENGINE = 8i32;
3435 pub const KSPROPERTY_AUDIOENGINE_VOLUMELEVEL: KSPROPERTY_AUDIOENGINE = 9i32;
3436 pub type KSPROPERTY_AUDIOMODULE = i32;
3437 pub const KSPROPERTY_AUDIOMODULE_DESCRIPTORS: KSPROPERTY_AUDIOMODULE = 1i32;
3438 pub const KSPROPERTY_AUDIOMODULE_COMMAND: KSPROPERTY_AUDIOMODULE = 2i32;
3439 pub const KSPROPERTY_AUDIOMODULE_NOTIFICATION_DEVICE_ID: KSPROPERTY_AUDIOMODULE = 3i32;
3440 pub type KSPROPERTY_AUDIOPOSTURE = i32;
3441 pub const KSPROPERTY_AUDIOPOSTURE_ORIENTATION: KSPROPERTY_AUDIOPOSTURE = 1i32;
3442 pub type KSPROPERTY_AUDIORESOURCEMANAGEMENT = i32;
3443 pub const KSPROPERTY_AUDIORESOURCEMANAGEMENT_RESOURCEGROUP: KSPROPERTY_AUDIORESOURCEMANAGEMENT = 0i32;
3444 pub type KSPROPERTY_AUDIOSIGNALPROCESSING = i32;
3445 pub const KSPROPERTY_AUDIOSIGNALPROCESSING_MODES: KSPROPERTY_AUDIOSIGNALPROCESSING = 0i32;
3446 pub const KSPROPERTY_AUDIO_BUFFER_DURATION: u32 = 1u32;
3447 pub type KSPROPERTY_BIBLIOGRAPHIC = i32;
3448 pub const KSPROPERTY_BIBLIOGRAPHIC_LEADER: KSPROPERTY_BIBLIOGRAPHIC = 1380207648i32;
3449 pub const KSPROPERTY_BIBLIOGRAPHIC_LCCN: KSPROPERTY_BIBLIOGRAPHIC = 808529952i32;
3450 pub const KSPROPERTY_BIBLIOGRAPHIC_ISBN: KSPROPERTY_BIBLIOGRAPHIC = 808595488i32;
3451 pub const KSPROPERTY_BIBLIOGRAPHIC_ISSN: KSPROPERTY_BIBLIOGRAPHIC = 842149920i32;
3452 pub const KSPROPERTY_BIBLIOGRAPHIC_CATALOGINGSOURCE: KSPROPERTY_BIBLIOGRAPHIC = 808726560i32;
3453 pub const KSPROPERTY_BIBLIOGRAPHIC_MAINPERSONALNAME: KSPROPERTY_BIBLIOGRAPHIC = 808464672i32;
3454 pub const KSPROPERTY_BIBLIOGRAPHIC_MAINCORPORATEBODY: KSPROPERTY_BIBLIOGRAPHIC = 808530208i32;
3455 pub const KSPROPERTY_BIBLIOGRAPHIC_MAINMEETINGNAME: KSPROPERTY_BIBLIOGRAPHIC = 825307424i32;
3456 pub const KSPROPERTY_BIBLIOGRAPHIC_MAINUNIFORMTITLE: KSPROPERTY_BIBLIOGRAPHIC = 808661280i32;
3457 pub const KSPROPERTY_BIBLIOGRAPHIC_UNIFORMTITLE: KSPROPERTY_BIBLIOGRAPHIC = 808727072i32;
3458 pub const KSPROPERTY_BIBLIOGRAPHIC_TITLESTATEMENT: KSPROPERTY_BIBLIOGRAPHIC = 892613152i32;
3459 pub const KSPROPERTY_BIBLIOGRAPHIC_VARYINGFORMTITLE: KSPROPERTY_BIBLIOGRAPHIC = 909390368i32;
3460 pub const KSPROPERTY_BIBLIOGRAPHIC_PUBLICATION: KSPROPERTY_BIBLIOGRAPHIC = 808858144i32;
3461 pub const KSPROPERTY_BIBLIOGRAPHIC_PHYSICALDESCRIPTION: KSPROPERTY_BIBLIOGRAPHIC = 808465184i32;
3462 pub const KSPROPERTY_BIBLIOGRAPHIC_ADDEDENTRYTITLE: KSPROPERTY_BIBLIOGRAPHIC = 808727584i32;
3463 pub const KSPROPERTY_BIBLIOGRAPHIC_SERIESSTATEMENT: KSPROPERTY_BIBLIOGRAPHIC = 809055264i32;
3464 pub const KSPROPERTY_BIBLIOGRAPHIC_GENERALNOTE: KSPROPERTY_BIBLIOGRAPHIC = 808465696i32;
3465 pub const KSPROPERTY_BIBLIOGRAPHIC_BIBLIOGRAPHYNOTE: KSPROPERTY_BIBLIOGRAPHIC = 875574560i32;
3466 pub const KSPROPERTY_BIBLIOGRAPHIC_CONTENTSNOTE: KSPROPERTY_BIBLIOGRAPHIC = 892351776i32;
3467 pub const KSPROPERTY_BIBLIOGRAPHIC_CREATIONCREDIT: KSPROPERTY_BIBLIOGRAPHIC = 942683424i32;
3468 pub const KSPROPERTY_BIBLIOGRAPHIC_CITATION: KSPROPERTY_BIBLIOGRAPHIC = 808531232i32;
3469 pub const KSPROPERTY_BIBLIOGRAPHIC_PARTICIPANT: KSPROPERTY_BIBLIOGRAPHIC = 825308448i32;
3470 pub const KSPROPERTY_BIBLIOGRAPHIC_SUMMARY: KSPROPERTY_BIBLIOGRAPHIC = 808596768i32;
3471 pub const KSPROPERTY_BIBLIOGRAPHIC_TARGETAUDIENCE: KSPROPERTY_BIBLIOGRAPHIC = 825373984i32;
3472 pub const KSPROPERTY_BIBLIOGRAPHIC_ADDEDFORMAVAILABLE: KSPROPERTY_BIBLIOGRAPHIC = 808662304i32;
3473 pub const KSPROPERTY_BIBLIOGRAPHIC_SYSTEMDETAILS: KSPROPERTY_BIBLIOGRAPHIC = 942880032i32;
3474 pub const KSPROPERTY_BIBLIOGRAPHIC_AWARDS: KSPROPERTY_BIBLIOGRAPHIC = 909653280i32;
3475 pub const KSPROPERTY_BIBLIOGRAPHIC_ADDEDENTRYPERSONALNAME: KSPROPERTY_BIBLIOGRAPHIC = 808465952i32;
3476 pub const KSPROPERTY_BIBLIOGRAPHIC_ADDEDENTRYTOPICALTERM: KSPROPERTY_BIBLIOGRAPHIC = 808793632i32;
3477 pub const KSPROPERTY_BIBLIOGRAPHIC_ADDEDENTRYGEOGRAPHIC: KSPROPERTY_BIBLIOGRAPHIC = 825570848i32;
3478 pub const KSPROPERTY_BIBLIOGRAPHIC_INDEXTERMGENRE: KSPROPERTY_BIBLIOGRAPHIC = 892679712i32;
3479 pub const KSPROPERTY_BIBLIOGRAPHIC_INDEXTERMCURRICULUM: KSPROPERTY_BIBLIOGRAPHIC = 943011360i32;
3480 pub const KSPROPERTY_BIBLIOGRAPHIC_ADDEDENTRYUNIFORMTITLE: KSPROPERTY_BIBLIOGRAPHIC = 808662816i32;
3481 pub const KSPROPERTY_BIBLIOGRAPHIC_ADDEDENTRYRELATED: KSPROPERTY_BIBLIOGRAPHIC = 808728352i32;
3482 pub const KSPROPERTY_BIBLIOGRAPHIC_SERIESSTATEMENTPERSONALNAME: KSPROPERTY_BIBLIOGRAPHIC = 808466464i32;
3483 pub const KSPROPERTY_BIBLIOGRAPHIC_SERIESSTATEMENTUNIFORMTITLE: KSPROPERTY_BIBLIOGRAPHIC = 808663072i32;
3484 #[repr(C)]
3485 pub union KSPROPERTY_BOUNDS_LONG {
3486     pub Anonymous1: KSPROPERTY_BOUNDS_LONG_0,
3487     pub Anonymous2: KSPROPERTY_BOUNDS_LONG_1,
3488 }
3489 impl ::core::marker::Copy for KSPROPERTY_BOUNDS_LONG {}
3490 impl ::core::clone::Clone for KSPROPERTY_BOUNDS_LONG {
clone(&self) -> Self3491     fn clone(&self) -> Self {
3492         *self
3493     }
3494 }
3495 #[repr(C)]
3496 pub struct KSPROPERTY_BOUNDS_LONG_0 {
3497     pub SignedMinimum: i32,
3498     pub SignedMaximum: i32,
3499 }
3500 impl ::core::marker::Copy for KSPROPERTY_BOUNDS_LONG_0 {}
3501 impl ::core::clone::Clone for KSPROPERTY_BOUNDS_LONG_0 {
clone(&self) -> Self3502     fn clone(&self) -> Self {
3503         *self
3504     }
3505 }
3506 #[repr(C)]
3507 pub struct KSPROPERTY_BOUNDS_LONG_1 {
3508     pub UnsignedMinimum: u32,
3509     pub UnsignedMaximum: u32,
3510 }
3511 impl ::core::marker::Copy for KSPROPERTY_BOUNDS_LONG_1 {}
3512 impl ::core::clone::Clone for KSPROPERTY_BOUNDS_LONG_1 {
clone(&self) -> Self3513     fn clone(&self) -> Self {
3514         *self
3515     }
3516 }
3517 #[repr(C)]
3518 pub union KSPROPERTY_BOUNDS_LONGLONG {
3519     pub Anonymous1: KSPROPERTY_BOUNDS_LONGLONG_0,
3520     pub Anonymous2: KSPROPERTY_BOUNDS_LONGLONG_1,
3521 }
3522 impl ::core::marker::Copy for KSPROPERTY_BOUNDS_LONGLONG {}
3523 impl ::core::clone::Clone for KSPROPERTY_BOUNDS_LONGLONG {
clone(&self) -> Self3524     fn clone(&self) -> Self {
3525         *self
3526     }
3527 }
3528 #[repr(C)]
3529 pub struct KSPROPERTY_BOUNDS_LONGLONG_0 {
3530     pub SignedMinimum: i64,
3531     pub SignedMaximum: i64,
3532 }
3533 impl ::core::marker::Copy for KSPROPERTY_BOUNDS_LONGLONG_0 {}
3534 impl ::core::clone::Clone for KSPROPERTY_BOUNDS_LONGLONG_0 {
clone(&self) -> Self3535     fn clone(&self) -> Self {
3536         *self
3537     }
3538 }
3539 #[repr(C)]
3540 pub struct KSPROPERTY_BOUNDS_LONGLONG_1 {
3541     pub UnsignedMinimum: u64,
3542     pub UnsignedMaximum: u64,
3543 }
3544 impl ::core::marker::Copy for KSPROPERTY_BOUNDS_LONGLONG_1 {}
3545 impl ::core::clone::Clone for KSPROPERTY_BOUNDS_LONGLONG_1 {
clone(&self) -> Self3546     fn clone(&self) -> Self {
3547         *self
3548     }
3549 }
3550 pub type KSPROPERTY_BTAUDIO = i32;
3551 pub const KSPROPERTY_ONESHOT_RECONNECT: KSPROPERTY_BTAUDIO = 0i32;
3552 pub const KSPROPERTY_ONESHOT_DISCONNECT: KSPROPERTY_BTAUDIO = 1i32;
3553 pub type KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = i32;
3554 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOMODE: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 0i32;
3555 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOFRAMERATE: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 1i32;
3556 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOMAXFRAMERATE: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 2i32;
3557 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOTRIGGERTIME: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 3i32;
3558 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_WARMSTART: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 4i32;
3559 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_MAXVIDFPS_PHOTORES: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 5i32;
3560 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOTHUMBNAIL: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 6i32;
3561 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_SCENEMODE: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 7i32;
3562 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_TORCHMODE: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 8i32;
3563 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_FLASHMODE: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 9i32;
3564 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_OPTIMIZATIONHINT: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 10i32;
3565 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_WHITEBALANCEMODE: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 11i32;
3566 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_EXPOSUREMODE: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 12i32;
3567 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_FOCUSMODE: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 13i32;
3568 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_ISO: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 14i32;
3569 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_FIELDOFVIEW: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 15i32;
3570 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_EVCOMPENSATION: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 16i32;
3571 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_CAMERAANGLEOFFSET: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 17i32;
3572 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_METADATA: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 18i32;
3573 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_FOCUSPRIORITY: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 19i32;
3574 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_FOCUSSTATE: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 20i32;
3575 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_ROI_CONFIGCAPS: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 21i32;
3576 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_ROI_ISPCONTROL: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 22i32;
3577 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOCONFIRMATION: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 23i32;
3578 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_ZOOM: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 24i32;
3579 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_MCC: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 25i32;
3580 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 26i32;
3581 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_VIDEOSTABILIZATION: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 27i32;
3582 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_VFR: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 28i32;
3583 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_FACEDETECTION: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 29i32;
3584 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_VIDEOHDR: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 30i32;
3585 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_HISTOGRAM: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 31i32;
3586 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_OIS: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 32i32;
3587 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_ADVANCEDPHOTO: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 33i32;
3588 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_PROFILE: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 34i32;
3589 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_FACEAUTH_MODE: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 35i32;
3590 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_SECURE_MODE: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 36i32;
3591 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_VIDEOTEMPORALDENOISING: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 37i32;
3592 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_IRTORCHMODE: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 38i32;
3593 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_RELATIVEPANELOPTIMIZATION: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 39i32;
3594 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_EYEGAZECORRECTION: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 40i32;
3595 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 41i32;
3596 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_DIGITALWINDOW_CONFIGCAPS: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 42i32;
3597 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_DIGITALWINDOW: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 43i32;
3598 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_END: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 44i32;
3599 pub const KSPROPERTY_CAMERACONTROL_EXTENDED_END2: KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY = 44i32;
3600 pub const KSPROPERTY_CAMERACONTROL_FLAGS_ABSOLUTE: i32 = 0i32;
3601 pub const KSPROPERTY_CAMERACONTROL_FLAGS_ASYNCHRONOUS: i32 = 4i32;
3602 pub const KSPROPERTY_CAMERACONTROL_FLAGS_AUTO: i32 = 1i32;
3603 pub const KSPROPERTY_CAMERACONTROL_FLAGS_MANUAL: i32 = 2i32;
3604 pub const KSPROPERTY_CAMERACONTROL_FLAGS_RELATIVE: i32 = 16i32;
3605 pub type KSPROPERTY_CAMERACONTROL_FLASH = i32;
3606 pub const KSPROPERTY_CAMERACONTROL_FLASH_PROPERTY_ID: KSPROPERTY_CAMERACONTROL_FLASH = 0i32;
3607 pub const KSPROPERTY_CAMERACONTROL_FLASH_AUTO: i32 = 2i32;
3608 pub const KSPROPERTY_CAMERACONTROL_FLASH_FLAGS_AUTO: i32 = 1i32;
3609 pub const KSPROPERTY_CAMERACONTROL_FLASH_FLAGS_MANUAL: i32 = 2i32;
3610 pub const KSPROPERTY_CAMERACONTROL_FLASH_OFF: i32 = 0i32;
3611 pub const KSPROPERTY_CAMERACONTROL_FLASH_ON: i32 = 1i32;
3612 #[repr(C)]
3613 pub struct KSPROPERTY_CAMERACONTROL_FLASH_S {
3614     pub Flash: u32,
3615     pub Capabilities: u32,
3616 }
3617 impl ::core::marker::Copy for KSPROPERTY_CAMERACONTROL_FLASH_S {}
3618 impl ::core::clone::Clone for KSPROPERTY_CAMERACONTROL_FLASH_S {
clone(&self) -> Self3619     fn clone(&self) -> Self {
3620         *self
3621     }
3622 }
3623 #[repr(C)]
3624 pub struct KSPROPERTY_CAMERACONTROL_FOCAL_LENGTH_S {
3625     pub Property: KSIDENTIFIER,
3626     pub lOcularFocalLength: i32,
3627     pub lObjectiveFocalLengthMin: i32,
3628     pub lObjectiveFocalLengthMax: i32,
3629 }
3630 impl ::core::marker::Copy for KSPROPERTY_CAMERACONTROL_FOCAL_LENGTH_S {}
3631 impl ::core::clone::Clone for KSPROPERTY_CAMERACONTROL_FOCAL_LENGTH_S {
clone(&self) -> Self3632     fn clone(&self) -> Self {
3633         *self
3634     }
3635 }
3636 pub type KSPROPERTY_CAMERACONTROL_IMAGE_PIN_CAPABILITY = i32;
3637 pub const KSPROPERTY_CAMERACONTROL_IMAGE_PIN_CAPABILITY_PROPERTY_ID: KSPROPERTY_CAMERACONTROL_IMAGE_PIN_CAPABILITY = 0i32;
3638 pub const KSPROPERTY_CAMERACONTROL_IMAGE_PIN_CAPABILITY_EXCLUSIVE_WITH_RECORD: i32 = 1i32;
3639 #[repr(C)]
3640 pub struct KSPROPERTY_CAMERACONTROL_IMAGE_PIN_CAPABILITY_S {
3641     pub Capabilities: u32,
3642     pub Reserved0: u32,
3643 }
3644 impl ::core::marker::Copy for KSPROPERTY_CAMERACONTROL_IMAGE_PIN_CAPABILITY_S {}
3645 impl ::core::clone::Clone for KSPROPERTY_CAMERACONTROL_IMAGE_PIN_CAPABILITY_S {
clone(&self) -> Self3646     fn clone(&self) -> Self {
3647         *self
3648     }
3649 }
3650 pub const KSPROPERTY_CAMERACONTROL_IMAGE_PIN_CAPABILITY_SEQUENCE_EXCLUSIVE_WITH_RECORD: i32 = 2i32;
3651 #[repr(C)]
3652 pub struct KSPROPERTY_CAMERACONTROL_NODE_FOCAL_LENGTH_S {
3653     pub NodeProperty: KSNODEPROPERTY,
3654     pub lOcularFocalLength: i32,
3655     pub lObjectiveFocalLengthMin: i32,
3656     pub lObjectiveFocalLengthMax: i32,
3657 }
3658 impl ::core::marker::Copy for KSPROPERTY_CAMERACONTROL_NODE_FOCAL_LENGTH_S {}
3659 impl ::core::clone::Clone for KSPROPERTY_CAMERACONTROL_NODE_FOCAL_LENGTH_S {
clone(&self) -> Self3660     fn clone(&self) -> Self {
3661         *self
3662     }
3663 }
3664 #[repr(C)]
3665 pub struct KSPROPERTY_CAMERACONTROL_NODE_S {
3666     pub NodeProperty: KSP_NODE,
3667     pub Value: i32,
3668     pub Flags: u32,
3669     pub Capabilities: u32,
3670 }
3671 impl ::core::marker::Copy for KSPROPERTY_CAMERACONTROL_NODE_S {}
3672 impl ::core::clone::Clone for KSPROPERTY_CAMERACONTROL_NODE_S {
clone(&self) -> Self3673     fn clone(&self) -> Self {
3674         *self
3675     }
3676 }
3677 #[repr(C)]
3678 pub struct KSPROPERTY_CAMERACONTROL_NODE_S2 {
3679     pub NodeProperty: KSP_NODE,
3680     pub Value1: i32,
3681     pub Flags: u32,
3682     pub Capabilities: u32,
3683     pub Value2: i32,
3684 }
3685 impl ::core::marker::Copy for KSPROPERTY_CAMERACONTROL_NODE_S2 {}
3686 impl ::core::clone::Clone for KSPROPERTY_CAMERACONTROL_NODE_S2 {
clone(&self) -> Self3687     fn clone(&self) -> Self {
3688         *self
3689     }
3690 }
3691 pub type KSPROPERTY_CAMERACONTROL_PERFRAMESETTING_PROPERTY = i32;
3692 pub const KSPROPERTY_CAMERACONTROL_PERFRAMESETTING_CAPABILITY: KSPROPERTY_CAMERACONTROL_PERFRAMESETTING_PROPERTY = 0i32;
3693 pub const KSPROPERTY_CAMERACONTROL_PERFRAMESETTING_SET: KSPROPERTY_CAMERACONTROL_PERFRAMESETTING_PROPERTY = 1i32;
3694 pub const KSPROPERTY_CAMERACONTROL_PERFRAMESETTING_CLEAR: KSPROPERTY_CAMERACONTROL_PERFRAMESETTING_PROPERTY = 2i32;
3695 pub type KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST = i32;
3696 pub const KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_PROPERTY_ID: KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST = 0i32;
3697 pub const KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_CONFIG_EXPOSURE: i32 = 512i32;
3698 pub const KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_CONFIG_FOCUS: i32 = 256i32;
3699 pub const KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_CONFIG_WB: i32 = 1024i32;
3700 pub const KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_CONVERGEMODE: i32 = 1073741824i32;
3701 pub const KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_FLAGS_ASYNC: i32 = -2147483648i32;
3702 pub const KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_FLAGS_AUTO: i32 = 1i32;
3703 pub const KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_FLAGS_MANUAL: i32 = 2i32;
3704 #[repr(C)]
3705 #[cfg(feature = "Win32_Foundation")]
3706 pub struct KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_S {
3707     pub FocusRect: super::super::Foundation::RECT,
3708     pub AutoFocusLock: super::super::Foundation::BOOL,
3709     pub AutoExposureLock: super::super::Foundation::BOOL,
3710     pub AutoWhitebalanceLock: super::super::Foundation::BOOL,
3711     pub Anonymous: KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_S_0,
3712 }
3713 #[cfg(feature = "Win32_Foundation")]
3714 impl ::core::marker::Copy for KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_S {}
3715 #[cfg(feature = "Win32_Foundation")]
3716 impl ::core::clone::Clone for KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_S {
clone(&self) -> Self3717     fn clone(&self) -> Self {
3718         *self
3719     }
3720 }
3721 #[repr(C)]
3722 #[cfg(feature = "Win32_Foundation")]
3723 pub union KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_S_0 {
3724     pub Capabilities: u32,
3725     pub Configuration: u32,
3726 }
3727 #[cfg(feature = "Win32_Foundation")]
3728 impl ::core::marker::Copy for KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_S_0 {}
3729 #[cfg(feature = "Win32_Foundation")]
3730 impl ::core::clone::Clone for KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_S_0 {
clone(&self) -> Self3731     fn clone(&self) -> Self {
3732         *self
3733     }
3734 }
3735 #[repr(C)]
3736 pub struct KSPROPERTY_CAMERACONTROL_S {
3737     pub Property: KSIDENTIFIER,
3738     pub Value: i32,
3739     pub Flags: u32,
3740     pub Capabilities: u32,
3741 }
3742 impl ::core::marker::Copy for KSPROPERTY_CAMERACONTROL_S {}
3743 impl ::core::clone::Clone for KSPROPERTY_CAMERACONTROL_S {
clone(&self) -> Self3744     fn clone(&self) -> Self {
3745         *self
3746     }
3747 }
3748 #[repr(C)]
3749 pub struct KSPROPERTY_CAMERACONTROL_S2 {
3750     pub Property: KSIDENTIFIER,
3751     pub Value1: i32,
3752     pub Flags: u32,
3753     pub Capabilities: u32,
3754     pub Value2: i32,
3755 }
3756 impl ::core::marker::Copy for KSPROPERTY_CAMERACONTROL_S2 {}
3757 impl ::core::clone::Clone for KSPROPERTY_CAMERACONTROL_S2 {
clone(&self) -> Self3758     fn clone(&self) -> Self {
3759         *self
3760     }
3761 }
3762 #[repr(C)]
3763 #[cfg(feature = "Win32_Foundation")]
3764 pub struct KSPROPERTY_CAMERACONTROL_S_EX {
3765     pub Property: KSIDENTIFIER,
3766     pub Value: i32,
3767     pub Flags: u32,
3768     pub Capabilities: u32,
3769     pub FocusRect: super::super::Foundation::RECT,
3770 }
3771 #[cfg(feature = "Win32_Foundation")]
3772 impl ::core::marker::Copy for KSPROPERTY_CAMERACONTROL_S_EX {}
3773 #[cfg(feature = "Win32_Foundation")]
3774 impl ::core::clone::Clone for KSPROPERTY_CAMERACONTROL_S_EX {
clone(&self) -> Self3775     fn clone(&self) -> Self {
3776         *self
3777     }
3778 }
3779 pub const KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_AUTO: i32 = 4i32;
3780 pub const KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_FLAGS_AUTO: i32 = 1i32;
3781 pub const KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_FLAGS_MANUAL: i32 = 2i32;
3782 pub const KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_HIGH: i32 = 1i32;
3783 pub const KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_LOW: i32 = 3i32;
3784 pub const KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_MEDIUM: i32 = 2i32;
3785 pub const KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_OFF: i32 = 0i32;
3786 #[repr(C)]
3787 pub struct KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_S {
3788     pub VideoStabilizationMode: u32,
3789     pub Capabilities: u32,
3790 }
3791 impl ::core::marker::Copy for KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_S {}
3792 impl ::core::clone::Clone for KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_S {
clone(&self) -> Self3793     fn clone(&self) -> Self {
3794         *self
3795     }
3796 }
3797 pub type KSPROPERTY_CAMERACONTROL_VIDEO_STABILIZATION_MODE = i32;
3798 pub const KSPROPERTY_CAMERACONTROL_VIDEO_STABILIZATION_MODE_PROPERTY_ID: KSPROPERTY_CAMERACONTROL_VIDEO_STABILIZATION_MODE = 0i32;
3799 pub type KSPROPERTY_CAMERA_PHOTOTRIGGERTIME_FLAGS = i32;
3800 pub const KSPROPERTY_CAMERA_PHOTOTRIGGERTIME_CLEAR: KSPROPERTY_CAMERA_PHOTOTRIGGERTIME_FLAGS = 0i32;
3801 pub const KSPROPERTY_CAMERA_PHOTOTRIGGERTIME_SET: KSPROPERTY_CAMERA_PHOTOTRIGGERTIME_FLAGS = 1i32;
3802 pub type KSPROPERTY_CLOCK = i32;
3803 pub const KSPROPERTY_CLOCK_TIME: KSPROPERTY_CLOCK = 0i32;
3804 pub const KSPROPERTY_CLOCK_PHYSICALTIME: KSPROPERTY_CLOCK = 1i32;
3805 pub const KSPROPERTY_CLOCK_CORRELATEDTIME: KSPROPERTY_CLOCK = 2i32;
3806 pub const KSPROPERTY_CLOCK_CORRELATEDPHYSICALTIME: KSPROPERTY_CLOCK = 3i32;
3807 pub const KSPROPERTY_CLOCK_RESOLUTION: KSPROPERTY_CLOCK = 4i32;
3808 pub const KSPROPERTY_CLOCK_STATE: KSPROPERTY_CLOCK = 5i32;
3809 pub type KSPROPERTY_CONNECTION = i32;
3810 pub const KSPROPERTY_CONNECTION_STATE: KSPROPERTY_CONNECTION = 0i32;
3811 pub const KSPROPERTY_CONNECTION_PRIORITY: KSPROPERTY_CONNECTION = 1i32;
3812 pub const KSPROPERTY_CONNECTION_DATAFORMAT: KSPROPERTY_CONNECTION = 2i32;
3813 pub const KSPROPERTY_CONNECTION_ALLOCATORFRAMING: KSPROPERTY_CONNECTION = 3i32;
3814 pub const KSPROPERTY_CONNECTION_PROPOSEDATAFORMAT: KSPROPERTY_CONNECTION = 4i32;
3815 pub const KSPROPERTY_CONNECTION_ACQUIREORDERING: KSPROPERTY_CONNECTION = 5i32;
3816 pub const KSPROPERTY_CONNECTION_ALLOCATORFRAMING_EX: KSPROPERTY_CONNECTION = 6i32;
3817 pub const KSPROPERTY_CONNECTION_STARTAT: KSPROPERTY_CONNECTION = 7i32;
3818 pub type KSPROPERTY_COPYPROT = i32;
3819 pub const KSPROPERTY_DVDCOPY_CHLG_KEY: KSPROPERTY_COPYPROT = 1i32;
3820 pub const KSPROPERTY_DVDCOPY_DVD_KEY1: KSPROPERTY_COPYPROT = 2i32;
3821 pub const KSPROPERTY_DVDCOPY_DEC_KEY2: KSPROPERTY_COPYPROT = 3i32;
3822 pub const KSPROPERTY_DVDCOPY_TITLE_KEY: KSPROPERTY_COPYPROT = 4i32;
3823 pub const KSPROPERTY_COPY_MACROVISION: KSPROPERTY_COPYPROT = 5i32;
3824 pub const KSPROPERTY_DVDCOPY_REGION: KSPROPERTY_COPYPROT = 6i32;
3825 pub const KSPROPERTY_DVDCOPY_SET_COPY_STATE: KSPROPERTY_COPYPROT = 7i32;
3826 pub const KSPROPERTY_DVDCOPY_DISC_KEY: KSPROPERTY_COPYPROT = 128i32;
3827 #[repr(C)]
3828 pub struct KSPROPERTY_CROSSBAR_ACTIVE_S {
3829     pub Property: KSIDENTIFIER,
3830     pub IndexInputPin: u32,
3831     pub Active: u32,
3832 }
3833 impl ::core::marker::Copy for KSPROPERTY_CROSSBAR_ACTIVE_S {}
3834 impl ::core::clone::Clone for KSPROPERTY_CROSSBAR_ACTIVE_S {
clone(&self) -> Self3835     fn clone(&self) -> Self {
3836         *self
3837     }
3838 }
3839 #[repr(C)]
3840 pub struct KSPROPERTY_CROSSBAR_CAPS_S {
3841     pub Property: KSIDENTIFIER,
3842     pub NumberOfInputs: u32,
3843     pub NumberOfOutputs: u32,
3844 }
3845 impl ::core::marker::Copy for KSPROPERTY_CROSSBAR_CAPS_S {}
3846 impl ::core::clone::Clone for KSPROPERTY_CROSSBAR_CAPS_S {
clone(&self) -> Self3847     fn clone(&self) -> Self {
3848         *self
3849     }
3850 }
3851 #[repr(C)]
3852 pub struct KSPROPERTY_CROSSBAR_PININFO_S {
3853     pub Property: KSIDENTIFIER,
3854     pub Direction: KSPIN_DATAFLOW,
3855     pub Index: u32,
3856     pub PinType: u32,
3857     pub RelatedPinIndex: u32,
3858     pub Medium: KSIDENTIFIER,
3859 }
3860 impl ::core::marker::Copy for KSPROPERTY_CROSSBAR_PININFO_S {}
3861 impl ::core::clone::Clone for KSPROPERTY_CROSSBAR_PININFO_S {
clone(&self) -> Self3862     fn clone(&self) -> Self {
3863         *self
3864     }
3865 }
3866 #[repr(C)]
3867 pub struct KSPROPERTY_CROSSBAR_ROUTE_S {
3868     pub Property: KSIDENTIFIER,
3869     pub IndexInputPin: u32,
3870     pub IndexOutputPin: u32,
3871     pub CanRoute: u32,
3872 }
3873 impl ::core::marker::Copy for KSPROPERTY_CROSSBAR_ROUTE_S {}
3874 impl ::core::clone::Clone for KSPROPERTY_CROSSBAR_ROUTE_S {
clone(&self) -> Self3875     fn clone(&self) -> Self {
3876         *self
3877     }
3878 }
3879 pub type KSPROPERTY_CYCLIC = i32;
3880 pub const KSPROPERTY_CYCLIC_POSITION: KSPROPERTY_CYCLIC = 0i32;
3881 #[repr(C)]
3882 pub struct KSPROPERTY_DESCRIPTION {
3883     pub AccessFlags: u32,
3884     pub DescriptionSize: u32,
3885     pub PropTypeSet: KSIDENTIFIER,
3886     pub MembersListCount: u32,
3887     pub Reserved: u32,
3888 }
3889 impl ::core::marker::Copy for KSPROPERTY_DESCRIPTION {}
3890 impl ::core::clone::Clone for KSPROPERTY_DESCRIPTION {
clone(&self) -> Self3891     fn clone(&self) -> Self {
3892         *self
3893     }
3894 }
3895 pub type KSPROPERTY_DIRECTSOUND3DBUFFER = i32;
3896 pub const KSPROPERTY_DIRECTSOUND3DBUFFER_ALL: KSPROPERTY_DIRECTSOUND3DBUFFER = 0i32;
3897 pub const KSPROPERTY_DIRECTSOUND3DBUFFER_POSITION: KSPROPERTY_DIRECTSOUND3DBUFFER = 1i32;
3898 pub const KSPROPERTY_DIRECTSOUND3DBUFFER_VELOCITY: KSPROPERTY_DIRECTSOUND3DBUFFER = 2i32;
3899 pub const KSPROPERTY_DIRECTSOUND3DBUFFER_CONEANGLES: KSPROPERTY_DIRECTSOUND3DBUFFER = 3i32;
3900 pub const KSPROPERTY_DIRECTSOUND3DBUFFER_CONEORIENTATION: KSPROPERTY_DIRECTSOUND3DBUFFER = 4i32;
3901 pub const KSPROPERTY_DIRECTSOUND3DBUFFER_CONEOUTSIDEVOLUME: KSPROPERTY_DIRECTSOUND3DBUFFER = 5i32;
3902 pub const KSPROPERTY_DIRECTSOUND3DBUFFER_MINDISTANCE: KSPROPERTY_DIRECTSOUND3DBUFFER = 6i32;
3903 pub const KSPROPERTY_DIRECTSOUND3DBUFFER_MAXDISTANCE: KSPROPERTY_DIRECTSOUND3DBUFFER = 7i32;
3904 pub const KSPROPERTY_DIRECTSOUND3DBUFFER_MODE: KSPROPERTY_DIRECTSOUND3DBUFFER = 8i32;
3905 pub type KSPROPERTY_DIRECTSOUND3DLISTENER = i32;
3906 pub const KSPROPERTY_DIRECTSOUND3DLISTENER_ALL: KSPROPERTY_DIRECTSOUND3DLISTENER = 0i32;
3907 pub const KSPROPERTY_DIRECTSOUND3DLISTENER_POSITION: KSPROPERTY_DIRECTSOUND3DLISTENER = 1i32;
3908 pub const KSPROPERTY_DIRECTSOUND3DLISTENER_VELOCITY: KSPROPERTY_DIRECTSOUND3DLISTENER = 2i32;
3909 pub const KSPROPERTY_DIRECTSOUND3DLISTENER_ORIENTATION: KSPROPERTY_DIRECTSOUND3DLISTENER = 3i32;
3910 pub const KSPROPERTY_DIRECTSOUND3DLISTENER_DISTANCEFACTOR: KSPROPERTY_DIRECTSOUND3DLISTENER = 4i32;
3911 pub const KSPROPERTY_DIRECTSOUND3DLISTENER_ROLLOFFFACTOR: KSPROPERTY_DIRECTSOUND3DLISTENER = 5i32;
3912 pub const KSPROPERTY_DIRECTSOUND3DLISTENER_DOPPLERFACTOR: KSPROPERTY_DIRECTSOUND3DLISTENER = 6i32;
3913 pub const KSPROPERTY_DIRECTSOUND3DLISTENER_BATCH: KSPROPERTY_DIRECTSOUND3DLISTENER = 7i32;
3914 pub const KSPROPERTY_DIRECTSOUND3DLISTENER_ALLOCATION: KSPROPERTY_DIRECTSOUND3DLISTENER = 8i32;
3915 pub type KSPROPERTY_DRMAUDIOSTREAM = i32;
3916 pub const KSPROPERTY_DRMAUDIOSTREAM_CONTENTID: KSPROPERTY_DRMAUDIOSTREAM = 0i32;
3917 #[repr(C)]
3918 pub struct KSPROPERTY_DROPPEDFRAMES_CURRENT_S {
3919     pub Property: KSIDENTIFIER,
3920     pub PictureNumber: i64,
3921     pub DropCount: i64,
3922     pub AverageFrameSize: u32,
3923 }
3924 impl ::core::marker::Copy for KSPROPERTY_DROPPEDFRAMES_CURRENT_S {}
3925 impl ::core::clone::Clone for KSPROPERTY_DROPPEDFRAMES_CURRENT_S {
clone(&self) -> Self3926     fn clone(&self) -> Self {
3927         *self
3928     }
3929 }
3930 pub type KSPROPERTY_DVDSUBPIC = i32;
3931 pub const KSPROPERTY_DVDSUBPIC_PALETTE: KSPROPERTY_DVDSUBPIC = 0i32;
3932 pub const KSPROPERTY_DVDSUBPIC_HLI: KSPROPERTY_DVDSUBPIC = 1i32;
3933 pub const KSPROPERTY_DVDSUBPIC_COMPOSIT_ON: KSPROPERTY_DVDSUBPIC = 2i32;
3934 pub type KSPROPERTY_EXTDEVICE = i32;
3935 pub const KSPROPERTY_EXTDEVICE_ID: KSPROPERTY_EXTDEVICE = 0i32;
3936 pub const KSPROPERTY_EXTDEVICE_VERSION: KSPROPERTY_EXTDEVICE = 1i32;
3937 pub const KSPROPERTY_EXTDEVICE_POWER_STATE: KSPROPERTY_EXTDEVICE = 2i32;
3938 pub const KSPROPERTY_EXTDEVICE_PORT: KSPROPERTY_EXTDEVICE = 3i32;
3939 pub const KSPROPERTY_EXTDEVICE_CAPABILITIES: KSPROPERTY_EXTDEVICE = 4i32;
3940 #[repr(C)]
3941 pub struct KSPROPERTY_EXTDEVICE_S {
3942     pub Property: KSIDENTIFIER,
3943     pub u: KSPROPERTY_EXTDEVICE_S_0,
3944 }
3945 impl ::core::marker::Copy for KSPROPERTY_EXTDEVICE_S {}
3946 impl ::core::clone::Clone for KSPROPERTY_EXTDEVICE_S {
clone(&self) -> Self3947     fn clone(&self) -> Self {
3948         *self
3949     }
3950 }
3951 #[repr(C)]
3952 pub union KSPROPERTY_EXTDEVICE_S_0 {
3953     pub Capabilities: DEVCAPS,
3954     pub DevPort: u32,
3955     pub PowerState: u32,
3956     pub pawchString: [u16; 260],
3957     pub NodeUniqueID: [u32; 2],
3958 }
3959 impl ::core::marker::Copy for KSPROPERTY_EXTDEVICE_S_0 {}
3960 impl ::core::clone::Clone for KSPROPERTY_EXTDEVICE_S_0 {
clone(&self) -> Self3961     fn clone(&self) -> Self {
3962         *self
3963     }
3964 }
3965 pub type KSPROPERTY_EXTENSION_UNIT = i32;
3966 pub const KSPROPERTY_EXTENSION_UNIT_INFO: KSPROPERTY_EXTENSION_UNIT = 0i32;
3967 pub const KSPROPERTY_EXTENSION_UNIT_CONTROL: KSPROPERTY_EXTENSION_UNIT = 1i32;
3968 pub const KSPROPERTY_EXTENSION_UNIT_PASS_THROUGH: KSPROPERTY_EXTENSION_UNIT = 65535i32;
3969 pub type KSPROPERTY_EXTXPORT = i32;
3970 pub const KSPROPERTY_EXTXPORT_CAPABILITIES: KSPROPERTY_EXTXPORT = 0i32;
3971 pub const KSPROPERTY_EXTXPORT_INPUT_SIGNAL_MODE: KSPROPERTY_EXTXPORT = 1i32;
3972 pub const KSPROPERTY_EXTXPORT_OUTPUT_SIGNAL_MODE: KSPROPERTY_EXTXPORT = 2i32;
3973 pub const KSPROPERTY_EXTXPORT_LOAD_MEDIUM: KSPROPERTY_EXTXPORT = 3i32;
3974 pub const KSPROPERTY_EXTXPORT_MEDIUM_INFO: KSPROPERTY_EXTXPORT = 4i32;
3975 pub const KSPROPERTY_EXTXPORT_STATE: KSPROPERTY_EXTXPORT = 5i32;
3976 pub const KSPROPERTY_EXTXPORT_STATE_NOTIFY: KSPROPERTY_EXTXPORT = 6i32;
3977 pub const KSPROPERTY_EXTXPORT_TIMECODE_SEARCH: KSPROPERTY_EXTXPORT = 7i32;
3978 pub const KSPROPERTY_EXTXPORT_ATN_SEARCH: KSPROPERTY_EXTXPORT = 8i32;
3979 pub const KSPROPERTY_EXTXPORT_RTC_SEARCH: KSPROPERTY_EXTXPORT = 9i32;
3980 pub const KSPROPERTY_RAW_AVC_CMD: KSPROPERTY_EXTXPORT = 10i32;
3981 #[repr(C)]
3982 #[cfg(feature = "Win32_Foundation")]
3983 pub struct KSPROPERTY_EXTXPORT_NODE_S {
3984     pub NodeProperty: KSP_NODE,
3985     pub u: KSPROPERTY_EXTXPORT_NODE_S_0,
3986 }
3987 #[cfg(feature = "Win32_Foundation")]
3988 impl ::core::marker::Copy for KSPROPERTY_EXTXPORT_NODE_S {}
3989 #[cfg(feature = "Win32_Foundation")]
3990 impl ::core::clone::Clone for KSPROPERTY_EXTXPORT_NODE_S {
clone(&self) -> Self3991     fn clone(&self) -> Self {
3992         *self
3993     }
3994 }
3995 #[repr(C)]
3996 #[cfg(feature = "Win32_Foundation")]
3997 pub union KSPROPERTY_EXTXPORT_NODE_S_0 {
3998     pub Capabilities: u32,
3999     pub SignalMode: u32,
4000     pub LoadMedium: u32,
4001     pub MediumInfo: MEDIUM_INFO,
4002     pub XPrtState: TRANSPORT_STATE,
4003     pub Timecode: KSPROPERTY_EXTXPORT_NODE_S_0_1,
4004     pub dwTimecode: u32,
4005     pub dwAbsTrackNumber: u32,
4006     pub RawAVC: KSPROPERTY_EXTXPORT_NODE_S_0_0,
4007 }
4008 #[cfg(feature = "Win32_Foundation")]
4009 impl ::core::marker::Copy for KSPROPERTY_EXTXPORT_NODE_S_0 {}
4010 #[cfg(feature = "Win32_Foundation")]
4011 impl ::core::clone::Clone for KSPROPERTY_EXTXPORT_NODE_S_0 {
clone(&self) -> Self4012     fn clone(&self) -> Self {
4013         *self
4014     }
4015 }
4016 #[repr(C)]
4017 #[cfg(feature = "Win32_Foundation")]
4018 pub struct KSPROPERTY_EXTXPORT_NODE_S_0_0 {
4019     pub PayloadSize: u32,
4020     pub Payload: [u8; 512],
4021 }
4022 #[cfg(feature = "Win32_Foundation")]
4023 impl ::core::marker::Copy for KSPROPERTY_EXTXPORT_NODE_S_0_0 {}
4024 #[cfg(feature = "Win32_Foundation")]
4025 impl ::core::clone::Clone for KSPROPERTY_EXTXPORT_NODE_S_0_0 {
clone(&self) -> Self4026     fn clone(&self) -> Self {
4027         *self
4028     }
4029 }
4030 #[repr(C)]
4031 #[cfg(feature = "Win32_Foundation")]
4032 pub struct KSPROPERTY_EXTXPORT_NODE_S_0_1 {
4033     pub frame: u8,
4034     pub second: u8,
4035     pub minute: u8,
4036     pub hour: u8,
4037 }
4038 #[cfg(feature = "Win32_Foundation")]
4039 impl ::core::marker::Copy for KSPROPERTY_EXTXPORT_NODE_S_0_1 {}
4040 #[cfg(feature = "Win32_Foundation")]
4041 impl ::core::clone::Clone for KSPROPERTY_EXTXPORT_NODE_S_0_1 {
clone(&self) -> Self4042     fn clone(&self) -> Self {
4043         *self
4044     }
4045 }
4046 #[repr(C)]
4047 #[cfg(feature = "Win32_Foundation")]
4048 pub struct KSPROPERTY_EXTXPORT_S {
4049     pub Property: KSIDENTIFIER,
4050     pub u: KSPROPERTY_EXTXPORT_S_0,
4051 }
4052 #[cfg(feature = "Win32_Foundation")]
4053 impl ::core::marker::Copy for KSPROPERTY_EXTXPORT_S {}
4054 #[cfg(feature = "Win32_Foundation")]
4055 impl ::core::clone::Clone for KSPROPERTY_EXTXPORT_S {
clone(&self) -> Self4056     fn clone(&self) -> Self {
4057         *self
4058     }
4059 }
4060 #[repr(C)]
4061 #[cfg(feature = "Win32_Foundation")]
4062 pub union KSPROPERTY_EXTXPORT_S_0 {
4063     pub Capabilities: u32,
4064     pub SignalMode: u32,
4065     pub LoadMedium: u32,
4066     pub MediumInfo: MEDIUM_INFO,
4067     pub XPrtState: TRANSPORT_STATE,
4068     pub Timecode: KSPROPERTY_EXTXPORT_S_0_1,
4069     pub dwTimecode: u32,
4070     pub dwAbsTrackNumber: u32,
4071     pub RawAVC: KSPROPERTY_EXTXPORT_S_0_0,
4072 }
4073 #[cfg(feature = "Win32_Foundation")]
4074 impl ::core::marker::Copy for KSPROPERTY_EXTXPORT_S_0 {}
4075 #[cfg(feature = "Win32_Foundation")]
4076 impl ::core::clone::Clone for KSPROPERTY_EXTXPORT_S_0 {
clone(&self) -> Self4077     fn clone(&self) -> Self {
4078         *self
4079     }
4080 }
4081 #[repr(C)]
4082 #[cfg(feature = "Win32_Foundation")]
4083 pub struct KSPROPERTY_EXTXPORT_S_0_0 {
4084     pub PayloadSize: u32,
4085     pub Payload: [u8; 512],
4086 }
4087 #[cfg(feature = "Win32_Foundation")]
4088 impl ::core::marker::Copy for KSPROPERTY_EXTXPORT_S_0_0 {}
4089 #[cfg(feature = "Win32_Foundation")]
4090 impl ::core::clone::Clone for KSPROPERTY_EXTXPORT_S_0_0 {
clone(&self) -> Self4091     fn clone(&self) -> Self {
4092         *self
4093     }
4094 }
4095 #[repr(C)]
4096 #[cfg(feature = "Win32_Foundation")]
4097 pub struct KSPROPERTY_EXTXPORT_S_0_1 {
4098     pub frame: u8,
4099     pub second: u8,
4100     pub minute: u8,
4101     pub hour: u8,
4102 }
4103 #[cfg(feature = "Win32_Foundation")]
4104 impl ::core::marker::Copy for KSPROPERTY_EXTXPORT_S_0_1 {}
4105 #[cfg(feature = "Win32_Foundation")]
4106 impl ::core::clone::Clone for KSPROPERTY_EXTXPORT_S_0_1 {
clone(&self) -> Self4107     fn clone(&self) -> Self {
4108         *self
4109     }
4110 }
4111 pub type KSPROPERTY_FMRX_CONTROL = i32;
4112 pub const KSPROPERTY_FMRX_STATE: KSPROPERTY_FMRX_CONTROL = 0i32;
4113 pub type KSPROPERTY_FMRX_TOPOLOGY = i32;
4114 pub const KSPROPERTY_FMRX_ENDPOINTID: KSPROPERTY_FMRX_TOPOLOGY = 0i32;
4115 pub const KSPROPERTY_FMRX_VOLUME: KSPROPERTY_FMRX_TOPOLOGY = 1i32;
4116 pub const KSPROPERTY_FMRX_ANTENNAENDPOINTID: KSPROPERTY_FMRX_TOPOLOGY = 2i32;
4117 pub type KSPROPERTY_GENERAL = i32;
4118 pub const KSPROPERTY_GENERAL_COMPONENTID: KSPROPERTY_GENERAL = 0i32;
4119 pub type KSPROPERTY_HRTF3D = i32;
4120 pub const KSPROPERTY_HRTF3D_PARAMS: KSPROPERTY_HRTF3D = 0i32;
4121 pub const KSPROPERTY_HRTF3D_INITIALIZE: KSPROPERTY_HRTF3D = 1i32;
4122 pub const KSPROPERTY_HRTF3D_FILTER_FORMAT: KSPROPERTY_HRTF3D = 2i32;
4123 pub type KSPROPERTY_INTERLEAVEDAUDIO = i32;
4124 pub const KSPROPERTY_INTERLEAVEDAUDIO_FORMATINFORMATION: KSPROPERTY_INTERLEAVEDAUDIO = 1i32;
4125 pub type KSPROPERTY_ITD3D = i32;
4126 pub const KSPROPERTY_ITD3D_PARAMS: KSPROPERTY_ITD3D = 0i32;
4127 pub type KSPROPERTY_JACK = i32;
4128 pub const KSPROPERTY_JACK_DESCRIPTION: KSPROPERTY_JACK = 1i32;
4129 pub const KSPROPERTY_JACK_DESCRIPTION2: KSPROPERTY_JACK = 2i32;
4130 pub const KSPROPERTY_JACK_SINK_INFO: KSPROPERTY_JACK = 3i32;
4131 pub const KSPROPERTY_JACK_CONTAINERID: KSPROPERTY_JACK = 4i32;
4132 #[repr(C)]
4133 pub struct KSPROPERTY_MEDIAAVAILABLE {
4134     pub Earliest: i64,
4135     pub Latest: i64,
4136 }
4137 impl ::core::marker::Copy for KSPROPERTY_MEDIAAVAILABLE {}
4138 impl ::core::clone::Clone for KSPROPERTY_MEDIAAVAILABLE {
clone(&self) -> Self4139     fn clone(&self) -> Self {
4140         *self
4141     }
4142 }
4143 pub type KSPROPERTY_MEDIASEEKING = i32;
4144 pub const KSPROPERTY_MEDIASEEKING_CAPABILITIES: KSPROPERTY_MEDIASEEKING = 0i32;
4145 pub const KSPROPERTY_MEDIASEEKING_FORMATS: KSPROPERTY_MEDIASEEKING = 1i32;
4146 pub const KSPROPERTY_MEDIASEEKING_TIMEFORMAT: KSPROPERTY_MEDIASEEKING = 2i32;
4147 pub const KSPROPERTY_MEDIASEEKING_POSITION: KSPROPERTY_MEDIASEEKING = 3i32;
4148 pub const KSPROPERTY_MEDIASEEKING_STOPPOSITION: KSPROPERTY_MEDIASEEKING = 4i32;
4149 pub const KSPROPERTY_MEDIASEEKING_POSITIONS: KSPROPERTY_MEDIASEEKING = 5i32;
4150 pub const KSPROPERTY_MEDIASEEKING_DURATION: KSPROPERTY_MEDIASEEKING = 6i32;
4151 pub const KSPROPERTY_MEDIASEEKING_AVAILABLE: KSPROPERTY_MEDIASEEKING = 7i32;
4152 pub const KSPROPERTY_MEDIASEEKING_PREROLL: KSPROPERTY_MEDIASEEKING = 8i32;
4153 pub const KSPROPERTY_MEDIASEEKING_CONVERTTIMEFORMAT: KSPROPERTY_MEDIASEEKING = 9i32;
4154 #[repr(C)]
4155 pub struct KSPROPERTY_MEMBERSHEADER {
4156     pub MembersFlags: u32,
4157     pub MembersSize: u32,
4158     pub MembersCount: u32,
4159     pub Flags: u32,
4160 }
4161 impl ::core::marker::Copy for KSPROPERTY_MEMBERSHEADER {}
4162 impl ::core::clone::Clone for KSPROPERTY_MEMBERSHEADER {
clone(&self) -> Self4163     fn clone(&self) -> Self {
4164         *self
4165     }
4166 }
4167 pub const KSPROPERTY_MEMBER_FLAG_BASICSUPPORT_MULTICHANNEL: u32 = 2u32;
4168 pub const KSPROPERTY_MEMBER_FLAG_BASICSUPPORT_UNIFORM: u32 = 4u32;
4169 pub const KSPROPERTY_MEMBER_FLAG_DEFAULT: u32 = 1u32;
4170 pub const KSPROPERTY_MEMBER_RANGES: u32 = 1u32;
4171 pub const KSPROPERTY_MEMBER_STEPPEDRANGES: u32 = 2u32;
4172 pub const KSPROPERTY_MEMBER_VALUES: u32 = 3u32;
4173 pub const KSPROPERTY_MEMORY_TRANSPORT: i32 = 1i32;
4174 pub type KSPROPERTY_MPEG2VID = i32;
4175 pub const KSPROPERTY_MPEG2VID_MODES: KSPROPERTY_MPEG2VID = 0i32;
4176 pub const KSPROPERTY_MPEG2VID_CUR_MODE: KSPROPERTY_MPEG2VID = 1i32;
4177 pub const KSPROPERTY_MPEG2VID_4_3_RECT: KSPROPERTY_MPEG2VID = 2i32;
4178 pub const KSPROPERTY_MPEG2VID_16_9_RECT: KSPROPERTY_MPEG2VID = 3i32;
4179 pub const KSPROPERTY_MPEG2VID_16_9_PANSCAN: KSPROPERTY_MPEG2VID = 4i32;
4180 pub type KSPROPERTY_MPEG4_MEDIATYPE_ATTRIBUTES = i32;
4181 pub const KSPROPERTY_MPEG4_MEDIATYPE_SD_BOX: KSPROPERTY_MPEG4_MEDIATYPE_ATTRIBUTES = 1i32;
4182 #[repr(C)]
4183 pub struct KSPROPERTY_NETWORKCAMERACONTROL_EVENT_INFO {
4184     pub Header: KSCAMERA_METADATA_ITEMHEADER,
4185     pub EventFilter: [u16; 1],
4186 }
4187 impl ::core::marker::Copy for KSPROPERTY_NETWORKCAMERACONTROL_EVENT_INFO {}
4188 impl ::core::clone::Clone for KSPROPERTY_NETWORKCAMERACONTROL_EVENT_INFO {
clone(&self) -> Self4189     fn clone(&self) -> Self {
4190         *self
4191     }
4192 }
4193 #[repr(C)]
4194 #[cfg(feature = "Win32_Foundation")]
4195 pub struct KSPROPERTY_NETWORKCAMERACONTROL_METADATA_INFO {
4196     pub MetadataItems: u32,
4197     pub Size: u32,
4198     pub PTZStatus: super::super::Foundation::BOOL,
4199     pub Events: super::super::Foundation::BOOL,
4200     pub Analytics: super::super::Foundation::BOOL,
4201     pub Reserved: super::super::Foundation::BOOL,
4202 }
4203 #[cfg(feature = "Win32_Foundation")]
4204 impl ::core::marker::Copy for KSPROPERTY_NETWORKCAMERACONTROL_METADATA_INFO {}
4205 #[cfg(feature = "Win32_Foundation")]
4206 impl ::core::clone::Clone for KSPROPERTY_NETWORKCAMERACONTROL_METADATA_INFO {
clone(&self) -> Self4207     fn clone(&self) -> Self {
4208         *self
4209     }
4210 }
4211 pub type KSPROPERTY_NETWORKCAMERACONTROL_METADATA_TYPE = i32;
4212 pub const KSPROPERTY_NETWORKCAMERACONTROL_METADATA_TYPE_EVENTSINFO: KSPROPERTY_NETWORKCAMERACONTROL_METADATA_TYPE = 0i32;
4213 #[repr(C)]
4214 pub struct KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_HEADER {
4215     pub Size: u32,
4216     pub Type: KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_TYPE,
4217 }
4218 impl ::core::marker::Copy for KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_HEADER {}
4219 impl ::core::clone::Clone for KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_HEADER {
clone(&self) -> Self4220     fn clone(&self) -> Self {
4221         *self
4222     }
4223 }
4224 pub type KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_TYPE = i32;
4225 pub const KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_TYPE_DISABLE: KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_TYPE = 0i32;
4226 pub const KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_TYPE_HOSTNTP: KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_TYPE = 1i32;
4227 pub const KSPROPERYT_NETWORKCAMERACONTROL_NTPINFO_TYPE_CUSTOM: KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_TYPE = 2i32;
4228 pub type KSPROPERTY_NETWORKCAMERACONTROL_PROPERTY = i32;
4229 pub const KSPROPERTY_NETWORKCAMERACONTROL_NTP: KSPROPERTY_NETWORKCAMERACONTROL_PROPERTY = 0i32;
4230 pub const KSPROPERTY_NETWORKCAMERACONTROL_URI: KSPROPERTY_NETWORKCAMERACONTROL_PROPERTY = 1i32;
4231 pub const KSPROPERTY_NETWORKCAMERACONTROL_METADATA: KSPROPERTY_NETWORKCAMERACONTROL_PROPERTY = 2i32;
4232 pub const KSPROPERTY_NETWORKCAMERACONTROL_EVENTTOPICS_XML: KSPROPERTY_NETWORKCAMERACONTROL_PROPERTY = 3i32;
4233 pub type KSPROPERTY_OVERLAYUPDATE = i32;
4234 pub const KSPROPERTY_OVERLAYUPDATE_INTERESTS: KSPROPERTY_OVERLAYUPDATE = 0i32;
4235 pub const KSPROPERTY_OVERLAYUPDATE_CLIPLIST: KSPROPERTY_OVERLAYUPDATE = 1i32;
4236 pub const KSPROPERTY_OVERLAYUPDATE_PALETTE: KSPROPERTY_OVERLAYUPDATE = 2i32;
4237 pub const KSPROPERTY_OVERLAYUPDATE_COLORKEY: KSPROPERTY_OVERLAYUPDATE = 4i32;
4238 pub const KSPROPERTY_OVERLAYUPDATE_VIDEOPOSITION: KSPROPERTY_OVERLAYUPDATE = 8i32;
4239 pub const KSPROPERTY_OVERLAYUPDATE_DISPLAYCHANGE: KSPROPERTY_OVERLAYUPDATE = 16i32;
4240 pub const KSPROPERTY_OVERLAYUPDATE_COLORREF: KSPROPERTY_OVERLAYUPDATE = 268435456i32;
4241 pub type KSPROPERTY_PIN = i32;
4242 pub const KSPROPERTY_PIN_CINSTANCES: KSPROPERTY_PIN = 0i32;
4243 pub const KSPROPERTY_PIN_CTYPES: KSPROPERTY_PIN = 1i32;
4244 pub const KSPROPERTY_PIN_DATAFLOW: KSPROPERTY_PIN = 2i32;
4245 pub const KSPROPERTY_PIN_DATARANGES: KSPROPERTY_PIN = 3i32;
4246 pub const KSPROPERTY_PIN_DATAINTERSECTION: KSPROPERTY_PIN = 4i32;
4247 pub const KSPROPERTY_PIN_INTERFACES: KSPROPERTY_PIN = 5i32;
4248 pub const KSPROPERTY_PIN_MEDIUMS: KSPROPERTY_PIN = 6i32;
4249 pub const KSPROPERTY_PIN_COMMUNICATION: KSPROPERTY_PIN = 7i32;
4250 pub const KSPROPERTY_PIN_GLOBALCINSTANCES: KSPROPERTY_PIN = 8i32;
4251 pub const KSPROPERTY_PIN_NECESSARYINSTANCES: KSPROPERTY_PIN = 9i32;
4252 pub const KSPROPERTY_PIN_PHYSICALCONNECTION: KSPROPERTY_PIN = 10i32;
4253 pub const KSPROPERTY_PIN_CATEGORY: KSPROPERTY_PIN = 11i32;
4254 pub const KSPROPERTY_PIN_NAME: KSPROPERTY_PIN = 12i32;
4255 pub const KSPROPERTY_PIN_CONSTRAINEDDATARANGES: KSPROPERTY_PIN = 13i32;
4256 pub const KSPROPERTY_PIN_PROPOSEDATAFORMAT: KSPROPERTY_PIN = 14i32;
4257 pub const KSPROPERTY_PIN_PROPOSEDATAFORMAT2: KSPROPERTY_PIN = 15i32;
4258 pub const KSPROPERTY_PIN_MODEDATAFORMATS: KSPROPERTY_PIN = 16i32;
4259 pub const KSPROPERTY_PIN_FLAGS_ATTRIBUTE_RANGE_AWARE: u32 = 1u32;
4260 pub const KSPROPERTY_PIN_FLAGS_MASK: u32 = 1u32;
4261 #[repr(C)]
4262 pub struct KSPROPERTY_POSITIONS {
4263     pub Current: i64,
4264     pub Stop: i64,
4265     pub CurrentFlags: KS_SEEKING_FLAGS,
4266     pub StopFlags: KS_SEEKING_FLAGS,
4267 }
4268 impl ::core::marker::Copy for KSPROPERTY_POSITIONS {}
4269 impl ::core::clone::Clone for KSPROPERTY_POSITIONS {
clone(&self) -> Self4270     fn clone(&self) -> Self {
4271         *self
4272     }
4273 }
4274 pub type KSPROPERTY_QUALITY = i32;
4275 pub const KSPROPERTY_QUALITY_REPORT: KSPROPERTY_QUALITY = 0i32;
4276 pub const KSPROPERTY_QUALITY_ERROR: KSPROPERTY_QUALITY = 1i32;
4277 pub type KSPROPERTY_RTAUDIO = i32;
4278 pub const KSPROPERTY_RTAUDIO_GETPOSITIONFUNCTION: KSPROPERTY_RTAUDIO = 0i32;
4279 pub const KSPROPERTY_RTAUDIO_BUFFER: KSPROPERTY_RTAUDIO = 1i32;
4280 pub const KSPROPERTY_RTAUDIO_HWLATENCY: KSPROPERTY_RTAUDIO = 2i32;
4281 pub const KSPROPERTY_RTAUDIO_POSITIONREGISTER: KSPROPERTY_RTAUDIO = 3i32;
4282 pub const KSPROPERTY_RTAUDIO_CLOCKREGISTER: KSPROPERTY_RTAUDIO = 4i32;
4283 pub const KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION: KSPROPERTY_RTAUDIO = 5i32;
4284 pub const KSPROPERTY_RTAUDIO_REGISTER_NOTIFICATION_EVENT: KSPROPERTY_RTAUDIO = 6i32;
4285 pub const KSPROPERTY_RTAUDIO_UNREGISTER_NOTIFICATION_EVENT: KSPROPERTY_RTAUDIO = 7i32;
4286 pub const KSPROPERTY_RTAUDIO_QUERY_NOTIFICATION_SUPPORT: KSPROPERTY_RTAUDIO = 8i32;
4287 pub const KSPROPERTY_RTAUDIO_PACKETCOUNT: KSPROPERTY_RTAUDIO = 9i32;
4288 pub const KSPROPERTY_RTAUDIO_PRESENTATION_POSITION: KSPROPERTY_RTAUDIO = 10i32;
4289 pub const KSPROPERTY_RTAUDIO_GETREADPACKET: KSPROPERTY_RTAUDIO = 11i32;
4290 pub const KSPROPERTY_RTAUDIO_SETWRITEPACKET: KSPROPERTY_RTAUDIO = 12i32;
4291 pub const KSPROPERTY_RTAUDIO_PACKETVREGISTER: KSPROPERTY_RTAUDIO = 13i32;
4292 #[repr(C)]
4293 pub struct KSPROPERTY_SELECTOR_NODE_S {
4294     pub NodeProperty: KSP_NODE,
4295     pub Value: i32,
4296     pub Flags: u32,
4297     pub Capabilities: u32,
4298 }
4299 impl ::core::marker::Copy for KSPROPERTY_SELECTOR_NODE_S {}
4300 impl ::core::clone::Clone for KSPROPERTY_SELECTOR_NODE_S {
clone(&self) -> Self4301     fn clone(&self) -> Self {
4302         *self
4303     }
4304 }
4305 #[repr(C)]
4306 pub struct KSPROPERTY_SELECTOR_S {
4307     pub Property: KSIDENTIFIER,
4308     pub Value: i32,
4309     pub Flags: u32,
4310     pub Capabilities: u32,
4311 }
4312 impl ::core::marker::Copy for KSPROPERTY_SELECTOR_S {}
4313 impl ::core::clone::Clone for KSPROPERTY_SELECTOR_S {
clone(&self) -> Self4314     fn clone(&self) -> Self {
4315         *self
4316     }
4317 }
4318 #[repr(C)]
4319 pub struct KSPROPERTY_SERIAL {
4320     pub PropTypeSet: KSIDENTIFIER,
4321     pub Id: u32,
4322     pub PropertyLength: u32,
4323 }
4324 impl ::core::marker::Copy for KSPROPERTY_SERIAL {}
4325 impl ::core::clone::Clone for KSPROPERTY_SERIAL {
clone(&self) -> Self4326     fn clone(&self) -> Self {
4327         *self
4328     }
4329 }
4330 #[repr(C, packed(1))]
4331 pub struct KSPROPERTY_SERIALHDR {
4332     pub PropertySet: ::windows_sys::core::GUID,
4333     pub Count: u32,
4334 }
4335 impl ::core::marker::Copy for KSPROPERTY_SERIALHDR {}
4336 impl ::core::clone::Clone for KSPROPERTY_SERIALHDR {
clone(&self) -> Self4337     fn clone(&self) -> Self {
4338         *self
4339     }
4340 }
4341 pub type KSPROPERTY_SOUNDDETECTOR = i32;
4342 pub const KSPROPERTY_SOUNDDETECTOR_SUPPORTEDPATTERNS: KSPROPERTY_SOUNDDETECTOR = 1i32;
4343 pub const KSPROPERTY_SOUNDDETECTOR_PATTERNS: KSPROPERTY_SOUNDDETECTOR = 2i32;
4344 pub const KSPROPERTY_SOUNDDETECTOR_ARMED: KSPROPERTY_SOUNDDETECTOR = 3i32;
4345 pub const KSPROPERTY_SOUNDDETECTOR_MATCHRESULT: KSPROPERTY_SOUNDDETECTOR = 4i32;
4346 pub const KSPROPERTY_SOUNDDETECTOR_RESET: KSPROPERTY_SOUNDDETECTOR = 5i32;
4347 pub const KSPROPERTY_SOUNDDETECTOR_STREAMINGSUPPORT: KSPROPERTY_SOUNDDETECTOR = 6i32;
4348 #[repr(C)]
4349 pub struct KSPROPERTY_SPHLI {
4350     pub HLISS: u16,
4351     pub Reserved: u16,
4352     pub StartPTM: u32,
4353     pub EndPTM: u32,
4354     pub StartX: u16,
4355     pub StartY: u16,
4356     pub StopX: u16,
4357     pub StopY: u16,
4358     pub ColCon: KS_COLCON,
4359 }
4360 impl ::core::marker::Copy for KSPROPERTY_SPHLI {}
4361 impl ::core::clone::Clone for KSPROPERTY_SPHLI {
clone(&self) -> Self4362     fn clone(&self) -> Self {
4363         *self
4364     }
4365 }
4366 #[repr(C)]
4367 pub struct KSPROPERTY_SPPAL {
4368     pub sppal: [KS_DVD_YUV; 16],
4369 }
4370 impl ::core::marker::Copy for KSPROPERTY_SPPAL {}
4371 impl ::core::clone::Clone for KSPROPERTY_SPPAL {
clone(&self) -> Self4372     fn clone(&self) -> Self {
4373         *self
4374     }
4375 }
4376 #[repr(C)]
4377 pub struct KSPROPERTY_STEPPING_LONG {
4378     pub SteppingDelta: u32,
4379     pub Reserved: u32,
4380     pub Bounds: KSPROPERTY_BOUNDS_LONG,
4381 }
4382 impl ::core::marker::Copy for KSPROPERTY_STEPPING_LONG {}
4383 impl ::core::clone::Clone for KSPROPERTY_STEPPING_LONG {
clone(&self) -> Self4384     fn clone(&self) -> Self {
4385         *self
4386     }
4387 }
4388 #[repr(C)]
4389 pub struct KSPROPERTY_STEPPING_LONGLONG {
4390     pub SteppingDelta: u64,
4391     pub Bounds: KSPROPERTY_BOUNDS_LONGLONG,
4392 }
4393 impl ::core::marker::Copy for KSPROPERTY_STEPPING_LONGLONG {}
4394 impl ::core::clone::Clone for KSPROPERTY_STEPPING_LONGLONG {
clone(&self) -> Self4395     fn clone(&self) -> Self {
4396         *self
4397     }
4398 }
4399 pub type KSPROPERTY_STREAM = i32;
4400 pub const KSPROPERTY_STREAM_ALLOCATOR: KSPROPERTY_STREAM = 0i32;
4401 pub const KSPROPERTY_STREAM_QUALITY: KSPROPERTY_STREAM = 1i32;
4402 pub const KSPROPERTY_STREAM_DEGRADATION: KSPROPERTY_STREAM = 2i32;
4403 pub const KSPROPERTY_STREAM_MASTERCLOCK: KSPROPERTY_STREAM = 3i32;
4404 pub const KSPROPERTY_STREAM_TIMEFORMAT: KSPROPERTY_STREAM = 4i32;
4405 pub const KSPROPERTY_STREAM_PRESENTATIONTIME: KSPROPERTY_STREAM = 5i32;
4406 pub const KSPROPERTY_STREAM_PRESENTATIONEXTENT: KSPROPERTY_STREAM = 6i32;
4407 pub const KSPROPERTY_STREAM_FRAMETIME: KSPROPERTY_STREAM = 7i32;
4408 pub const KSPROPERTY_STREAM_RATECAPABILITY: KSPROPERTY_STREAM = 8i32;
4409 pub const KSPROPERTY_STREAM_RATE: KSPROPERTY_STREAM = 9i32;
4410 pub const KSPROPERTY_STREAM_PIPE_ID: KSPROPERTY_STREAM = 10i32;
4411 pub type KSPROPERTY_STREAMINTERFACE = i32;
4412 pub const KSPROPERTY_STREAMINTERFACE_HEADERSIZE: KSPROPERTY_STREAMINTERFACE = 0i32;
4413 pub type KSPROPERTY_TELEPHONY_CONTROL = i32;
4414 pub const KSPROPERTY_TELEPHONY_PROVIDERID: KSPROPERTY_TELEPHONY_CONTROL = 0i32;
4415 pub const KSPROPERTY_TELEPHONY_CALLINFO: KSPROPERTY_TELEPHONY_CONTROL = 1i32;
4416 pub const KSPROPERTY_TELEPHONY_CALLCONTROL: KSPROPERTY_TELEPHONY_CONTROL = 2i32;
4417 pub const KSPROPERTY_TELEPHONY_PROVIDERCHANGE: KSPROPERTY_TELEPHONY_CONTROL = 3i32;
4418 pub const KSPROPERTY_TELEPHONY_CALLHOLD: KSPROPERTY_TELEPHONY_CONTROL = 4i32;
4419 pub const KSPROPERTY_TELEPHONY_MUTE_TX: KSPROPERTY_TELEPHONY_CONTROL = 5i32;
4420 pub type KSPROPERTY_TELEPHONY_TOPOLOGY = i32;
4421 pub const KSPROPERTY_TELEPHONY_ENDPOINTIDPAIR: KSPROPERTY_TELEPHONY_TOPOLOGY = 0i32;
4422 pub const KSPROPERTY_TELEPHONY_VOLUME: KSPROPERTY_TELEPHONY_TOPOLOGY = 1i32;
4423 pub type KSPROPERTY_TIMECODE = i32;
4424 pub const KSPROPERTY_TIMECODE_READER: KSPROPERTY_TIMECODE = 0i32;
4425 pub const KSPROPERTY_ATN_READER: KSPROPERTY_TIMECODE = 1i32;
4426 pub const KSPROPERTY_RTC_READER: KSPROPERTY_TIMECODE = 2i32;
4427 #[repr(C)]
4428 pub struct KSPROPERTY_TIMECODE_NODE_S {
4429     pub NodeProperty: KSP_NODE,
4430     pub TimecodeSamp: super::TIMECODE_SAMPLE,
4431 }
4432 impl ::core::marker::Copy for KSPROPERTY_TIMECODE_NODE_S {}
4433 impl ::core::clone::Clone for KSPROPERTY_TIMECODE_NODE_S {
clone(&self) -> Self4434     fn clone(&self) -> Self {
4435         *self
4436     }
4437 }
4438 #[repr(C)]
4439 pub struct KSPROPERTY_TIMECODE_S {
4440     pub Property: KSIDENTIFIER,
4441     pub TimecodeSamp: super::TIMECODE_SAMPLE,
4442 }
4443 impl ::core::marker::Copy for KSPROPERTY_TIMECODE_S {}
4444 impl ::core::clone::Clone for KSPROPERTY_TIMECODE_S {
clone(&self) -> Self4445     fn clone(&self) -> Self {
4446         *self
4447     }
4448 }
4449 pub type KSPROPERTY_TOPOLOGY = i32;
4450 pub const KSPROPERTY_TOPOLOGY_CATEGORIES: KSPROPERTY_TOPOLOGY = 0i32;
4451 pub const KSPROPERTY_TOPOLOGY_NODES: KSPROPERTY_TOPOLOGY = 1i32;
4452 pub const KSPROPERTY_TOPOLOGY_CONNECTIONS: KSPROPERTY_TOPOLOGY = 2i32;
4453 pub const KSPROPERTY_TOPOLOGY_NAME: KSPROPERTY_TOPOLOGY = 3i32;
4454 pub type KSPROPERTY_TOPOLOGYNODE = i32;
4455 pub const KSPROPERTY_TOPOLOGYNODE_ENABLE: KSPROPERTY_TOPOLOGYNODE = 1i32;
4456 pub const KSPROPERTY_TOPOLOGYNODE_RESET: KSPROPERTY_TOPOLOGYNODE = 2i32;
4457 pub type KSPROPERTY_TUNER = i32;
4458 pub const KSPROPERTY_TUNER_CAPS: KSPROPERTY_TUNER = 0i32;
4459 pub const KSPROPERTY_TUNER_MODE_CAPS: KSPROPERTY_TUNER = 1i32;
4460 pub const KSPROPERTY_TUNER_MODE: KSPROPERTY_TUNER = 2i32;
4461 pub const KSPROPERTY_TUNER_STANDARD: KSPROPERTY_TUNER = 3i32;
4462 pub const KSPROPERTY_TUNER_FREQUENCY: KSPROPERTY_TUNER = 4i32;
4463 pub const KSPROPERTY_TUNER_INPUT: KSPROPERTY_TUNER = 5i32;
4464 pub const KSPROPERTY_TUNER_STATUS: KSPROPERTY_TUNER = 6i32;
4465 pub const KSPROPERTY_TUNER_IF_MEDIUM: KSPROPERTY_TUNER = 7i32;
4466 pub const KSPROPERTY_TUNER_SCAN_CAPS: KSPROPERTY_TUNER = 8i32;
4467 pub const KSPROPERTY_TUNER_SCAN_STATUS: KSPROPERTY_TUNER = 9i32;
4468 pub const KSPROPERTY_TUNER_STANDARD_MODE: KSPROPERTY_TUNER = 10i32;
4469 pub const KSPROPERTY_TUNER_NETWORKTYPE_SCAN_CAPS: KSPROPERTY_TUNER = 11i32;
4470 #[repr(C)]
4471 pub struct KSPROPERTY_TUNER_CAPS_S {
4472     pub Property: KSIDENTIFIER,
4473     pub ModesSupported: u32,
4474     pub VideoMedium: KSIDENTIFIER,
4475     pub TVAudioMedium: KSIDENTIFIER,
4476     pub RadioAudioMedium: KSIDENTIFIER,
4477 }
4478 impl ::core::marker::Copy for KSPROPERTY_TUNER_CAPS_S {}
4479 impl ::core::clone::Clone for KSPROPERTY_TUNER_CAPS_S {
clone(&self) -> Self4480     fn clone(&self) -> Self {
4481         *self
4482     }
4483 }
4484 #[repr(C)]
4485 pub struct KSPROPERTY_TUNER_FREQUENCY_S {
4486     pub Property: KSIDENTIFIER,
4487     pub Frequency: u32,
4488     pub LastFrequency: u32,
4489     pub TuningFlags: u32,
4490     pub VideoSubChannel: u32,
4491     pub AudioSubChannel: u32,
4492     pub Channel: u32,
4493     pub Country: u32,
4494 }
4495 impl ::core::marker::Copy for KSPROPERTY_TUNER_FREQUENCY_S {}
4496 impl ::core::clone::Clone for KSPROPERTY_TUNER_FREQUENCY_S {
clone(&self) -> Self4497     fn clone(&self) -> Self {
4498         *self
4499     }
4500 }
4501 #[repr(C)]
4502 pub struct KSPROPERTY_TUNER_IF_MEDIUM_S {
4503     pub Property: KSIDENTIFIER,
4504     pub IFMedium: KSIDENTIFIER,
4505 }
4506 impl ::core::marker::Copy for KSPROPERTY_TUNER_IF_MEDIUM_S {}
4507 impl ::core::clone::Clone for KSPROPERTY_TUNER_IF_MEDIUM_S {
clone(&self) -> Self4508     fn clone(&self) -> Self {
4509         *self
4510     }
4511 }
4512 #[repr(C)]
4513 pub struct KSPROPERTY_TUNER_INPUT_S {
4514     pub Property: KSIDENTIFIER,
4515     pub InputIndex: u32,
4516 }
4517 impl ::core::marker::Copy for KSPROPERTY_TUNER_INPUT_S {}
4518 impl ::core::clone::Clone for KSPROPERTY_TUNER_INPUT_S {
clone(&self) -> Self4519     fn clone(&self) -> Self {
4520         *self
4521     }
4522 }
4523 pub type KSPROPERTY_TUNER_MODES = i32;
4524 pub const KSPROPERTY_TUNER_MODE_TV: KSPROPERTY_TUNER_MODES = 1i32;
4525 pub const KSPROPERTY_TUNER_MODE_FM_RADIO: KSPROPERTY_TUNER_MODES = 2i32;
4526 pub const KSPROPERTY_TUNER_MODE_AM_RADIO: KSPROPERTY_TUNER_MODES = 4i32;
4527 pub const KSPROPERTY_TUNER_MODE_DSS: KSPROPERTY_TUNER_MODES = 8i32;
4528 pub const KSPROPERTY_TUNER_MODE_ATSC: KSPROPERTY_TUNER_MODES = 16i32;
4529 #[repr(C)]
4530 pub struct KSPROPERTY_TUNER_MODE_CAPS_S {
4531     pub Property: KSIDENTIFIER,
4532     pub Mode: u32,
4533     pub StandardsSupported: u32,
4534     pub MinFrequency: u32,
4535     pub MaxFrequency: u32,
4536     pub TuningGranularity: u32,
4537     pub NumberOfInputs: u32,
4538     pub SettlingTime: u32,
4539     pub Strategy: u32,
4540 }
4541 impl ::core::marker::Copy for KSPROPERTY_TUNER_MODE_CAPS_S {}
4542 impl ::core::clone::Clone for KSPROPERTY_TUNER_MODE_CAPS_S {
clone(&self) -> Self4543     fn clone(&self) -> Self {
4544         *self
4545     }
4546 }
4547 #[repr(C)]
4548 pub struct KSPROPERTY_TUNER_MODE_S {
4549     pub Property: KSIDENTIFIER,
4550     pub Mode: u32,
4551 }
4552 impl ::core::marker::Copy for KSPROPERTY_TUNER_MODE_S {}
4553 impl ::core::clone::Clone for KSPROPERTY_TUNER_MODE_S {
clone(&self) -> Self4554     fn clone(&self) -> Self {
4555         *self
4556     }
4557 }
4558 #[repr(C)]
4559 pub struct KSPROPERTY_TUNER_NETWORKTYPE_SCAN_CAPS_S {
4560     pub Property: KSIDENTIFIER,
4561     pub NetworkType: ::windows_sys::core::GUID,
4562     pub BufferSize: u32,
4563     pub NetworkTunerCapabilities: *mut ::core::ffi::c_void,
4564 }
4565 impl ::core::marker::Copy for KSPROPERTY_TUNER_NETWORKTYPE_SCAN_CAPS_S {}
4566 impl ::core::clone::Clone for KSPROPERTY_TUNER_NETWORKTYPE_SCAN_CAPS_S {
clone(&self) -> Self4567     fn clone(&self) -> Self {
4568         *self
4569     }
4570 }
4571 #[repr(C)]
4572 #[cfg(feature = "Win32_Foundation")]
4573 pub struct KSPROPERTY_TUNER_SCAN_CAPS_S {
4574     pub Property: KSIDENTIFIER,
4575     pub fSupportsHardwareAssistedScanning: super::super::Foundation::BOOL,
4576     pub SupportedBroadcastStandards: u32,
4577     pub GUIDBucket: *mut ::core::ffi::c_void,
4578     pub lengthofBucket: u32,
4579 }
4580 #[cfg(feature = "Win32_Foundation")]
4581 impl ::core::marker::Copy for KSPROPERTY_TUNER_SCAN_CAPS_S {}
4582 #[cfg(feature = "Win32_Foundation")]
4583 impl ::core::clone::Clone for KSPROPERTY_TUNER_SCAN_CAPS_S {
clone(&self) -> Self4584     fn clone(&self) -> Self {
4585         *self
4586     }
4587 }
4588 #[repr(C)]
4589 pub struct KSPROPERTY_TUNER_SCAN_STATUS_S {
4590     pub Property: KSIDENTIFIER,
4591     pub LockStatus: _TunerDecoderLockType,
4592     pub CurrentFrequency: u32,
4593 }
4594 impl ::core::marker::Copy for KSPROPERTY_TUNER_SCAN_STATUS_S {}
4595 impl ::core::clone::Clone for KSPROPERTY_TUNER_SCAN_STATUS_S {
clone(&self) -> Self4596     fn clone(&self) -> Self {
4597         *self
4598     }
4599 }
4600 #[repr(C)]
4601 #[cfg(feature = "Win32_Foundation")]
4602 pub struct KSPROPERTY_TUNER_STANDARD_MODE_S {
4603     pub Property: KSIDENTIFIER,
4604     pub AutoDetect: super::super::Foundation::BOOL,
4605 }
4606 #[cfg(feature = "Win32_Foundation")]
4607 impl ::core::marker::Copy for KSPROPERTY_TUNER_STANDARD_MODE_S {}
4608 #[cfg(feature = "Win32_Foundation")]
4609 impl ::core::clone::Clone for KSPROPERTY_TUNER_STANDARD_MODE_S {
clone(&self) -> Self4610     fn clone(&self) -> Self {
4611         *self
4612     }
4613 }
4614 #[repr(C)]
4615 pub struct KSPROPERTY_TUNER_STANDARD_S {
4616     pub Property: KSIDENTIFIER,
4617     pub Standard: u32,
4618 }
4619 impl ::core::marker::Copy for KSPROPERTY_TUNER_STANDARD_S {}
4620 impl ::core::clone::Clone for KSPROPERTY_TUNER_STANDARD_S {
clone(&self) -> Self4621     fn clone(&self) -> Self {
4622         *self
4623     }
4624 }
4625 #[repr(C)]
4626 pub struct KSPROPERTY_TUNER_STATUS_S {
4627     pub Property: KSIDENTIFIER,
4628     pub CurrentFrequency: u32,
4629     pub PLLOffset: u32,
4630     pub SignalStrength: u32,
4631     pub Busy: u32,
4632 }
4633 impl ::core::marker::Copy for KSPROPERTY_TUNER_STATUS_S {}
4634 impl ::core::clone::Clone for KSPROPERTY_TUNER_STATUS_S {
clone(&self) -> Self4635     fn clone(&self) -> Self {
4636         *self
4637     }
4638 }
4639 #[repr(C)]
4640 pub struct KSPROPERTY_TVAUDIO_CAPS_S {
4641     pub Property: KSIDENTIFIER,
4642     pub Capabilities: u32,
4643     pub InputMedium: KSIDENTIFIER,
4644     pub OutputMedium: KSIDENTIFIER,
4645 }
4646 impl ::core::marker::Copy for KSPROPERTY_TVAUDIO_CAPS_S {}
4647 impl ::core::clone::Clone for KSPROPERTY_TVAUDIO_CAPS_S {
clone(&self) -> Self4648     fn clone(&self) -> Self {
4649         *self
4650     }
4651 }
4652 #[repr(C)]
4653 pub struct KSPROPERTY_TVAUDIO_S {
4654     pub Property: KSIDENTIFIER,
4655     pub Mode: u32,
4656 }
4657 impl ::core::marker::Copy for KSPROPERTY_TVAUDIO_S {}
4658 impl ::core::clone::Clone for KSPROPERTY_TVAUDIO_S {
clone(&self) -> Self4659     fn clone(&self) -> Self {
4660         *self
4661     }
4662 }
4663 pub const KSPROPERTY_TYPE_BASICSUPPORT: u32 = 512u32;
4664 pub const KSPROPERTY_TYPE_COPYPAYLOAD: u32 = 2147483648u32;
4665 pub const KSPROPERTY_TYPE_DEFAULTVALUES: u32 = 65536u32;
4666 pub const KSPROPERTY_TYPE_FSFILTERSCOPE: u32 = 1073741824u32;
4667 pub const KSPROPERTY_TYPE_GET: u32 = 1u32;
4668 pub const KSPROPERTY_TYPE_GETPAYLOADSIZE: u32 = 4u32;
4669 pub const KSPROPERTY_TYPE_HIGHPRIORITY: u32 = 134217728u32;
4670 pub const KSPROPERTY_TYPE_RELATIONS: u32 = 1024u32;
4671 pub const KSPROPERTY_TYPE_SERIALIZERAW: u32 = 8192u32;
4672 pub const KSPROPERTY_TYPE_SERIALIZESET: u32 = 2048u32;
4673 pub const KSPROPERTY_TYPE_SERIALIZESIZE: u32 = 32768u32;
4674 pub const KSPROPERTY_TYPE_SET: u32 = 2u32;
4675 pub const KSPROPERTY_TYPE_SETSUPPORT: u32 = 256u32;
4676 pub const KSPROPERTY_TYPE_TOPOLOGY: u32 = 268435456u32;
4677 pub const KSPROPERTY_TYPE_UNSERIALIZERAW: u32 = 16384u32;
4678 pub const KSPROPERTY_TYPE_UNSERIALIZESET: u32 = 4096u32;
4679 pub type KSPROPERTY_VBICAP = i32;
4680 pub const KSPROPERTY_VBICAP_PROPERTIES_PROTECTION: KSPROPERTY_VBICAP = 1i32;
4681 pub type KSPROPERTY_VBICODECFILTERING = i32;
4682 pub const KSPROPERTY_VBICODECFILTERING_SCANLINES_REQUESTED_BIT_ARRAY: KSPROPERTY_VBICODECFILTERING = 1i32;
4683 pub const KSPROPERTY_VBICODECFILTERING_SCANLINES_DISCOVERED_BIT_ARRAY: KSPROPERTY_VBICODECFILTERING = 2i32;
4684 pub const KSPROPERTY_VBICODECFILTERING_SUBSTREAMS_REQUESTED_BIT_ARRAY: KSPROPERTY_VBICODECFILTERING = 3i32;
4685 pub const KSPROPERTY_VBICODECFILTERING_SUBSTREAMS_DISCOVERED_BIT_ARRAY: KSPROPERTY_VBICODECFILTERING = 4i32;
4686 pub const KSPROPERTY_VBICODECFILTERING_STATISTICS: KSPROPERTY_VBICODECFILTERING = 5i32;
4687 #[repr(C)]
4688 pub struct KSPROPERTY_VBICODECFILTERING_CC_SUBSTREAMS_S {
4689     pub Property: KSIDENTIFIER,
4690     pub Substreams: VBICODECFILTERING_CC_SUBSTREAMS,
4691 }
4692 impl ::core::marker::Copy for KSPROPERTY_VBICODECFILTERING_CC_SUBSTREAMS_S {}
4693 impl ::core::clone::Clone for KSPROPERTY_VBICODECFILTERING_CC_SUBSTREAMS_S {
clone(&self) -> Self4694     fn clone(&self) -> Self {
4695         *self
4696     }
4697 }
4698 #[repr(C)]
4699 pub struct KSPROPERTY_VBICODECFILTERING_NABTS_SUBSTREAMS_S {
4700     pub Property: KSIDENTIFIER,
4701     pub Substreams: VBICODECFILTERING_NABTS_SUBSTREAMS,
4702 }
4703 impl ::core::marker::Copy for KSPROPERTY_VBICODECFILTERING_NABTS_SUBSTREAMS_S {}
4704 impl ::core::clone::Clone for KSPROPERTY_VBICODECFILTERING_NABTS_SUBSTREAMS_S {
clone(&self) -> Self4705     fn clone(&self) -> Self {
4706         *self
4707     }
4708 }
4709 #[repr(C)]
4710 pub struct KSPROPERTY_VBICODECFILTERING_SCANLINES_S {
4711     pub Property: KSIDENTIFIER,
4712     pub Scanlines: VBICODECFILTERING_SCANLINES,
4713 }
4714 impl ::core::marker::Copy for KSPROPERTY_VBICODECFILTERING_SCANLINES_S {}
4715 impl ::core::clone::Clone for KSPROPERTY_VBICODECFILTERING_SCANLINES_S {
clone(&self) -> Self4716     fn clone(&self) -> Self {
4717         *self
4718     }
4719 }
4720 #[repr(C)]
4721 pub struct KSPROPERTY_VBICODECFILTERING_STATISTICS_CC_PIN_S {
4722     pub Property: KSIDENTIFIER,
4723     pub Statistics: VBICODECFILTERING_STATISTICS_CC_PIN,
4724 }
4725 impl ::core::marker::Copy for KSPROPERTY_VBICODECFILTERING_STATISTICS_CC_PIN_S {}
4726 impl ::core::clone::Clone for KSPROPERTY_VBICODECFILTERING_STATISTICS_CC_PIN_S {
clone(&self) -> Self4727     fn clone(&self) -> Self {
4728         *self
4729     }
4730 }
4731 #[repr(C)]
4732 pub struct KSPROPERTY_VBICODECFILTERING_STATISTICS_CC_S {
4733     pub Property: KSIDENTIFIER,
4734     pub Statistics: VBICODECFILTERING_STATISTICS_CC,
4735 }
4736 impl ::core::marker::Copy for KSPROPERTY_VBICODECFILTERING_STATISTICS_CC_S {}
4737 impl ::core::clone::Clone for KSPROPERTY_VBICODECFILTERING_STATISTICS_CC_S {
clone(&self) -> Self4738     fn clone(&self) -> Self {
4739         *self
4740     }
4741 }
4742 #[repr(C)]
4743 pub struct KSPROPERTY_VBICODECFILTERING_STATISTICS_COMMON_PIN_S {
4744     pub Property: KSIDENTIFIER,
4745     pub Statistics: VBICODECFILTERING_STATISTICS_COMMON_PIN,
4746 }
4747 impl ::core::marker::Copy for KSPROPERTY_VBICODECFILTERING_STATISTICS_COMMON_PIN_S {}
4748 impl ::core::clone::Clone for KSPROPERTY_VBICODECFILTERING_STATISTICS_COMMON_PIN_S {
clone(&self) -> Self4749     fn clone(&self) -> Self {
4750         *self
4751     }
4752 }
4753 #[repr(C)]
4754 pub struct KSPROPERTY_VBICODECFILTERING_STATISTICS_COMMON_S {
4755     pub Property: KSIDENTIFIER,
4756     pub Statistics: VBICODECFILTERING_STATISTICS_COMMON,
4757 }
4758 impl ::core::marker::Copy for KSPROPERTY_VBICODECFILTERING_STATISTICS_COMMON_S {}
4759 impl ::core::clone::Clone for KSPROPERTY_VBICODECFILTERING_STATISTICS_COMMON_S {
clone(&self) -> Self4760     fn clone(&self) -> Self {
4761         *self
4762     }
4763 }
4764 #[repr(C)]
4765 pub struct KSPROPERTY_VBICODECFILTERING_STATISTICS_NABTS_PIN_S {
4766     pub Property: KSIDENTIFIER,
4767     pub Statistics: VBICODECFILTERING_STATISTICS_NABTS_PIN,
4768 }
4769 impl ::core::marker::Copy for KSPROPERTY_VBICODECFILTERING_STATISTICS_NABTS_PIN_S {}
4770 impl ::core::clone::Clone for KSPROPERTY_VBICODECFILTERING_STATISTICS_NABTS_PIN_S {
clone(&self) -> Self4771     fn clone(&self) -> Self {
4772         *self
4773     }
4774 }
4775 #[repr(C)]
4776 pub struct KSPROPERTY_VBICODECFILTERING_STATISTICS_NABTS_S {
4777     pub Property: KSIDENTIFIER,
4778     pub Statistics: VBICODECFILTERING_STATISTICS_NABTS,
4779 }
4780 impl ::core::marker::Copy for KSPROPERTY_VBICODECFILTERING_STATISTICS_NABTS_S {}
4781 impl ::core::clone::Clone for KSPROPERTY_VBICODECFILTERING_STATISTICS_NABTS_S {
clone(&self) -> Self4782     fn clone(&self) -> Self {
4783         *self
4784     }
4785 }
4786 pub type KSPROPERTY_VIDCAP_CAMERACONTROL = i32;
4787 pub const KSPROPERTY_CAMERACONTROL_PAN: KSPROPERTY_VIDCAP_CAMERACONTROL = 0i32;
4788 pub const KSPROPERTY_CAMERACONTROL_TILT: KSPROPERTY_VIDCAP_CAMERACONTROL = 1i32;
4789 pub const KSPROPERTY_CAMERACONTROL_ROLL: KSPROPERTY_VIDCAP_CAMERACONTROL = 2i32;
4790 pub const KSPROPERTY_CAMERACONTROL_ZOOM: KSPROPERTY_VIDCAP_CAMERACONTROL = 3i32;
4791 pub const KSPROPERTY_CAMERACONTROL_EXPOSURE: KSPROPERTY_VIDCAP_CAMERACONTROL = 4i32;
4792 pub const KSPROPERTY_CAMERACONTROL_IRIS: KSPROPERTY_VIDCAP_CAMERACONTROL = 5i32;
4793 pub const KSPROPERTY_CAMERACONTROL_FOCUS: KSPROPERTY_VIDCAP_CAMERACONTROL = 6i32;
4794 pub const KSPROPERTY_CAMERACONTROL_SCANMODE: KSPROPERTY_VIDCAP_CAMERACONTROL = 7i32;
4795 pub const KSPROPERTY_CAMERACONTROL_PRIVACY: KSPROPERTY_VIDCAP_CAMERACONTROL = 8i32;
4796 pub const KSPROPERTY_CAMERACONTROL_PANTILT: KSPROPERTY_VIDCAP_CAMERACONTROL = 9i32;
4797 pub const KSPROPERTY_CAMERACONTROL_PAN_RELATIVE: KSPROPERTY_VIDCAP_CAMERACONTROL = 10i32;
4798 pub const KSPROPERTY_CAMERACONTROL_TILT_RELATIVE: KSPROPERTY_VIDCAP_CAMERACONTROL = 11i32;
4799 pub const KSPROPERTY_CAMERACONTROL_ROLL_RELATIVE: KSPROPERTY_VIDCAP_CAMERACONTROL = 12i32;
4800 pub const KSPROPERTY_CAMERACONTROL_ZOOM_RELATIVE: KSPROPERTY_VIDCAP_CAMERACONTROL = 13i32;
4801 pub const KSPROPERTY_CAMERACONTROL_EXPOSURE_RELATIVE: KSPROPERTY_VIDCAP_CAMERACONTROL = 14i32;
4802 pub const KSPROPERTY_CAMERACONTROL_IRIS_RELATIVE: KSPROPERTY_VIDCAP_CAMERACONTROL = 15i32;
4803 pub const KSPROPERTY_CAMERACONTROL_FOCUS_RELATIVE: KSPROPERTY_VIDCAP_CAMERACONTROL = 16i32;
4804 pub const KSPROPERTY_CAMERACONTROL_PANTILT_RELATIVE: KSPROPERTY_VIDCAP_CAMERACONTROL = 17i32;
4805 pub const KSPROPERTY_CAMERACONTROL_FOCAL_LENGTH: KSPROPERTY_VIDCAP_CAMERACONTROL = 18i32;
4806 pub const KSPROPERTY_CAMERACONTROL_AUTO_EXPOSURE_PRIORITY: KSPROPERTY_VIDCAP_CAMERACONTROL = 19i32;
4807 pub type KSPROPERTY_VIDCAP_CROSSBAR = i32;
4808 pub const KSPROPERTY_CROSSBAR_CAPS: KSPROPERTY_VIDCAP_CROSSBAR = 0i32;
4809 pub const KSPROPERTY_CROSSBAR_PININFO: KSPROPERTY_VIDCAP_CROSSBAR = 1i32;
4810 pub const KSPROPERTY_CROSSBAR_CAN_ROUTE: KSPROPERTY_VIDCAP_CROSSBAR = 2i32;
4811 pub const KSPROPERTY_CROSSBAR_ROUTE: KSPROPERTY_VIDCAP_CROSSBAR = 3i32;
4812 pub const KSPROPERTY_CROSSBAR_INPUT_ACTIVE: KSPROPERTY_VIDCAP_CROSSBAR = 4i32;
4813 pub type KSPROPERTY_VIDCAP_DROPPEDFRAMES = i32;
4814 pub const KSPROPERTY_DROPPEDFRAMES_CURRENT: KSPROPERTY_VIDCAP_DROPPEDFRAMES = 0i32;
4815 pub type KSPROPERTY_VIDCAP_SELECTOR = i32;
4816 pub const KSPROPERTY_SELECTOR_SOURCE_NODE_ID: KSPROPERTY_VIDCAP_SELECTOR = 0i32;
4817 pub const KSPROPERTY_SELECTOR_NUM_SOURCES: KSPROPERTY_VIDCAP_SELECTOR = 1i32;
4818 pub type KSPROPERTY_VIDCAP_TVAUDIO = i32;
4819 pub const KSPROPERTY_TVAUDIO_CAPS: KSPROPERTY_VIDCAP_TVAUDIO = 0i32;
4820 pub const KSPROPERTY_TVAUDIO_MODE: KSPROPERTY_VIDCAP_TVAUDIO = 1i32;
4821 pub const KSPROPERTY_TVAUDIO_CURRENTLY_AVAILABLE_MODES: KSPROPERTY_VIDCAP_TVAUDIO = 2i32;
4822 pub type KSPROPERTY_VIDCAP_VIDEOCOMPRESSION = i32;
4823 pub const KSPROPERTY_VIDEOCOMPRESSION_GETINFO: KSPROPERTY_VIDCAP_VIDEOCOMPRESSION = 0i32;
4824 pub const KSPROPERTY_VIDEOCOMPRESSION_KEYFRAME_RATE: KSPROPERTY_VIDCAP_VIDEOCOMPRESSION = 1i32;
4825 pub const KSPROPERTY_VIDEOCOMPRESSION_PFRAMES_PER_KEYFRAME: KSPROPERTY_VIDCAP_VIDEOCOMPRESSION = 2i32;
4826 pub const KSPROPERTY_VIDEOCOMPRESSION_QUALITY: KSPROPERTY_VIDCAP_VIDEOCOMPRESSION = 3i32;
4827 pub const KSPROPERTY_VIDEOCOMPRESSION_OVERRIDE_KEYFRAME: KSPROPERTY_VIDCAP_VIDEOCOMPRESSION = 4i32;
4828 pub const KSPROPERTY_VIDEOCOMPRESSION_OVERRIDE_FRAME_SIZE: KSPROPERTY_VIDCAP_VIDEOCOMPRESSION = 5i32;
4829 pub const KSPROPERTY_VIDEOCOMPRESSION_WINDOWSIZE: KSPROPERTY_VIDCAP_VIDEOCOMPRESSION = 6i32;
4830 pub type KSPROPERTY_VIDCAP_VIDEOCONTROL = i32;
4831 pub const KSPROPERTY_VIDEOCONTROL_CAPS: KSPROPERTY_VIDCAP_VIDEOCONTROL = 0i32;
4832 pub const KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE: KSPROPERTY_VIDCAP_VIDEOCONTROL = 1i32;
4833 pub const KSPROPERTY_VIDEOCONTROL_FRAME_RATES: KSPROPERTY_VIDCAP_VIDEOCONTROL = 2i32;
4834 pub const KSPROPERTY_VIDEOCONTROL_MODE: KSPROPERTY_VIDCAP_VIDEOCONTROL = 3i32;
4835 pub type KSPROPERTY_VIDCAP_VIDEODECODER = i32;
4836 pub const KSPROPERTY_VIDEODECODER_CAPS: KSPROPERTY_VIDCAP_VIDEODECODER = 0i32;
4837 pub const KSPROPERTY_VIDEODECODER_STANDARD: KSPROPERTY_VIDCAP_VIDEODECODER = 1i32;
4838 pub const KSPROPERTY_VIDEODECODER_STATUS: KSPROPERTY_VIDCAP_VIDEODECODER = 2i32;
4839 pub const KSPROPERTY_VIDEODECODER_OUTPUT_ENABLE: KSPROPERTY_VIDCAP_VIDEODECODER = 3i32;
4840 pub const KSPROPERTY_VIDEODECODER_VCR_TIMING: KSPROPERTY_VIDCAP_VIDEODECODER = 4i32;
4841 pub const KSPROPERTY_VIDEODECODER_STATUS2: KSPROPERTY_VIDCAP_VIDEODECODER = 5i32;
4842 pub type KSPROPERTY_VIDCAP_VIDEOENCODER = i32;
4843 pub const KSPROPERTY_VIDEOENCODER_CAPS: KSPROPERTY_VIDCAP_VIDEOENCODER = 0i32;
4844 pub const KSPROPERTY_VIDEOENCODER_STANDARD: KSPROPERTY_VIDCAP_VIDEOENCODER = 1i32;
4845 pub const KSPROPERTY_VIDEOENCODER_COPYPROTECTION: KSPROPERTY_VIDCAP_VIDEOENCODER = 2i32;
4846 pub const KSPROPERTY_VIDEOENCODER_CC_ENABLE: KSPROPERTY_VIDCAP_VIDEOENCODER = 3i32;
4847 pub type KSPROPERTY_VIDCAP_VIDEOPROCAMP = i32;
4848 pub const KSPROPERTY_VIDEOPROCAMP_BRIGHTNESS: KSPROPERTY_VIDCAP_VIDEOPROCAMP = 0i32;
4849 pub const KSPROPERTY_VIDEOPROCAMP_CONTRAST: KSPROPERTY_VIDCAP_VIDEOPROCAMP = 1i32;
4850 pub const KSPROPERTY_VIDEOPROCAMP_HUE: KSPROPERTY_VIDCAP_VIDEOPROCAMP = 2i32;
4851 pub const KSPROPERTY_VIDEOPROCAMP_SATURATION: KSPROPERTY_VIDCAP_VIDEOPROCAMP = 3i32;
4852 pub const KSPROPERTY_VIDEOPROCAMP_SHARPNESS: KSPROPERTY_VIDCAP_VIDEOPROCAMP = 4i32;
4853 pub const KSPROPERTY_VIDEOPROCAMP_GAMMA: KSPROPERTY_VIDCAP_VIDEOPROCAMP = 5i32;
4854 pub const KSPROPERTY_VIDEOPROCAMP_COLORENABLE: KSPROPERTY_VIDCAP_VIDEOPROCAMP = 6i32;
4855 pub const KSPROPERTY_VIDEOPROCAMP_WHITEBALANCE: KSPROPERTY_VIDCAP_VIDEOPROCAMP = 7i32;
4856 pub const KSPROPERTY_VIDEOPROCAMP_BACKLIGHT_COMPENSATION: KSPROPERTY_VIDCAP_VIDEOPROCAMP = 8i32;
4857 pub const KSPROPERTY_VIDEOPROCAMP_GAIN: KSPROPERTY_VIDCAP_VIDEOPROCAMP = 9i32;
4858 pub const KSPROPERTY_VIDEOPROCAMP_DIGITAL_MULTIPLIER: KSPROPERTY_VIDCAP_VIDEOPROCAMP = 10i32;
4859 pub const KSPROPERTY_VIDEOPROCAMP_DIGITAL_MULTIPLIER_LIMIT: KSPROPERTY_VIDCAP_VIDEOPROCAMP = 11i32;
4860 pub const KSPROPERTY_VIDEOPROCAMP_WHITEBALANCE_COMPONENT: KSPROPERTY_VIDCAP_VIDEOPROCAMP = 12i32;
4861 pub const KSPROPERTY_VIDEOPROCAMP_POWERLINE_FREQUENCY: KSPROPERTY_VIDCAP_VIDEOPROCAMP = 13i32;
4862 #[repr(C)]
4863 pub struct KSPROPERTY_VIDEOCOMPRESSION_GETINFO_S {
4864     pub Property: KSIDENTIFIER,
4865     pub StreamIndex: u32,
4866     pub DefaultKeyFrameRate: i32,
4867     pub DefaultPFrameRate: i32,
4868     pub DefaultQuality: i32,
4869     pub NumberOfQualitySettings: i32,
4870     pub Capabilities: i32,
4871 }
4872 impl ::core::marker::Copy for KSPROPERTY_VIDEOCOMPRESSION_GETINFO_S {}
4873 impl ::core::clone::Clone for KSPROPERTY_VIDEOCOMPRESSION_GETINFO_S {
clone(&self) -> Self4874     fn clone(&self) -> Self {
4875         *self
4876     }
4877 }
4878 #[repr(C)]
4879 pub struct KSPROPERTY_VIDEOCOMPRESSION_S {
4880     pub Property: KSIDENTIFIER,
4881     pub StreamIndex: u32,
4882     pub Value: i32,
4883 }
4884 impl ::core::marker::Copy for KSPROPERTY_VIDEOCOMPRESSION_S {}
4885 impl ::core::clone::Clone for KSPROPERTY_VIDEOCOMPRESSION_S {
clone(&self) -> Self4886     fn clone(&self) -> Self {
4887         *self
4888     }
4889 }
4890 #[repr(C)]
4891 pub struct KSPROPERTY_VIDEOCOMPRESSION_S1 {
4892     pub Property: KSIDENTIFIER,
4893     pub StreamIndex: u32,
4894     pub Value: i32,
4895     pub Flags: u32,
4896 }
4897 impl ::core::marker::Copy for KSPROPERTY_VIDEOCOMPRESSION_S1 {}
4898 impl ::core::clone::Clone for KSPROPERTY_VIDEOCOMPRESSION_S1 {
clone(&self) -> Self4899     fn clone(&self) -> Self {
4900         *self
4901     }
4902 }
4903 #[repr(C)]
4904 #[cfg(feature = "Win32_Foundation")]
4905 pub struct KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE_S {
4906     pub Property: KSIDENTIFIER,
4907     pub StreamIndex: u32,
4908     pub RangeIndex: u32,
4909     pub Dimensions: super::super::Foundation::SIZE,
4910     pub CurrentActualFrameRate: i64,
4911     pub CurrentMaxAvailableFrameRate: i64,
4912 }
4913 #[cfg(feature = "Win32_Foundation")]
4914 impl ::core::marker::Copy for KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE_S {}
4915 #[cfg(feature = "Win32_Foundation")]
4916 impl ::core::clone::Clone for KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE_S {
clone(&self) -> Self4917     fn clone(&self) -> Self {
4918         *self
4919     }
4920 }
4921 #[repr(C)]
4922 pub struct KSPROPERTY_VIDEOCONTROL_CAPS_S {
4923     pub Property: KSIDENTIFIER,
4924     pub StreamIndex: u32,
4925     pub VideoControlCaps: u32,
4926 }
4927 impl ::core::marker::Copy for KSPROPERTY_VIDEOCONTROL_CAPS_S {}
4928 impl ::core::clone::Clone for KSPROPERTY_VIDEOCONTROL_CAPS_S {
clone(&self) -> Self4929     fn clone(&self) -> Self {
4930         *self
4931     }
4932 }
4933 #[repr(C)]
4934 #[cfg(feature = "Win32_Foundation")]
4935 pub struct KSPROPERTY_VIDEOCONTROL_FRAME_RATES_S {
4936     pub Property: KSIDENTIFIER,
4937     pub StreamIndex: u32,
4938     pub RangeIndex: u32,
4939     pub Dimensions: super::super::Foundation::SIZE,
4940 }
4941 #[cfg(feature = "Win32_Foundation")]
4942 impl ::core::marker::Copy for KSPROPERTY_VIDEOCONTROL_FRAME_RATES_S {}
4943 #[cfg(feature = "Win32_Foundation")]
4944 impl ::core::clone::Clone for KSPROPERTY_VIDEOCONTROL_FRAME_RATES_S {
clone(&self) -> Self4945     fn clone(&self) -> Self {
4946         *self
4947     }
4948 }
4949 #[repr(C)]
4950 pub struct KSPROPERTY_VIDEOCONTROL_MODE_S {
4951     pub Property: KSIDENTIFIER,
4952     pub StreamIndex: u32,
4953     pub Mode: i32,
4954 }
4955 impl ::core::marker::Copy for KSPROPERTY_VIDEOCONTROL_MODE_S {}
4956 impl ::core::clone::Clone for KSPROPERTY_VIDEOCONTROL_MODE_S {
clone(&self) -> Self4957     fn clone(&self) -> Self {
4958         *self
4959     }
4960 }
4961 #[repr(C)]
4962 pub struct KSPROPERTY_VIDEODECODER_CAPS_S {
4963     pub Property: KSIDENTIFIER,
4964     pub StandardsSupported: u32,
4965     pub Capabilities: u32,
4966     pub SettlingTime: u32,
4967     pub HSyncPerVSync: u32,
4968 }
4969 impl ::core::marker::Copy for KSPROPERTY_VIDEODECODER_CAPS_S {}
4970 impl ::core::clone::Clone for KSPROPERTY_VIDEODECODER_CAPS_S {
clone(&self) -> Self4971     fn clone(&self) -> Self {
4972         *self
4973     }
4974 }
4975 #[repr(C)]
4976 pub struct KSPROPERTY_VIDEODECODER_S {
4977     pub Property: KSIDENTIFIER,
4978     pub Value: u32,
4979 }
4980 impl ::core::marker::Copy for KSPROPERTY_VIDEODECODER_S {}
4981 impl ::core::clone::Clone for KSPROPERTY_VIDEODECODER_S {
clone(&self) -> Self4982     fn clone(&self) -> Self {
4983         *self
4984     }
4985 }
4986 #[repr(C)]
4987 pub struct KSPROPERTY_VIDEODECODER_STATUS2_S {
4988     pub Property: KSIDENTIFIER,
4989     pub NumberOfLines: u32,
4990     pub SignalLocked: u32,
4991     pub ChromaLock: u32,
4992 }
4993 impl ::core::marker::Copy for KSPROPERTY_VIDEODECODER_STATUS2_S {}
4994 impl ::core::clone::Clone for KSPROPERTY_VIDEODECODER_STATUS2_S {
clone(&self) -> Self4995     fn clone(&self) -> Self {
4996         *self
4997     }
4998 }
4999 #[repr(C)]
5000 pub struct KSPROPERTY_VIDEODECODER_STATUS_S {
5001     pub Property: KSIDENTIFIER,
5002     pub NumberOfLines: u32,
5003     pub SignalLocked: u32,
5004 }
5005 impl ::core::marker::Copy for KSPROPERTY_VIDEODECODER_STATUS_S {}
5006 impl ::core::clone::Clone for KSPROPERTY_VIDEODECODER_STATUS_S {
clone(&self) -> Self5007     fn clone(&self) -> Self {
5008         *self
5009     }
5010 }
5011 #[repr(C)]
5012 pub struct KSPROPERTY_VIDEOENCODER_S {
5013     pub Property: KSIDENTIFIER,
5014     pub Value: i32,
5015     pub Flags: u32,
5016     pub Capabilities: u32,
5017 }
5018 impl ::core::marker::Copy for KSPROPERTY_VIDEOENCODER_S {}
5019 impl ::core::clone::Clone for KSPROPERTY_VIDEOENCODER_S {
clone(&self) -> Self5020     fn clone(&self) -> Self {
5021         *self
5022     }
5023 }
5024 pub const KSPROPERTY_VIDEOPROCAMP_FLAGS_AUTO: i32 = 1i32;
5025 pub const KSPROPERTY_VIDEOPROCAMP_FLAGS_MANUAL: i32 = 2i32;
5026 #[repr(C)]
5027 pub struct KSPROPERTY_VIDEOPROCAMP_NODE_S {
5028     pub NodeProperty: KSP_NODE,
5029     pub Value: i32,
5030     pub Flags: u32,
5031     pub Capabilities: u32,
5032 }
5033 impl ::core::marker::Copy for KSPROPERTY_VIDEOPROCAMP_NODE_S {}
5034 impl ::core::clone::Clone for KSPROPERTY_VIDEOPROCAMP_NODE_S {
clone(&self) -> Self5035     fn clone(&self) -> Self {
5036         *self
5037     }
5038 }
5039 #[repr(C)]
5040 pub struct KSPROPERTY_VIDEOPROCAMP_NODE_S2 {
5041     pub NodeProperty: KSP_NODE,
5042     pub Value1: i32,
5043     pub Flags: u32,
5044     pub Capabilities: u32,
5045     pub Value2: i32,
5046 }
5047 impl ::core::marker::Copy for KSPROPERTY_VIDEOPROCAMP_NODE_S2 {}
5048 impl ::core::clone::Clone for KSPROPERTY_VIDEOPROCAMP_NODE_S2 {
clone(&self) -> Self5049     fn clone(&self) -> Self {
5050         *self
5051     }
5052 }
5053 #[repr(C)]
5054 pub struct KSPROPERTY_VIDEOPROCAMP_S {
5055     pub Property: KSIDENTIFIER,
5056     pub Value: i32,
5057     pub Flags: u32,
5058     pub Capabilities: u32,
5059 }
5060 impl ::core::marker::Copy for KSPROPERTY_VIDEOPROCAMP_S {}
5061 impl ::core::clone::Clone for KSPROPERTY_VIDEOPROCAMP_S {
clone(&self) -> Self5062     fn clone(&self) -> Self {
5063         *self
5064     }
5065 }
5066 #[repr(C)]
5067 pub struct KSPROPERTY_VIDEOPROCAMP_S2 {
5068     pub Property: KSIDENTIFIER,
5069     pub Value1: i32,
5070     pub Flags: u32,
5071     pub Capabilities: u32,
5072     pub Value2: i32,
5073 }
5074 impl ::core::marker::Copy for KSPROPERTY_VIDEOPROCAMP_S2 {}
5075 impl ::core::clone::Clone for KSPROPERTY_VIDEOPROCAMP_S2 {
clone(&self) -> Self5076     fn clone(&self) -> Self {
5077         *self
5078     }
5079 }
5080 pub type KSPROPERTY_VIDMEM_TRANSPORT = i32;
5081 pub const KSPROPERTY_DISPLAY_ADAPTER_GUID: KSPROPERTY_VIDMEM_TRANSPORT = 1i32;
5082 pub const KSPROPERTY_PREFERRED_CAPTURE_SURFACE: KSPROPERTY_VIDMEM_TRANSPORT = 2i32;
5083 pub const KSPROPERTY_CURRENT_CAPTURE_SURFACE: KSPROPERTY_VIDMEM_TRANSPORT = 3i32;
5084 pub const KSPROPERTY_MAP_CAPTURE_HANDLE_TO_VRAM_ADDRESS: KSPROPERTY_VIDMEM_TRANSPORT = 4i32;
5085 pub type KSPROPERTY_VPCONFIG = i32;
5086 pub const KSPROPERTY_VPCONFIG_NUMCONNECTINFO: KSPROPERTY_VPCONFIG = 0i32;
5087 pub const KSPROPERTY_VPCONFIG_GETCONNECTINFO: KSPROPERTY_VPCONFIG = 1i32;
5088 pub const KSPROPERTY_VPCONFIG_SETCONNECTINFO: KSPROPERTY_VPCONFIG = 2i32;
5089 pub const KSPROPERTY_VPCONFIG_VPDATAINFO: KSPROPERTY_VPCONFIG = 3i32;
5090 pub const KSPROPERTY_VPCONFIG_MAXPIXELRATE: KSPROPERTY_VPCONFIG = 4i32;
5091 pub const KSPROPERTY_VPCONFIG_INFORMVPINPUT: KSPROPERTY_VPCONFIG = 5i32;
5092 pub const KSPROPERTY_VPCONFIG_NUMVIDEOFORMAT: KSPROPERTY_VPCONFIG = 6i32;
5093 pub const KSPROPERTY_VPCONFIG_GETVIDEOFORMAT: KSPROPERTY_VPCONFIG = 7i32;
5094 pub const KSPROPERTY_VPCONFIG_SETVIDEOFORMAT: KSPROPERTY_VPCONFIG = 8i32;
5095 pub const KSPROPERTY_VPCONFIG_INVERTPOLARITY: KSPROPERTY_VPCONFIG = 9i32;
5096 pub const KSPROPERTY_VPCONFIG_DECIMATIONCAPABILITY: KSPROPERTY_VPCONFIG = 10i32;
5097 pub const KSPROPERTY_VPCONFIG_SCALEFACTOR: KSPROPERTY_VPCONFIG = 11i32;
5098 pub const KSPROPERTY_VPCONFIG_DDRAWHANDLE: KSPROPERTY_VPCONFIG = 12i32;
5099 pub const KSPROPERTY_VPCONFIG_VIDEOPORTID: KSPROPERTY_VPCONFIG = 13i32;
5100 pub const KSPROPERTY_VPCONFIG_DDRAWSURFACEHANDLE: KSPROPERTY_VPCONFIG = 14i32;
5101 pub const KSPROPERTY_VPCONFIG_SURFACEPARAMS: KSPROPERTY_VPCONFIG = 15i32;
5102 pub type KSPROPERTY_WAVE = i32;
5103 pub const KSPROPERTY_WAVE_COMPATIBLE_CAPABILITIES: KSPROPERTY_WAVE = 0i32;
5104 pub const KSPROPERTY_WAVE_INPUT_CAPABILITIES: KSPROPERTY_WAVE = 1i32;
5105 pub const KSPROPERTY_WAVE_OUTPUT_CAPABILITIES: KSPROPERTY_WAVE = 2i32;
5106 pub const KSPROPERTY_WAVE_BUFFER: KSPROPERTY_WAVE = 3i32;
5107 pub const KSPROPERTY_WAVE_FREQUENCY: KSPROPERTY_WAVE = 4i32;
5108 pub const KSPROPERTY_WAVE_VOLUME: KSPROPERTY_WAVE = 5i32;
5109 pub const KSPROPERTY_WAVE_PAN: KSPROPERTY_WAVE = 6i32;
5110 pub const KSPROPERTY_WAVE_QUEUED_POSITION: u32 = 1u32;
5111 pub const KSPROPSETID_AC3: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3215714080, data2: 28191, data3: 4560, data4: [188, 242, 68, 69, 83, 84, 0, 0] };
5112 pub const KSPROPSETID_Audio: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1174383264, data2: 28187, data3: 4560, data4: [188, 242, 68, 69, 83, 84, 0, 0] };
5113 pub const KSPROPSETID_AudioBufferDuration: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1316208767, data2: 9164, data3: 18773, data4: [167, 234, 61, 165, 2, 73, 98, 144] };
5114 pub const KSPROPSETID_AudioDecoderOut: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1822875680, data2: 17341, data3: 4560, data4: [189, 106, 0, 53, 5, 193, 3, 169] };
5115 pub const KSPROPSETID_AudioEngine: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 976192220, data2: 34927, data3: 19370, data4: [158, 180, 8, 43, 144, 37, 197, 54] };
5116 pub const KSPROPSETID_AudioModule: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
5117     data1: 3224698288,
5118     data2: 65397,
5119     data3: 18376,
5120     data4: [170, 60, 238, 70, 113, 107, 80, 198],
5121 };
5122 pub const KSPROPSETID_AudioPosture: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
5123     data1: 2751167245,
5124     data2: 18254,
5125     data3: 20305,
5126     data4: [163, 121, 81, 40, 45, 212, 250, 143],
5127 };
5128 pub const KSPROPSETID_AudioResourceManagement: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
5129     data1: 3501393377,
5130     data2: 45772,
5131     data3: 18508,
5132     data4: [143, 35, 229, 210, 138, 217, 207, 136],
5133 };
5134 pub const KSPROPSETID_AudioSignalProcessing: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
5135     data1: 1332196648,
5136     data2: 12489,
5137     data3: 16606,
5138     data4: [178, 251, 133, 157, 221, 31, 52, 112],
5139 };
5140 pub const KSPROPSETID_Bibliographic: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 129635598, data2: 58033, data3: 4560, data4: [172, 23, 0, 160, 201, 34, 49, 150] };
5141 pub const KSPROPSETID_BtAudio: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2141219904, data2: 47350, data3: 19582, data4: [133, 86, 232, 195, 58, 18, 229, 77] };
5142 pub const KSPROPSETID_Clock: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3742540992, data2: 44055, data3: 4559, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
5143 pub const KSPROPSETID_Connection: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 492357920, data2: 44187, data3: 4559, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
5144 pub const KSPROPSETID_CopyProt: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 243927616, data2: 27375, data3: 4560, data4: [158, 208, 0, 160, 36, 202, 25, 179] };
5145 pub const KSPROPSETID_Cyclic: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1073655456, data2: 11246, data3: 4559, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
5146 pub const KSPROPSETID_DirectSound3DBuffer: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1132147729, data2: 53344, data3: 4560, data4: [133, 131, 0, 192, 79, 217, 186, 243] };
5147 pub const KSPROPSETID_DirectSound3DListener: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1132147732, data2: 53344, data3: 4560, data4: [133, 131, 0, 192, 79, 217, 186, 243] };
5148 pub const KSPROPSETID_DrmAudioStream: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 791449053, data2: 16792, data3: 20396, data4: [186, 41, 97, 187, 5, 183, 222, 6] };
5149 pub const KSPROPSETID_DvdSubPic: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2889417824, data2: 17327, data3: 4560, data4: [189, 106, 0, 53, 5, 193, 3, 169] };
5150 pub const KSPROPSETID_FMRXControl: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2491136570, data2: 59630, data3: 18310, data4: [144, 196, 132, 40, 24, 95, 5, 190] };
5151 pub const KSPROPSETID_FMRXTopology: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 205966991, data2: 56365, data3: 16900, data4: [157, 201, 245, 137, 99, 54, 101, 99] };
5152 pub const KSPROPSETID_General: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 342158757, data2: 27279, data3: 4561, data4: [154, 167, 0, 160, 201, 34, 49, 150] };
5153 pub const KSPROPSETID_Hrtf3d: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3060657328, data2: 41091, data3: 4560, data4: [133, 30, 0, 192, 79, 217, 186, 243] };
5154 pub const KSPROPSETID_InterleavedAudio: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3924550992, data2: 54809, data3: 19466, data4: [151, 107, 112, 98, 50, 43, 48, 6] };
5155 pub const KSPROPSETID_Itd3d: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1680470160, data2: 40921, data3: 4560, data4: [167, 91, 0, 160, 201, 3, 101, 227] };
5156 pub const KSPROPSETID_Jack: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
5157     data1: 1158281047,
5158     data2: 11590,
5159     data3: 17975,
5160     data4: [142, 98, 206, 125, 185, 68, 245, 123],
5161 };
5162 pub const KSPROPSETID_MPEG4_MediaType_Attributes: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4285287418, data2: 1961, data3: 19579, data4: [162, 55, 103, 47, 157, 104, 6, 95] };
5163 pub const KSPROPSETID_MediaSeeking: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4002434828, data2: 53403, data3: 4560, data4: [171, 233, 0, 160, 201, 34, 49, 150] };
5164 pub const KSPROPSETID_MemoryTransport: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 171777117, data2: 21059, data3: 18457, data4: [158, 208, 174, 232, 4, 76, 238, 43] };
5165 pub const KSPROPSETID_Mpeg2Vid: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3370195808, data2: 3273, data3: 4560, data4: [189, 105, 0, 53, 5, 193, 3, 169] };
5166 pub const KSPROPSETID_OverlayUpdate: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1225696719, data2: 30337, data3: 4561, data4: [162, 28, 0, 160, 201, 34, 49, 150] };
5167 pub const KSPROPSETID_Pin: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2350074208, data2: 20909, data3: 4559, data4: [135, 138, 148, 248, 1, 193, 0, 0] };
5168 pub const KSPROPSETID_PinMDLCacheClearProp: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3178334843, data2: 38908, data3: 16583, data4: [136, 206, 211, 255, 6, 245, 91, 22] };
5169 pub const KSPROPSETID_Quality: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3513439104, data2: 44058, data3: 4559, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
5170 pub const KSPROPSETID_RtAudio: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
5171     data1: 2824184972,
5172     data2: 12152,
5173     data3: 18217,
5174     data4: [144, 81, 25, 104, 116, 107, 158, 239],
5175 };
5176 pub const KSPROPSETID_SoundDetector: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
5177     data1: 289161822,
5178     data2: 64791,
5179     data3: 16471,
5180     data4: [180, 34, 237, 64, 116, 241, 175, 223],
5181 };
5182 pub const KSPROPSETID_SoundDetector2: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
5183     data1: 4261929762,
5184     data2: 17676,
5185     data3: 19413,
5186     data4: [132, 202, 169, 72, 80, 14, 166, 170],
5187 };
5188 pub const KSPROPSETID_Stream: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1705687648, data2: 39086, data3: 4559, data4: [161, 13, 0, 32, 175, 209, 86, 228] };
5189 pub const KSPROPSETID_StreamAllocator: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3480109890, data2: 60551, data3: 4559, data4: [161, 48, 0, 32, 175, 209, 86, 228] };
5190 pub const KSPROPSETID_StreamInterface: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 534613729, data2: 40147, data3: 4560, data4: [130, 170, 0, 0, 248, 34, 254, 138] };
5191 pub const KSPROPSETID_TSRateChange: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2768487872, data2: 7453, data3: 4561, data4: [173, 128, 68, 69, 83, 84, 0, 0] };
5192 pub const KSPROPSETID_TelephonyControl: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
5193     data1: 3068100273,
5194     data2: 53401,
5195     data3: 18591,
5196     data4: [166, 160, 192, 16, 111, 8, 135, 167],
5197 };
5198 pub const KSPROPSETID_TelephonyTopology: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
5199     data1: 2884787326,
5200     data2: 3684,
5201     data3: 20018,
5202     data4: [177, 144, 208, 246, 215, 197, 62, 151],
5203 };
5204 pub const KSPROPSETID_Topology: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1913473728, data2: 30003, data3: 4560, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
5205 pub const KSPROPSETID_TopologyNode: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1174383265, data2: 28187, data3: 4560, data4: [188, 242, 68, 69, 83, 84, 0, 0] };
5206 pub const KSPROPSETID_VBICAP_PROPERTIES: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4049782279, data2: 31541, data3: 18799, data4: [173, 127, 45, 202, 59, 70, 183, 24] };
5207 pub const KSPROPSETID_VBICodecFiltering: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3405689034, data2: 34581, data3: 4560, data4: [189, 106, 0, 53, 192, 237, 186, 190] };
5208 pub const KSPROPSETID_VPConfig: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3156846176, data2: 12515, data3: 4560, data4: [158, 105, 0, 192, 79, 215, 193, 91] };
5209 pub const KSPROPSETID_VPVBIConfig: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3964836608, data2: 6687, data3: 4561, data4: [186, 217, 0, 96, 151, 68, 17, 26] };
5210 pub const KSPROPSETID_VramCapture: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
5211     data1: 3879709923,
5212     data2: 10368,
5213     data3: 18690,
5214     data4: [183, 153, 136, 208, 205, 99, 78, 15],
5215 };
5216 pub const KSPROPSETID_Wave: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2454607024, data2: 25359, data3: 4559, data4: [173, 167, 8, 0, 62, 48, 73, 74] };
5217 pub const KSPROPTYPESETID_General: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2548669344, data2: 48618, data3: 4559, data4: [165, 214, 40, 219, 4, 193, 0, 0] };
5218 #[repr(C)]
5219 pub struct KSP_NODE {
5220     pub Property: KSIDENTIFIER,
5221     pub NodeId: u32,
5222     pub Reserved: u32,
5223 }
5224 impl ::core::marker::Copy for KSP_NODE {}
5225 impl ::core::clone::Clone for KSP_NODE {
clone(&self) -> Self5226     fn clone(&self) -> Self {
5227         *self
5228     }
5229 }
5230 #[repr(C)]
5231 pub struct KSP_PIN {
5232     pub Property: KSIDENTIFIER,
5233     pub PinId: u32,
5234     pub Anonymous: KSP_PIN_0,
5235 }
5236 impl ::core::marker::Copy for KSP_PIN {}
5237 impl ::core::clone::Clone for KSP_PIN {
clone(&self) -> Self5238     fn clone(&self) -> Self {
5239         *self
5240     }
5241 }
5242 #[repr(C)]
5243 pub union KSP_PIN_0 {
5244     pub Reserved: u32,
5245     pub Flags: u32,
5246 }
5247 impl ::core::marker::Copy for KSP_PIN_0 {}
5248 impl ::core::clone::Clone for KSP_PIN_0 {
clone(&self) -> Self5249     fn clone(&self) -> Self {
5250         *self
5251     }
5252 }
5253 #[repr(C)]
5254 pub struct KSP_TIMEFORMAT {
5255     pub Property: KSIDENTIFIER,
5256     pub SourceFormat: ::windows_sys::core::GUID,
5257     pub TargetFormat: ::windows_sys::core::GUID,
5258     pub Time: i64,
5259 }
5260 impl ::core::marker::Copy for KSP_TIMEFORMAT {}
5261 impl ::core::clone::Clone for KSP_TIMEFORMAT {
clone(&self) -> Self5262     fn clone(&self) -> Self {
5263         *self
5264     }
5265 }
5266 #[repr(C)]
5267 pub struct KSQUALITY {
5268     pub Context: *mut ::core::ffi::c_void,
5269     pub Proportion: u32,
5270     pub DeltaTime: i64,
5271 }
5272 impl ::core::marker::Copy for KSQUALITY {}
5273 impl ::core::clone::Clone for KSQUALITY {
clone(&self) -> Self5274     fn clone(&self) -> Self {
5275         *self
5276     }
5277 }
5278 #[repr(C)]
5279 #[cfg(feature = "Win32_Foundation")]
5280 pub struct KSQUALITY_MANAGER {
5281     pub QualityManager: super::super::Foundation::HANDLE,
5282     pub Context: *mut ::core::ffi::c_void,
5283 }
5284 #[cfg(feature = "Win32_Foundation")]
5285 impl ::core::marker::Copy for KSQUALITY_MANAGER {}
5286 #[cfg(feature = "Win32_Foundation")]
5287 impl ::core::clone::Clone for KSQUALITY_MANAGER {
clone(&self) -> Self5288     fn clone(&self) -> Self {
5289         *self
5290     }
5291 }
5292 #[repr(C)]
5293 #[cfg(feature = "Win32_Foundation")]
5294 pub struct KSQUERYBUFFER {
5295     pub Event: KSIDENTIFIER,
5296     pub EventData: *mut KSEVENTDATA,
5297     pub Reserved: *mut ::core::ffi::c_void,
5298 }
5299 #[cfg(feature = "Win32_Foundation")]
5300 impl ::core::marker::Copy for KSQUERYBUFFER {}
5301 #[cfg(feature = "Win32_Foundation")]
5302 impl ::core::clone::Clone for KSQUERYBUFFER {
clone(&self) -> Self5303     fn clone(&self) -> Self {
5304         *self
5305     }
5306 }
5307 #[repr(C)]
5308 pub struct KSRATE {
5309     pub PresentationStart: i64,
5310     pub Duration: i64,
5311     pub Interface: KSIDENTIFIER,
5312     pub Rate: i32,
5313     pub Flags: u32,
5314 }
5315 impl ::core::marker::Copy for KSRATE {}
5316 impl ::core::clone::Clone for KSRATE {
clone(&self) -> Self5317     fn clone(&self) -> Self {
5318         *self
5319     }
5320 }
5321 #[repr(C)]
5322 pub struct KSRATE_CAPABILITY {
5323     pub Property: KSIDENTIFIER,
5324     pub Rate: KSRATE,
5325 }
5326 impl ::core::marker::Copy for KSRATE_CAPABILITY {}
5327 impl ::core::clone::Clone for KSRATE_CAPABILITY {
clone(&self) -> Self5328     fn clone(&self) -> Self {
5329         *self
5330     }
5331 }
5332 pub const KSRATE_NOPRESENTATIONDURATION: u32 = 2u32;
5333 pub const KSRATE_NOPRESENTATIONSTART: u32 = 1u32;
5334 #[repr(C)]
5335 #[cfg(feature = "Win32_Foundation")]
5336 pub struct KSRELATIVEEVENT {
5337     pub Size: u32,
5338     pub Flags: u32,
5339     pub Anonymous: KSRELATIVEEVENT_0,
5340     pub Reserved: *mut ::core::ffi::c_void,
5341     pub Event: KSIDENTIFIER,
5342     pub EventData: KSEVENTDATA,
5343 }
5344 #[cfg(feature = "Win32_Foundation")]
5345 impl ::core::marker::Copy for KSRELATIVEEVENT {}
5346 #[cfg(feature = "Win32_Foundation")]
5347 impl ::core::clone::Clone for KSRELATIVEEVENT {
clone(&self) -> Self5348     fn clone(&self) -> Self {
5349         *self
5350     }
5351 }
5352 #[repr(C)]
5353 #[cfg(feature = "Win32_Foundation")]
5354 pub union KSRELATIVEEVENT_0 {
5355     pub ObjectHandle: super::super::Foundation::HANDLE,
5356     pub ObjectPointer: *mut ::core::ffi::c_void,
5357 }
5358 #[cfg(feature = "Win32_Foundation")]
5359 impl ::core::marker::Copy for KSRELATIVEEVENT_0 {}
5360 #[cfg(feature = "Win32_Foundation")]
5361 impl ::core::clone::Clone for KSRELATIVEEVENT_0 {
clone(&self) -> Self5362     fn clone(&self) -> Self {
5363         *self
5364     }
5365 }
5366 pub const KSRELATIVEEVENT_FLAG_HANDLE: u32 = 1u32;
5367 pub const KSRELATIVEEVENT_FLAG_POINTER: u32 = 2u32;
5368 pub type KSRESET = i32;
5369 pub const KSRESET_BEGIN: KSRESET = 0i32;
5370 pub const KSRESET_END: KSRESET = 1i32;
5371 #[repr(C)]
5372 pub struct KSRESOLUTION {
5373     pub Granularity: i64,
5374     pub Error: i64,
5375 }
5376 impl ::core::marker::Copy for KSRESOLUTION {}
5377 impl ::core::clone::Clone for KSRESOLUTION {
clone(&self) -> Self5378     fn clone(&self) -> Self {
5379         *self
5380     }
5381 }
5382 #[repr(C)]
5383 #[cfg(feature = "Win32_Foundation")]
5384 pub struct KSRTAUDIO_BUFFER {
5385     pub BufferAddress: *mut ::core::ffi::c_void,
5386     pub ActualBufferSize: u32,
5387     pub CallMemoryBarrier: super::super::Foundation::BOOL,
5388 }
5389 #[cfg(feature = "Win32_Foundation")]
5390 impl ::core::marker::Copy for KSRTAUDIO_BUFFER {}
5391 #[cfg(feature = "Win32_Foundation")]
5392 impl ::core::clone::Clone for KSRTAUDIO_BUFFER {
clone(&self) -> Self5393     fn clone(&self) -> Self {
5394         *self
5395     }
5396 }
5397 #[repr(C)]
5398 #[cfg(feature = "Win32_Foundation")]
5399 pub struct KSRTAUDIO_BUFFER32 {
5400     pub BufferAddress: u32,
5401     pub ActualBufferSize: u32,
5402     pub CallMemoryBarrier: super::super::Foundation::BOOL,
5403 }
5404 #[cfg(feature = "Win32_Foundation")]
5405 impl ::core::marker::Copy for KSRTAUDIO_BUFFER32 {}
5406 #[cfg(feature = "Win32_Foundation")]
5407 impl ::core::clone::Clone for KSRTAUDIO_BUFFER32 {
clone(&self) -> Self5408     fn clone(&self) -> Self {
5409         *self
5410     }
5411 }
5412 #[repr(C)]
5413 pub struct KSRTAUDIO_BUFFER_PROPERTY {
5414     pub Property: KSIDENTIFIER,
5415     pub BaseAddress: *mut ::core::ffi::c_void,
5416     pub RequestedBufferSize: u32,
5417 }
5418 impl ::core::marker::Copy for KSRTAUDIO_BUFFER_PROPERTY {}
5419 impl ::core::clone::Clone for KSRTAUDIO_BUFFER_PROPERTY {
clone(&self) -> Self5420     fn clone(&self) -> Self {
5421         *self
5422     }
5423 }
5424 #[repr(C)]
5425 pub struct KSRTAUDIO_BUFFER_PROPERTY32 {
5426     pub Property: KSIDENTIFIER,
5427     pub BaseAddress: u32,
5428     pub RequestedBufferSize: u32,
5429 }
5430 impl ::core::marker::Copy for KSRTAUDIO_BUFFER_PROPERTY32 {}
5431 impl ::core::clone::Clone for KSRTAUDIO_BUFFER_PROPERTY32 {
clone(&self) -> Self5432     fn clone(&self) -> Self {
5433         *self
5434     }
5435 }
5436 #[repr(C)]
5437 pub struct KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION {
5438     pub Property: KSIDENTIFIER,
5439     pub BaseAddress: *mut ::core::ffi::c_void,
5440     pub RequestedBufferSize: u32,
5441     pub NotificationCount: u32,
5442 }
5443 impl ::core::marker::Copy for KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION {}
5444 impl ::core::clone::Clone for KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION {
clone(&self) -> Self5445     fn clone(&self) -> Self {
5446         *self
5447     }
5448 }
5449 #[repr(C)]
5450 pub struct KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION32 {
5451     pub Property: KSIDENTIFIER,
5452     pub BaseAddress: u32,
5453     pub RequestedBufferSize: u32,
5454     pub NotificationCount: u32,
5455 }
5456 impl ::core::marker::Copy for KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION32 {}
5457 impl ::core::clone::Clone for KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION32 {
clone(&self) -> Self5458     fn clone(&self) -> Self {
5459         *self
5460     }
5461 }
5462 #[repr(C)]
5463 #[cfg(feature = "Win32_Foundation")]
5464 pub struct KSRTAUDIO_GETREADPACKET_INFO {
5465     pub PacketNumber: u32,
5466     pub Flags: u32,
5467     pub PerformanceCounterValue: u64,
5468     pub MoreData: super::super::Foundation::BOOL,
5469 }
5470 #[cfg(feature = "Win32_Foundation")]
5471 impl ::core::marker::Copy for KSRTAUDIO_GETREADPACKET_INFO {}
5472 #[cfg(feature = "Win32_Foundation")]
5473 impl ::core::clone::Clone for KSRTAUDIO_GETREADPACKET_INFO {
clone(&self) -> Self5474     fn clone(&self) -> Self {
5475         *self
5476     }
5477 }
5478 #[repr(C)]
5479 pub struct KSRTAUDIO_HWLATENCY {
5480     pub FifoSize: u32,
5481     pub ChipsetDelay: u32,
5482     pub CodecDelay: u32,
5483 }
5484 impl ::core::marker::Copy for KSRTAUDIO_HWLATENCY {}
5485 impl ::core::clone::Clone for KSRTAUDIO_HWLATENCY {
clone(&self) -> Self5486     fn clone(&self) -> Self {
5487         *self
5488     }
5489 }
5490 #[repr(C)]
5491 pub struct KSRTAUDIO_HWREGISTER {
5492     pub Register: *mut ::core::ffi::c_void,
5493     pub Width: u32,
5494     pub Numerator: u64,
5495     pub Denominator: u64,
5496     pub Accuracy: u32,
5497 }
5498 impl ::core::marker::Copy for KSRTAUDIO_HWREGISTER {}
5499 impl ::core::clone::Clone for KSRTAUDIO_HWREGISTER {
clone(&self) -> Self5500     fn clone(&self) -> Self {
5501         *self
5502     }
5503 }
5504 #[repr(C)]
5505 pub struct KSRTAUDIO_HWREGISTER32 {
5506     pub Register: u32,
5507     pub Width: u32,
5508     pub Numerator: u64,
5509     pub Denominator: u64,
5510     pub Accuracy: u32,
5511 }
5512 impl ::core::marker::Copy for KSRTAUDIO_HWREGISTER32 {}
5513 impl ::core::clone::Clone for KSRTAUDIO_HWREGISTER32 {
clone(&self) -> Self5514     fn clone(&self) -> Self {
5515         *self
5516     }
5517 }
5518 #[repr(C)]
5519 pub struct KSRTAUDIO_HWREGISTER_PROPERTY {
5520     pub Property: KSIDENTIFIER,
5521     pub BaseAddress: *mut ::core::ffi::c_void,
5522 }
5523 impl ::core::marker::Copy for KSRTAUDIO_HWREGISTER_PROPERTY {}
5524 impl ::core::clone::Clone for KSRTAUDIO_HWREGISTER_PROPERTY {
clone(&self) -> Self5525     fn clone(&self) -> Self {
5526         *self
5527     }
5528 }
5529 #[repr(C)]
5530 pub struct KSRTAUDIO_HWREGISTER_PROPERTY32 {
5531     pub Property: KSIDENTIFIER,
5532     pub BaseAddress: u32,
5533 }
5534 impl ::core::marker::Copy for KSRTAUDIO_HWREGISTER_PROPERTY32 {}
5535 impl ::core::clone::Clone for KSRTAUDIO_HWREGISTER_PROPERTY32 {
clone(&self) -> Self5536     fn clone(&self) -> Self {
5537         *self
5538     }
5539 }
5540 #[repr(C)]
5541 #[cfg(feature = "Win32_Foundation")]
5542 pub struct KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY {
5543     pub Property: KSIDENTIFIER,
5544     pub NotificationEvent: super::super::Foundation::HANDLE,
5545 }
5546 #[cfg(feature = "Win32_Foundation")]
5547 impl ::core::marker::Copy for KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY {}
5548 #[cfg(feature = "Win32_Foundation")]
5549 impl ::core::clone::Clone for KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY {
clone(&self) -> Self5550     fn clone(&self) -> Self {
5551         *self
5552     }
5553 }
5554 #[repr(C)]
5555 pub struct KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY32 {
5556     pub Property: KSIDENTIFIER,
5557     pub NotificationEvent: u32,
5558 }
5559 impl ::core::marker::Copy for KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY32 {}
5560 impl ::core::clone::Clone for KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY32 {
clone(&self) -> Self5561     fn clone(&self) -> Self {
5562         *self
5563     }
5564 }
5565 #[repr(C)]
5566 pub struct KSRTAUDIO_PACKETVREGISTER {
5567     pub CompletedPacketCount: *mut u64,
5568     pub CompletedPacketQPC: *mut u64,
5569     pub CompletedPacketHash: *mut u64,
5570 }
5571 impl ::core::marker::Copy for KSRTAUDIO_PACKETVREGISTER {}
5572 impl ::core::clone::Clone for KSRTAUDIO_PACKETVREGISTER {
clone(&self) -> Self5573     fn clone(&self) -> Self {
5574         *self
5575     }
5576 }
5577 #[repr(C)]
5578 pub struct KSRTAUDIO_PACKETVREGISTER_PROPERTY {
5579     pub Property: KSIDENTIFIER,
5580     pub BaseAddress: *mut ::core::ffi::c_void,
5581 }
5582 impl ::core::marker::Copy for KSRTAUDIO_PACKETVREGISTER_PROPERTY {}
5583 impl ::core::clone::Clone for KSRTAUDIO_PACKETVREGISTER_PROPERTY {
clone(&self) -> Self5584     fn clone(&self) -> Self {
5585         *self
5586     }
5587 }
5588 #[repr(C)]
5589 pub struct KSRTAUDIO_SETWRITEPACKET_INFO {
5590     pub PacketNumber: u32,
5591     pub Flags: u32,
5592     pub EosPacketLength: u32,
5593 }
5594 impl ::core::marker::Copy for KSRTAUDIO_SETWRITEPACKET_INFO {}
5595 impl ::core::clone::Clone for KSRTAUDIO_SETWRITEPACKET_INFO {
clone(&self) -> Self5596     fn clone(&self) -> Self {
5597         *self
5598     }
5599 }
5600 #[repr(C)]
5601 pub struct KSSOUNDDETECTORPROPERTY {
5602     pub Property: KSIDENTIFIER,
5603     pub EventId: ::windows_sys::core::GUID,
5604 }
5605 impl ::core::marker::Copy for KSSOUNDDETECTORPROPERTY {}
5606 impl ::core::clone::Clone for KSSOUNDDETECTORPROPERTY {
clone(&self) -> Self5607     fn clone(&self) -> Self {
5608         *self
5609     }
5610 }
5611 pub type KSSTATE = i32;
5612 pub const KSSTATE_STOP: KSSTATE = 0i32;
5613 pub const KSSTATE_ACQUIRE: KSSTATE = 1i32;
5614 pub const KSSTATE_PAUSE: KSSTATE = 2i32;
5615 pub const KSSTATE_RUN: KSSTATE = 3i32;
5616 #[repr(C)]
5617 pub struct KSSTREAMALLOCATOR_STATUS {
5618     pub Framing: KSALLOCATOR_FRAMING,
5619     pub AllocatedFrames: u32,
5620     pub Reserved: u32,
5621 }
5622 impl ::core::marker::Copy for KSSTREAMALLOCATOR_STATUS {}
5623 impl ::core::clone::Clone for KSSTREAMALLOCATOR_STATUS {
clone(&self) -> Self5624     fn clone(&self) -> Self {
5625         *self
5626     }
5627 }
5628 #[repr(C)]
5629 pub struct KSSTREAMALLOCATOR_STATUS_EX {
5630     pub Framing: KSALLOCATOR_FRAMING_EX,
5631     pub AllocatedFrames: u32,
5632     pub Reserved: u32,
5633 }
5634 impl ::core::marker::Copy for KSSTREAMALLOCATOR_STATUS_EX {}
5635 impl ::core::clone::Clone for KSSTREAMALLOCATOR_STATUS_EX {
clone(&self) -> Self5636     fn clone(&self) -> Self {
5637         *self
5638     }
5639 }
5640 pub const KSSTREAM_FAILUREEXCEPTION: u32 = 8192u32;
5641 #[repr(C)]
5642 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
5643 pub struct KSSTREAM_HEADER {
5644     pub Size: u32,
5645     pub TypeSpecificFlags: u32,
5646     pub PresentationTime: KSTIME,
5647     pub Duration: i64,
5648     pub FrameExtent: u32,
5649     pub DataUsed: u32,
5650     pub Data: *mut ::core::ffi::c_void,
5651     pub OptionsFlags: u32,
5652     pub Reserved: u32,
5653 }
5654 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
5655 impl ::core::marker::Copy for KSSTREAM_HEADER {}
5656 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
5657 impl ::core::clone::Clone for KSSTREAM_HEADER {
clone(&self) -> Self5658     fn clone(&self) -> Self {
5659         *self
5660     }
5661 }
5662 #[repr(C)]
5663 #[cfg(any(target_arch = "x86",))]
5664 pub struct KSSTREAM_HEADER {
5665     pub Size: u32,
5666     pub TypeSpecificFlags: u32,
5667     pub PresentationTime: KSTIME,
5668     pub Duration: i64,
5669     pub FrameExtent: u32,
5670     pub DataUsed: u32,
5671     pub Data: *mut ::core::ffi::c_void,
5672     pub OptionsFlags: u32,
5673 }
5674 #[cfg(any(target_arch = "x86",))]
5675 impl ::core::marker::Copy for KSSTREAM_HEADER {}
5676 #[cfg(any(target_arch = "x86",))]
5677 impl ::core::clone::Clone for KSSTREAM_HEADER {
clone(&self) -> Self5678     fn clone(&self) -> Self {
5679         *self
5680     }
5681 }
5682 pub const KSSTREAM_HEADER_OPTIONSF_BUFFEREDTRANSFER: u32 = 1024u32;
5683 pub const KSSTREAM_HEADER_OPTIONSF_DATADISCONTINUITY: u32 = 4u32;
5684 pub const KSSTREAM_HEADER_OPTIONSF_DURATIONVALID: u32 = 256u32;
5685 pub const KSSTREAM_HEADER_OPTIONSF_ENDOFPHOTOSEQUENCE: u32 = 8192u32;
5686 pub const KSSTREAM_HEADER_OPTIONSF_ENDOFSTREAM: u32 = 512u32;
5687 pub const KSSTREAM_HEADER_OPTIONSF_FLUSHONPAUSE: u32 = 128u32;
5688 pub const KSSTREAM_HEADER_OPTIONSF_FRAMEINFO: u32 = 16384u32;
5689 pub const KSSTREAM_HEADER_OPTIONSF_LOOPEDDATA: u32 = 2147483648u32;
5690 pub const KSSTREAM_HEADER_OPTIONSF_METADATA: u32 = 4096u32;
5691 pub const KSSTREAM_HEADER_OPTIONSF_PERSIST_SAMPLE: u32 = 32768u32;
5692 pub const KSSTREAM_HEADER_OPTIONSF_PREROLL: u32 = 2u32;
5693 pub const KSSTREAM_HEADER_OPTIONSF_SAMPLE_PERSISTED: u32 = 65536u32;
5694 pub const KSSTREAM_HEADER_OPTIONSF_SECUREBUFFERTRANSFER: u32 = 262144u32;
5695 pub const KSSTREAM_HEADER_OPTIONSF_SPLICEPOINT: u32 = 1u32;
5696 pub const KSSTREAM_HEADER_OPTIONSF_TIMEDISCONTINUITY: u32 = 64u32;
5697 pub const KSSTREAM_HEADER_OPTIONSF_TIMEVALID: u32 = 16u32;
5698 pub const KSSTREAM_HEADER_OPTIONSF_TYPECHANGED: u32 = 8u32;
5699 pub const KSSTREAM_HEADER_OPTIONSF_VRAM_DATA_TRANSFER: u32 = 2048u32;
5700 pub const KSSTREAM_HEADER_TRACK_COMPLETION_NUMBERS: u32 = 131072u32;
5701 #[repr(C)]
5702 pub struct KSSTREAM_METADATA_INFO {
5703     pub BufferSize: u32,
5704     pub UsedSize: u32,
5705     pub Data: *mut ::core::ffi::c_void,
5706     pub SystemVa: *mut ::core::ffi::c_void,
5707     pub Flags: u32,
5708     pub Reserved: u32,
5709 }
5710 impl ::core::marker::Copy for KSSTREAM_METADATA_INFO {}
5711 impl ::core::clone::Clone for KSSTREAM_METADATA_INFO {
clone(&self) -> Self5712     fn clone(&self) -> Self {
5713         *self
5714     }
5715 }
5716 pub const KSSTREAM_NONPAGED_DATA: u32 = 256u32;
5717 pub const KSSTREAM_PAGED_DATA: u32 = 0u32;
5718 pub const KSSTREAM_READ: u32 = 0u32;
5719 pub const KSSTREAM_SYNCHRONOUS: u32 = 4096u32;
5720 #[repr(C)]
5721 pub struct KSSTREAM_UVC_METADATA {
5722     pub StartOfFrameTimestamp: KSSTREAM_UVC_METADATATYPE_TIMESTAMP,
5723     pub EndOfFrameTimestamp: KSSTREAM_UVC_METADATATYPE_TIMESTAMP,
5724 }
5725 impl ::core::marker::Copy for KSSTREAM_UVC_METADATA {}
5726 impl ::core::clone::Clone for KSSTREAM_UVC_METADATA {
clone(&self) -> Self5727     fn clone(&self) -> Self {
5728         *self
5729     }
5730 }
5731 #[repr(C)]
5732 pub struct KSSTREAM_UVC_METADATATYPE_TIMESTAMP {
5733     pub PresentationTimeStamp: u32,
5734     pub SourceClockReference: u32,
5735     pub Anonymous: KSSTREAM_UVC_METADATATYPE_TIMESTAMP_0,
5736     pub Reserved0: u16,
5737     pub Reserved1: u32,
5738 }
5739 impl ::core::marker::Copy for KSSTREAM_UVC_METADATATYPE_TIMESTAMP {}
5740 impl ::core::clone::Clone for KSSTREAM_UVC_METADATATYPE_TIMESTAMP {
clone(&self) -> Self5741     fn clone(&self) -> Self {
5742         *self
5743     }
5744 }
5745 #[repr(C)]
5746 pub union KSSTREAM_UVC_METADATATYPE_TIMESTAMP_0 {
5747     pub Anonymous: KSSTREAM_UVC_METADATATYPE_TIMESTAMP_0_0,
5748     pub SCRToken: u16,
5749 }
5750 impl ::core::marker::Copy for KSSTREAM_UVC_METADATATYPE_TIMESTAMP_0 {}
5751 impl ::core::clone::Clone for KSSTREAM_UVC_METADATATYPE_TIMESTAMP_0 {
clone(&self) -> Self5752     fn clone(&self) -> Self {
5753         *self
5754     }
5755 }
5756 #[repr(C)]
5757 pub struct KSSTREAM_UVC_METADATATYPE_TIMESTAMP_0_0 {
5758     pub _bitfield: u16,
5759 }
5760 impl ::core::marker::Copy for KSSTREAM_UVC_METADATATYPE_TIMESTAMP_0_0 {}
5761 impl ::core::clone::Clone for KSSTREAM_UVC_METADATATYPE_TIMESTAMP_0_0 {
clone(&self) -> Self5762     fn clone(&self) -> Self {
5763         *self
5764     }
5765 }
5766 pub const KSSTREAM_UVC_SECURE_ATTRIBUTE_SIZE: u32 = 8192u32;
5767 pub const KSSTREAM_WRITE: u32 = 1u32;
5768 #[repr(C)]
5769 pub struct KSTELEPHONY_CALLCONTROL {
5770     pub CallType: TELEPHONY_CALLTYPE,
5771     pub CallControlOp: TELEPHONY_CALLCONTROLOP,
5772 }
5773 impl ::core::marker::Copy for KSTELEPHONY_CALLCONTROL {}
5774 impl ::core::clone::Clone for KSTELEPHONY_CALLCONTROL {
clone(&self) -> Self5775     fn clone(&self) -> Self {
5776         *self
5777     }
5778 }
5779 #[repr(C)]
5780 pub struct KSTELEPHONY_CALLINFO {
5781     pub CallType: TELEPHONY_CALLTYPE,
5782     pub CallState: TELEPHONY_CALLSTATE,
5783 }
5784 impl ::core::marker::Copy for KSTELEPHONY_CALLINFO {}
5785 impl ::core::clone::Clone for KSTELEPHONY_CALLINFO {
clone(&self) -> Self5786     fn clone(&self) -> Self {
5787         *self
5788     }
5789 }
5790 #[repr(C)]
5791 pub struct KSTELEPHONY_PROVIDERCHANGE {
5792     pub CallType: TELEPHONY_CALLTYPE,
5793     pub ProviderChangeOp: TELEPHONY_PROVIDERCHANGEOP,
5794 }
5795 impl ::core::marker::Copy for KSTELEPHONY_PROVIDERCHANGE {}
5796 impl ::core::clone::Clone for KSTELEPHONY_PROVIDERCHANGE {
clone(&self) -> Self5797     fn clone(&self) -> Self {
5798         *self
5799     }
5800 }
5801 #[repr(C)]
5802 pub struct KSTIME {
5803     pub Time: i64,
5804     pub Numerator: u32,
5805     pub Denominator: u32,
5806 }
5807 impl ::core::marker::Copy for KSTIME {}
5808 impl ::core::clone::Clone for KSTIME {
clone(&self) -> Self5809     fn clone(&self) -> Self {
5810         *self
5811     }
5812 }
5813 pub const KSTIME_FORMAT_BYTE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2071483761, data2: 35970, data3: 4559, data4: [188, 12, 0, 170, 0, 172, 116, 246] };
5814 pub const KSTIME_FORMAT_FIELD: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2071483763, data2: 35970, data3: 4559, data4: [188, 12, 0, 170, 0, 172, 116, 246] };
5815 pub const KSTIME_FORMAT_FRAME: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2071483760, data2: 35970, data3: 4559, data4: [188, 12, 0, 170, 0, 172, 116, 246] };
5816 pub const KSTIME_FORMAT_MEDIA_TIME: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2071483764, data2: 35970, data3: 4559, data4: [188, 12, 0, 170, 0, 172, 116, 246] };
5817 pub const KSTIME_FORMAT_SAMPLE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2071483762, data2: 35970, data3: 4559, data4: [188, 12, 0, 170, 0, 172, 116, 246] };
5818 #[repr(C)]
5819 pub struct KSTOPOLOGY {
5820     pub CategoriesCount: u32,
5821     pub Categories: *mut ::windows_sys::core::GUID,
5822     pub TopologyNodesCount: u32,
5823     pub TopologyNodes: *mut ::windows_sys::core::GUID,
5824     pub TopologyConnectionsCount: u32,
5825     pub TopologyConnections: *mut KSTOPOLOGY_CONNECTION,
5826     pub TopologyNodesNames: *mut ::windows_sys::core::GUID,
5827     pub Reserved: u32,
5828 }
5829 impl ::core::marker::Copy for KSTOPOLOGY {}
5830 impl ::core::clone::Clone for KSTOPOLOGY {
clone(&self) -> Self5831     fn clone(&self) -> Self {
5832         *self
5833     }
5834 }
5835 #[repr(C)]
5836 pub struct KSTOPOLOGY_CONNECTION {
5837     pub FromNode: u32,
5838     pub FromNodePin: u32,
5839     pub ToNode: u32,
5840     pub ToNodePin: u32,
5841 }
5842 impl ::core::marker::Copy for KSTOPOLOGY_CONNECTION {}
5843 impl ::core::clone::Clone for KSTOPOLOGY_CONNECTION {
clone(&self) -> Self5844     fn clone(&self) -> Self {
5845         *self
5846     }
5847 }
5848 #[repr(C)]
5849 pub struct KSTOPOLOGY_ENDPOINTID {
5850     pub TopologyName: [u16; 260],
5851     pub PinId: u32,
5852 }
5853 impl ::core::marker::Copy for KSTOPOLOGY_ENDPOINTID {}
5854 impl ::core::clone::Clone for KSTOPOLOGY_ENDPOINTID {
clone(&self) -> Self5855     fn clone(&self) -> Self {
5856         *self
5857     }
5858 }
5859 #[repr(C)]
5860 pub struct KSTOPOLOGY_ENDPOINTIDPAIR {
5861     pub RenderEndpoint: KSTOPOLOGY_ENDPOINTID,
5862     pub CaptureEndpoint: KSTOPOLOGY_ENDPOINTID,
5863 }
5864 impl ::core::marker::Copy for KSTOPOLOGY_ENDPOINTIDPAIR {}
5865 impl ::core::clone::Clone for KSTOPOLOGY_ENDPOINTIDPAIR {
clone(&self) -> Self5866     fn clone(&self) -> Self {
5867         *self
5868     }
5869 }
5870 #[repr(C)]
5871 pub struct KSVPMAXPIXELRATE {
5872     pub Size: KS_AMVPSIZE,
5873     pub MaxPixelsPerSecond: u32,
5874     pub Reserved: u32,
5875 }
5876 impl ::core::marker::Copy for KSVPMAXPIXELRATE {}
5877 impl ::core::clone::Clone for KSVPMAXPIXELRATE {
clone(&self) -> Self5878     fn clone(&self) -> Self {
5879         *self
5880     }
5881 }
5882 #[repr(C)]
5883 pub struct KSVPSIZE_PROP {
5884     pub Property: KSIDENTIFIER,
5885     pub Size: KS_AMVPSIZE,
5886 }
5887 impl ::core::marker::Copy for KSVPSIZE_PROP {}
5888 impl ::core::clone::Clone for KSVPSIZE_PROP {
clone(&self) -> Self5889     fn clone(&self) -> Self {
5890         *self
5891     }
5892 }
5893 #[repr(C)]
5894 pub struct KSVPSURFACEPARAMS {
5895     pub dwPitch: u32,
5896     pub dwXOrigin: u32,
5897     pub dwYOrigin: u32,
5898 }
5899 impl ::core::marker::Copy for KSVPSURFACEPARAMS {}
5900 impl ::core::clone::Clone for KSVPSURFACEPARAMS {
clone(&self) -> Self5901     fn clone(&self) -> Self {
5902         *self
5903     }
5904 }
5905 #[repr(C)]
5906 #[cfg(feature = "Win32_Foundation")]
5907 pub struct KSWAVETABLE_WAVE_DESC {
5908     pub Identifier: KSIDENTIFIER,
5909     pub Size: u32,
5910     pub Looped: super::super::Foundation::BOOL,
5911     pub LoopPoint: u32,
5912     pub InROM: super::super::Foundation::BOOL,
5913     pub Format: KSDATAFORMAT,
5914 }
5915 #[cfg(feature = "Win32_Foundation")]
5916 impl ::core::marker::Copy for KSWAVETABLE_WAVE_DESC {}
5917 #[cfg(feature = "Win32_Foundation")]
5918 impl ::core::clone::Clone for KSWAVETABLE_WAVE_DESC {
clone(&self) -> Self5919     fn clone(&self) -> Self {
5920         *self
5921     }
5922 }
5923 #[repr(C)]
5924 pub struct KSWAVE_BUFFER {
5925     pub Attributes: u32,
5926     pub BufferSize: u32,
5927     pub BufferAddress: *mut ::core::ffi::c_void,
5928 }
5929 impl ::core::marker::Copy for KSWAVE_BUFFER {}
5930 impl ::core::clone::Clone for KSWAVE_BUFFER {
clone(&self) -> Self5931     fn clone(&self) -> Self {
5932         *self
5933     }
5934 }
5935 pub const KSWAVE_BUFFER_ATTRIBUTEF_LOOPING: u32 = 1u32;
5936 pub const KSWAVE_BUFFER_ATTRIBUTEF_STATIC: u32 = 2u32;
5937 #[repr(C)]
5938 pub struct KSWAVE_COMPATCAPS {
5939     pub ulDeviceType: u32,
5940 }
5941 impl ::core::marker::Copy for KSWAVE_COMPATCAPS {}
5942 impl ::core::clone::Clone for KSWAVE_COMPATCAPS {
clone(&self) -> Self5943     fn clone(&self) -> Self {
5944         *self
5945     }
5946 }
5947 pub const KSWAVE_COMPATCAPS_INPUT: u32 = 0u32;
5948 pub const KSWAVE_COMPATCAPS_OUTPUT: u32 = 1u32;
5949 #[repr(C)]
5950 pub struct KSWAVE_INPUT_CAPABILITIES {
5951     pub MaximumChannelsPerConnection: u32,
5952     pub MinimumBitsPerSample: u32,
5953     pub MaximumBitsPerSample: u32,
5954     pub MinimumSampleFrequency: u32,
5955     pub MaximumSampleFrequency: u32,
5956     pub TotalConnections: u32,
5957     pub ActiveConnections: u32,
5958 }
5959 impl ::core::marker::Copy for KSWAVE_INPUT_CAPABILITIES {}
5960 impl ::core::clone::Clone for KSWAVE_INPUT_CAPABILITIES {
clone(&self) -> Self5961     fn clone(&self) -> Self {
5962         *self
5963     }
5964 }
5965 #[repr(C)]
5966 pub struct KSWAVE_OUTPUT_CAPABILITIES {
5967     pub MaximumChannelsPerConnection: u32,
5968     pub MinimumBitsPerSample: u32,
5969     pub MaximumBitsPerSample: u32,
5970     pub MinimumSampleFrequency: u32,
5971     pub MaximumSampleFrequency: u32,
5972     pub TotalConnections: u32,
5973     pub StaticConnections: u32,
5974     pub StreamingConnections: u32,
5975     pub ActiveConnections: u32,
5976     pub ActiveStaticConnections: u32,
5977     pub ActiveStreamingConnections: u32,
5978     pub Total3DConnections: u32,
5979     pub Static3DConnections: u32,
5980     pub Streaming3DConnections: u32,
5981     pub Active3DConnections: u32,
5982     pub ActiveStatic3DConnections: u32,
5983     pub ActiveStreaming3DConnections: u32,
5984     pub TotalSampleMemory: u32,
5985     pub FreeSampleMemory: u32,
5986     pub LargestFreeContiguousSampleMemory: u32,
5987 }
5988 impl ::core::marker::Copy for KSWAVE_OUTPUT_CAPABILITIES {}
5989 impl ::core::clone::Clone for KSWAVE_OUTPUT_CAPABILITIES {
clone(&self) -> Self5990     fn clone(&self) -> Self {
5991         *self
5992     }
5993 }
5994 #[repr(C)]
5995 pub struct KSWAVE_VOLUME {
5996     pub LeftAttenuation: i32,
5997     pub RightAttenuation: i32,
5998 }
5999 impl ::core::marker::Copy for KSWAVE_VOLUME {}
6000 impl ::core::clone::Clone for KSWAVE_VOLUME {
clone(&self) -> Self6001     fn clone(&self) -> Self {
6002         *self
6003     }
6004 }
6005 pub const KS_AMCONTROL_COLORINFO_PRESENT: u32 = 128u32;
6006 pub const KS_AMCONTROL_PAD_TO_16x9: u32 = 4u32;
6007 pub const KS_AMCONTROL_PAD_TO_4x3: u32 = 2u32;
6008 pub const KS_AMCONTROL_USED: u32 = 1u32;
6009 pub type KS_AMPixAspectRatio = i32;
6010 pub const KS_PixAspectRatio_NTSC4x3: KS_AMPixAspectRatio = 0i32;
6011 pub const KS_PixAspectRatio_NTSC16x9: KS_AMPixAspectRatio = 1i32;
6012 pub const KS_PixAspectRatio_PAL4x3: KS_AMPixAspectRatio = 2i32;
6013 pub const KS_PixAspectRatio_PAL16x9: KS_AMPixAspectRatio = 3i32;
6014 #[repr(C)]
6015 #[cfg(feature = "Win32_Foundation")]
6016 pub struct KS_AMVPDATAINFO {
6017     pub dwSize: u32,
6018     pub dwMicrosecondsPerField: u32,
6019     pub amvpDimInfo: KS_AMVPDIMINFO,
6020     pub dwPictAspectRatioX: u32,
6021     pub dwPictAspectRatioY: u32,
6022     pub bEnableDoubleClock: super::super::Foundation::BOOL,
6023     pub bEnableVACT: super::super::Foundation::BOOL,
6024     pub bDataIsInterlaced: super::super::Foundation::BOOL,
6025     pub lHalfLinesOdd: i32,
6026     pub bFieldPolarityInverted: super::super::Foundation::BOOL,
6027     pub dwNumLinesInVREF: u32,
6028     pub lHalfLinesEven: i32,
6029     pub dwReserved1: u32,
6030 }
6031 #[cfg(feature = "Win32_Foundation")]
6032 impl ::core::marker::Copy for KS_AMVPDATAINFO {}
6033 #[cfg(feature = "Win32_Foundation")]
6034 impl ::core::clone::Clone for KS_AMVPDATAINFO {
clone(&self) -> Self6035     fn clone(&self) -> Self {
6036         *self
6037     }
6038 }
6039 #[repr(C)]
6040 #[cfg(feature = "Win32_Foundation")]
6041 pub struct KS_AMVPDIMINFO {
6042     pub dwFieldWidth: u32,
6043     pub dwFieldHeight: u32,
6044     pub dwVBIWidth: u32,
6045     pub dwVBIHeight: u32,
6046     pub rcValidRegion: super::super::Foundation::RECT,
6047 }
6048 #[cfg(feature = "Win32_Foundation")]
6049 impl ::core::marker::Copy for KS_AMVPDIMINFO {}
6050 #[cfg(feature = "Win32_Foundation")]
6051 impl ::core::clone::Clone for KS_AMVPDIMINFO {
clone(&self) -> Self6052     fn clone(&self) -> Self {
6053         *self
6054     }
6055 }
6056 #[repr(C)]
6057 pub struct KS_AMVPSIZE {
6058     pub dwWidth: u32,
6059     pub dwHeight: u32,
6060 }
6061 impl ::core::marker::Copy for KS_AMVPSIZE {}
6062 impl ::core::clone::Clone for KS_AMVPSIZE {
clone(&self) -> Self6063     fn clone(&self) -> Self {
6064         *self
6065     }
6066 }
6067 pub type KS_AMVP_MODE = i32;
6068 pub const KS_AMVP_MODE_WEAVE: KS_AMVP_MODE = 0i32;
6069 pub const KS_AMVP_MODE_BOBINTERLEAVED: KS_AMVP_MODE = 1i32;
6070 pub const KS_AMVP_MODE_BOBNONINTERLEAVED: KS_AMVP_MODE = 2i32;
6071 pub const KS_AMVP_MODE_SKIPEVEN: KS_AMVP_MODE = 3i32;
6072 pub const KS_AMVP_MODE_SKIPODD: KS_AMVP_MODE = 4i32;
6073 pub type KS_AMVP_SELECTFORMATBY = i32;
6074 pub const KS_AMVP_DO_NOT_CARE: KS_AMVP_SELECTFORMATBY = 0i32;
6075 pub const KS_AMVP_BEST_BANDWIDTH: KS_AMVP_SELECTFORMATBY = 1i32;
6076 pub const KS_AMVP_INPUT_SAME_AS_OUTPUT: KS_AMVP_SELECTFORMATBY = 2i32;
6077 #[repr(C)]
6078 pub struct KS_AM_ExactRateChange {
6079     pub OutputZeroTime: i64,
6080     pub Rate: i32,
6081 }
6082 impl ::core::marker::Copy for KS_AM_ExactRateChange {}
6083 impl ::core::clone::Clone for KS_AM_ExactRateChange {
clone(&self) -> Self6084     fn clone(&self) -> Self {
6085         *self
6086     }
6087 }
6088 pub type KS_AM_PROPERTY_TS_RATE_CHANGE = i32;
6089 pub const KS_AM_RATE_SimpleRateChange: KS_AM_PROPERTY_TS_RATE_CHANGE = 1i32;
6090 pub const KS_AM_RATE_ExactRateChange: KS_AM_PROPERTY_TS_RATE_CHANGE = 2i32;
6091 pub const KS_AM_RATE_MaxFullDataRate: KS_AM_PROPERTY_TS_RATE_CHANGE = 3i32;
6092 pub const KS_AM_RATE_Step: KS_AM_PROPERTY_TS_RATE_CHANGE = 4i32;
6093 #[repr(C)]
6094 pub struct KS_AM_SimpleRateChange {
6095     pub StartTime: i64,
6096     pub Rate: i32,
6097 }
6098 impl ::core::marker::Copy for KS_AM_SimpleRateChange {}
6099 impl ::core::clone::Clone for KS_AM_SimpleRateChange {
clone(&self) -> Self6100     fn clone(&self) -> Self {
6101         *self
6102     }
6103 }
6104 pub const KS_AM_UseNewCSSKey: i32 = 1i32;
6105 #[repr(C)]
6106 #[cfg(feature = "Win32_Foundation")]
6107 pub struct KS_AnalogVideoInfo {
6108     pub rcSource: super::super::Foundation::RECT,
6109     pub rcTarget: super::super::Foundation::RECT,
6110     pub dwActiveWidth: u32,
6111     pub dwActiveHeight: u32,
6112     pub AvgTimePerFrame: i64,
6113 }
6114 #[cfg(feature = "Win32_Foundation")]
6115 impl ::core::marker::Copy for KS_AnalogVideoInfo {}
6116 #[cfg(feature = "Win32_Foundation")]
6117 impl ::core::clone::Clone for KS_AnalogVideoInfo {
clone(&self) -> Self6118     fn clone(&self) -> Self {
6119         *self
6120     }
6121 }
6122 pub type KS_AnalogVideoStandard = i32;
6123 pub const KS_AnalogVideo_None: KS_AnalogVideoStandard = 0i32;
6124 pub const KS_AnalogVideo_NTSC_M: KS_AnalogVideoStandard = 1i32;
6125 pub const KS_AnalogVideo_NTSC_M_J: KS_AnalogVideoStandard = 2i32;
6126 pub const KS_AnalogVideo_NTSC_433: KS_AnalogVideoStandard = 4i32;
6127 pub const KS_AnalogVideo_PAL_B: KS_AnalogVideoStandard = 16i32;
6128 pub const KS_AnalogVideo_PAL_D: KS_AnalogVideoStandard = 32i32;
6129 pub const KS_AnalogVideo_PAL_G: KS_AnalogVideoStandard = 64i32;
6130 pub const KS_AnalogVideo_PAL_H: KS_AnalogVideoStandard = 128i32;
6131 pub const KS_AnalogVideo_PAL_I: KS_AnalogVideoStandard = 256i32;
6132 pub const KS_AnalogVideo_PAL_M: KS_AnalogVideoStandard = 512i32;
6133 pub const KS_AnalogVideo_PAL_N: KS_AnalogVideoStandard = 1024i32;
6134 pub const KS_AnalogVideo_PAL_60: KS_AnalogVideoStandard = 2048i32;
6135 pub const KS_AnalogVideo_SECAM_B: KS_AnalogVideoStandard = 4096i32;
6136 pub const KS_AnalogVideo_SECAM_D: KS_AnalogVideoStandard = 8192i32;
6137 pub const KS_AnalogVideo_SECAM_G: KS_AnalogVideoStandard = 16384i32;
6138 pub const KS_AnalogVideo_SECAM_H: KS_AnalogVideoStandard = 32768i32;
6139 pub const KS_AnalogVideo_SECAM_K: KS_AnalogVideoStandard = 65536i32;
6140 pub const KS_AnalogVideo_SECAM_K1: KS_AnalogVideoStandard = 131072i32;
6141 pub const KS_AnalogVideo_SECAM_L: KS_AnalogVideoStandard = 262144i32;
6142 pub const KS_AnalogVideo_SECAM_L1: KS_AnalogVideoStandard = 524288i32;
6143 pub const KS_AnalogVideo_PAL_N_COMBO: KS_AnalogVideoStandard = 1048576i32;
6144 pub const KS_AnalogVideo_NTSC_Mask: u32 = 7u32;
6145 pub const KS_AnalogVideo_PAL_Mask: u32 = 1052656u32;
6146 pub const KS_AnalogVideo_SECAM_Mask: u32 = 1044480u32;
6147 #[repr(C)]
6148 pub struct KS_BITMAPINFOHEADER {
6149     pub biSize: u32,
6150     pub biWidth: i32,
6151     pub biHeight: i32,
6152     pub biPlanes: u16,
6153     pub biBitCount: u16,
6154     pub biCompression: u32,
6155     pub biSizeImage: u32,
6156     pub biXPelsPerMeter: i32,
6157     pub biYPelsPerMeter: i32,
6158     pub biClrUsed: u32,
6159     pub biClrImportant: u32,
6160 }
6161 impl ::core::marker::Copy for KS_BITMAPINFOHEADER {}
6162 impl ::core::clone::Clone for KS_BITMAPINFOHEADER {
clone(&self) -> Self6163     fn clone(&self) -> Self {
6164         *self
6165     }
6166 }
6167 pub const KS_BI_BITFIELDS: i32 = 3i32;
6168 pub const KS_BI_JPEG: i32 = 4i32;
6169 pub const KS_BI_RGB: i32 = 0i32;
6170 pub const KS_BI_RLE4: i32 = 2i32;
6171 pub const KS_BI_RLE8: i32 = 1i32;
6172 pub const KS_CC_SUBSTREAM_EVEN: i32 = 2i32;
6173 pub const KS_CC_SUBSTREAM_FIELD1_MASK: i32 = 240i32;
6174 pub const KS_CC_SUBSTREAM_FIELD2_MASK: i32 = 7936i32;
6175 pub const KS_CC_SUBSTREAM_ODD: i32 = 1i32;
6176 pub const KS_CC_SUBSTREAM_SERVICE_CC1: i32 = 16i32;
6177 pub const KS_CC_SUBSTREAM_SERVICE_CC2: i32 = 32i32;
6178 pub const KS_CC_SUBSTREAM_SERVICE_CC3: i32 = 256i32;
6179 pub const KS_CC_SUBSTREAM_SERVICE_CC4: i32 = 512i32;
6180 pub const KS_CC_SUBSTREAM_SERVICE_T1: i32 = 64i32;
6181 pub const KS_CC_SUBSTREAM_SERVICE_T2: i32 = 128i32;
6182 pub const KS_CC_SUBSTREAM_SERVICE_T3: i32 = 1024i32;
6183 pub const KS_CC_SUBSTREAM_SERVICE_T4: i32 = 2048i32;
6184 pub const KS_CC_SUBSTREAM_SERVICE_XDS: i32 = 4096i32;
6185 #[repr(C)]
6186 pub struct KS_COLCON {
6187     pub _bitfield1: u8,
6188     pub _bitfield2: u8,
6189     pub _bitfield3: u8,
6190     pub _bitfield4: u8,
6191 }
6192 impl ::core::marker::Copy for KS_COLCON {}
6193 impl ::core::clone::Clone for KS_COLCON {
clone(&self) -> Self6194     fn clone(&self) -> Self {
6195         *self
6196     }
6197 }
6198 #[repr(C)]
6199 pub struct KS_COMPRESSION {
6200     pub RatioNumerator: u32,
6201     pub RatioDenominator: u32,
6202     pub RatioConstantMargin: u32,
6203 }
6204 impl ::core::marker::Copy for KS_COMPRESSION {}
6205 impl ::core::clone::Clone for KS_COMPRESSION {
clone(&self) -> Self6206     fn clone(&self) -> Self {
6207         *self
6208     }
6209 }
6210 pub const KS_COPYPROTECT_RestrictDuplication: u32 = 1u32;
6211 #[repr(C)]
6212 pub struct KS_COPY_MACROVISION {
6213     pub MACROVISIONLevel: u32,
6214 }
6215 impl ::core::marker::Copy for KS_COPY_MACROVISION {}
6216 impl ::core::clone::Clone for KS_COPY_MACROVISION {
clone(&self) -> Self6217     fn clone(&self) -> Self {
6218         *self
6219     }
6220 }
6221 pub type KS_COPY_MACROVISION_LEVEL = i32;
6222 pub const KS_MACROVISION_DISABLED: KS_COPY_MACROVISION_LEVEL = 0i32;
6223 pub const KS_MACROVISION_LEVEL1: KS_COPY_MACROVISION_LEVEL = 1i32;
6224 pub const KS_MACROVISION_LEVEL2: KS_COPY_MACROVISION_LEVEL = 2i32;
6225 pub const KS_MACROVISION_LEVEL3: KS_COPY_MACROVISION_LEVEL = 3i32;
6226 pub type KS_CameraControlAsyncOperation = i32;
6227 pub const KS_CAMERACONTROL_ASYNC_START: KS_CameraControlAsyncOperation = 1i32;
6228 pub const KS_CAMERACONTROL_ASYNC_STOP: KS_CameraControlAsyncOperation = 2i32;
6229 pub const KS_CAMERACONTROL_ASYNC_RESET: KS_CameraControlAsyncOperation = 3i32;
6230 pub type KS_CompressionCaps = i32;
6231 pub const KS_CompressionCaps_CanQuality: KS_CompressionCaps = 1i32;
6232 pub const KS_CompressionCaps_CanCrunch: KS_CompressionCaps = 2i32;
6233 pub const KS_CompressionCaps_CanKeyFrame: KS_CompressionCaps = 4i32;
6234 pub const KS_CompressionCaps_CanBFrame: KS_CompressionCaps = 8i32;
6235 pub const KS_CompressionCaps_CanWindow: KS_CompressionCaps = 16i32;
6236 #[repr(C)]
6237 pub struct KS_DATAFORMAT_H264VIDEOINFO {
6238     pub DataFormat: KSDATAFORMAT,
6239     pub H264VideoInfoHeader: KS_H264VIDEOINFO,
6240 }
6241 impl ::core::marker::Copy for KS_DATAFORMAT_H264VIDEOINFO {}
6242 impl ::core::clone::Clone for KS_DATAFORMAT_H264VIDEOINFO {
clone(&self) -> Self6243     fn clone(&self) -> Self {
6244         *self
6245     }
6246 }
6247 #[repr(C)]
6248 pub struct KS_DATAFORMAT_IMAGEINFO {
6249     pub DataFormat: KSDATAFORMAT,
6250     pub ImageInfoHeader: KS_BITMAPINFOHEADER,
6251 }
6252 impl ::core::marker::Copy for KS_DATAFORMAT_IMAGEINFO {}
6253 impl ::core::clone::Clone for KS_DATAFORMAT_IMAGEINFO {
clone(&self) -> Self6254     fn clone(&self) -> Self {
6255         *self
6256     }
6257 }
6258 #[repr(C)]
6259 #[cfg(feature = "Win32_Foundation")]
6260 pub struct KS_DATAFORMAT_MPEGVIDEOINFO2 {
6261     pub DataFormat: KSDATAFORMAT,
6262     pub MpegVideoInfoHeader2: KS_MPEGVIDEOINFO2,
6263 }
6264 #[cfg(feature = "Win32_Foundation")]
6265 impl ::core::marker::Copy for KS_DATAFORMAT_MPEGVIDEOINFO2 {}
6266 #[cfg(feature = "Win32_Foundation")]
6267 impl ::core::clone::Clone for KS_DATAFORMAT_MPEGVIDEOINFO2 {
clone(&self) -> Self6268     fn clone(&self) -> Self {
6269         *self
6270     }
6271 }
6272 #[repr(C)]
6273 pub struct KS_DATAFORMAT_VBIINFOHEADER {
6274     pub DataFormat: KSDATAFORMAT,
6275     pub VBIInfoHeader: KS_VBIINFOHEADER,
6276 }
6277 impl ::core::marker::Copy for KS_DATAFORMAT_VBIINFOHEADER {}
6278 impl ::core::clone::Clone for KS_DATAFORMAT_VBIINFOHEADER {
clone(&self) -> Self6279     fn clone(&self) -> Self {
6280         *self
6281     }
6282 }
6283 #[repr(C)]
6284 #[cfg(feature = "Win32_Foundation")]
6285 pub struct KS_DATAFORMAT_VIDEOINFOHEADER {
6286     pub DataFormat: KSDATAFORMAT,
6287     pub VideoInfoHeader: KS_VIDEOINFOHEADER,
6288 }
6289 #[cfg(feature = "Win32_Foundation")]
6290 impl ::core::marker::Copy for KS_DATAFORMAT_VIDEOINFOHEADER {}
6291 #[cfg(feature = "Win32_Foundation")]
6292 impl ::core::clone::Clone for KS_DATAFORMAT_VIDEOINFOHEADER {
clone(&self) -> Self6293     fn clone(&self) -> Self {
6294         *self
6295     }
6296 }
6297 #[repr(C)]
6298 #[cfg(feature = "Win32_Foundation")]
6299 pub struct KS_DATAFORMAT_VIDEOINFOHEADER2 {
6300     pub DataFormat: KSDATAFORMAT,
6301     pub VideoInfoHeader2: KS_VIDEOINFOHEADER2,
6302 }
6303 #[cfg(feature = "Win32_Foundation")]
6304 impl ::core::marker::Copy for KS_DATAFORMAT_VIDEOINFOHEADER2 {}
6305 #[cfg(feature = "Win32_Foundation")]
6306 impl ::core::clone::Clone for KS_DATAFORMAT_VIDEOINFOHEADER2 {
clone(&self) -> Self6307     fn clone(&self) -> Self {
6308         *self
6309     }
6310 }
6311 #[repr(C)]
6312 #[cfg(feature = "Win32_Foundation")]
6313 pub struct KS_DATAFORMAT_VIDEOINFO_PALETTE {
6314     pub DataFormat: KSDATAFORMAT,
6315     pub VideoInfo: KS_VIDEOINFO,
6316 }
6317 #[cfg(feature = "Win32_Foundation")]
6318 impl ::core::marker::Copy for KS_DATAFORMAT_VIDEOINFO_PALETTE {}
6319 #[cfg(feature = "Win32_Foundation")]
6320 impl ::core::clone::Clone for KS_DATAFORMAT_VIDEOINFO_PALETTE {
clone(&self) -> Self6321     fn clone(&self) -> Self {
6322         *self
6323     }
6324 }
6325 #[repr(C)]
6326 #[cfg(feature = "Win32_Foundation")]
6327 pub struct KS_DATARANGE_ANALOGVIDEO {
6328     pub DataRange: KSDATAFORMAT,
6329     pub AnalogVideoInfo: KS_AnalogVideoInfo,
6330 }
6331 #[cfg(feature = "Win32_Foundation")]
6332 impl ::core::marker::Copy for KS_DATARANGE_ANALOGVIDEO {}
6333 #[cfg(feature = "Win32_Foundation")]
6334 impl ::core::clone::Clone for KS_DATARANGE_ANALOGVIDEO {
clone(&self) -> Self6335     fn clone(&self) -> Self {
6336         *self
6337     }
6338 }
6339 #[repr(C)]
6340 #[cfg(feature = "Win32_Foundation")]
6341 pub struct KS_DATARANGE_H264_VIDEO {
6342     pub DataRange: KSDATAFORMAT,
6343     pub bFixedSizeSamples: super::super::Foundation::BOOL,
6344     pub bTemporalCompression: super::super::Foundation::BOOL,
6345     pub StreamDescriptionFlags: u32,
6346     pub MemoryAllocationFlags: u32,
6347     pub ConfigCaps: KS_VIDEO_STREAM_CONFIG_CAPS,
6348     pub VideoInfoHeader: KS_H264VIDEOINFO,
6349 }
6350 #[cfg(feature = "Win32_Foundation")]
6351 impl ::core::marker::Copy for KS_DATARANGE_H264_VIDEO {}
6352 #[cfg(feature = "Win32_Foundation")]
6353 impl ::core::clone::Clone for KS_DATARANGE_H264_VIDEO {
clone(&self) -> Self6354     fn clone(&self) -> Self {
6355         *self
6356     }
6357 }
6358 #[repr(C)]
6359 #[cfg(feature = "Win32_Foundation")]
6360 pub struct KS_DATARANGE_IMAGE {
6361     pub DataRange: KSDATAFORMAT,
6362     pub ConfigCaps: KS_VIDEO_STREAM_CONFIG_CAPS,
6363     pub ImageInfoHeader: KS_BITMAPINFOHEADER,
6364 }
6365 #[cfg(feature = "Win32_Foundation")]
6366 impl ::core::marker::Copy for KS_DATARANGE_IMAGE {}
6367 #[cfg(feature = "Win32_Foundation")]
6368 impl ::core::clone::Clone for KS_DATARANGE_IMAGE {
clone(&self) -> Self6369     fn clone(&self) -> Self {
6370         *self
6371     }
6372 }
6373 #[repr(C)]
6374 #[cfg(feature = "Win32_Foundation")]
6375 pub struct KS_DATARANGE_MPEG1_VIDEO {
6376     pub DataRange: KSDATAFORMAT,
6377     pub bFixedSizeSamples: super::super::Foundation::BOOL,
6378     pub bTemporalCompression: super::super::Foundation::BOOL,
6379     pub StreamDescriptionFlags: u32,
6380     pub MemoryAllocationFlags: u32,
6381     pub ConfigCaps: KS_VIDEO_STREAM_CONFIG_CAPS,
6382     pub VideoInfoHeader: KS_MPEG1VIDEOINFO,
6383 }
6384 #[cfg(feature = "Win32_Foundation")]
6385 impl ::core::marker::Copy for KS_DATARANGE_MPEG1_VIDEO {}
6386 #[cfg(feature = "Win32_Foundation")]
6387 impl ::core::clone::Clone for KS_DATARANGE_MPEG1_VIDEO {
clone(&self) -> Self6388     fn clone(&self) -> Self {
6389         *self
6390     }
6391 }
6392 #[repr(C)]
6393 #[cfg(feature = "Win32_Foundation")]
6394 pub struct KS_DATARANGE_MPEG2_VIDEO {
6395     pub DataRange: KSDATAFORMAT,
6396     pub bFixedSizeSamples: super::super::Foundation::BOOL,
6397     pub bTemporalCompression: super::super::Foundation::BOOL,
6398     pub StreamDescriptionFlags: u32,
6399     pub MemoryAllocationFlags: u32,
6400     pub ConfigCaps: KS_VIDEO_STREAM_CONFIG_CAPS,
6401     pub VideoInfoHeader: KS_MPEGVIDEOINFO2,
6402 }
6403 #[cfg(feature = "Win32_Foundation")]
6404 impl ::core::marker::Copy for KS_DATARANGE_MPEG2_VIDEO {}
6405 #[cfg(feature = "Win32_Foundation")]
6406 impl ::core::clone::Clone for KS_DATARANGE_MPEG2_VIDEO {
clone(&self) -> Self6407     fn clone(&self) -> Self {
6408         *self
6409     }
6410 }
6411 #[repr(C)]
6412 #[cfg(feature = "Win32_Foundation")]
6413 pub struct KS_DATARANGE_VIDEO {
6414     pub DataRange: KSDATAFORMAT,
6415     pub bFixedSizeSamples: super::super::Foundation::BOOL,
6416     pub bTemporalCompression: super::super::Foundation::BOOL,
6417     pub StreamDescriptionFlags: u32,
6418     pub MemoryAllocationFlags: u32,
6419     pub ConfigCaps: KS_VIDEO_STREAM_CONFIG_CAPS,
6420     pub VideoInfoHeader: KS_VIDEOINFOHEADER,
6421 }
6422 #[cfg(feature = "Win32_Foundation")]
6423 impl ::core::marker::Copy for KS_DATARANGE_VIDEO {}
6424 #[cfg(feature = "Win32_Foundation")]
6425 impl ::core::clone::Clone for KS_DATARANGE_VIDEO {
clone(&self) -> Self6426     fn clone(&self) -> Self {
6427         *self
6428     }
6429 }
6430 #[repr(C)]
6431 #[cfg(feature = "Win32_Foundation")]
6432 pub struct KS_DATARANGE_VIDEO2 {
6433     pub DataRange: KSDATAFORMAT,
6434     pub bFixedSizeSamples: super::super::Foundation::BOOL,
6435     pub bTemporalCompression: super::super::Foundation::BOOL,
6436     pub StreamDescriptionFlags: u32,
6437     pub MemoryAllocationFlags: u32,
6438     pub ConfigCaps: KS_VIDEO_STREAM_CONFIG_CAPS,
6439     pub VideoInfoHeader: KS_VIDEOINFOHEADER2,
6440 }
6441 #[cfg(feature = "Win32_Foundation")]
6442 impl ::core::marker::Copy for KS_DATARANGE_VIDEO2 {}
6443 #[cfg(feature = "Win32_Foundation")]
6444 impl ::core::clone::Clone for KS_DATARANGE_VIDEO2 {
clone(&self) -> Self6445     fn clone(&self) -> Self {
6446         *self
6447     }
6448 }
6449 #[repr(C)]
6450 #[cfg(feature = "Win32_Foundation")]
6451 pub struct KS_DATARANGE_VIDEO_PALETTE {
6452     pub DataRange: KSDATAFORMAT,
6453     pub bFixedSizeSamples: super::super::Foundation::BOOL,
6454     pub bTemporalCompression: super::super::Foundation::BOOL,
6455     pub StreamDescriptionFlags: u32,
6456     pub MemoryAllocationFlags: u32,
6457     pub ConfigCaps: KS_VIDEO_STREAM_CONFIG_CAPS,
6458     pub VideoInfo: KS_VIDEOINFO,
6459 }
6460 #[cfg(feature = "Win32_Foundation")]
6461 impl ::core::marker::Copy for KS_DATARANGE_VIDEO_PALETTE {}
6462 #[cfg(feature = "Win32_Foundation")]
6463 impl ::core::clone::Clone for KS_DATARANGE_VIDEO_PALETTE {
clone(&self) -> Self6464     fn clone(&self) -> Self {
6465         *self
6466     }
6467 }
6468 #[repr(C)]
6469 #[cfg(feature = "Win32_Foundation")]
6470 pub struct KS_DATARANGE_VIDEO_VBI {
6471     pub DataRange: KSDATAFORMAT,
6472     pub bFixedSizeSamples: super::super::Foundation::BOOL,
6473     pub bTemporalCompression: super::super::Foundation::BOOL,
6474     pub StreamDescriptionFlags: u32,
6475     pub MemoryAllocationFlags: u32,
6476     pub ConfigCaps: KS_VIDEO_STREAM_CONFIG_CAPS,
6477     pub VBIInfoHeader: KS_VBIINFOHEADER,
6478 }
6479 #[cfg(feature = "Win32_Foundation")]
6480 impl ::core::marker::Copy for KS_DATARANGE_VIDEO_VBI {}
6481 #[cfg(feature = "Win32_Foundation")]
6482 impl ::core::clone::Clone for KS_DATARANGE_VIDEO_VBI {
clone(&self) -> Self6483     fn clone(&self) -> Self {
6484         *self
6485     }
6486 }
6487 pub type KS_DVDCOPYSTATE = i32;
6488 pub const KS_DVDCOPYSTATE_INITIALIZE: KS_DVDCOPYSTATE = 0i32;
6489 pub const KS_DVDCOPYSTATE_INITIALIZE_TITLE: KS_DVDCOPYSTATE = 1i32;
6490 pub const KS_DVDCOPYSTATE_AUTHENTICATION_NOT_REQUIRED: KS_DVDCOPYSTATE = 2i32;
6491 pub const KS_DVDCOPYSTATE_AUTHENTICATION_REQUIRED: KS_DVDCOPYSTATE = 3i32;
6492 pub const KS_DVDCOPYSTATE_DONE: KS_DVDCOPYSTATE = 4i32;
6493 #[repr(C)]
6494 pub struct KS_DVDCOPY_BUSKEY {
6495     pub BusKey: [u8; 5],
6496     pub Reserved: [u8; 1],
6497 }
6498 impl ::core::marker::Copy for KS_DVDCOPY_BUSKEY {}
6499 impl ::core::clone::Clone for KS_DVDCOPY_BUSKEY {
clone(&self) -> Self6500     fn clone(&self) -> Self {
6501         *self
6502     }
6503 }
6504 #[repr(C)]
6505 pub struct KS_DVDCOPY_CHLGKEY {
6506     pub ChlgKey: [u8; 10],
6507     pub Reserved: [u8; 2],
6508 }
6509 impl ::core::marker::Copy for KS_DVDCOPY_CHLGKEY {}
6510 impl ::core::clone::Clone for KS_DVDCOPY_CHLGKEY {
clone(&self) -> Self6511     fn clone(&self) -> Self {
6512         *self
6513     }
6514 }
6515 #[repr(C)]
6516 pub struct KS_DVDCOPY_DISCKEY {
6517     pub DiscKey: [u8; 2048],
6518 }
6519 impl ::core::marker::Copy for KS_DVDCOPY_DISCKEY {}
6520 impl ::core::clone::Clone for KS_DVDCOPY_DISCKEY {
clone(&self) -> Self6521     fn clone(&self) -> Self {
6522         *self
6523     }
6524 }
6525 #[repr(C)]
6526 pub struct KS_DVDCOPY_REGION {
6527     pub Reserved: u8,
6528     pub RegionData: u8,
6529     pub Reserved2: [u8; 2],
6530 }
6531 impl ::core::marker::Copy for KS_DVDCOPY_REGION {}
6532 impl ::core::clone::Clone for KS_DVDCOPY_REGION {
clone(&self) -> Self6533     fn clone(&self) -> Self {
6534         *self
6535     }
6536 }
6537 #[repr(C)]
6538 pub struct KS_DVDCOPY_SET_COPY_STATE {
6539     pub DVDCopyState: u32,
6540 }
6541 impl ::core::marker::Copy for KS_DVDCOPY_SET_COPY_STATE {}
6542 impl ::core::clone::Clone for KS_DVDCOPY_SET_COPY_STATE {
clone(&self) -> Self6543     fn clone(&self) -> Self {
6544         *self
6545     }
6546 }
6547 #[repr(C)]
6548 pub struct KS_DVDCOPY_TITLEKEY {
6549     pub KeyFlags: u32,
6550     pub ReservedNT: [u32; 2],
6551     pub TitleKey: [u8; 6],
6552     pub Reserved: [u8; 2],
6553 }
6554 impl ::core::marker::Copy for KS_DVDCOPY_TITLEKEY {}
6555 impl ::core::clone::Clone for KS_DVDCOPY_TITLEKEY {
clone(&self) -> Self6556     fn clone(&self) -> Self {
6557         *self
6558     }
6559 }
6560 pub const KS_DVD_CGMS_COPY_ONCE: u32 = 16u32;
6561 pub const KS_DVD_CGMS_COPY_PERMITTED: u32 = 0u32;
6562 pub const KS_DVD_CGMS_COPY_PROTECT_MASK: u32 = 24u32;
6563 pub const KS_DVD_CGMS_NO_COPY: u32 = 24u32;
6564 pub const KS_DVD_CGMS_RESERVED_MASK: u32 = 120u32;
6565 pub const KS_DVD_COPYRIGHTED: u32 = 64u32;
6566 pub const KS_DVD_COPYRIGHT_MASK: u32 = 64u32;
6567 pub const KS_DVD_NOT_COPYRIGHTED: u32 = 0u32;
6568 pub const KS_DVD_SECTOR_NOT_PROTECTED: u32 = 0u32;
6569 pub const KS_DVD_SECTOR_PROTECTED: u32 = 32u32;
6570 pub const KS_DVD_SECTOR_PROTECT_MASK: u32 = 32u32;
6571 #[repr(C)]
6572 pub struct KS_DVD_YCrCb {
6573     pub Reserved: u8,
6574     pub Y: u8,
6575     pub Cr: u8,
6576     pub Cb: u8,
6577 }
6578 impl ::core::marker::Copy for KS_DVD_YCrCb {}
6579 impl ::core::clone::Clone for KS_DVD_YCrCb {
clone(&self) -> Self6580     fn clone(&self) -> Self {
6581         *self
6582     }
6583 }
6584 #[repr(C)]
6585 pub struct KS_DVD_YUV {
6586     pub Reserved: u8,
6587     pub Y: u8,
6588     pub V: u8,
6589     pub U: u8,
6590 }
6591 impl ::core::marker::Copy for KS_DVD_YUV {}
6592 impl ::core::clone::Clone for KS_DVD_YUV {
clone(&self) -> Self6593     fn clone(&self) -> Self {
6594         *self
6595     }
6596 }
6597 #[repr(C)]
6598 #[cfg(feature = "Win32_Foundation")]
6599 pub struct KS_FRAME_INFO {
6600     pub ExtendedHeaderSize: u32,
6601     pub dwFrameFlags: u32,
6602     pub PictureNumber: i64,
6603     pub DropCount: i64,
6604     pub hDirectDraw: super::super::Foundation::HANDLE,
6605     pub hSurfaceHandle: super::super::Foundation::HANDLE,
6606     pub DirectDrawRect: super::super::Foundation::RECT,
6607     pub Anonymous1: KS_FRAME_INFO_0,
6608     pub Reserved2: u32,
6609     pub Anonymous2: KS_FRAME_INFO_1,
6610 }
6611 #[cfg(feature = "Win32_Foundation")]
6612 impl ::core::marker::Copy for KS_FRAME_INFO {}
6613 #[cfg(feature = "Win32_Foundation")]
6614 impl ::core::clone::Clone for KS_FRAME_INFO {
clone(&self) -> Self6615     fn clone(&self) -> Self {
6616         *self
6617     }
6618 }
6619 #[repr(C)]
6620 #[cfg(feature = "Win32_Foundation")]
6621 pub union KS_FRAME_INFO_0 {
6622     pub lSurfacePitch: i32,
6623     pub Reserved1: u32,
6624 }
6625 #[cfg(feature = "Win32_Foundation")]
6626 impl ::core::marker::Copy for KS_FRAME_INFO_0 {}
6627 #[cfg(feature = "Win32_Foundation")]
6628 impl ::core::clone::Clone for KS_FRAME_INFO_0 {
clone(&self) -> Self6629     fn clone(&self) -> Self {
6630         *self
6631     }
6632 }
6633 #[repr(C)]
6634 #[cfg(feature = "Win32_Foundation")]
6635 pub union KS_FRAME_INFO_1 {
6636     pub Anonymous: KS_FRAME_INFO_1_0,
6637     pub FrameCompletionNumber: u64,
6638 }
6639 #[cfg(feature = "Win32_Foundation")]
6640 impl ::core::marker::Copy for KS_FRAME_INFO_1 {}
6641 #[cfg(feature = "Win32_Foundation")]
6642 impl ::core::clone::Clone for KS_FRAME_INFO_1 {
clone(&self) -> Self6643     fn clone(&self) -> Self {
6644         *self
6645     }
6646 }
6647 #[repr(C)]
6648 #[cfg(feature = "Win32_Foundation")]
6649 pub struct KS_FRAME_INFO_1_0 {
6650     pub Reserved3: u32,
6651     pub Reserved4: u32,
6652 }
6653 #[cfg(feature = "Win32_Foundation")]
6654 impl ::core::marker::Copy for KS_FRAME_INFO_1_0 {}
6655 #[cfg(feature = "Win32_Foundation")]
6656 impl ::core::clone::Clone for KS_FRAME_INFO_1_0 {
clone(&self) -> Self6657     fn clone(&self) -> Self {
6658         *self
6659     }
6660 }
6661 #[repr(C)]
6662 pub struct KS_FRAMING_ITEM {
6663     pub MemoryType: ::windows_sys::core::GUID,
6664     pub BusType: ::windows_sys::core::GUID,
6665     pub MemoryFlags: u32,
6666     pub BusFlags: u32,
6667     pub Flags: u32,
6668     pub Frames: u32,
6669     pub Anonymous: KS_FRAMING_ITEM_0,
6670     pub MemoryTypeWeight: u32,
6671     pub PhysicalRange: KS_FRAMING_RANGE,
6672     pub FramingRange: KS_FRAMING_RANGE_WEIGHTED,
6673 }
6674 impl ::core::marker::Copy for KS_FRAMING_ITEM {}
6675 impl ::core::clone::Clone for KS_FRAMING_ITEM {
clone(&self) -> Self6676     fn clone(&self) -> Self {
6677         *self
6678     }
6679 }
6680 #[repr(C)]
6681 pub union KS_FRAMING_ITEM_0 {
6682     pub FileAlignment: u32,
6683     pub FramePitch: i32,
6684 }
6685 impl ::core::marker::Copy for KS_FRAMING_ITEM_0 {}
6686 impl ::core::clone::Clone for KS_FRAMING_ITEM_0 {
clone(&self) -> Self6687     fn clone(&self) -> Self {
6688         *self
6689     }
6690 }
6691 #[repr(C)]
6692 pub struct KS_FRAMING_RANGE {
6693     pub MinFrameSize: u32,
6694     pub MaxFrameSize: u32,
6695     pub Stepping: u32,
6696 }
6697 impl ::core::marker::Copy for KS_FRAMING_RANGE {}
6698 impl ::core::clone::Clone for KS_FRAMING_RANGE {
clone(&self) -> Self6699     fn clone(&self) -> Self {
6700         *self
6701     }
6702 }
6703 #[repr(C)]
6704 pub struct KS_FRAMING_RANGE_WEIGHTED {
6705     pub Range: KS_FRAMING_RANGE,
6706     pub InPlaceWeight: u32,
6707     pub NotInPlaceWeight: u32,
6708 }
6709 impl ::core::marker::Copy for KS_FRAMING_RANGE_WEIGHTED {}
6710 impl ::core::clone::Clone for KS_FRAMING_RANGE_WEIGHTED {
clone(&self) -> Self6711     fn clone(&self) -> Self {
6712         *self
6713     }
6714 }
6715 #[repr(C)]
6716 pub struct KS_H264VIDEOINFO {
6717     pub wWidth: u16,
6718     pub wHeight: u16,
6719     pub wSARwidth: u16,
6720     pub wSARheight: u16,
6721     pub wProfile: u16,
6722     pub bLevelIDC: u8,
6723     pub wConstrainedToolset: u16,
6724     pub bmSupportedUsages: u32,
6725     pub bmCapabilities: u16,
6726     pub bmSVCCapabilities: u32,
6727     pub bmMVCCapabilities: u32,
6728     pub dwFrameInterval: u32,
6729     pub bMaxCodecConfigDelay: u8,
6730     pub bmSupportedSliceModes: u8,
6731     pub bmSupportedSyncFrameTypes: u8,
6732     pub bResolutionScaling: u8,
6733     pub bSimulcastSupport: u8,
6734     pub bmSupportedRateControlModes: u8,
6735     pub wMaxMBperSecOneResolutionNoScalability: u16,
6736     pub wMaxMBperSecTwoResolutionsNoScalability: u16,
6737     pub wMaxMBperSecThreeResolutionsNoScalability: u16,
6738     pub wMaxMBperSecFourResolutionsNoScalability: u16,
6739     pub wMaxMBperSecOneResolutionTemporalScalability: u16,
6740     pub wMaxMBperSecTwoResolutionsTemporalScalablility: u16,
6741     pub wMaxMBperSecThreeResolutionsTemporalScalability: u16,
6742     pub wMaxMBperSecFourResolutionsTemporalScalability: u16,
6743     pub wMaxMBperSecOneResolutionTemporalQualityScalability: u16,
6744     pub wMaxMBperSecTwoResolutionsTemporalQualityScalability: u16,
6745     pub wMaxMBperSecThreeResolutionsTemporalQualityScalablity: u16,
6746     pub wMaxMBperSecFourResolutionsTemporalQualityScalability: u16,
6747     pub wMaxMBperSecOneResolutionTemporalSpatialScalability: u16,
6748     pub wMaxMBperSecTwoResolutionsTemporalSpatialScalability: u16,
6749     pub wMaxMBperSecThreeResolutionsTemporalSpatialScalablity: u16,
6750     pub wMaxMBperSecFourResolutionsTemporalSpatialScalability: u16,
6751     pub wMaxMBperSecOneResolutionFullScalability: u16,
6752     pub wMaxMBperSecTwoResolutionsFullScalability: u16,
6753     pub wMaxMBperSecThreeResolutionsFullScalability: u16,
6754     pub wMaxMBperSecFourResolutionsFullScalability: u16,
6755 }
6756 impl ::core::marker::Copy for KS_H264VIDEOINFO {}
6757 impl ::core::clone::Clone for KS_H264VIDEOINFO {
clone(&self) -> Self6758     fn clone(&self) -> Self {
6759         *self
6760     }
6761 }
6762 pub const KS_INTERLACE_1FieldPerSample: u32 = 2u32;
6763 pub const KS_INTERLACE_DisplayModeBobOnly: u32 = 0u32;
6764 pub const KS_INTERLACE_DisplayModeBobOrWeave: u32 = 128u32;
6765 pub const KS_INTERLACE_DisplayModeMask: u32 = 192u32;
6766 pub const KS_INTERLACE_DisplayModeWeaveOnly: u32 = 64u32;
6767 pub const KS_INTERLACE_Field1First: u32 = 4u32;
6768 pub const KS_INTERLACE_FieldPatBothIrregular: u32 = 48u32;
6769 pub const KS_INTERLACE_FieldPatBothRegular: u32 = 32u32;
6770 pub const KS_INTERLACE_FieldPatField1Only: u32 = 0u32;
6771 pub const KS_INTERLACE_FieldPatField2Only: u32 = 16u32;
6772 pub const KS_INTERLACE_FieldPatternMask: u32 = 48u32;
6773 pub const KS_INTERLACE_IsInterlaced: u32 = 1u32;
6774 pub const KS_INTERLACE_UNUSED: u32 = 8u32;
6775 pub type KS_LogicalMemoryType = i32;
6776 pub const KS_MemoryTypeDontCare: KS_LogicalMemoryType = 0i32;
6777 pub const KS_MemoryTypeKernelPaged: KS_LogicalMemoryType = 1i32;
6778 pub const KS_MemoryTypeKernelNonPaged: KS_LogicalMemoryType = 2i32;
6779 pub const KS_MemoryTypeDeviceHostMapped: KS_LogicalMemoryType = 3i32;
6780 pub const KS_MemoryTypeDeviceSpecific: KS_LogicalMemoryType = 4i32;
6781 pub const KS_MemoryTypeUser: KS_LogicalMemoryType = 5i32;
6782 pub const KS_MemoryTypeAnyHost: KS_LogicalMemoryType = 6i32;
6783 pub const KS_MAX_SIZE_MPEG1_SEQUENCE_INFO: u32 = 140u32;
6784 #[repr(C)]
6785 pub struct KS_MPEAUDIOINFO {
6786     pub dwFlags: u32,
6787     pub dwReserved1: u32,
6788     pub dwReserved2: u32,
6789     pub dwReserved3: u32,
6790 }
6791 impl ::core::marker::Copy for KS_MPEAUDIOINFO {}
6792 impl ::core::clone::Clone for KS_MPEAUDIOINFO {
clone(&self) -> Self6793     fn clone(&self) -> Self {
6794         *self
6795     }
6796 }
6797 #[repr(C)]
6798 #[cfg(feature = "Win32_Foundation")]
6799 pub struct KS_MPEG1VIDEOINFO {
6800     pub hdr: KS_VIDEOINFOHEADER,
6801     pub dwStartTimeCode: u32,
6802     pub cbSequenceHeader: u32,
6803     pub bSequenceHeader: [u8; 1],
6804 }
6805 #[cfg(feature = "Win32_Foundation")]
6806 impl ::core::marker::Copy for KS_MPEG1VIDEOINFO {}
6807 #[cfg(feature = "Win32_Foundation")]
6808 impl ::core::clone::Clone for KS_MPEG1VIDEOINFO {
clone(&self) -> Self6809     fn clone(&self) -> Self {
6810         *self
6811     }
6812 }
6813 pub type KS_MPEG2Level = i32;
6814 pub const KS_MPEG2Level_Low: KS_MPEG2Level = 0i32;
6815 pub const KS_MPEG2Level_Main: KS_MPEG2Level = 1i32;
6816 pub const KS_MPEG2Level_High1440: KS_MPEG2Level = 2i32;
6817 pub const KS_MPEG2Level_High: KS_MPEG2Level = 3i32;
6818 pub type KS_MPEG2Profile = i32;
6819 pub const KS_MPEG2Profile_Simple: KS_MPEG2Profile = 0i32;
6820 pub const KS_MPEG2Profile_Main: KS_MPEG2Profile = 1i32;
6821 pub const KS_MPEG2Profile_SNRScalable: KS_MPEG2Profile = 2i32;
6822 pub const KS_MPEG2Profile_SpatiallyScalable: KS_MPEG2Profile = 3i32;
6823 pub const KS_MPEG2Profile_High: KS_MPEG2Profile = 4i32;
6824 pub const KS_MPEG2_27MhzTimebase: u32 = 256u32;
6825 pub const KS_MPEG2_DSS_UserData: u32 = 64u32;
6826 pub const KS_MPEG2_DVB_UserData: u32 = 128u32;
6827 pub const KS_MPEG2_DVDLine21Field1: u32 = 2u32;
6828 pub const KS_MPEG2_DVDLine21Field2: u32 = 4u32;
6829 pub const KS_MPEG2_DoPanScan: u32 = 1u32;
6830 pub const KS_MPEG2_FilmCameraMode: u32 = 16u32;
6831 pub const KS_MPEG2_LetterboxAnalogOut: u32 = 32u32;
6832 pub const KS_MPEG2_SourceIsLetterboxed: u32 = 8u32;
6833 pub const KS_MPEG2_WidescreenAnalogOut: u32 = 512u32;
6834 pub const KS_MPEGAUDIOINFO_27MhzTimebase: u32 = 1u32;
6835 #[repr(C)]
6836 #[cfg(feature = "Win32_Foundation")]
6837 pub struct KS_MPEGVIDEOINFO2 {
6838     pub hdr: KS_VIDEOINFOHEADER2,
6839     pub dwStartTimeCode: u32,
6840     pub cbSequenceHeader: u32,
6841     pub dwProfile: u32,
6842     pub dwLevel: u32,
6843     pub dwFlags: u32,
6844     pub bSequenceHeader: [u32; 1],
6845 }
6846 #[cfg(feature = "Win32_Foundation")]
6847 impl ::core::marker::Copy for KS_MPEGVIDEOINFO2 {}
6848 #[cfg(feature = "Win32_Foundation")]
6849 impl ::core::clone::Clone for KS_MPEGVIDEOINFO2 {
clone(&self) -> Self6850     fn clone(&self) -> Self {
6851         *self
6852     }
6853 }
6854 pub const KS_NABTS_GROUPID_LOCAL_CABLE_SYSTEM_ADVERTISER_BASE: u32 = 2224u32;
6855 pub const KS_NABTS_GROUPID_LOCAL_CABLE_SYSTEM_CONTENT_BASE: u32 = 2208u32;
6856 pub const KS_NABTS_GROUPID_MICROSOFT_RESERVED_TEST_DATA_BASE: u32 = 2288u32;
6857 pub const KS_NABTS_GROUPID_NETWORK_WIDE_ADVERTISER_BASE: u32 = 2160u32;
6858 pub const KS_NABTS_GROUPID_NETWORK_WIDE_CONTENT_BASE: u32 = 2144u32;
6859 pub const KS_NABTS_GROUPID_ORIGINAL_CONTENT_ADVERTISER_BASE: u32 = 2064u32;
6860 pub const KS_NABTS_GROUPID_ORIGINAL_CONTENT_BASE: u32 = 2048u32;
6861 pub const KS_NABTS_GROUPID_PRODUCTION_COMPANY_ADVERTISER_BASE: u32 = 2096u32;
6862 pub const KS_NABTS_GROUPID_PRODUCTION_COMPANY_CONTENT_BASE: u32 = 2080u32;
6863 pub const KS_NABTS_GROUPID_SYNDICATED_SHOW_ADVERTISER_BASE: u32 = 2128u32;
6864 pub const KS_NABTS_GROUPID_SYNDICATED_SHOW_CONTENT_BASE: u32 = 2112u32;
6865 pub const KS_NABTS_GROUPID_TELEVISION_STATION_ADVERTISER_BASE: u32 = 2192u32;
6866 pub const KS_NABTS_GROUPID_TELEVISION_STATION_CONTENT_BASE: u32 = 2176u32;
6867 pub type KS_PhysicalConnectorType = i32;
6868 pub const KS_PhysConn_Video_Tuner: KS_PhysicalConnectorType = 1i32;
6869 pub const KS_PhysConn_Video_Composite: KS_PhysicalConnectorType = 2i32;
6870 pub const KS_PhysConn_Video_SVideo: KS_PhysicalConnectorType = 3i32;
6871 pub const KS_PhysConn_Video_RGB: KS_PhysicalConnectorType = 4i32;
6872 pub const KS_PhysConn_Video_YRYBY: KS_PhysicalConnectorType = 5i32;
6873 pub const KS_PhysConn_Video_SerialDigital: KS_PhysicalConnectorType = 6i32;
6874 pub const KS_PhysConn_Video_ParallelDigital: KS_PhysicalConnectorType = 7i32;
6875 pub const KS_PhysConn_Video_SCSI: KS_PhysicalConnectorType = 8i32;
6876 pub const KS_PhysConn_Video_AUX: KS_PhysicalConnectorType = 9i32;
6877 pub const KS_PhysConn_Video_1394: KS_PhysicalConnectorType = 10i32;
6878 pub const KS_PhysConn_Video_USB: KS_PhysicalConnectorType = 11i32;
6879 pub const KS_PhysConn_Video_VideoDecoder: KS_PhysicalConnectorType = 12i32;
6880 pub const KS_PhysConn_Video_VideoEncoder: KS_PhysicalConnectorType = 13i32;
6881 pub const KS_PhysConn_Video_SCART: KS_PhysicalConnectorType = 14i32;
6882 pub const KS_PhysConn_Audio_Tuner: KS_PhysicalConnectorType = 4096i32;
6883 pub const KS_PhysConn_Audio_Line: KS_PhysicalConnectorType = 4097i32;
6884 pub const KS_PhysConn_Audio_Mic: KS_PhysicalConnectorType = 4098i32;
6885 pub const KS_PhysConn_Audio_AESDigital: KS_PhysicalConnectorType = 4099i32;
6886 pub const KS_PhysConn_Audio_SPDIFDigital: KS_PhysicalConnectorType = 4100i32;
6887 pub const KS_PhysConn_Audio_SCSI: KS_PhysicalConnectorType = 4101i32;
6888 pub const KS_PhysConn_Audio_AUX: KS_PhysicalConnectorType = 4102i32;
6889 pub const KS_PhysConn_Audio_1394: KS_PhysicalConnectorType = 4103i32;
6890 pub const KS_PhysConn_Audio_USB: KS_PhysicalConnectorType = 4104i32;
6891 pub const KS_PhysConn_Audio_AudioDecoder: KS_PhysicalConnectorType = 4105i32;
6892 #[repr(C)]
6893 pub struct KS_RGBQUAD {
6894     pub rgbBlue: u8,
6895     pub rgbGreen: u8,
6896     pub rgbRed: u8,
6897     pub rgbReserved: u8,
6898 }
6899 impl ::core::marker::Copy for KS_RGBQUAD {}
6900 impl ::core::clone::Clone for KS_RGBQUAD {
clone(&self) -> Self6901     fn clone(&self) -> Self {
6902         *self
6903     }
6904 }
6905 pub const KS_SECURE_CAMERA_SCENARIO_ID: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2924739694, data2: 36233, data3: 17544, data4: [157, 46, 77, 0, 135, 49, 197, 253] };
6906 pub type KS_SEEKING_CAPABILITIES = i32;
6907 pub const KS_SEEKING_CanSeekAbsolute: KS_SEEKING_CAPABILITIES = 1i32;
6908 pub const KS_SEEKING_CanSeekForwards: KS_SEEKING_CAPABILITIES = 2i32;
6909 pub const KS_SEEKING_CanSeekBackwards: KS_SEEKING_CAPABILITIES = 4i32;
6910 pub const KS_SEEKING_CanGetCurrentPos: KS_SEEKING_CAPABILITIES = 8i32;
6911 pub const KS_SEEKING_CanGetStopPos: KS_SEEKING_CAPABILITIES = 16i32;
6912 pub const KS_SEEKING_CanGetDuration: KS_SEEKING_CAPABILITIES = 32i32;
6913 pub const KS_SEEKING_CanPlayBackwards: KS_SEEKING_CAPABILITIES = 64i32;
6914 pub type KS_SEEKING_FLAGS = i32;
6915 pub const KS_SEEKING_NoPositioning: KS_SEEKING_FLAGS = 0i32;
6916 pub const KS_SEEKING_AbsolutePositioning: KS_SEEKING_FLAGS = 1i32;
6917 pub const KS_SEEKING_RelativePositioning: KS_SEEKING_FLAGS = 2i32;
6918 pub const KS_SEEKING_IncrementalPositioning: KS_SEEKING_FLAGS = 3i32;
6919 pub const KS_SEEKING_PositioningBitsMask: KS_SEEKING_FLAGS = 3i32;
6920 pub const KS_SEEKING_SeekToKeyFrame: KS_SEEKING_FLAGS = 4i32;
6921 pub const KS_SEEKING_ReturnTime: KS_SEEKING_FLAGS = 8i32;
6922 #[repr(C)]
6923 pub struct KS_TRUECOLORINFO {
6924     pub dwBitMasks: [u32; 3],
6925     pub bmiColors: [KS_RGBQUAD; 256],
6926 }
6927 impl ::core::marker::Copy for KS_TRUECOLORINFO {}
6928 impl ::core::clone::Clone for KS_TRUECOLORINFO {
clone(&self) -> Self6929     fn clone(&self) -> Self {
6930         *self
6931     }
6932 }
6933 pub type KS_TUNER_STRATEGY = i32;
6934 pub const KS_TUNER_STRATEGY_PLL: KS_TUNER_STRATEGY = 1i32;
6935 pub const KS_TUNER_STRATEGY_SIGNAL_STRENGTH: KS_TUNER_STRATEGY = 2i32;
6936 pub const KS_TUNER_STRATEGY_DRIVER_TUNES: KS_TUNER_STRATEGY = 4i32;
6937 pub type KS_TUNER_TUNING_FLAGS = i32;
6938 pub const KS_TUNER_TUNING_EXACT: KS_TUNER_TUNING_FLAGS = 1i32;
6939 pub const KS_TUNER_TUNING_FINE: KS_TUNER_TUNING_FLAGS = 2i32;
6940 pub const KS_TUNER_TUNING_COARSE: KS_TUNER_TUNING_FLAGS = 3i32;
6941 pub const KS_TVAUDIO_MODE_LANG_A: u32 = 16u32;
6942 pub const KS_TVAUDIO_MODE_LANG_B: u32 = 32u32;
6943 pub const KS_TVAUDIO_MODE_LANG_C: u32 = 64u32;
6944 pub const KS_TVAUDIO_MODE_MONO: u32 = 1u32;
6945 pub const KS_TVAUDIO_MODE_STEREO: u32 = 2u32;
6946 pub const KS_TVAUDIO_PRESET_LANG_A: u32 = 4096u32;
6947 pub const KS_TVAUDIO_PRESET_LANG_B: u32 = 8192u32;
6948 pub const KS_TVAUDIO_PRESET_LANG_C: u32 = 16384u32;
6949 pub const KS_TVAUDIO_PRESET_STEREO: u32 = 512u32;
6950 pub const KS_TVTUNER_CHANGE_BEGIN_TUNE: i32 = 1i32;
6951 pub const KS_TVTUNER_CHANGE_END_TUNE: i32 = 2i32;
6952 #[repr(C)]
6953 pub struct KS_TVTUNER_CHANGE_INFO {
6954     pub dwFlags: u32,
6955     pub dwCountryCode: u32,
6956     pub dwAnalogVideoStandard: u32,
6957     pub dwChannel: u32,
6958 }
6959 impl ::core::marker::Copy for KS_TVTUNER_CHANGE_INFO {}
6960 impl ::core::clone::Clone for KS_TVTUNER_CHANGE_INFO {
clone(&self) -> Self6961     fn clone(&self) -> Self {
6962         *self
6963     }
6964 }
6965 pub const KS_VBICAP_PROTECTION_MV_DETECTED: i32 = 4i32;
6966 pub const KS_VBICAP_PROTECTION_MV_HARDWARE: i32 = 2i32;
6967 pub const KS_VBICAP_PROTECTION_MV_PRESENT: i32 = 1i32;
6968 pub const KS_VBIDATARATE_CC: i32 = 503493i32;
6969 pub const KS_VBIDATARATE_NABTS: i32 = 5727272i32;
6970 #[repr(C)]
6971 pub struct KS_VBIINFOHEADER {
6972     pub StartLine: u32,
6973     pub EndLine: u32,
6974     pub SamplingFrequency: u32,
6975     pub MinLineStartTime: u32,
6976     pub MaxLineStartTime: u32,
6977     pub ActualLineStartTime: u32,
6978     pub ActualLineEndTime: u32,
6979     pub VideoStandard: u32,
6980     pub SamplesPerLine: u32,
6981     pub StrideInBytes: u32,
6982     pub BufferSize: u32,
6983 }
6984 impl ::core::marker::Copy for KS_VBIINFOHEADER {}
6985 impl ::core::clone::Clone for KS_VBIINFOHEADER {
clone(&self) -> Self6986     fn clone(&self) -> Self {
6987         *self
6988     }
6989 }
6990 pub const KS_VBI_FLAG_FIELD1: i32 = 1i32;
6991 pub const KS_VBI_FLAG_FIELD2: i32 = 2i32;
6992 pub const KS_VBI_FLAG_FRAME: i32 = 0i32;
6993 pub const KS_VBI_FLAG_MV_DETECTED: i32 = 1024i32;
6994 pub const KS_VBI_FLAG_MV_HARDWARE: i32 = 512i32;
6995 pub const KS_VBI_FLAG_MV_PRESENT: i32 = 256i32;
6996 pub const KS_VBI_FLAG_TVTUNER_CHANGE: i32 = 16i32;
6997 pub const KS_VBI_FLAG_VBIINFOHEADER_CHANGE: i32 = 32i32;
6998 #[repr(C)]
6999 pub struct KS_VBI_FRAME_INFO {
7000     pub ExtendedHeaderSize: u32,
7001     pub dwFrameFlags: u32,
7002     pub PictureNumber: i64,
7003     pub DropCount: i64,
7004     pub dwSamplingFrequency: u32,
7005     pub TvTunerChangeInfo: KS_TVTUNER_CHANGE_INFO,
7006     pub VBIInfoHeader: KS_VBIINFOHEADER,
7007 }
7008 impl ::core::marker::Copy for KS_VBI_FRAME_INFO {}
7009 impl ::core::clone::Clone for KS_VBI_FRAME_INFO {
clone(&self) -> Self7010     fn clone(&self) -> Self {
7011         *self
7012     }
7013 }
7014 pub type KS_VIDEODECODER_FLAGS = i32;
7015 pub const KS_VIDEODECODER_FLAGS_CAN_DISABLE_OUTPUT: KS_VIDEODECODER_FLAGS = 1i32;
7016 pub const KS_VIDEODECODER_FLAGS_CAN_USE_VCR_LOCKING: KS_VIDEODECODER_FLAGS = 2i32;
7017 pub const KS_VIDEODECODER_FLAGS_CAN_INDICATE_LOCKED: KS_VIDEODECODER_FLAGS = 4i32;
7018 #[repr(C)]
7019 #[cfg(feature = "Win32_Foundation")]
7020 pub struct KS_VIDEOINFO {
7021     pub rcSource: super::super::Foundation::RECT,
7022     pub rcTarget: super::super::Foundation::RECT,
7023     pub dwBitRate: u32,
7024     pub dwBitErrorRate: u32,
7025     pub AvgTimePerFrame: i64,
7026     pub bmiHeader: KS_BITMAPINFOHEADER,
7027     pub Anonymous: KS_VIDEOINFO_0,
7028 }
7029 #[cfg(feature = "Win32_Foundation")]
7030 impl ::core::marker::Copy for KS_VIDEOINFO {}
7031 #[cfg(feature = "Win32_Foundation")]
7032 impl ::core::clone::Clone for KS_VIDEOINFO {
clone(&self) -> Self7033     fn clone(&self) -> Self {
7034         *self
7035     }
7036 }
7037 #[repr(C)]
7038 #[cfg(feature = "Win32_Foundation")]
7039 pub union KS_VIDEOINFO_0 {
7040     pub bmiColors: [KS_RGBQUAD; 256],
7041     pub dwBitMasks: [u32; 3],
7042     pub TrueColorInfo: KS_TRUECOLORINFO,
7043 }
7044 #[cfg(feature = "Win32_Foundation")]
7045 impl ::core::marker::Copy for KS_VIDEOINFO_0 {}
7046 #[cfg(feature = "Win32_Foundation")]
7047 impl ::core::clone::Clone for KS_VIDEOINFO_0 {
clone(&self) -> Self7048     fn clone(&self) -> Self {
7049         *self
7050     }
7051 }
7052 #[repr(C)]
7053 #[cfg(feature = "Win32_Foundation")]
7054 pub struct KS_VIDEOINFOHEADER {
7055     pub rcSource: super::super::Foundation::RECT,
7056     pub rcTarget: super::super::Foundation::RECT,
7057     pub dwBitRate: u32,
7058     pub dwBitErrorRate: u32,
7059     pub AvgTimePerFrame: i64,
7060     pub bmiHeader: KS_BITMAPINFOHEADER,
7061 }
7062 #[cfg(feature = "Win32_Foundation")]
7063 impl ::core::marker::Copy for KS_VIDEOINFOHEADER {}
7064 #[cfg(feature = "Win32_Foundation")]
7065 impl ::core::clone::Clone for KS_VIDEOINFOHEADER {
clone(&self) -> Self7066     fn clone(&self) -> Self {
7067         *self
7068     }
7069 }
7070 #[repr(C)]
7071 #[cfg(feature = "Win32_Foundation")]
7072 pub struct KS_VIDEOINFOHEADER2 {
7073     pub rcSource: super::super::Foundation::RECT,
7074     pub rcTarget: super::super::Foundation::RECT,
7075     pub dwBitRate: u32,
7076     pub dwBitErrorRate: u32,
7077     pub AvgTimePerFrame: i64,
7078     pub dwInterlaceFlags: u32,
7079     pub dwCopyProtectFlags: u32,
7080     pub dwPictAspectRatioX: u32,
7081     pub dwPictAspectRatioY: u32,
7082     pub Anonymous: KS_VIDEOINFOHEADER2_0,
7083     pub dwReserved2: u32,
7084     pub bmiHeader: KS_BITMAPINFOHEADER,
7085 }
7086 #[cfg(feature = "Win32_Foundation")]
7087 impl ::core::marker::Copy for KS_VIDEOINFOHEADER2 {}
7088 #[cfg(feature = "Win32_Foundation")]
7089 impl ::core::clone::Clone for KS_VIDEOINFOHEADER2 {
clone(&self) -> Self7090     fn clone(&self) -> Self {
7091         *self
7092     }
7093 }
7094 #[repr(C)]
7095 #[cfg(feature = "Win32_Foundation")]
7096 pub union KS_VIDEOINFOHEADER2_0 {
7097     pub dwControlFlags: u32,
7098     pub dwReserved1: u32,
7099 }
7100 #[cfg(feature = "Win32_Foundation")]
7101 impl ::core::marker::Copy for KS_VIDEOINFOHEADER2_0 {}
7102 #[cfg(feature = "Win32_Foundation")]
7103 impl ::core::clone::Clone for KS_VIDEOINFOHEADER2_0 {
clone(&self) -> Self7104     fn clone(&self) -> Self {
7105         *self
7106     }
7107 }
7108 pub const KS_VIDEOSTREAM_CAPTURE: u32 = 2u32;
7109 pub const KS_VIDEOSTREAM_CC: u32 = 256u32;
7110 pub const KS_VIDEOSTREAM_EDS: u32 = 512u32;
7111 pub const KS_VIDEOSTREAM_IS_VPE: u32 = 32768u32;
7112 pub const KS_VIDEOSTREAM_NABTS: u32 = 32u32;
7113 pub const KS_VIDEOSTREAM_PREVIEW: u32 = 1u32;
7114 pub const KS_VIDEOSTREAM_STILL: u32 = 4096u32;
7115 pub const KS_VIDEOSTREAM_TELETEXT: u32 = 1024u32;
7116 pub const KS_VIDEOSTREAM_VBI: u32 = 16u32;
7117 pub const KS_VIDEO_ALLOC_VPE_AGP: u32 = 4u32;
7118 pub const KS_VIDEO_ALLOC_VPE_DISPLAY: u32 = 2u32;
7119 pub const KS_VIDEO_ALLOC_VPE_SYSTEM: u32 = 1u32;
7120 pub const KS_VIDEO_FLAG_B_FRAME: i32 = 32i32;
7121 pub const KS_VIDEO_FLAG_FIELD1: i32 = 1i32;
7122 pub const KS_VIDEO_FLAG_FIELD1FIRST: i32 = 4i32;
7123 pub const KS_VIDEO_FLAG_FIELD2: i32 = 2i32;
7124 pub const KS_VIDEO_FLAG_FIELD_MASK: i32 = 3i32;
7125 pub const KS_VIDEO_FLAG_FRAME: i32 = 0i32;
7126 pub const KS_VIDEO_FLAG_IPB_MASK: i32 = 48i32;
7127 pub const KS_VIDEO_FLAG_I_FRAME: i32 = 0i32;
7128 pub const KS_VIDEO_FLAG_P_FRAME: i32 = 16i32;
7129 pub const KS_VIDEO_FLAG_REPEAT_FIELD: i32 = 64i32;
7130 pub const KS_VIDEO_FLAG_WEAVE: i32 = 8i32;
7131 #[repr(C)]
7132 #[cfg(feature = "Win32_Foundation")]
7133 pub struct KS_VIDEO_STREAM_CONFIG_CAPS {
7134     pub guid: ::windows_sys::core::GUID,
7135     pub VideoStandard: u32,
7136     pub InputSize: super::super::Foundation::SIZE,
7137     pub MinCroppingSize: super::super::Foundation::SIZE,
7138     pub MaxCroppingSize: super::super::Foundation::SIZE,
7139     pub CropGranularityX: i32,
7140     pub CropGranularityY: i32,
7141     pub CropAlignX: i32,
7142     pub CropAlignY: i32,
7143     pub MinOutputSize: super::super::Foundation::SIZE,
7144     pub MaxOutputSize: super::super::Foundation::SIZE,
7145     pub OutputGranularityX: i32,
7146     pub OutputGranularityY: i32,
7147     pub StretchTapsX: i32,
7148     pub StretchTapsY: i32,
7149     pub ShrinkTapsX: i32,
7150     pub ShrinkTapsY: i32,
7151     pub MinFrameInterval: i64,
7152     pub MaxFrameInterval: i64,
7153     pub MinBitsPerSecond: i32,
7154     pub MaxBitsPerSecond: i32,
7155 }
7156 #[cfg(feature = "Win32_Foundation")]
7157 impl ::core::marker::Copy for KS_VIDEO_STREAM_CONFIG_CAPS {}
7158 #[cfg(feature = "Win32_Foundation")]
7159 impl ::core::clone::Clone for KS_VIDEO_STREAM_CONFIG_CAPS {
clone(&self) -> Self7160     fn clone(&self) -> Self {
7161         *self
7162     }
7163 }
7164 pub type KS_VideoControlFlags = i32;
7165 pub const KS_VideoControlFlag_FlipHorizontal: KS_VideoControlFlags = 1i32;
7166 pub const KS_VideoControlFlag_FlipVertical: KS_VideoControlFlags = 2i32;
7167 pub const KS_Obsolete_VideoControlFlag_ExternalTriggerEnable: KS_VideoControlFlags = 16i32;
7168 pub const KS_Obsolete_VideoControlFlag_Trigger: KS_VideoControlFlags = 32i32;
7169 pub const KS_VideoControlFlag_ExternalTriggerEnable: KS_VideoControlFlags = 4i32;
7170 pub const KS_VideoControlFlag_Trigger: KS_VideoControlFlags = 8i32;
7171 pub const KS_VideoControlFlag_IndependentImagePin: KS_VideoControlFlags = 64i32;
7172 pub const KS_VideoControlFlag_StillCapturePreviewFrame: KS_VideoControlFlags = 128i32;
7173 pub const KS_VideoControlFlag_StartPhotoSequenceCapture: KS_VideoControlFlags = 256i32;
7174 pub const KS_VideoControlFlag_StopPhotoSequenceCapture: KS_VideoControlFlags = 512i32;
7175 pub type KS_VideoStreamingHints = i32;
7176 pub const KS_StreamingHint_FrameInterval: KS_VideoStreamingHints = 256i32;
7177 pub const KS_StreamingHint_KeyFrameRate: KS_VideoStreamingHints = 512i32;
7178 pub const KS_StreamingHint_PFrameRate: KS_VideoStreamingHints = 1024i32;
7179 pub const KS_StreamingHint_CompQuality: KS_VideoStreamingHints = 2048i32;
7180 pub const KS_StreamingHint_CompWindowSize: KS_VideoStreamingHints = 4096i32;
7181 pub const KS_iBLUE: u32 = 2u32;
7182 pub const KS_iEGA_COLORS: u32 = 16u32;
7183 pub const KS_iGREEN: u32 = 1u32;
7184 pub const KS_iMASK_COLORS: u32 = 3u32;
7185 pub const KS_iMAXBITS: u32 = 8u32;
7186 pub const KS_iPALETTE: u32 = 8u32;
7187 pub const KS_iPALETTE_COLORS: u32 = 256u32;
7188 pub const KS_iRED: u32 = 0u32;
7189 pub const KS_iTRUECOLOR: u32 = 16u32;
7190 #[repr(C)]
7191 #[cfg(feature = "Win32_Foundation")]
7192 pub struct LOOPEDSTREAMING_POSITION_EVENT_DATA {
7193     pub KsEventData: KSEVENTDATA,
7194     pub Position: u64,
7195 }
7196 #[cfg(feature = "Win32_Foundation")]
7197 impl ::core::marker::Copy for LOOPEDSTREAMING_POSITION_EVENT_DATA {}
7198 #[cfg(feature = "Win32_Foundation")]
7199 impl ::core::clone::Clone for LOOPEDSTREAMING_POSITION_EVENT_DATA {
clone(&self) -> Self7200     fn clone(&self) -> Self {
7201         *self
7202     }
7203 }
7204 pub const MAX_NABTS_VBI_LINES_PER_FIELD: u32 = 11u32;
7205 pub const MAX_RESOURCEGROUPID_LENGTH: u32 = 256u32;
7206 pub const MAX_SINK_DESCRIPTION_NAME_LENGTH: u32 = 32u32;
7207 pub const MAX_WST_VBI_LINES_PER_FIELD: u32 = 17u32;
7208 #[repr(C)]
7209 #[cfg(feature = "Win32_Foundation")]
7210 pub struct MEDIUM_INFO {
7211     pub MediaPresent: super::super::Foundation::BOOL,
7212     pub MediaType: u32,
7213     pub RecordInhibit: super::super::Foundation::BOOL,
7214 }
7215 #[cfg(feature = "Win32_Foundation")]
7216 impl ::core::marker::Copy for MEDIUM_INFO {}
7217 #[cfg(feature = "Win32_Foundation")]
7218 impl ::core::clone::Clone for MEDIUM_INFO {
clone(&self) -> Self7219     fn clone(&self) -> Self {
7220         *self
7221     }
7222 }
7223 #[repr(C)]
7224 pub union MF_MDL_SHARED_PAYLOAD_KEY {
7225     pub combined: MF_MDL_SHARED_PAYLOAD_KEY_0,
7226     pub GMDLHandle: ::windows_sys::core::GUID,
7227 }
7228 impl ::core::marker::Copy for MF_MDL_SHARED_PAYLOAD_KEY {}
7229 impl ::core::clone::Clone for MF_MDL_SHARED_PAYLOAD_KEY {
clone(&self) -> Self7230     fn clone(&self) -> Self {
7231         *self
7232     }
7233 }
7234 #[repr(C)]
7235 pub struct MF_MDL_SHARED_PAYLOAD_KEY_0 {
7236     pub pHandle: u32,
7237     pub fHandle: u32,
7238     pub uPayload: u64,
7239 }
7240 impl ::core::marker::Copy for MF_MDL_SHARED_PAYLOAD_KEY_0 {}
7241 impl ::core::clone::Clone for MF_MDL_SHARED_PAYLOAD_KEY_0 {
clone(&self) -> Self7242     fn clone(&self) -> Self {
7243         *self
7244     }
7245 }
7246 pub const MIN_DEV_VER_FOR_FLAGS: u32 = 272u32;
7247 pub const MIN_DEV_VER_FOR_QI: u32 = 256u32;
7248 #[repr(C)]
7249 pub struct NABTSFEC_BUFFER {
7250     pub dataSize: u32,
7251     pub groupID: u16,
7252     pub Reserved: u16,
7253     pub data: [u8; 448],
7254 }
7255 impl ::core::marker::Copy for NABTSFEC_BUFFER {}
7256 impl ::core::clone::Clone for NABTSFEC_BUFFER {
clone(&self) -> Self7257     fn clone(&self) -> Self {
7258         *self
7259     }
7260 }
7261 #[repr(C, packed(1))]
7262 pub struct NABTS_BUFFER {
7263     pub ScanlinesRequested: VBICODECFILTERING_SCANLINES,
7264     pub PictureNumber: i64,
7265     pub NabtsLines: [NABTS_BUFFER_LINE; 11],
7266 }
7267 impl ::core::marker::Copy for NABTS_BUFFER {}
7268 impl ::core::clone::Clone for NABTS_BUFFER {
clone(&self) -> Self7269     fn clone(&self) -> Self {
7270         *self
7271     }
7272 }
7273 #[repr(C)]
7274 pub struct NABTS_BUFFER_LINE {
7275     pub Confidence: u8,
7276     pub Bytes: [u8; 36],
7277 }
7278 impl ::core::marker::Copy for NABTS_BUFFER_LINE {}
7279 impl ::core::clone::Clone for NABTS_BUFFER_LINE {
clone(&self) -> Self7280     fn clone(&self) -> Self {
7281         *self
7282     }
7283 }
7284 pub const NABTS_BUFFER_PICTURENUMBER_SUPPORT: u32 = 1u32;
7285 pub const NABTS_BYTES_PER_LINE: u32 = 36u32;
7286 pub const NABTS_LINES_PER_BUNDLE: u32 = 16u32;
7287 pub const NABTS_PAYLOAD_PER_LINE: u32 = 28u32;
7288 pub const NANOSECONDS: u32 = 10000000u32;
7289 #[repr(C)]
7290 pub struct OPTIMAL_WEIGHT_TOTALS {
7291     pub MinTotalNominator: i64,
7292     pub MaxTotalNominator: i64,
7293     pub TotalDenominator: i64,
7294 }
7295 impl ::core::marker::Copy for OPTIMAL_WEIGHT_TOTALS {}
7296 impl ::core::clone::Clone for OPTIMAL_WEIGHT_TOTALS {
clone(&self) -> Self7297     fn clone(&self) -> Self {
7298         *self
7299     }
7300 }
7301 pub const PINNAME_DISPLAYPORT_OUT: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 570143529, data2: 6730, data3: 18650, data4: [160, 118, 35, 24, 163, 197, 155, 38] };
7302 pub const PINNAME_HDMI_OUT: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 947649539, data2: 59375, data3: 18689, data4: [134, 224, 53, 183, 195, 43, 0, 239] };
7303 pub const PINNAME_IMAGE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 950062488, data2: 54427, data3: 19688, data4: [180, 138, 52, 70, 103, 161, 120, 48] };
7304 pub const PINNAME_SPDIF_IN: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 366776357, data2: 8877, data3: 16819, data4: [136, 117, 244, 206, 176, 41, 158, 32] };
7305 pub const PINNAME_SPDIF_OUT: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
7306     data1: 975586433,
7307     data2: 58668,
7308     data3: 19330,
7309     data4: [142, 122, 200, 226, 249, 29, 195, 128],
7310 };
7311 pub const PINNAME_VIDEO_ANALOGVIDEOIN: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4218176131, data2: 851, data3: 4561, data4: [144, 95, 0, 0, 192, 204, 22, 186] };
7312 pub const PINNAME_VIDEO_CAPTURE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4218176129, data2: 851, data3: 4561, data4: [144, 95, 0, 0, 192, 204, 22, 186] };
7313 pub const PINNAME_VIDEO_CC: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4218176137, data2: 851, data3: 4561, data4: [144, 95, 0, 0, 192, 204, 22, 186] };
7314 pub const PINNAME_VIDEO_CC_CAPTURE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 447578209, data2: 301, data3: 4562, data4: [180, 177, 0, 160, 209, 2, 207, 190] };
7315 pub const PINNAME_VIDEO_EDS: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4218176135, data2: 851, data3: 4561, data4: [144, 95, 0, 0, 192, 204, 22, 186] };
7316 pub const PINNAME_VIDEO_NABTS: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4218176134, data2: 851, data3: 4561, data4: [144, 95, 0, 0, 192, 204, 22, 186] };
7317 pub const PINNAME_VIDEO_NABTS_CAPTURE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 695219808, data2: 18826, data3: 4562, data4: [180, 177, 0, 160, 209, 2, 207, 190] };
7318 pub const PINNAME_VIDEO_PREVIEW: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4218176130, data2: 851, data3: 4561, data4: [144, 95, 0, 0, 192, 204, 22, 186] };
7319 pub const PINNAME_VIDEO_STILL: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4218176138, data2: 851, data3: 4561, data4: [144, 95, 0, 0, 192, 204, 22, 186] };
7320 pub const PINNAME_VIDEO_TELETEXT: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4218176136, data2: 851, data3: 4561, data4: [144, 95, 0, 0, 192, 204, 22, 186] };
7321 pub const PINNAME_VIDEO_TIMECODE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4218176139, data2: 851, data3: 4561, data4: [144, 95, 0, 0, 192, 204, 22, 186] };
7322 pub const PINNAME_VIDEO_VBI: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4218176132, data2: 851, data3: 4561, data4: [144, 95, 0, 0, 192, 204, 22, 186] };
7323 pub const PINNAME_VIDEO_VIDEOPORT: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4218176133, data2: 851, data3: 4561, data4: [144, 95, 0, 0, 192, 204, 22, 186] };
7324 pub const PINNAME_VIDEO_VIDEOPORT_VBI: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4218176140, data2: 851, data3: 4561, data4: [144, 95, 0, 0, 192, 204, 22, 186] };
7325 pub type PIPE_ALLOCATOR_PLACE = i32;
7326 pub const Pipe_Allocator_None: PIPE_ALLOCATOR_PLACE = 0i32;
7327 pub const Pipe_Allocator_FirstPin: PIPE_ALLOCATOR_PLACE = 1i32;
7328 pub const Pipe_Allocator_LastPin: PIPE_ALLOCATOR_PLACE = 2i32;
7329 pub const Pipe_Allocator_MiddlePin: PIPE_ALLOCATOR_PLACE = 3i32;
7330 #[repr(C)]
7331 pub struct PIPE_DIMENSIONS {
7332     pub AllocatorPin: KS_COMPRESSION,
7333     pub MaxExpansionPin: KS_COMPRESSION,
7334     pub EndPin: KS_COMPRESSION,
7335 }
7336 impl ::core::marker::Copy for PIPE_DIMENSIONS {}
7337 impl ::core::clone::Clone for PIPE_DIMENSIONS {
clone(&self) -> Self7338     fn clone(&self) -> Self {
7339         *self
7340     }
7341 }
7342 pub type PIPE_STATE = i32;
7343 pub const PipeState_DontCare: PIPE_STATE = 0i32;
7344 pub const PipeState_RangeNotFixed: PIPE_STATE = 1i32;
7345 pub const PipeState_RangeFixed: PIPE_STATE = 2i32;
7346 pub const PipeState_CompressionUnknown: PIPE_STATE = 3i32;
7347 pub const PipeState_Finalized: PIPE_STATE = 4i32;
7348 #[repr(C)]
7349 pub struct PIPE_TERMINATION {
7350     pub Flags: u32,
7351     pub OutsideFactors: u32,
7352     pub Weigth: u32,
7353     pub PhysicalRange: KS_FRAMING_RANGE,
7354     pub OptimalRange: KS_FRAMING_RANGE_WEIGHTED,
7355     pub Compression: KS_COMPRESSION,
7356 }
7357 impl ::core::marker::Copy for PIPE_TERMINATION {}
7358 impl ::core::clone::Clone for PIPE_TERMINATION {
clone(&self) -> Self7359     fn clone(&self) -> Self {
7360         *self
7361     }
7362 }
7363 pub const PROPSETID_ALLOCATOR_CONTROL: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1394022752, data2: 5262, data3: 4562, data4: [153, 121, 0, 0, 192, 204, 22, 186] };
7364 pub const PROPSETID_EXT_DEVICE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3044215440, data2: 6700, data3: 4559, data4: [140, 35, 0, 170, 0, 107, 104, 20] };
7365 pub const PROPSETID_EXT_TRANSPORT: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2688341488, data2: 12357, data3: 4559, data4: [140, 68, 0, 170, 0, 107, 104, 20] };
7366 pub const PROPSETID_TIMECODE_READER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2605280481, data2: 33051, data3: 4559, data4: [140, 119, 0, 170, 0, 107, 104, 20] };
7367 pub const PROPSETID_TUNER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1781401093, data2: 10468, data3: 4560, data4: [161, 140, 0, 160, 201, 17, 137, 86] };
7368 pub const PROPSETID_VIDCAP_CAMERACONTROL: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3336647536, data2: 12460, data3: 4560, data4: [161, 140, 0, 160, 201, 17, 137, 86] };
7369 pub const PROPSETID_VIDCAP_CAMERACONTROL_FLASH: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
7370     data1: 2019462985,
7371     data2: 25506,
7372     data3: 16708,
7373     data4: [171, 112, 255, 178, 120, 250, 38, 206],
7374 };
7375 pub const PROPSETID_VIDCAP_CAMERACONTROL_IMAGE_PIN_CAPABILITY: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2638052287, data2: 23661, data3: 16696, data4: [187, 0, 88, 78, 221, 32, 247, 197] };
7376 pub const PROPSETID_VIDCAP_CAMERACONTROL_REGION_OF_INTEREST: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
7377     data1: 2635256216,
7378     data2: 63596,
7379     data3: 20461,
7380     data4: [176, 35, 93, 135, 101, 61, 167, 147],
7381 };
7382 pub const PROPSETID_VIDCAP_CAMERACONTROL_VIDEO_STABILIZATION: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
7383     data1: 1133923283,
7384     data2: 30486,
7385     data3: 16462,
7386     data4: [139, 225, 210, 153, 178, 14, 80, 253],
7387 };
7388 pub const PROPSETID_VIDCAP_CROSSBAR: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1781401152, data2: 10468, data3: 4560, data4: [161, 140, 0, 160, 201, 17, 137, 86] };
7389 pub const PROPSETID_VIDCAP_DROPPEDFRAMES: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3336647492, data2: 12460, data3: 4560, data4: [161, 140, 0, 160, 201, 17, 137, 86] };
7390 pub const PROPSETID_VIDCAP_SELECTOR: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
7391     data1: 448638666,
7392     data2: 26806,
7393     data3: 20355,
7394     data4: [147, 113, 180, 19, 144, 124, 123, 159],
7395 };
7396 pub const PROPSETID_VIDCAP_TVAUDIO: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1781401168, data2: 10468, data3: 4560, data4: [161, 140, 0, 160, 201, 17, 137, 86] };
7397 pub const PROPSETID_VIDCAP_VIDEOCOMPRESSION: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3336647491, data2: 12460, data3: 4560, data4: [161, 140, 0, 160, 201, 17, 137, 86] };
7398 pub const PROPSETID_VIDCAP_VIDEOCONTROL: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1781401200, data2: 10468, data3: 4560, data4: [161, 140, 0, 160, 201, 17, 137, 86] };
7399 pub const PROPSETID_VIDCAP_VIDEODECODER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3336647504, data2: 12460, data3: 4560, data4: [161, 140, 0, 160, 201, 17, 137, 86] };
7400 pub const PROPSETID_VIDCAP_VIDEOENCODER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1781401104, data2: 10468, data3: 4560, data4: [161, 140, 0, 160, 201, 17, 137, 86] };
7401 pub const PROPSETID_VIDCAP_VIDEOPROCAMP: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3336647520, data2: 12460, data3: 4560, data4: [161, 140, 0, 160, 201, 17, 137, 86] };
7402 pub const PipeFactor_Align: u32 = 512u32;
7403 pub const PipeFactor_Buffers: u32 = 256u32;
7404 pub const PipeFactor_FixedCompression: u32 = 64u32;
7405 pub const PipeFactor_Flags: u32 = 8u32;
7406 pub const PipeFactor_LogicalEnd: u32 = 2048u32;
7407 pub const PipeFactor_MemoryTypes: u32 = 4u32;
7408 pub const PipeFactor_None: u32 = 0u32;
7409 pub const PipeFactor_OptimalRanges: u32 = 32u32;
7410 pub const PipeFactor_PhysicalEnd: u32 = 1024u32;
7411 pub const PipeFactor_PhysicalRanges: u32 = 16u32;
7412 pub const PipeFactor_UnknownCompression: u32 = 128u32;
7413 pub const PipeFactor_UserModeDownstream: u32 = 2u32;
7414 pub const PipeFactor_UserModeUpstream: u32 = 1u32;
7415 #[cfg(feature = "Win32_Foundation")]
7416 pub const RT_RCDATA: super::super::Foundation::PWSTR = 10i32 as _;
7417 #[cfg(feature = "Win32_Foundation")]
7418 pub const RT_STRING: super::super::Foundation::PWSTR = 6i32 as _;
7419 #[repr(C)]
7420 pub struct SECURE_BUFFER_INFO {
7421     pub guidBufferIdentifier: ::windows_sys::core::GUID,
7422     pub cbBufferSize: u32,
7423     pub cbCaptured: u32,
7424     pub ullReserved: [u64; 16],
7425 }
7426 impl ::core::marker::Copy for SECURE_BUFFER_INFO {}
7427 impl ::core::clone::Clone for SECURE_BUFFER_INFO {
clone(&self) -> Self7428     fn clone(&self) -> Self {
7429         *self
7430     }
7431 }
7432 #[repr(C)]
7433 pub struct SOUNDDETECTOR_PATTERNHEADER {
7434     pub Size: u32,
7435     pub PatternType: ::windows_sys::core::GUID,
7436 }
7437 impl ::core::marker::Copy for SOUNDDETECTOR_PATTERNHEADER {}
7438 impl ::core::clone::Clone for SOUNDDETECTOR_PATTERNHEADER {
clone(&self) -> Self7439     fn clone(&self) -> Self {
7440         *self
7441     }
7442 }
7443 pub const SPEAKER_ALL: u32 = 2147483648u32;
7444 pub const SPEAKER_BACK_CENTER: u32 = 256u32;
7445 pub const SPEAKER_BACK_LEFT: u32 = 16u32;
7446 pub const SPEAKER_BACK_RIGHT: u32 = 32u32;
7447 pub const SPEAKER_FRONT_CENTER: u32 = 4u32;
7448 pub const SPEAKER_FRONT_LEFT: u32 = 1u32;
7449 pub const SPEAKER_FRONT_LEFT_OF_CENTER: u32 = 64u32;
7450 pub const SPEAKER_FRONT_RIGHT: u32 = 2u32;
7451 pub const SPEAKER_FRONT_RIGHT_OF_CENTER: u32 = 128u32;
7452 pub const SPEAKER_LOW_FREQUENCY: u32 = 8u32;
7453 pub const SPEAKER_RESERVED: u32 = 2147221504u32;
7454 pub const SPEAKER_SIDE_LEFT: u32 = 512u32;
7455 pub const SPEAKER_SIDE_RIGHT: u32 = 1024u32;
7456 pub const SPEAKER_TOP_BACK_CENTER: u32 = 65536u32;
7457 pub const SPEAKER_TOP_BACK_LEFT: u32 = 32768u32;
7458 pub const SPEAKER_TOP_BACK_RIGHT: u32 = 131072u32;
7459 pub const SPEAKER_TOP_CENTER: u32 = 2048u32;
7460 pub const SPEAKER_TOP_FRONT_CENTER: u32 = 8192u32;
7461 pub const SPEAKER_TOP_FRONT_LEFT: u32 = 4096u32;
7462 pub const SPEAKER_TOP_FRONT_RIGHT: u32 = 16384u32;
7463 pub const SYSAUDIO_FLAGS_CLEAR_PREFERRED: u32 = 2u32;
7464 pub const SYSAUDIO_FLAGS_DONT_COMBINE_PINS: u32 = 1u32;
7465 pub type TELEPHONY_CALLCONTROLOP = i32;
7466 pub const TELEPHONY_CALLCONTROLOP_DISABLE: TELEPHONY_CALLCONTROLOP = 0i32;
7467 pub const TELEPHONY_CALLCONTROLOP_ENABLE: TELEPHONY_CALLCONTROLOP = 1i32;
7468 pub type TELEPHONY_CALLSTATE = i32;
7469 pub const TELEPHONY_CALLSTATE_DISABLED: TELEPHONY_CALLSTATE = 0i32;
7470 pub const TELEPHONY_CALLSTATE_ENABLED: TELEPHONY_CALLSTATE = 1i32;
7471 pub const TELEPHONY_CALLSTATE_HOLD: TELEPHONY_CALLSTATE = 2i32;
7472 pub const TELEPHONY_CALLSTATE_PROVIDERTRANSITION: TELEPHONY_CALLSTATE = 3i32;
7473 pub type TELEPHONY_CALLTYPE = i32;
7474 pub const TELEPHONY_CALLTYPE_CIRCUITSWITCHED: TELEPHONY_CALLTYPE = 0i32;
7475 pub const TELEPHONY_CALLTYPE_PACKETSWITCHED_LTE: TELEPHONY_CALLTYPE = 1i32;
7476 pub const TELEPHONY_CALLTYPE_PACKETSWITCHED_WLAN: TELEPHONY_CALLTYPE = 2i32;
7477 pub type TELEPHONY_PROVIDERCHANGEOP = i32;
7478 pub const TELEPHONY_PROVIDERCHANGEOP_END: TELEPHONY_PROVIDERCHANGEOP = 0i32;
7479 pub const TELEPHONY_PROVIDERCHANGEOP_BEGIN: TELEPHONY_PROVIDERCHANGEOP = 1i32;
7480 pub const TELEPHONY_PROVIDERCHANGEOP_CANCEL: TELEPHONY_PROVIDERCHANGEOP = 2i32;
7481 #[repr(C)]
7482 pub struct TRANSPORTAUDIOPARMS {
7483     pub EnableOutput: i32,
7484     pub EnableRecord: i32,
7485     pub EnableSelsync: i32,
7486     pub Input: i32,
7487     pub MonitorSource: i32,
7488 }
7489 impl ::core::marker::Copy for TRANSPORTAUDIOPARMS {}
7490 impl ::core::clone::Clone for TRANSPORTAUDIOPARMS {
clone(&self) -> Self7491     fn clone(&self) -> Self {
7492         *self
7493     }
7494 }
7495 #[repr(C)]
7496 pub struct TRANSPORTBASICPARMS {
7497     pub TimeFormat: i32,
7498     pub TimeReference: i32,
7499     pub Superimpose: i32,
7500     pub EndStopAction: i32,
7501     pub RecordFormat: i32,
7502     pub StepFrames: i32,
7503     pub SetpField: i32,
7504     pub Preroll: i32,
7505     pub RecPreroll: i32,
7506     pub Postroll: i32,
7507     pub EditDelay: i32,
7508     pub PlayTCDelay: i32,
7509     pub RecTCDelay: i32,
7510     pub EditField: i32,
7511     pub FrameServo: i32,
7512     pub ColorFrameServo: i32,
7513     pub ServoRef: i32,
7514     pub WarnGenlock: i32,
7515     pub SetTracking: i32,
7516     pub VolumeName: [i8; 40],
7517     pub Ballistic: [i32; 20],
7518     pub Speed: i32,
7519     pub CounterFormat: i32,
7520     pub TunerChannel: i32,
7521     pub TunerNumber: i32,
7522     pub TimerEvent: i32,
7523     pub TimerStartDay: i32,
7524     pub TimerStartTime: i32,
7525     pub TimerStopDay: i32,
7526     pub TimerStopTime: i32,
7527 }
7528 impl ::core::marker::Copy for TRANSPORTBASICPARMS {}
7529 impl ::core::clone::Clone for TRANSPORTBASICPARMS {
clone(&self) -> Self7530     fn clone(&self) -> Self {
7531         *self
7532     }
7533 }
7534 #[repr(C)]
7535 pub struct TRANSPORTSTATUS {
7536     pub Mode: i32,
7537     pub LastError: i32,
7538     pub RecordInhibit: i32,
7539     pub ServoLock: i32,
7540     pub MediaPresent: i32,
7541     pub MediaLength: i32,
7542     pub MediaSize: i32,
7543     pub MediaTrackCount: i32,
7544     pub MediaTrackLength: i32,
7545     pub MediaTrackSide: i32,
7546     pub MediaType: i32,
7547     pub LinkMode: i32,
7548     pub NotifyOn: i32,
7549 }
7550 impl ::core::marker::Copy for TRANSPORTSTATUS {}
7551 impl ::core::clone::Clone for TRANSPORTSTATUS {
clone(&self) -> Self7552     fn clone(&self) -> Self {
7553         *self
7554     }
7555 }
7556 #[repr(C)]
7557 pub struct TRANSPORTVIDEOPARMS {
7558     pub OutputMode: i32,
7559     pub Input: i32,
7560 }
7561 impl ::core::marker::Copy for TRANSPORTVIDEOPARMS {}
7562 impl ::core::clone::Clone for TRANSPORTVIDEOPARMS {
clone(&self) -> Self7563     fn clone(&self) -> Self {
7564         *self
7565     }
7566 }
7567 #[repr(C)]
7568 pub struct TRANSPORT_STATE {
7569     pub Mode: u32,
7570     pub State: u32,
7571 }
7572 impl ::core::marker::Copy for TRANSPORT_STATE {}
7573 impl ::core::clone::Clone for TRANSPORT_STATE {
clone(&self) -> Self7574     fn clone(&self) -> Self {
7575         *self
7576     }
7577 }
7578 #[repr(C)]
7579 pub struct TUNER_ANALOG_CAPS_S {
7580     pub Mode: u32,
7581     pub StandardsSupported: u32,
7582     pub MinFrequency: u32,
7583     pub MaxFrequency: u32,
7584     pub TuningGranularity: u32,
7585     pub SettlingTime: u32,
7586     pub ScanSensingRange: u32,
7587     pub FineTuneSensingRange: u32,
7588 }
7589 impl ::core::marker::Copy for TUNER_ANALOG_CAPS_S {}
7590 impl ::core::clone::Clone for TUNER_ANALOG_CAPS_S {
clone(&self) -> Self7591     fn clone(&self) -> Self {
7592         *self
7593     }
7594 }
7595 #[repr(C)]
7596 pub struct VBICAP_PROPERTIES_PROTECTION_S {
7597     pub Property: KSIDENTIFIER,
7598     pub StreamIndex: u32,
7599     pub Status: u32,
7600 }
7601 impl ::core::marker::Copy for VBICAP_PROPERTIES_PROTECTION_S {}
7602 impl ::core::clone::Clone for VBICAP_PROPERTIES_PROTECTION_S {
clone(&self) -> Self7603     fn clone(&self) -> Self {
7604         *self
7605     }
7606 }
7607 #[repr(C)]
7608 pub struct VBICODECFILTERING_CC_SUBSTREAMS {
7609     pub SubstreamMask: u32,
7610 }
7611 impl ::core::marker::Copy for VBICODECFILTERING_CC_SUBSTREAMS {}
7612 impl ::core::clone::Clone for VBICODECFILTERING_CC_SUBSTREAMS {
clone(&self) -> Self7613     fn clone(&self) -> Self {
7614         *self
7615     }
7616 }
7617 #[repr(C)]
7618 pub struct VBICODECFILTERING_NABTS_SUBSTREAMS {
7619     pub SubstreamMask: [u32; 128],
7620 }
7621 impl ::core::marker::Copy for VBICODECFILTERING_NABTS_SUBSTREAMS {}
7622 impl ::core::clone::Clone for VBICODECFILTERING_NABTS_SUBSTREAMS {
clone(&self) -> Self7623     fn clone(&self) -> Self {
7624         *self
7625     }
7626 }
7627 #[repr(C)]
7628 pub struct VBICODECFILTERING_SCANLINES {
7629     pub DwordBitArray: [u32; 32],
7630 }
7631 impl ::core::marker::Copy for VBICODECFILTERING_SCANLINES {}
7632 impl ::core::clone::Clone for VBICODECFILTERING_SCANLINES {
clone(&self) -> Self7633     fn clone(&self) -> Self {
7634         *self
7635     }
7636 }
7637 #[repr(C)]
7638 pub struct VBICODECFILTERING_STATISTICS_CC {
7639     pub Common: VBICODECFILTERING_STATISTICS_COMMON,
7640 }
7641 impl ::core::marker::Copy for VBICODECFILTERING_STATISTICS_CC {}
7642 impl ::core::clone::Clone for VBICODECFILTERING_STATISTICS_CC {
clone(&self) -> Self7643     fn clone(&self) -> Self {
7644         *self
7645     }
7646 }
7647 #[repr(C)]
7648 pub struct VBICODECFILTERING_STATISTICS_CC_PIN {
7649     pub Common: VBICODECFILTERING_STATISTICS_COMMON_PIN,
7650 }
7651 impl ::core::marker::Copy for VBICODECFILTERING_STATISTICS_CC_PIN {}
7652 impl ::core::clone::Clone for VBICODECFILTERING_STATISTICS_CC_PIN {
clone(&self) -> Self7653     fn clone(&self) -> Self {
7654         *self
7655     }
7656 }
7657 #[repr(C)]
7658 pub struct VBICODECFILTERING_STATISTICS_COMMON {
7659     pub InputSRBsProcessed: u32,
7660     pub OutputSRBsProcessed: u32,
7661     pub SRBsIgnored: u32,
7662     pub InputSRBsMissing: u32,
7663     pub OutputSRBsMissing: u32,
7664     pub OutputFailures: u32,
7665     pub InternalErrors: u32,
7666     pub ExternalErrors: u32,
7667     pub InputDiscontinuities: u32,
7668     pub DSPFailures: u32,
7669     pub TvTunerChanges: u32,
7670     pub VBIHeaderChanges: u32,
7671     pub LineConfidenceAvg: u32,
7672     pub BytesOutput: u32,
7673 }
7674 impl ::core::marker::Copy for VBICODECFILTERING_STATISTICS_COMMON {}
7675 impl ::core::clone::Clone for VBICODECFILTERING_STATISTICS_COMMON {
clone(&self) -> Self7676     fn clone(&self) -> Self {
7677         *self
7678     }
7679 }
7680 #[repr(C)]
7681 pub struct VBICODECFILTERING_STATISTICS_COMMON_PIN {
7682     pub SRBsProcessed: u32,
7683     pub SRBsIgnored: u32,
7684     pub SRBsMissing: u32,
7685     pub InternalErrors: u32,
7686     pub ExternalErrors: u32,
7687     pub Discontinuities: u32,
7688     pub LineConfidenceAvg: u32,
7689     pub BytesOutput: u32,
7690 }
7691 impl ::core::marker::Copy for VBICODECFILTERING_STATISTICS_COMMON_PIN {}
7692 impl ::core::clone::Clone for VBICODECFILTERING_STATISTICS_COMMON_PIN {
clone(&self) -> Self7693     fn clone(&self) -> Self {
7694         *self
7695     }
7696 }
7697 #[repr(C)]
7698 pub struct VBICODECFILTERING_STATISTICS_NABTS {
7699     pub Common: VBICODECFILTERING_STATISTICS_COMMON,
7700     pub FECBundleBadLines: u32,
7701     pub FECQueueOverflows: u32,
7702     pub FECCorrectedLines: u32,
7703     pub FECUncorrectableLines: u32,
7704     pub BundlesProcessed: u32,
7705     pub BundlesSent2IP: u32,
7706     pub FilteredLines: u32,
7707 }
7708 impl ::core::marker::Copy for VBICODECFILTERING_STATISTICS_NABTS {}
7709 impl ::core::clone::Clone for VBICODECFILTERING_STATISTICS_NABTS {
clone(&self) -> Self7710     fn clone(&self) -> Self {
7711         *self
7712     }
7713 }
7714 #[repr(C)]
7715 pub struct VBICODECFILTERING_STATISTICS_NABTS_PIN {
7716     pub Common: VBICODECFILTERING_STATISTICS_COMMON_PIN,
7717 }
7718 impl ::core::marker::Copy for VBICODECFILTERING_STATISTICS_NABTS_PIN {}
7719 impl ::core::clone::Clone for VBICODECFILTERING_STATISTICS_NABTS_PIN {
clone(&self) -> Self7720     fn clone(&self) -> Self {
7721         *self
7722     }
7723 }
7724 #[repr(C)]
7725 pub struct VBICODECFILTERING_STATISTICS_TELETEXT {
7726     pub Common: VBICODECFILTERING_STATISTICS_COMMON,
7727 }
7728 impl ::core::marker::Copy for VBICODECFILTERING_STATISTICS_TELETEXT {}
7729 impl ::core::clone::Clone for VBICODECFILTERING_STATISTICS_TELETEXT {
clone(&self) -> Self7730     fn clone(&self) -> Self {
7731         *self
7732     }
7733 }
7734 #[repr(C)]
7735 pub struct VBICODECFILTERING_STATISTICS_TELETEXT_PIN {
7736     pub Common: VBICODECFILTERING_STATISTICS_COMMON_PIN,
7737 }
7738 impl ::core::marker::Copy for VBICODECFILTERING_STATISTICS_TELETEXT_PIN {}
7739 impl ::core::clone::Clone for VBICODECFILTERING_STATISTICS_TELETEXT_PIN {
clone(&self) -> Self7740     fn clone(&self) -> Self {
7741         *self
7742     }
7743 }
7744 #[repr(C)]
7745 pub struct VRAM_SURFACE_INFO {
7746     pub hSurface: usize,
7747     pub VramPhysicalAddress: i64,
7748     pub cbCaptured: u32,
7749     pub dwWidth: u32,
7750     pub dwHeight: u32,
7751     pub dwLinearSize: u32,
7752     pub lPitch: i32,
7753     pub ullReserved: [u64; 16],
7754 }
7755 impl ::core::marker::Copy for VRAM_SURFACE_INFO {}
7756 impl ::core::clone::Clone for VRAM_SURFACE_INFO {
clone(&self) -> Self7757     fn clone(&self) -> Self {
7758         *self
7759     }
7760 }
7761 #[repr(C)]
7762 pub struct VRAM_SURFACE_INFO_PROPERTY_S {
7763     pub Property: KSIDENTIFIER,
7764     pub pVramSurfaceInfo: *mut VRAM_SURFACE_INFO,
7765 }
7766 impl ::core::marker::Copy for VRAM_SURFACE_INFO_PROPERTY_S {}
7767 impl ::core::clone::Clone for VRAM_SURFACE_INFO_PROPERTY_S {
clone(&self) -> Self7768     fn clone(&self) -> Self {
7769         *self
7770     }
7771 }
7772 pub const WAVE_FORMAT_EXTENSIBLE: u32 = 65534u32;
7773 #[repr(C)]
7774 pub struct WNF_KSCAMERA_STREAMSTATE_INFO {
7775     pub ProcessId: u32,
7776     pub SessionId: u32,
7777     pub StreamState: u32,
7778     pub Reserved: u32,
7779 }
7780 impl ::core::marker::Copy for WNF_KSCAMERA_STREAMSTATE_INFO {}
7781 impl ::core::clone::Clone for WNF_KSCAMERA_STREAMSTATE_INFO {
clone(&self) -> Self7782     fn clone(&self) -> Self {
7783         *self
7784     }
7785 }
7786 #[repr(C)]
7787 pub struct WST_BUFFER {
7788     pub ScanlinesRequested: VBICODECFILTERING_SCANLINES,
7789     pub WstLines: [WST_BUFFER_LINE; 17],
7790 }
7791 impl ::core::marker::Copy for WST_BUFFER {}
7792 impl ::core::clone::Clone for WST_BUFFER {
clone(&self) -> Self7793     fn clone(&self) -> Self {
7794         *self
7795     }
7796 }
7797 #[repr(C)]
7798 pub struct WST_BUFFER_LINE {
7799     pub Confidence: u8,
7800     pub Bytes: [u8; 42],
7801 }
7802 impl ::core::marker::Copy for WST_BUFFER_LINE {}
7803 impl ::core::clone::Clone for WST_BUFFER_LINE {
clone(&self) -> Self7804     fn clone(&self) -> Self {
7805         *self
7806     }
7807 }
7808 pub const WST_BYTES_PER_LINE: u32 = 42u32;
7809 pub const WST_TVTUNER_CHANGE_BEGIN_TUNE: i32 = 4096i32;
7810 pub const WST_TVTUNER_CHANGE_END_TUNE: i32 = 8192i32;
7811 #[repr(C)]
7812 pub struct _KSAUDIO_PACKETSIZE_SIGNALPROCESSINGMODE_CONSTRAINT {
7813     pub ProcessingMode: ::windows_sys::core::GUID,
7814     pub SamplesPerProcessingPacket: u32,
7815     pub ProcessingPacketDurationInHns: u32,
7816 }
7817 impl ::core::marker::Copy for _KSAUDIO_PACKETSIZE_SIGNALPROCESSINGMODE_CONSTRAINT {}
7818 impl ::core::clone::Clone for _KSAUDIO_PACKETSIZE_SIGNALPROCESSINGMODE_CONSTRAINT {
clone(&self) -> Self7819     fn clone(&self) -> Self {
7820         *self
7821     }
7822 }
7823 pub type _TunerDecoderLockType = i32;
7824 pub const Tuner_LockType_None: _TunerDecoderLockType = 0i32;
7825 pub const Tuner_LockType_Within_Scan_Sensing_Range: _TunerDecoderLockType = 1i32;
7826 pub const Tuner_LockType_Locked: _TunerDecoderLockType = 2i32;
7827