]> git.proxmox.com Git - rustc.git/blob - vendor/windows-sys-0.28.0/src/Windows/Win32/Media/Audio/DirectSound/mod.rs
New upstream version 1.66.0+dfsg1
[rustc.git] / vendor / windows-sys-0.28.0 / src / Windows / Win32 / Media / Audio / DirectSound / mod.rs
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 pub fn DirectSoundCaptureCreate(pcguiddevice: *const ::windows_sys::core::GUID, ppdsc: *mut IDirectSoundCapture, punkouter: ::windows_sys::core::IUnknown) -> ::windows_sys::core::HRESULT;
5 pub fn DirectSoundCaptureCreate8(pcguiddevice: *const ::windows_sys::core::GUID, ppdsc8: *mut IDirectSoundCapture, punkouter: ::windows_sys::core::IUnknown) -> ::windows_sys::core::HRESULT;
6 #[cfg(feature = "Win32_Foundation")]
7 pub fn DirectSoundCaptureEnumerateA(pdsenumcallback: ::core::option::Option<LPDSENUMCALLBACKA>, pcontext: *const ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
8 #[cfg(feature = "Win32_Foundation")]
9 pub fn DirectSoundCaptureEnumerateW(pdsenumcallback: ::core::option::Option<LPDSENUMCALLBACKW>, pcontext: *const ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
10 pub fn DirectSoundCreate(pcguiddevice: *const ::windows_sys::core::GUID, ppds: *mut IDirectSound, punkouter: ::windows_sys::core::IUnknown) -> ::windows_sys::core::HRESULT;
11 pub fn DirectSoundCreate8(pcguiddevice: *const ::windows_sys::core::GUID, ppds8: *mut IDirectSound8, punkouter: ::windows_sys::core::IUnknown) -> ::windows_sys::core::HRESULT;
12 #[cfg(feature = "Win32_Foundation")]
13 pub fn DirectSoundEnumerateA(pdsenumcallback: ::core::option::Option<LPDSENUMCALLBACKA>, pcontext: *const ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
14 #[cfg(feature = "Win32_Foundation")]
15 pub fn DirectSoundEnumerateW(pdsenumcallback: ::core::option::Option<LPDSENUMCALLBACKW>, pcontext: *const ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
16 #[cfg(feature = "Win32_Foundation")]
17 pub fn DirectSoundFullDuplexCreate(pcguidcapturedevice: *const ::windows_sys::core::GUID, pcguidrenderdevice: *const ::windows_sys::core::GUID, pcdscbufferdesc: *const DSCBUFFERDESC, pcdsbufferdesc: *const DSBUFFERDESC, hwnd: super::super::super::Foundation::HWND, dwlevel: u32, ppdsfd: *mut IDirectSoundFullDuplex, ppdscbuffer8: *mut IDirectSoundCaptureBuffer8, ppdsbuffer8: *mut IDirectSoundBuffer8, punkouter: ::windows_sys::core::IUnknown) -> ::windows_sys::core::HRESULT;
18 pub fn GetDeviceID(pguidsrc: *const ::windows_sys::core::GUID, pguiddest: *mut ::windows_sys::core::GUID) -> ::windows_sys::core::HRESULT;
19 }
20 pub const CLSID_DirectSound: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1205131590, data2: 25320, data3: 4559, data4: [147, 188, 68, 69, 83, 84, 0, 0] };
21 pub const CLSID_DirectSound8: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
22 data1: 956419135,
23 data2: 33973,
24 data3: 20388,
25 data4: [186, 53, 170, 129, 114, 184, 160, 155],
26 };
27 pub const CLSID_DirectSoundCapture: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2954954624, data2: 35277, data3: 4560, data4: [175, 8, 0, 160, 201, 37, 205, 22] };
28 pub const CLSID_DirectSoundCapture8: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
29 data1: 3837570067,
30 data2: 32665,
31 data3: 18696,
32 data4: [154, 142, 116, 227, 191, 36, 182, 225],
33 };
34 pub const CLSID_DirectSoundFullDuplex: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
35 data1: 4272173068,
36 data2: 31065,
37 data3: 16711,
38 data4: [178, 106, 35, 119, 185, 231, 169, 29],
39 };
40 pub const DIRECTSOUND_VERSION: u32 = 1792u32;
41 pub const DS3DALG_HRTF_FULL: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3259052864, data2: 7195, data3: 4562, data4: [148, 245, 0, 192, 79, 194, 138, 202] };
42 pub const DS3DALG_HRTF_LIGHT: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3259052866, data2: 7195, data3: 4562, data4: [148, 245, 0, 192, 79, 194, 138, 202] };
43 pub const DS3DALG_NO_VIRTUALIZATION: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3259052863, data2: 7195, data3: 4562, data4: [148, 245, 0, 192, 79, 194, 138, 202] };
44 #[repr(C)]
45 #[cfg(feature = "Win32_Graphics_Direct3D")]
46 pub struct DS3DBUFFER {
47 pub dwSize: u32,
48 pub vPosition: super::super::super::Graphics::Direct3D::D3DVECTOR,
49 pub vVelocity: super::super::super::Graphics::Direct3D::D3DVECTOR,
50 pub dwInsideConeAngle: u32,
51 pub dwOutsideConeAngle: u32,
52 pub vConeOrientation: super::super::super::Graphics::Direct3D::D3DVECTOR,
53 pub lConeOutsideVolume: i32,
54 pub flMinDistance: f32,
55 pub flMaxDistance: f32,
56 pub dwMode: u32,
57 }
58 #[cfg(feature = "Win32_Graphics_Direct3D")]
59 impl ::core::marker::Copy for DS3DBUFFER {}
60 #[cfg(feature = "Win32_Graphics_Direct3D")]
61 impl ::core::clone::Clone for DS3DBUFFER {
62 fn clone(&self) -> Self {
63 *self
64 }
65 }
66 #[repr(C)]
67 #[cfg(feature = "Win32_Graphics_Direct3D")]
68 pub struct DS3DLISTENER {
69 pub dwSize: u32,
70 pub vPosition: super::super::super::Graphics::Direct3D::D3DVECTOR,
71 pub vVelocity: super::super::super::Graphics::Direct3D::D3DVECTOR,
72 pub vOrientFront: super::super::super::Graphics::Direct3D::D3DVECTOR,
73 pub vOrientTop: super::super::super::Graphics::Direct3D::D3DVECTOR,
74 pub flDistanceFactor: f32,
75 pub flRolloffFactor: f32,
76 pub flDopplerFactor: f32,
77 }
78 #[cfg(feature = "Win32_Graphics_Direct3D")]
79 impl ::core::marker::Copy for DS3DLISTENER {}
80 #[cfg(feature = "Win32_Graphics_Direct3D")]
81 impl ::core::clone::Clone for DS3DLISTENER {
82 fn clone(&self) -> Self {
83 *self
84 }
85 }
86 pub const DS3DMODE_DISABLE: u32 = 2u32;
87 pub const DS3DMODE_HEADRELATIVE: u32 = 1u32;
88 pub const DS3DMODE_NORMAL: u32 = 0u32;
89 pub const DS3D_DEFAULTCONEANGLE: u32 = 360u32;
90 pub const DS3D_DEFAULTCONEOUTSIDEVOLUME: u32 = 0u32;
91 pub const DS3D_DEFAULTDISTANCEFACTOR: f32 = 1f32;
92 pub const DS3D_DEFAULTDOPPLERFACTOR: f32 = 1f32;
93 pub const DS3D_DEFAULTMAXDISTANCE: f32 = 1000000000f32;
94 pub const DS3D_DEFAULTMINDISTANCE: f32 = 1f32;
95 pub const DS3D_DEFAULTROLLOFFFACTOR: f32 = 1f32;
96 pub const DS3D_DEFERRED: u32 = 1u32;
97 pub const DS3D_IMMEDIATE: u32 = 0u32;
98 pub const DS3D_MAXCONEANGLE: u32 = 360u32;
99 pub const DS3D_MAXDOPPLERFACTOR: f32 = 10f32;
100 pub const DS3D_MAXROLLOFFFACTOR: f32 = 10f32;
101 pub const DS3D_MINCONEANGLE: u32 = 0u32;
102 pub const DS3D_MINDOPPLERFACTOR: f32 = 0f32;
103 pub const DS3D_MINROLLOFFFACTOR: f32 = 0f32;
104 #[repr(C)]
105 pub struct DSBCAPS {
106 pub dwSize: u32,
107 pub dwFlags: u32,
108 pub dwBufferBytes: u32,
109 pub dwUnlockTransferRate: u32,
110 pub dwPlayCpuOverhead: u32,
111 }
112 impl ::core::marker::Copy for DSBCAPS {}
113 impl ::core::clone::Clone for DSBCAPS {
114 fn clone(&self) -> Self {
115 *self
116 }
117 }
118 pub const DSBCAPS_CTRL3D: u32 = 16u32;
119 pub const DSBCAPS_CTRLFREQUENCY: u32 = 32u32;
120 pub const DSBCAPS_CTRLFX: u32 = 512u32;
121 pub const DSBCAPS_CTRLPAN: u32 = 64u32;
122 pub const DSBCAPS_CTRLPOSITIONNOTIFY: u32 = 256u32;
123 pub const DSBCAPS_CTRLVOLUME: u32 = 128u32;
124 pub const DSBCAPS_GETCURRENTPOSITION2: u32 = 65536u32;
125 pub const DSBCAPS_GLOBALFOCUS: u32 = 32768u32;
126 pub const DSBCAPS_LOCDEFER: u32 = 262144u32;
127 pub const DSBCAPS_LOCHARDWARE: u32 = 4u32;
128 pub const DSBCAPS_LOCSOFTWARE: u32 = 8u32;
129 pub const DSBCAPS_MUTE3DATMAXDISTANCE: u32 = 131072u32;
130 pub const DSBCAPS_PRIMARYBUFFER: u32 = 1u32;
131 pub const DSBCAPS_STATIC: u32 = 2u32;
132 pub const DSBCAPS_STICKYFOCUS: u32 = 16384u32;
133 pub const DSBCAPS_TRUEPLAYPOSITION: u32 = 524288u32;
134 pub const DSBFREQUENCY_MAX: u32 = 200000u32;
135 pub const DSBFREQUENCY_MIN: u32 = 100u32;
136 pub const DSBFREQUENCY_ORIGINAL: u32 = 0u32;
137 pub const DSBLOCK_ENTIREBUFFER: u32 = 2u32;
138 pub const DSBLOCK_FROMWRITECURSOR: u32 = 1u32;
139 pub const DSBNOTIFICATIONS_MAX: u32 = 100000u32;
140 pub const DSBPAN_CENTER: u32 = 0u32;
141 pub const DSBPAN_LEFT: i32 = -10000i32;
142 pub const DSBPAN_RIGHT: u32 = 10000u32;
143 pub const DSBPLAY_LOCHARDWARE: u32 = 2u32;
144 pub const DSBPLAY_LOCSOFTWARE: u32 = 4u32;
145 pub const DSBPLAY_LOOPING: u32 = 1u32;
146 pub const DSBPLAY_TERMINATEBY_DISTANCE: u64 = 16u64;
147 pub const DSBPLAY_TERMINATEBY_PRIORITY: u64 = 32u64;
148 pub const DSBPLAY_TERMINATEBY_TIME: u32 = 8u32;
149 pub const DSBPN_OFFSETSTOP: u32 = 4294967295u32;
150 #[repr(C)]
151 #[cfg(feature = "Win32_Foundation")]
152 pub struct DSBPOSITIONNOTIFY {
153 pub dwOffset: u32,
154 pub hEventNotify: super::super::super::Foundation::HANDLE,
155 }
156 #[cfg(feature = "Win32_Foundation")]
157 impl ::core::marker::Copy for DSBPOSITIONNOTIFY {}
158 #[cfg(feature = "Win32_Foundation")]
159 impl ::core::clone::Clone for DSBPOSITIONNOTIFY {
160 fn clone(&self) -> Self {
161 *self
162 }
163 }
164 pub const DSBSIZE_FX_MIN: u32 = 150u32;
165 pub const DSBSIZE_MAX: u32 = 268435455u32;
166 pub const DSBSIZE_MIN: u32 = 4u32;
167 pub const DSBSTATUS_BUFFERLOST: u32 = 2u32;
168 pub const DSBSTATUS_LOCHARDWARE: u32 = 8u32;
169 pub const DSBSTATUS_LOCSOFTWARE: u32 = 16u32;
170 pub const DSBSTATUS_LOOPING: u32 = 4u32;
171 pub const DSBSTATUS_PLAYING: u32 = 1u32;
172 pub const DSBSTATUS_TERMINATED: u32 = 32u32;
173 #[repr(C)]
174 pub struct DSBUFFERDESC {
175 pub dwSize: u32,
176 pub dwFlags: u32,
177 pub dwBufferBytes: u32,
178 pub dwReserved: u32,
179 pub lpwfxFormat: *mut super::WAVEFORMATEX,
180 pub guid3DAlgorithm: ::windows_sys::core::GUID,
181 }
182 impl ::core::marker::Copy for DSBUFFERDESC {}
183 impl ::core::clone::Clone for DSBUFFERDESC {
184 fn clone(&self) -> Self {
185 *self
186 }
187 }
188 #[repr(C)]
189 pub struct DSBUFFERDESC1 {
190 pub dwSize: u32,
191 pub dwFlags: u32,
192 pub dwBufferBytes: u32,
193 pub dwReserved: u32,
194 pub lpwfxFormat: *mut super::WAVEFORMATEX,
195 }
196 impl ::core::marker::Copy for DSBUFFERDESC1 {}
197 impl ::core::clone::Clone for DSBUFFERDESC1 {
198 fn clone(&self) -> Self {
199 *self
200 }
201 }
202 pub const DSBVOLUME_MAX: u32 = 0u32;
203 pub const DSBVOLUME_MIN: i32 = -10000i32;
204 #[repr(C)]
205 pub struct DSCAPS {
206 pub dwSize: u32,
207 pub dwFlags: u32,
208 pub dwMinSecondarySampleRate: u32,
209 pub dwMaxSecondarySampleRate: u32,
210 pub dwPrimaryBuffers: u32,
211 pub dwMaxHwMixingAllBuffers: u32,
212 pub dwMaxHwMixingStaticBuffers: u32,
213 pub dwMaxHwMixingStreamingBuffers: u32,
214 pub dwFreeHwMixingAllBuffers: u32,
215 pub dwFreeHwMixingStaticBuffers: u32,
216 pub dwFreeHwMixingStreamingBuffers: u32,
217 pub dwMaxHw3DAllBuffers: u32,
218 pub dwMaxHw3DStaticBuffers: u32,
219 pub dwMaxHw3DStreamingBuffers: u32,
220 pub dwFreeHw3DAllBuffers: u32,
221 pub dwFreeHw3DStaticBuffers: u32,
222 pub dwFreeHw3DStreamingBuffers: u32,
223 pub dwTotalHwMemBytes: u32,
224 pub dwFreeHwMemBytes: u32,
225 pub dwMaxContigFreeHwMemBytes: u32,
226 pub dwUnlockTransferRateHwBuffers: u32,
227 pub dwPlayCpuOverheadSwBuffers: u32,
228 pub dwReserved1: u32,
229 pub dwReserved2: u32,
230 }
231 impl ::core::marker::Copy for DSCAPS {}
232 impl ::core::clone::Clone for DSCAPS {
233 fn clone(&self) -> Self {
234 *self
235 }
236 }
237 pub const DSCAPS_CERTIFIED: u32 = 64u32;
238 pub const DSCAPS_CONTINUOUSRATE: u32 = 16u32;
239 pub const DSCAPS_EMULDRIVER: u32 = 32u32;
240 pub const DSCAPS_PRIMARY16BIT: u32 = 8u32;
241 pub const DSCAPS_PRIMARY8BIT: u32 = 4u32;
242 pub const DSCAPS_PRIMARYMONO: u32 = 1u32;
243 pub const DSCAPS_PRIMARYSTEREO: u32 = 2u32;
244 pub const DSCAPS_SECONDARY16BIT: u32 = 2048u32;
245 pub const DSCAPS_SECONDARY8BIT: u32 = 1024u32;
246 pub const DSCAPS_SECONDARYMONO: u32 = 256u32;
247 pub const DSCAPS_SECONDARYSTEREO: u32 = 512u32;
248 #[repr(C)]
249 pub struct DSCBCAPS {
250 pub dwSize: u32,
251 pub dwFlags: u32,
252 pub dwBufferBytes: u32,
253 pub dwReserved: u32,
254 }
255 impl ::core::marker::Copy for DSCBCAPS {}
256 impl ::core::clone::Clone for DSCBCAPS {
257 fn clone(&self) -> Self {
258 *self
259 }
260 }
261 pub const DSCBCAPS_CTRLFX: u32 = 512u32;
262 pub const DSCBCAPS_WAVEMAPPED: u32 = 2147483648u32;
263 pub const DSCBLOCK_ENTIREBUFFER: u32 = 1u32;
264 pub const DSCBSTART_LOOPING: u32 = 1u32;
265 pub const DSCBSTATUS_CAPTURING: u32 = 1u32;
266 pub const DSCBSTATUS_LOOPING: u32 = 2u32;
267 #[repr(C)]
268 pub struct DSCBUFFERDESC {
269 pub dwSize: u32,
270 pub dwFlags: u32,
271 pub dwBufferBytes: u32,
272 pub dwReserved: u32,
273 pub lpwfxFormat: *mut super::WAVEFORMATEX,
274 pub dwFXCount: u32,
275 pub lpDSCFXDesc: *mut DSCEFFECTDESC,
276 }
277 impl ::core::marker::Copy for DSCBUFFERDESC {}
278 impl ::core::clone::Clone for DSCBUFFERDESC {
279 fn clone(&self) -> Self {
280 *self
281 }
282 }
283 #[repr(C)]
284 pub struct DSCBUFFERDESC1 {
285 pub dwSize: u32,
286 pub dwFlags: u32,
287 pub dwBufferBytes: u32,
288 pub dwReserved: u32,
289 pub lpwfxFormat: *mut super::WAVEFORMATEX,
290 }
291 impl ::core::marker::Copy for DSCBUFFERDESC1 {}
292 impl ::core::clone::Clone for DSCBUFFERDESC1 {
293 fn clone(&self) -> Self {
294 *self
295 }
296 }
297 #[repr(C)]
298 pub struct DSCCAPS {
299 pub dwSize: u32,
300 pub dwFlags: u32,
301 pub dwFormats: u32,
302 pub dwChannels: u32,
303 }
304 impl ::core::marker::Copy for DSCCAPS {}
305 impl ::core::clone::Clone for DSCCAPS {
306 fn clone(&self) -> Self {
307 *self
308 }
309 }
310 pub const DSCCAPS_CERTIFIED: u32 = 64u32;
311 pub const DSCCAPS_EMULDRIVER: u32 = 32u32;
312 pub const DSCCAPS_MULTIPLECAPTURE: u32 = 1u32;
313 #[repr(C)]
314 pub struct DSCEFFECTDESC {
315 pub dwSize: u32,
316 pub dwFlags: u32,
317 pub guidDSCFXClass: ::windows_sys::core::GUID,
318 pub guidDSCFXInstance: ::windows_sys::core::GUID,
319 pub dwReserved1: u32,
320 pub dwReserved2: u32,
321 }
322 impl ::core::marker::Copy for DSCEFFECTDESC {}
323 impl ::core::clone::Clone for DSCEFFECTDESC {
324 fn clone(&self) -> Self {
325 *self
326 }
327 }
328 #[repr(C)]
329 #[cfg(feature = "Win32_Foundation")]
330 pub struct DSCFXAec {
331 pub fEnable: super::super::super::Foundation::BOOL,
332 pub fNoiseFill: super::super::super::Foundation::BOOL,
333 pub dwMode: u32,
334 }
335 #[cfg(feature = "Win32_Foundation")]
336 impl ::core::marker::Copy for DSCFXAec {}
337 #[cfg(feature = "Win32_Foundation")]
338 impl ::core::clone::Clone for DSCFXAec {
339 fn clone(&self) -> Self {
340 *self
341 }
342 }
343 #[repr(C)]
344 #[cfg(feature = "Win32_Foundation")]
345 pub struct DSCFXNoiseSuppress {
346 pub fEnable: super::super::super::Foundation::BOOL,
347 }
348 #[cfg(feature = "Win32_Foundation")]
349 impl ::core::marker::Copy for DSCFXNoiseSuppress {}
350 #[cfg(feature = "Win32_Foundation")]
351 impl ::core::clone::Clone for DSCFXNoiseSuppress {
352 fn clone(&self) -> Self {
353 *self
354 }
355 }
356 pub const DSCFXR_LOCHARDWARE: u32 = 16u32;
357 pub const DSCFXR_LOCSOFTWARE: u32 = 32u32;
358 pub const DSCFX_AEC_MODE_FULL_DUPLEX: u32 = 2u32;
359 pub const DSCFX_AEC_MODE_HALF_DUPLEX: u32 = 1u32;
360 pub const DSCFX_AEC_MODE_PASS_THROUGH: u32 = 0u32;
361 pub const DSCFX_AEC_STATUS_CURRENTLY_CONVERGED: u32 = 8u32;
362 pub const DSCFX_AEC_STATUS_HISTORY_CONTINUOUSLY_CONVERGED: u32 = 1u32;
363 pub const DSCFX_AEC_STATUS_HISTORY_PREVIOUSLY_DIVERGED: u32 = 2u32;
364 pub const DSCFX_AEC_STATUS_HISTORY_UNINITIALIZED: u32 = 0u32;
365 pub const DSCFX_LOCHARDWARE: u32 = 1u32;
366 pub const DSCFX_LOCSOFTWARE: u32 = 2u32;
367 pub const DSDEVID_DefaultCapture: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3740270593, data2: 40045, data3: 18413, data4: [170, 241, 77, 218, 143, 43, 92, 3] };
368 pub const DSDEVID_DefaultPlayback: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3740270592, data2: 40045, data3: 18413, data4: [170, 241, 77, 218, 143, 43, 92, 3] };
369 pub const DSDEVID_DefaultVoiceCapture: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3740270595, data2: 40045, data3: 18413, data4: [170, 241, 77, 218, 143, 43, 92, 3] };
370 pub const DSDEVID_DefaultVoicePlayback: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3740270594, data2: 40045, data3: 18413, data4: [170, 241, 77, 218, 143, 43, 92, 3] };
371 #[repr(C)]
372 pub struct DSEFFECTDESC {
373 pub dwSize: u32,
374 pub dwFlags: u32,
375 pub guidDSFXClass: ::windows_sys::core::GUID,
376 pub dwReserved1: usize,
377 pub dwReserved2: usize,
378 }
379 impl ::core::marker::Copy for DSEFFECTDESC {}
380 impl ::core::clone::Clone for DSEFFECTDESC {
381 fn clone(&self) -> Self {
382 *self
383 }
384 }
385 pub const DSFXCHORUS_DELAY_MAX: f32 = 20f32;
386 pub const DSFXCHORUS_DELAY_MIN: f32 = 0f32;
387 pub const DSFXCHORUS_DEPTH_MAX: f32 = 100f32;
388 pub const DSFXCHORUS_DEPTH_MIN: f32 = 0f32;
389 pub const DSFXCHORUS_FEEDBACK_MAX: f32 = 99f32;
390 pub const DSFXCHORUS_FEEDBACK_MIN: f32 = -99f32;
391 pub const DSFXCHORUS_FREQUENCY_MAX: f32 = 10f32;
392 pub const DSFXCHORUS_FREQUENCY_MIN: f32 = 0f32;
393 pub const DSFXCHORUS_PHASE_180: u32 = 4u32;
394 pub const DSFXCHORUS_PHASE_90: u32 = 3u32;
395 pub const DSFXCHORUS_PHASE_MAX: u32 = 4u32;
396 pub const DSFXCHORUS_PHASE_MIN: u32 = 0u32;
397 pub const DSFXCHORUS_PHASE_NEG_180: u32 = 0u32;
398 pub const DSFXCHORUS_PHASE_NEG_90: u32 = 1u32;
399 pub const DSFXCHORUS_PHASE_ZERO: u32 = 2u32;
400 pub const DSFXCHORUS_WAVE_SIN: u32 = 1u32;
401 pub const DSFXCHORUS_WAVE_TRIANGLE: u32 = 0u32;
402 pub const DSFXCHORUS_WETDRYMIX_MAX: f32 = 100f32;
403 pub const DSFXCHORUS_WETDRYMIX_MIN: f32 = 0f32;
404 pub const DSFXCOMPRESSOR_ATTACK_MAX: f32 = 500f32;
405 pub const DSFXCOMPRESSOR_ATTACK_MIN: f32 = 0.01f32;
406 pub const DSFXCOMPRESSOR_GAIN_MAX: f32 = 60f32;
407 pub const DSFXCOMPRESSOR_GAIN_MIN: f32 = -60f32;
408 pub const DSFXCOMPRESSOR_PREDELAY_MAX: f32 = 4f32;
409 pub const DSFXCOMPRESSOR_PREDELAY_MIN: f32 = 0f32;
410 pub const DSFXCOMPRESSOR_RATIO_MAX: f32 = 100f32;
411 pub const DSFXCOMPRESSOR_RATIO_MIN: f32 = 1f32;
412 pub const DSFXCOMPRESSOR_RELEASE_MAX: f32 = 3000f32;
413 pub const DSFXCOMPRESSOR_RELEASE_MIN: f32 = 50f32;
414 pub const DSFXCOMPRESSOR_THRESHOLD_MAX: f32 = 0f32;
415 pub const DSFXCOMPRESSOR_THRESHOLD_MIN: f32 = -60f32;
416 #[repr(C)]
417 pub struct DSFXChorus {
418 pub fWetDryMix: f32,
419 pub fDepth: f32,
420 pub fFeedback: f32,
421 pub fFrequency: f32,
422 pub lWaveform: i32,
423 pub fDelay: f32,
424 pub lPhase: i32,
425 }
426 impl ::core::marker::Copy for DSFXChorus {}
427 impl ::core::clone::Clone for DSFXChorus {
428 fn clone(&self) -> Self {
429 *self
430 }
431 }
432 #[repr(C)]
433 pub struct DSFXCompressor {
434 pub fGain: f32,
435 pub fAttack: f32,
436 pub fRelease: f32,
437 pub fThreshold: f32,
438 pub fRatio: f32,
439 pub fPredelay: f32,
440 }
441 impl ::core::marker::Copy for DSFXCompressor {}
442 impl ::core::clone::Clone for DSFXCompressor {
443 fn clone(&self) -> Self {
444 *self
445 }
446 }
447 pub const DSFXDISTORTION_EDGE_MAX: f32 = 100f32;
448 pub const DSFXDISTORTION_EDGE_MIN: f32 = 0f32;
449 pub const DSFXDISTORTION_GAIN_MAX: f32 = 0f32;
450 pub const DSFXDISTORTION_GAIN_MIN: f32 = -60f32;
451 pub const DSFXDISTORTION_POSTEQBANDWIDTH_MAX: f32 = 8000f32;
452 pub const DSFXDISTORTION_POSTEQBANDWIDTH_MIN: f32 = 100f32;
453 pub const DSFXDISTORTION_POSTEQCENTERFREQUENCY_MAX: f32 = 8000f32;
454 pub const DSFXDISTORTION_POSTEQCENTERFREQUENCY_MIN: f32 = 100f32;
455 pub const DSFXDISTORTION_PRELOWPASSCUTOFF_MAX: f32 = 8000f32;
456 pub const DSFXDISTORTION_PRELOWPASSCUTOFF_MIN: f32 = 100f32;
457 #[repr(C)]
458 pub struct DSFXDistortion {
459 pub fGain: f32,
460 pub fEdge: f32,
461 pub fPostEQCenterFrequency: f32,
462 pub fPostEQBandwidth: f32,
463 pub fPreLowpassCutoff: f32,
464 }
465 impl ::core::marker::Copy for DSFXDistortion {}
466 impl ::core::clone::Clone for DSFXDistortion {
467 fn clone(&self) -> Self {
468 *self
469 }
470 }
471 pub const DSFXECHO_FEEDBACK_MAX: f32 = 100f32;
472 pub const DSFXECHO_FEEDBACK_MIN: f32 = 0f32;
473 pub const DSFXECHO_LEFTDELAY_MAX: f32 = 2000f32;
474 pub const DSFXECHO_LEFTDELAY_MIN: f32 = 1f32;
475 pub const DSFXECHO_PANDELAY_MAX: u32 = 1u32;
476 pub const DSFXECHO_PANDELAY_MIN: u32 = 0u32;
477 pub const DSFXECHO_RIGHTDELAY_MAX: f32 = 2000f32;
478 pub const DSFXECHO_RIGHTDELAY_MIN: f32 = 1f32;
479 pub const DSFXECHO_WETDRYMIX_MAX: f32 = 100f32;
480 pub const DSFXECHO_WETDRYMIX_MIN: f32 = 0f32;
481 #[repr(C)]
482 pub struct DSFXEcho {
483 pub fWetDryMix: f32,
484 pub fFeedback: f32,
485 pub fLeftDelay: f32,
486 pub fRightDelay: f32,
487 pub lPanDelay: i32,
488 }
489 impl ::core::marker::Copy for DSFXEcho {}
490 impl ::core::clone::Clone for DSFXEcho {
491 fn clone(&self) -> Self {
492 *self
493 }
494 }
495 pub const DSFXFLANGER_DELAY_MAX: f32 = 4f32;
496 pub const DSFXFLANGER_DELAY_MIN: f32 = 0f32;
497 pub const DSFXFLANGER_DEPTH_MAX: f32 = 100f32;
498 pub const DSFXFLANGER_DEPTH_MIN: f32 = 0f32;
499 pub const DSFXFLANGER_FEEDBACK_MAX: f32 = 99f32;
500 pub const DSFXFLANGER_FEEDBACK_MIN: f32 = -99f32;
501 pub const DSFXFLANGER_FREQUENCY_MAX: f32 = 10f32;
502 pub const DSFXFLANGER_FREQUENCY_MIN: f32 = 0f32;
503 pub const DSFXFLANGER_PHASE_180: u32 = 4u32;
504 pub const DSFXFLANGER_PHASE_90: u32 = 3u32;
505 pub const DSFXFLANGER_PHASE_MAX: u32 = 4u32;
506 pub const DSFXFLANGER_PHASE_MIN: u32 = 0u32;
507 pub const DSFXFLANGER_PHASE_NEG_180: u32 = 0u32;
508 pub const DSFXFLANGER_PHASE_NEG_90: u32 = 1u32;
509 pub const DSFXFLANGER_PHASE_ZERO: u32 = 2u32;
510 pub const DSFXFLANGER_WAVE_SIN: u32 = 1u32;
511 pub const DSFXFLANGER_WAVE_TRIANGLE: u32 = 0u32;
512 pub const DSFXFLANGER_WETDRYMIX_MAX: f32 = 100f32;
513 pub const DSFXFLANGER_WETDRYMIX_MIN: f32 = 0f32;
514 #[repr(C)]
515 pub struct DSFXFlanger {
516 pub fWetDryMix: f32,
517 pub fDepth: f32,
518 pub fFeedback: f32,
519 pub fFrequency: f32,
520 pub lWaveform: i32,
521 pub fDelay: f32,
522 pub lPhase: i32,
523 }
524 impl ::core::marker::Copy for DSFXFlanger {}
525 impl ::core::clone::Clone for DSFXFlanger {
526 fn clone(&self) -> Self {
527 *self
528 }
529 }
530 pub const DSFXGARGLE_RATEHZ_MAX: u32 = 1000u32;
531 pub const DSFXGARGLE_RATEHZ_MIN: u32 = 1u32;
532 pub const DSFXGARGLE_WAVE_SQUARE: u32 = 1u32;
533 pub const DSFXGARGLE_WAVE_TRIANGLE: u32 = 0u32;
534 #[repr(C)]
535 pub struct DSFXGargle {
536 pub dwRateHz: u32,
537 pub dwWaveShape: u32,
538 }
539 impl ::core::marker::Copy for DSFXGargle {}
540 impl ::core::clone::Clone for DSFXGargle {
541 fn clone(&self) -> Self {
542 *self
543 }
544 }
545 #[repr(C)]
546 pub struct DSFXI3DL2Reverb {
547 pub lRoom: i32,
548 pub lRoomHF: i32,
549 pub flRoomRolloffFactor: f32,
550 pub flDecayTime: f32,
551 pub flDecayHFRatio: f32,
552 pub lReflections: i32,
553 pub flReflectionsDelay: f32,
554 pub lReverb: i32,
555 pub flReverbDelay: f32,
556 pub flDiffusion: f32,
557 pub flDensity: f32,
558 pub flHFReference: f32,
559 }
560 impl ::core::marker::Copy for DSFXI3DL2Reverb {}
561 impl ::core::clone::Clone for DSFXI3DL2Reverb {
562 fn clone(&self) -> Self {
563 *self
564 }
565 }
566 pub const DSFXPARAMEQ_BANDWIDTH_MAX: f32 = 36f32;
567 pub const DSFXPARAMEQ_BANDWIDTH_MIN: f32 = 1f32;
568 pub const DSFXPARAMEQ_CENTER_MAX: f32 = 16000f32;
569 pub const DSFXPARAMEQ_CENTER_MIN: f32 = 80f32;
570 pub const DSFXPARAMEQ_GAIN_MAX: f32 = 15f32;
571 pub const DSFXPARAMEQ_GAIN_MIN: f32 = -15f32;
572 #[repr(C)]
573 pub struct DSFXParamEq {
574 pub fCenter: f32,
575 pub fBandwidth: f32,
576 pub fGain: f32,
577 }
578 impl ::core::marker::Copy for DSFXParamEq {}
579 impl ::core::clone::Clone for DSFXParamEq {
580 fn clone(&self) -> Self {
581 *self
582 }
583 }
584 pub const DSFXR_FAILED: i32 = 4i32;
585 pub const DSFXR_LOCHARDWARE: i32 = 1i32;
586 pub const DSFXR_LOCSOFTWARE: i32 = 2i32;
587 pub const DSFXR_PRESENT: i32 = 0i32;
588 pub const DSFXR_SENDLOOP: i32 = 6i32;
589 pub const DSFXR_UNALLOCATED: i32 = 3i32;
590 pub const DSFXR_UNKNOWN: i32 = 5i32;
591 #[repr(C)]
592 pub struct DSFXWavesReverb {
593 pub fInGain: f32,
594 pub fReverbMix: f32,
595 pub fReverbTime: f32,
596 pub fHighFreqRTRatio: f32,
597 }
598 impl ::core::marker::Copy for DSFXWavesReverb {}
599 impl ::core::clone::Clone for DSFXWavesReverb {
600 fn clone(&self) -> Self {
601 *self
602 }
603 }
604 pub const DSFX_I3DL2REVERB_DECAYHFRATIO_DEFAULT: f32 = 0.83f32;
605 pub const DSFX_I3DL2REVERB_DECAYHFRATIO_MAX: f32 = 2f32;
606 pub const DSFX_I3DL2REVERB_DECAYHFRATIO_MIN: f32 = 0.1f32;
607 pub const DSFX_I3DL2REVERB_DECAYTIME_DEFAULT: f32 = 1.49f32;
608 pub const DSFX_I3DL2REVERB_DECAYTIME_MAX: f32 = 20f32;
609 pub const DSFX_I3DL2REVERB_DECAYTIME_MIN: f32 = 0.1f32;
610 pub const DSFX_I3DL2REVERB_DENSITY_DEFAULT: f32 = 100f32;
611 pub const DSFX_I3DL2REVERB_DENSITY_MAX: f32 = 100f32;
612 pub const DSFX_I3DL2REVERB_DENSITY_MIN: f32 = 0f32;
613 pub const DSFX_I3DL2REVERB_DIFFUSION_DEFAULT: f32 = 100f32;
614 pub const DSFX_I3DL2REVERB_DIFFUSION_MAX: f32 = 100f32;
615 pub const DSFX_I3DL2REVERB_DIFFUSION_MIN: f32 = 0f32;
616 pub const DSFX_I3DL2REVERB_HFREFERENCE_DEFAULT: f32 = 5000f32;
617 pub const DSFX_I3DL2REVERB_HFREFERENCE_MAX: f32 = 20000f32;
618 pub const DSFX_I3DL2REVERB_HFREFERENCE_MIN: f32 = 20f32;
619 pub const DSFX_I3DL2REVERB_QUALITY_DEFAULT: u32 = 2u32;
620 pub const DSFX_I3DL2REVERB_QUALITY_MAX: u32 = 3u32;
621 pub const DSFX_I3DL2REVERB_QUALITY_MIN: u32 = 0u32;
622 pub const DSFX_I3DL2REVERB_REFLECTIONSDELAY_DEFAULT: f32 = 0.007f32;
623 pub const DSFX_I3DL2REVERB_REFLECTIONSDELAY_MAX: f32 = 0.3f32;
624 pub const DSFX_I3DL2REVERB_REFLECTIONSDELAY_MIN: f32 = 0f32;
625 pub const DSFX_I3DL2REVERB_REFLECTIONS_DEFAULT: i32 = -2602i32;
626 pub const DSFX_I3DL2REVERB_REFLECTIONS_MAX: u32 = 1000u32;
627 pub const DSFX_I3DL2REVERB_REFLECTIONS_MIN: i32 = -10000i32;
628 pub const DSFX_I3DL2REVERB_REVERBDELAY_DEFAULT: f32 = 0.011f32;
629 pub const DSFX_I3DL2REVERB_REVERBDELAY_MAX: f32 = 0.1f32;
630 pub const DSFX_I3DL2REVERB_REVERBDELAY_MIN: f32 = 0f32;
631 pub const DSFX_I3DL2REVERB_REVERB_DEFAULT: u32 = 200u32;
632 pub const DSFX_I3DL2REVERB_REVERB_MAX: u32 = 2000u32;
633 pub const DSFX_I3DL2REVERB_REVERB_MIN: i32 = -10000i32;
634 pub const DSFX_I3DL2REVERB_ROOMHF_DEFAULT: i32 = -100i32;
635 pub const DSFX_I3DL2REVERB_ROOMHF_MAX: u32 = 0u32;
636 pub const DSFX_I3DL2REVERB_ROOMHF_MIN: i32 = -10000i32;
637 pub const DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_DEFAULT: f32 = 0f32;
638 pub const DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_MAX: f32 = 10f32;
639 pub const DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_MIN: f32 = 0f32;
640 pub const DSFX_I3DL2REVERB_ROOM_DEFAULT: i32 = -1000i32;
641 pub const DSFX_I3DL2REVERB_ROOM_MAX: u32 = 0u32;
642 pub const DSFX_I3DL2REVERB_ROOM_MIN: i32 = -10000i32;
643 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_ALLEY: i32 = 15i32;
644 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_ARENA: i32 = 10i32;
645 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_AUDITORIUM: i32 = 7i32;
646 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_BATHROOM: i32 = 4i32;
647 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_CARPETEDHALLWAY: i32 = 12i32;
648 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_CAVE: i32 = 9i32;
649 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_CITY: i32 = 17i32;
650 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_CONCERTHALL: i32 = 8i32;
651 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_DEFAULT: i32 = 0i32;
652 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_FOREST: i32 = 16i32;
653 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_GENERIC: i32 = 1i32;
654 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_HALLWAY: i32 = 13i32;
655 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_HANGAR: i32 = 11i32;
656 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_LARGEHALL: i32 = 28i32;
657 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_LARGEROOM: i32 = 26i32;
658 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_LIVINGROOM: i32 = 5i32;
659 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_MEDIUMHALL: i32 = 27i32;
660 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_MEDIUMROOM: i32 = 25i32;
661 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_MOUNTAINS: i32 = 18i32;
662 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_PADDEDCELL: i32 = 2i32;
663 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_PARKINGLOT: i32 = 21i32;
664 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_PLAIN: i32 = 20i32;
665 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_PLATE: i32 = 29i32;
666 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_QUARRY: i32 = 19i32;
667 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_ROOM: i32 = 3i32;
668 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_SEWERPIPE: i32 = 22i32;
669 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_SMALLROOM: i32 = 24i32;
670 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_STONECORRIDOR: i32 = 14i32;
671 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_STONEROOM: i32 = 6i32;
672 pub const DSFX_I3DL2_ENVIRONMENT_PRESET_UNDERWATER: i32 = 23i32;
673 pub const DSFX_I3DL2_MATERIAL_PRESET_BRICKWALL: i32 = 5i32;
674 pub const DSFX_I3DL2_MATERIAL_PRESET_CURTAIN: i32 = 7i32;
675 pub const DSFX_I3DL2_MATERIAL_PRESET_DOUBLEWINDOW: i32 = 1i32;
676 pub const DSFX_I3DL2_MATERIAL_PRESET_SINGLEWINDOW: i32 = 0i32;
677 pub const DSFX_I3DL2_MATERIAL_PRESET_STONEWALL: i32 = 6i32;
678 pub const DSFX_I3DL2_MATERIAL_PRESET_THICKDOOR: i32 = 3i32;
679 pub const DSFX_I3DL2_MATERIAL_PRESET_THINDOOR: i32 = 2i32;
680 pub const DSFX_I3DL2_MATERIAL_PRESET_WOODWALL: i32 = 4i32;
681 pub const DSFX_LOCHARDWARE: u32 = 1u32;
682 pub const DSFX_LOCSOFTWARE: u32 = 2u32;
683 pub const DSFX_WAVESREVERB_HIGHFREQRTRATIO_DEFAULT: f32 = 0.001f32;
684 pub const DSFX_WAVESREVERB_HIGHFREQRTRATIO_MAX: f32 = 0.999f32;
685 pub const DSFX_WAVESREVERB_HIGHFREQRTRATIO_MIN: f32 = 0.001f32;
686 pub const DSFX_WAVESREVERB_INGAIN_DEFAULT: f32 = 0f32;
687 pub const DSFX_WAVESREVERB_INGAIN_MAX: f32 = 0f32;
688 pub const DSFX_WAVESREVERB_INGAIN_MIN: f32 = -96f32;
689 pub const DSFX_WAVESREVERB_REVERBMIX_DEFAULT: f32 = 0f32;
690 pub const DSFX_WAVESREVERB_REVERBMIX_MAX: f32 = 0f32;
691 pub const DSFX_WAVESREVERB_REVERBMIX_MIN: f32 = -96f32;
692 pub const DSFX_WAVESREVERB_REVERBTIME_DEFAULT: f32 = 1000f32;
693 pub const DSFX_WAVESREVERB_REVERBTIME_MAX: f32 = 3000f32;
694 pub const DSFX_WAVESREVERB_REVERBTIME_MIN: f32 = 0.001f32;
695 pub const DSSCL_EXCLUSIVE: u32 = 3u32;
696 pub const DSSCL_NORMAL: u32 = 1u32;
697 pub const DSSCL_PRIORITY: u32 = 2u32;
698 pub const DSSCL_WRITEPRIMARY: u32 = 4u32;
699 pub const DSSPEAKER_5POINT1: u32 = 6u32;
700 pub const DSSPEAKER_5POINT1_BACK: u32 = 6u32;
701 pub const DSSPEAKER_5POINT1_SURROUND: u32 = 9u32;
702 pub const DSSPEAKER_7POINT1: u32 = 7u32;
703 pub const DSSPEAKER_7POINT1_SURROUND: u32 = 8u32;
704 pub const DSSPEAKER_7POINT1_WIDE: u32 = 7u32;
705 pub const DSSPEAKER_DIRECTOUT: u32 = 0u32;
706 pub const DSSPEAKER_GEOMETRY_MAX: u32 = 180u32;
707 pub const DSSPEAKER_GEOMETRY_MIN: u32 = 5u32;
708 pub const DSSPEAKER_GEOMETRY_NARROW: u32 = 10u32;
709 pub const DSSPEAKER_GEOMETRY_WIDE: u32 = 20u32;
710 pub const DSSPEAKER_HEADPHONE: u32 = 1u32;
711 pub const DSSPEAKER_MONO: u32 = 2u32;
712 pub const DSSPEAKER_QUAD: u32 = 3u32;
713 pub const DSSPEAKER_STEREO: u32 = 4u32;
714 pub const DSSPEAKER_SURROUND: u32 = 5u32;
715 pub const DS_CERTIFIED: u32 = 0u32;
716 pub const DS_NO_VIRTUALIZATION: ::windows_sys::core::HRESULT = 142082058i32;
717 pub const DS_UNCERTIFIED: u32 = 1u32;
718 pub const GUID_All_Objects: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
719 data1: 2853260773,
720 data2: 49762,
721 data3: 16745,
722 data4: [161, 200, 35, 214, 152, 204, 115, 181],
723 };
724 pub const GUID_DSCFX_CLASS_AEC: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3214294400, data2: 50521, data3: 4560, data4: [138, 43, 0, 160, 201, 37, 90, 193] };
725 pub const GUID_DSCFX_CLASS_NS: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
726 data1: 3766456383,
727 data2: 25341,
728 data3: 20064,
729 data4: [140, 221, 222, 167, 35, 102, 101, 181],
730 };
731 pub const GUID_DSCFX_MS_AEC: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
732 data1: 3454777625,
733 data2: 14234,
734 data3: 18570,
735 data4: [135, 101, 245, 60, 253, 54, 222, 64],
736 };
737 pub const GUID_DSCFX_MS_NS: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
738 data1: 298174267,
739 data2: 26345,
740 data3: 19361,
741 data4: [160, 186, 232, 20, 198, 238, 217, 45],
742 };
743 pub const GUID_DSCFX_SYSTEM_AEC: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 472040813, data2: 39033, data3: 20315, data4: [163, 137, 39, 153, 109, 220, 40, 16] };
744 pub const GUID_DSCFX_SYSTEM_NS: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
745 data1: 1521518638,
746 data2: 29300,
747 data3: 17686,
748 data4: [135, 125, 78, 238, 153, 186, 79, 208],
749 };
750 pub const GUID_DSFX_STANDARD_CHORUS: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
751 data1: 4024853148,
752 data2: 33271,
753 data3: 17025,
754 data4: [189, 145, 201, 214, 4, 169, 90, 246],
755 };
756 pub const GUID_DSFX_STANDARD_COMPRESSOR: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
757 data1: 4009828217,
758 data2: 16384,
759 data3: 16493,
760 data4: [135, 175, 191, 251, 63, 195, 157, 87],
761 };
762 pub const GUID_DSFX_STANDARD_DISTORTION: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4010888336, data2: 52509, data3: 18510, data4: [150, 229, 9, 207, 175, 145, 42, 33] };
763 pub const GUID_DSFX_STANDARD_ECHO: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
764 data1: 4013855532,
765 data2: 54283,
766 data3: 20305,
767 data4: [140, 207, 63, 152, 241, 178, 157, 93],
768 };
769 pub const GUID_DSFX_STANDARD_FLANGER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4023008658, data2: 57304, data3: 18034, data4: [166, 3, 116, 32, 137, 75, 173, 152] };
770 pub const GUID_DSFX_STANDARD_GARGLE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
771 data1: 3674046992,
772 data2: 22289,
773 data3: 19345,
774 data4: [159, 227, 247, 91, 122, 226, 121, 191],
775 };
776 pub const GUID_DSFX_STANDARD_I3DL2REVERB: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4019740273, data2: 54727, data3: 17108, data4: [186, 77, 45, 7, 62, 46, 150, 244] };
777 pub const GUID_DSFX_STANDARD_PARAMEQ: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 302837129, data2: 15348, data3: 16755, data4: [161, 50, 60, 180, 6, 207, 50, 49] };
778 pub const GUID_DSFX_WAVES_REVERB: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2281439848, data2: 39509, data3: 17248, data4: [149, 170, 0, 74, 29, 157, 226, 108] };
779 pub type IDirectSound = *mut ::core::ffi::c_void;
780 pub type IDirectSound3DBuffer = *mut ::core::ffi::c_void;
781 pub type IDirectSound3DListener = *mut ::core::ffi::c_void;
782 pub type IDirectSound8 = *mut ::core::ffi::c_void;
783 pub type IDirectSoundBuffer = *mut ::core::ffi::c_void;
784 pub type IDirectSoundBuffer8 = *mut ::core::ffi::c_void;
785 pub type IDirectSoundCapture = *mut ::core::ffi::c_void;
786 pub type IDirectSoundCaptureBuffer = *mut ::core::ffi::c_void;
787 pub type IDirectSoundCaptureBuffer8 = *mut ::core::ffi::c_void;
788 pub type IDirectSoundCaptureFXAec = *mut ::core::ffi::c_void;
789 pub type IDirectSoundCaptureFXNoiseSuppress = *mut ::core::ffi::c_void;
790 pub type IDirectSoundFXChorus = *mut ::core::ffi::c_void;
791 pub type IDirectSoundFXCompressor = *mut ::core::ffi::c_void;
792 pub type IDirectSoundFXDistortion = *mut ::core::ffi::c_void;
793 pub type IDirectSoundFXEcho = *mut ::core::ffi::c_void;
794 pub type IDirectSoundFXFlanger = *mut ::core::ffi::c_void;
795 pub type IDirectSoundFXGargle = *mut ::core::ffi::c_void;
796 pub type IDirectSoundFXI3DL2Reverb = *mut ::core::ffi::c_void;
797 pub type IDirectSoundFXParamEq = *mut ::core::ffi::c_void;
798 pub type IDirectSoundFXWavesReverb = *mut ::core::ffi::c_void;
799 pub type IDirectSoundFullDuplex = *mut ::core::ffi::c_void;
800 pub type IDirectSoundNotify = *mut ::core::ffi::c_void;
801 pub const KSPROPERTY_SUPPORT_GET: u32 = 1u32;
802 pub const KSPROPERTY_SUPPORT_SET: u32 = 2u32;
803 #[cfg(feature = "Win32_Foundation")]
804 pub type LPDSENUMCALLBACKA = unsafe extern "system" fn(param0: *mut ::windows_sys::core::GUID, param1: super::super::super::Foundation::PSTR, param2: super::super::super::Foundation::PSTR, param3: *mut ::core::ffi::c_void) -> super::super::super::Foundation::BOOL;
805 #[cfg(feature = "Win32_Foundation")]
806 pub type LPDSENUMCALLBACKW = unsafe extern "system" fn(param0: *mut ::windows_sys::core::GUID, param1: super::super::super::Foundation::PWSTR, param2: super::super::super::Foundation::PWSTR, param3: *mut ::core::ffi::c_void) -> super::super::super::Foundation::BOOL;
807 pub const _FACDS: u32 = 2168u32;