]> git.proxmox.com Git - rustc.git/blame - vendor/windows-sys/src/Windows/Media/Devices/mod.rs
New upstream version 1.66.0+dfsg1
[rustc.git] / vendor / windows-sys / src / Windows / Media / Devices / mod.rs
CommitLineData
5e7ed085
FG
1#[cfg(feature = "Media_Devices_Core")]
2pub mod Core;
3pub type AdvancedPhotoCaptureSettings = *mut ::core::ffi::c_void;
4pub type AdvancedPhotoControl = *mut ::core::ffi::c_void;
04454e1e 5#[doc = "*Required features: `\"Media_Devices\"`*"]
5e7ed085
FG
6#[repr(transparent)]
7pub struct AdvancedPhotoMode(pub i32);
8impl AdvancedPhotoMode {
9 pub const Auto: Self = Self(0i32);
10 pub const Standard: Self = Self(1i32);
11 pub const Hdr: Self = Self(2i32);
12 pub const LowLight: Self = Self(3i32);
13}
14impl ::core::marker::Copy for AdvancedPhotoMode {}
15impl ::core::clone::Clone for AdvancedPhotoMode {
16 fn clone(&self) -> Self {
17 *self
18 }
19}
20pub type AudioDeviceController = *mut ::core::ffi::c_void;
21pub type AudioDeviceModule = *mut ::core::ffi::c_void;
22pub type AudioDeviceModuleNotificationEventArgs = *mut ::core::ffi::c_void;
23pub type AudioDeviceModulesManager = *mut ::core::ffi::c_void;
04454e1e 24#[doc = "*Required features: `\"Media_Devices\"`*"]
5e7ed085
FG
25#[repr(transparent)]
26pub struct AudioDeviceRole(pub i32);
27impl AudioDeviceRole {
28 pub const Default: Self = Self(0i32);
29 pub const Communications: Self = Self(1i32);
30}
31impl ::core::marker::Copy for AudioDeviceRole {}
32impl ::core::clone::Clone for AudioDeviceRole {
33 fn clone(&self) -> Self {
34 *self
35 }
36}
04454e1e 37#[doc = "*Required features: `\"Media_Devices\"`*"]
5e7ed085
FG
38#[repr(transparent)]
39pub struct AutoFocusRange(pub i32);
40impl AutoFocusRange {
41 pub const FullRange: Self = Self(0i32);
42 pub const Macro: Self = Self(1i32);
43 pub const Normal: Self = Self(2i32);
44}
45impl ::core::marker::Copy for AutoFocusRange {}
46impl ::core::clone::Clone for AutoFocusRange {
47 fn clone(&self) -> Self {
48 *self
49 }
50}
51pub type CallControl = *mut ::core::ffi::c_void;
52pub type CallControlEventHandler = *mut ::core::ffi::c_void;
53pub type CameraOcclusionInfo = *mut ::core::ffi::c_void;
04454e1e 54#[doc = "*Required features: `\"Media_Devices\"`*"]
5e7ed085
FG
55#[repr(transparent)]
56pub struct CameraOcclusionKind(pub i32);
57impl CameraOcclusionKind {
58 pub const Lid: Self = Self(0i32);
59 pub const CameraHardware: Self = Self(1i32);
60}
61impl ::core::marker::Copy for CameraOcclusionKind {}
62impl ::core::clone::Clone for CameraOcclusionKind {
63 fn clone(&self) -> Self {
64 *self
65 }
66}
67pub type CameraOcclusionState = *mut ::core::ffi::c_void;
68pub type CameraOcclusionStateChangedEventArgs = *mut ::core::ffi::c_void;
04454e1e 69#[doc = "*Required features: `\"Media_Devices\"`*"]
5e7ed085
FG
70#[repr(transparent)]
71pub struct CameraStreamState(pub i32);
72impl CameraStreamState {
73 pub const NotStreaming: Self = Self(0i32);
74 pub const Streaming: Self = Self(1i32);
75 pub const BlockedForPrivacy: Self = Self(2i32);
76 pub const Shutdown: Self = Self(3i32);
77}
78impl ::core::marker::Copy for CameraStreamState {}
79impl ::core::clone::Clone for CameraStreamState {
80 fn clone(&self) -> Self {
81 *self
82 }
83}
04454e1e 84#[doc = "*Required features: `\"Media_Devices\"`*"]
5e7ed085
FG
85#[repr(transparent)]
86pub struct CaptureSceneMode(pub i32);
87impl CaptureSceneMode {
88 pub const Auto: Self = Self(0i32);
89 pub const Manual: Self = Self(1i32);
90 pub const Macro: Self = Self(2i32);
91 pub const Portrait: Self = Self(3i32);
92 pub const Sport: Self = Self(4i32);
93 pub const Snow: Self = Self(5i32);
94 pub const Night: Self = Self(6i32);
95 pub const Beach: Self = Self(7i32);
96 pub const Sunset: Self = Self(8i32);
97 pub const Candlelight: Self = Self(9i32);
98 pub const Landscape: Self = Self(10i32);
99 pub const NightPortrait: Self = Self(11i32);
100 pub const Backlit: Self = Self(12i32);
101}
102impl ::core::marker::Copy for CaptureSceneMode {}
103impl ::core::clone::Clone for CaptureSceneMode {
104 fn clone(&self) -> Self {
105 *self
106 }
107}
04454e1e 108#[doc = "*Required features: `\"Media_Devices\"`*"]
5e7ed085
FG
109#[repr(transparent)]
110pub struct CaptureUse(pub i32);
111impl CaptureUse {
112 pub const None: Self = Self(0i32);
113 pub const Photo: Self = Self(1i32);
114 pub const Video: Self = Self(2i32);
115}
116impl ::core::marker::Copy for CaptureUse {}
117impl ::core::clone::Clone for CaptureUse {
118 fn clone(&self) -> Self {
119 *self
120 }
121}
04454e1e 122#[doc = "*Required features: `\"Media_Devices\"`*"]
5e7ed085
FG
123#[repr(transparent)]
124pub struct ColorTemperaturePreset(pub i32);
125impl ColorTemperaturePreset {
126 pub const Auto: Self = Self(0i32);
127 pub const Manual: Self = Self(1i32);
128 pub const Cloudy: Self = Self(2i32);
129 pub const Daylight: Self = Self(3i32);
130 pub const Flash: Self = Self(4i32);
131 pub const Fluorescent: Self = Self(5i32);
132 pub const Tungsten: Self = Self(6i32);
133 pub const Candlelight: Self = Self(7i32);
134}
135impl ::core::marker::Copy for ColorTemperaturePreset {}
136impl ::core::clone::Clone for ColorTemperaturePreset {
137 fn clone(&self) -> Self {
138 *self
139 }
140}
141pub type DefaultAudioCaptureDeviceChangedEventArgs = *mut ::core::ffi::c_void;
142pub type DefaultAudioRenderDeviceChangedEventArgs = *mut ::core::ffi::c_void;
143pub type DialRequestedEventArgs = *mut ::core::ffi::c_void;
144pub type DialRequestedEventHandler = *mut ::core::ffi::c_void;
145pub type DigitalWindowBounds = *mut ::core::ffi::c_void;
146pub type DigitalWindowCapability = *mut ::core::ffi::c_void;
147pub type DigitalWindowControl = *mut ::core::ffi::c_void;
04454e1e 148#[doc = "*Required features: `\"Media_Devices\"`*"]
5e7ed085
FG
149#[repr(transparent)]
150pub struct DigitalWindowMode(pub i32);
151impl DigitalWindowMode {
152 pub const Off: Self = Self(0i32);
153 pub const On: Self = Self(1i32);
154 pub const Auto: Self = Self(2i32);
155}
156impl ::core::marker::Copy for DigitalWindowMode {}
157impl ::core::clone::Clone for DigitalWindowMode {
158 fn clone(&self) -> Self {
159 *self
160 }
161}
162pub type ExposureCompensationControl = *mut ::core::ffi::c_void;
163pub type ExposureControl = *mut ::core::ffi::c_void;
164pub type ExposurePriorityVideoControl = *mut ::core::ffi::c_void;
165pub type FlashControl = *mut ::core::ffi::c_void;
166pub type FocusControl = *mut ::core::ffi::c_void;
04454e1e 167#[doc = "*Required features: `\"Media_Devices\"`*"]
5e7ed085
FG
168#[repr(transparent)]
169pub struct FocusMode(pub i32);
170impl FocusMode {
171 pub const Auto: Self = Self(0i32);
172 pub const Single: Self = Self(1i32);
173 pub const Continuous: Self = Self(2i32);
174 pub const Manual: Self = Self(3i32);
175}
176impl ::core::marker::Copy for FocusMode {}
177impl ::core::clone::Clone for FocusMode {
178 fn clone(&self) -> Self {
179 *self
180 }
181}
04454e1e 182#[doc = "*Required features: `\"Media_Devices\"`*"]
5e7ed085
FG
183#[repr(transparent)]
184pub struct FocusPreset(pub i32);
185impl FocusPreset {
186 pub const Auto: Self = Self(0i32);
187 pub const Manual: Self = Self(1i32);
188 pub const AutoMacro: Self = Self(2i32);
189 pub const AutoNormal: Self = Self(3i32);
190 pub const AutoInfinity: Self = Self(4i32);
191 pub const AutoHyperfocal: Self = Self(5i32);
192}
193impl ::core::marker::Copy for FocusPreset {}
194impl ::core::clone::Clone for FocusPreset {
195 fn clone(&self) -> Self {
196 *self
197 }
198}
199pub type FocusSettings = *mut ::core::ffi::c_void;
200pub type HdrVideoControl = *mut ::core::ffi::c_void;
04454e1e 201#[doc = "*Required features: `\"Media_Devices\"`*"]
5e7ed085
FG
202#[repr(transparent)]
203pub struct HdrVideoMode(pub i32);
204impl HdrVideoMode {
205 pub const Off: Self = Self(0i32);
206 pub const On: Self = Self(1i32);
207 pub const Auto: Self = Self(2i32);
208}
209impl ::core::marker::Copy for HdrVideoMode {}
210impl ::core::clone::Clone for HdrVideoMode {
211 fn clone(&self) -> Self {
212 *self
213 }
214}
215pub type IDefaultAudioDeviceChangedEventArgs = *mut ::core::ffi::c_void;
216pub type IMediaDeviceController = *mut ::core::ffi::c_void;
217pub type InfraredTorchControl = *mut ::core::ffi::c_void;
04454e1e 218#[doc = "*Required features: `\"Media_Devices\"`*"]
5e7ed085
FG
219#[repr(transparent)]
220pub struct InfraredTorchMode(pub i32);
221impl InfraredTorchMode {
222 pub const Off: Self = Self(0i32);
223 pub const On: Self = Self(1i32);
224 pub const AlternatingFrameIllumination: Self = Self(2i32);
225}
226impl ::core::marker::Copy for InfraredTorchMode {}
227impl ::core::clone::Clone for InfraredTorchMode {
228 fn clone(&self) -> Self {
229 *self
230 }
231}
232pub type IsoSpeedControl = *mut ::core::ffi::c_void;
04454e1e 233#[doc = "*Required features: `\"Media_Devices\"`, `\"deprecated\"`*"]
5e7ed085
FG
234#[cfg(feature = "deprecated")]
235#[repr(transparent)]
236pub struct IsoSpeedPreset(pub i32);
237#[cfg(feature = "deprecated")]
238impl IsoSpeedPreset {
239 pub const Auto: Self = Self(0i32);
240 pub const Iso50: Self = Self(1i32);
241 pub const Iso80: Self = Self(2i32);
242 pub const Iso100: Self = Self(3i32);
243 pub const Iso200: Self = Self(4i32);
244 pub const Iso400: Self = Self(5i32);
245 pub const Iso800: Self = Self(6i32);
246 pub const Iso1600: Self = Self(7i32);
247 pub const Iso3200: Self = Self(8i32);
248 pub const Iso6400: Self = Self(9i32);
249 pub const Iso12800: Self = Self(10i32);
250 pub const Iso25600: Self = Self(11i32);
251}
252#[cfg(feature = "deprecated")]
253impl ::core::marker::Copy for IsoSpeedPreset {}
254#[cfg(feature = "deprecated")]
255impl ::core::clone::Clone for IsoSpeedPreset {
256 fn clone(&self) -> Self {
257 *self
258 }
259}
260pub type KeypadPressedEventArgs = *mut ::core::ffi::c_void;
261pub type KeypadPressedEventHandler = *mut ::core::ffi::c_void;
262pub type LowLagPhotoControl = *mut ::core::ffi::c_void;
263pub type LowLagPhotoSequenceControl = *mut ::core::ffi::c_void;
04454e1e 264#[doc = "*Required features: `\"Media_Devices\"`*"]
5e7ed085
FG
265#[repr(transparent)]
266pub struct ManualFocusDistance(pub i32);
267impl ManualFocusDistance {
268 pub const Infinity: Self = Self(0i32);
269 pub const Hyperfocal: Self = Self(1i32);
270 pub const Nearest: Self = Self(2i32);
271}
272impl ::core::marker::Copy for ManualFocusDistance {}
273impl ::core::clone::Clone for ManualFocusDistance {
274 fn clone(&self) -> Self {
275 *self
276 }
277}
04454e1e 278#[doc = "*Required features: `\"Media_Devices\"`*"]
5e7ed085
FG
279#[repr(transparent)]
280pub struct MediaCaptureFocusState(pub i32);
281impl MediaCaptureFocusState {
282 pub const Uninitialized: Self = Self(0i32);
283 pub const Lost: Self = Self(1i32);
284 pub const Searching: Self = Self(2i32);
285 pub const Focused: Self = Self(3i32);
286 pub const Failed: Self = Self(4i32);
287}
288impl ::core::marker::Copy for MediaCaptureFocusState {}
289impl ::core::clone::Clone for MediaCaptureFocusState {
290 fn clone(&self) -> Self {
291 *self
292 }
293}
04454e1e 294#[doc = "*Required features: `\"Media_Devices\"`*"]
5e7ed085
FG
295#[repr(transparent)]
296pub struct MediaCaptureOptimization(pub i32);
297impl MediaCaptureOptimization {
298 pub const Default: Self = Self(0i32);
299 pub const Quality: Self = Self(1i32);
300 pub const Latency: Self = Self(2i32);
301 pub const Power: Self = Self(3i32);
302 pub const LatencyThenQuality: Self = Self(4i32);
303 pub const LatencyThenPower: Self = Self(5i32);
304 pub const PowerAndQuality: Self = Self(6i32);
305}
306impl ::core::marker::Copy for MediaCaptureOptimization {}
307impl ::core::clone::Clone for MediaCaptureOptimization {
308 fn clone(&self) -> Self {
309 *self
310 }
311}
04454e1e 312#[doc = "*Required features: `\"Media_Devices\"`*"]
5e7ed085
FG
313#[repr(transparent)]
314pub struct MediaCapturePauseBehavior(pub i32);
315impl MediaCapturePauseBehavior {
316 pub const RetainHardwareResources: Self = Self(0i32);
317 pub const ReleaseHardwareResources: Self = Self(1i32);
318}
319impl ::core::marker::Copy for MediaCapturePauseBehavior {}
320impl ::core::clone::Clone for MediaCapturePauseBehavior {
321 fn clone(&self) -> Self {
322 *self
323 }
324}
325pub type MediaDeviceControl = *mut ::core::ffi::c_void;
326pub type MediaDeviceControlCapabilities = *mut ::core::ffi::c_void;
327pub type ModuleCommandResult = *mut ::core::ffi::c_void;
328pub type OpticalImageStabilizationControl = *mut ::core::ffi::c_void;
04454e1e 329#[doc = "*Required features: `\"Media_Devices\"`*"]
5e7ed085
FG
330#[repr(transparent)]
331pub struct OpticalImageStabilizationMode(pub i32);
332impl OpticalImageStabilizationMode {
333 pub const Off: Self = Self(0i32);
334 pub const On: Self = Self(1i32);
335 pub const Auto: Self = Self(2i32);
336}
337impl ::core::marker::Copy for OpticalImageStabilizationMode {}
338impl ::core::clone::Clone for OpticalImageStabilizationMode {
339 fn clone(&self) -> Self {
340 *self
341 }
342}
343pub type PanelBasedOptimizationControl = *mut ::core::ffi::c_void;
344pub type PhotoConfirmationControl = *mut ::core::ffi::c_void;
345pub type RedialRequestedEventArgs = *mut ::core::ffi::c_void;
346pub type RedialRequestedEventHandler = *mut ::core::ffi::c_void;
347pub type RegionOfInterest = *mut ::core::ffi::c_void;
04454e1e 348#[doc = "*Required features: `\"Media_Devices\"`*"]
5e7ed085
FG
349#[repr(transparent)]
350pub struct RegionOfInterestType(pub i32);
351impl RegionOfInterestType {
352 pub const Unknown: Self = Self(0i32);
353 pub const Face: Self = Self(1i32);
354}
355impl ::core::marker::Copy for RegionOfInterestType {}
356impl ::core::clone::Clone for RegionOfInterestType {
357 fn clone(&self) -> Self {
358 *self
359 }
360}
361pub type RegionsOfInterestControl = *mut ::core::ffi::c_void;
362pub type SceneModeControl = *mut ::core::ffi::c_void;
04454e1e 363#[doc = "*Required features: `\"Media_Devices\"`*"]
5e7ed085
FG
364#[repr(transparent)]
365pub struct SendCommandStatus(pub i32);
366impl SendCommandStatus {
367 pub const Success: Self = Self(0i32);
368 pub const DeviceNotAvailable: Self = Self(1i32);
369}
370impl ::core::marker::Copy for SendCommandStatus {}
371impl ::core::clone::Clone for SendCommandStatus {
372 fn clone(&self) -> Self {
373 *self
374 }
375}
04454e1e 376#[doc = "*Required features: `\"Media_Devices\"`*"]
5e7ed085
FG
377#[repr(transparent)]
378pub struct TelephonyKey(pub i32);
379impl TelephonyKey {
380 pub const D0: Self = Self(0i32);
381 pub const D1: Self = Self(1i32);
382 pub const D2: Self = Self(2i32);
383 pub const D3: Self = Self(3i32);
384 pub const D4: Self = Self(4i32);
385 pub const D5: Self = Self(5i32);
386 pub const D6: Self = Self(6i32);
387 pub const D7: Self = Self(7i32);
388 pub const D8: Self = Self(8i32);
389 pub const D9: Self = Self(9i32);
390 pub const Star: Self = Self(10i32);
391 pub const Pound: Self = Self(11i32);
392 pub const A: Self = Self(12i32);
393 pub const B: Self = Self(13i32);
394 pub const C: Self = Self(14i32);
395 pub const D: Self = Self(15i32);
396}
397impl ::core::marker::Copy for TelephonyKey {}
398impl ::core::clone::Clone for TelephonyKey {
399 fn clone(&self) -> Self {
400 *self
401 }
402}
403pub type TorchControl = *mut ::core::ffi::c_void;
404pub type VideoDeviceController = *mut ::core::ffi::c_void;
405pub type VideoDeviceControllerGetDevicePropertyResult = *mut ::core::ffi::c_void;
04454e1e 406#[doc = "*Required features: `\"Media_Devices\"`*"]
5e7ed085
FG
407#[repr(transparent)]
408pub struct VideoDeviceControllerGetDevicePropertyStatus(pub i32);
409impl VideoDeviceControllerGetDevicePropertyStatus {
410 pub const Success: Self = Self(0i32);
411 pub const UnknownFailure: Self = Self(1i32);
412 pub const BufferTooSmall: Self = Self(2i32);
413 pub const NotSupported: Self = Self(3i32);
414 pub const DeviceNotAvailable: Self = Self(4i32);
415 pub const MaxPropertyValueSizeTooSmall: Self = Self(5i32);
416 pub const MaxPropertyValueSizeRequired: Self = Self(6i32);
417}
418impl ::core::marker::Copy for VideoDeviceControllerGetDevicePropertyStatus {}
419impl ::core::clone::Clone for VideoDeviceControllerGetDevicePropertyStatus {
420 fn clone(&self) -> Self {
421 *self
422 }
423}
04454e1e 424#[doc = "*Required features: `\"Media_Devices\"`*"]
5e7ed085
FG
425#[repr(transparent)]
426pub struct VideoDeviceControllerSetDevicePropertyStatus(pub i32);
427impl VideoDeviceControllerSetDevicePropertyStatus {
428 pub const Success: Self = Self(0i32);
429 pub const UnknownFailure: Self = Self(1i32);
430 pub const NotSupported: Self = Self(2i32);
431 pub const InvalidValue: Self = Self(3i32);
432 pub const DeviceNotAvailable: Self = Self(4i32);
433 pub const NotInControl: Self = Self(5i32);
434}
435impl ::core::marker::Copy for VideoDeviceControllerSetDevicePropertyStatus {}
436impl ::core::clone::Clone for VideoDeviceControllerSetDevicePropertyStatus {
437 fn clone(&self) -> Self {
438 *self
439 }
440}
441pub type VideoTemporalDenoisingControl = *mut ::core::ffi::c_void;
04454e1e 442#[doc = "*Required features: `\"Media_Devices\"`*"]
5e7ed085
FG
443#[repr(transparent)]
444pub struct VideoTemporalDenoisingMode(pub i32);
445impl VideoTemporalDenoisingMode {
446 pub const Off: Self = Self(0i32);
447 pub const On: Self = Self(1i32);
448 pub const Auto: Self = Self(2i32);
449}
450impl ::core::marker::Copy for VideoTemporalDenoisingMode {}
451impl ::core::clone::Clone for VideoTemporalDenoisingMode {
452 fn clone(&self) -> Self {
453 *self
454 }
455}
456pub type WhiteBalanceControl = *mut ::core::ffi::c_void;
457pub type ZoomControl = *mut ::core::ffi::c_void;
458pub type ZoomSettings = *mut ::core::ffi::c_void;
04454e1e 459#[doc = "*Required features: `\"Media_Devices\"`*"]
5e7ed085
FG
460#[repr(transparent)]
461pub struct ZoomTransitionMode(pub i32);
462impl ZoomTransitionMode {
463 pub const Auto: Self = Self(0i32);
464 pub const Direct: Self = Self(1i32);
465 pub const Smooth: Self = Self(2i32);
466}
467impl ::core::marker::Copy for ZoomTransitionMode {}
468impl ::core::clone::Clone for ZoomTransitionMode {
469 fn clone(&self) -> Self {
470 *self
471 }
472}